:root{font-family:Heebo,Arial,sans-serif;color:#e4ebe6;background:#121816;font-synthesis:none;--accent:#5cb89b;--muted:#8fa39a;--border:#2c3a34;color-scheme:dark}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;min-height:44px;border-radius:10px;padding:10px 17px;font-weight:500}button:disabled{cursor:default;opacity:.5}button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #7fd0b5;outline-offset:3px}[hidden]{display:none!important}
.app{max-width:1000px;margin:auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.header{padding:22px 18px 16px;border-bottom:1px solid var(--border);background:#161d1a}.heading{display:flex;align-items:center;gap:12px}.brand{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;border-radius:13px;background:#223129;color:var(--accent);font-size:31px}h1{font-size:20px;margin:0;font-weight:600}h2{font-size:24px;font-weight:500;margin:10px 0}.model-line{font-size:12px;color:var(--muted);margin:3px 0 0;overflow-wrap:anywhere}.privacy{font-size:12px;line-height:1.8;color:#7d968a;margin:14px 0}nav{display:flex;gap:6px;flex-wrap:wrap}.primary{background:var(--accent);color:#0c1613;border:1px solid var(--accent)}.primary:hover:not(:disabled){background:#4aa387}.secondary{background:#1e2925;border:1px solid var(--border);color:#bcd4c9}.text-button{border:1px solid transparent;background:transparent;color:#9ec3b4}main{display:flex;flex:1;min-height:0;flex-direction:column}.gate{width:calc(100% - 36px);max-width:430px;margin:40px auto;padding:28px 22px;background:#1b2420;border:1px solid var(--border);border-radius:20px;box-shadow:0 8px 32px #00000059}.gate-icon{font-size:42px;color:var(--accent)}.eyebrow{font-size:12px;color:var(--accent);margin-bottom:6px}.gate>p{color:var(--muted);line-height:1.8}.gate form{display:flex;flex-direction:column;gap:10px;margin-top:24px}label{display:block;font-size:13px;font-weight:500;margin-bottom:6px}input,textarea{width:100%;color:#e4ebe6;background:#141c19;border:1px solid var(--border);border-radius:10px;padding:12px}input{min-height:48px}input::placeholder,textarea::placeholder{color:#6d837a}.small{font-size:11px;line-height:1.8;color:var(--muted)}.gate .small{margin-top:20px}.chat{display:flex;flex-direction:column;flex:1;min-height:0}.thread{flex:1;min-height:220px;padding:22px 18px;overflow-y:auto;scrollbar-gutter:stable}.empty{text-align:center;color:var(--muted);padding:45px 0}.empty>span{font-size:40px;color:#4a7a67}.empty h2{font-size:22px;color:#bcd4c9}.empty p{font-size:14px}.bubble{max-width:94%;margin-bottom:20px;padding:15px 17px;border-radius:16px;border:1px solid var(--border);background:#1b2420;overflow-wrap:anywhere}.bubble.user{margin-inline-end:auto;background:#223129;border-color:#2c3f36;border-start-start-radius:4px}.bubble.assistant{margin-inline-start:auto;border-start-end-radius:4px}.speaker{font-size:11px;font-weight:600;color:#7fa392;margin-bottom:7px}.content{white-space:pre-wrap;line-height:1.9;font-size:15px;unicode-bidi:plaintext}.bubble.streaming .content:empty::after{content:'מנסח תשובה…';color:var(--muted)}.composer-area{padding:14px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#161d1a}.composer{display:flex;align-items:flex-end;gap:8px}textarea{resize:vertical;min-height:76px;max-height:180px;line-height:1.7}.composer button{flex-shrink:0}.composer-footer{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:8px}.disclaimer{text-align:center;margin:10px 0 0}.error-box,.notice{background:#2e2113;border:1px solid #5c4526;color:#e0b088;border-radius:10px;padding:12px;font-size:13px}.error-box{margin-bottom:14px}.error-box p{margin:0 0 8px}.notice{margin:12px 18px}.error-text{font-size:13px;color:#e08d80;margin:0}
@media(min-width:640px){.app{height:100vh;height:100dvh}.header{padding:24px 32px 18px;position:relative}.header nav{position:absolute;left:32px;top:24px}.heading{padding-inline-end:240px}h1{font-size:23px}.privacy{margin-bottom:0}.thread{padding:28px 32px}.bubble{max-width:82%}.composer-area{padding:18px 32px}.gate{margin:65px auto}.composer-footer{font-size:11px}}
@media(max-width:639px){.app:has(.chat:not([hidden])){height:100vh;height:100dvh}.thread{min-height:100px}.header{padding-top:14px}.privacy{margin:9px 0}}
.danger{background:#3a2226;border:1px solid #6b3a42;color:#eba9a8}.danger:hover:not(:disabled){background:#4a2a30}
.model-select{font:inherit;font-size:12px;color:#e4ebe6;background:#141c19;border:1px solid var(--border);border-radius:8px;padding:3px 6px;max-width:220px}.model-select:disabled{opacity:.5}

.passkey-offer{margin:16px 18px;padding:16px;background:#223129;border:1px solid var(--border);border-radius:14px}.passkey-offer h2{font-size:17px;margin:0 0 12px}.passkey-actions{display:flex;gap:8px;flex-wrap:wrap}.passkey-offer .error-text{margin-top:10px}.passkey-status{margin:12px 18px;color:var(--accent);font-size:14px}

/* Authentication and administration share the chat palette. */
select{font:inherit;color:#e4ebe6;background:#141c19;border:1px solid var(--border);border-radius:10px;padding:10px;min-height:44px}select:focus-visible{outline:3px solid #7fd0b5;outline-offset:3px}.identity{color:#bcd4c9;font-size:13px;overflow-wrap:anywhere}.header nav{position:static;margin-top:12px}.heading{padding-inline-end:0}main{overflow-y:auto}.chat .thread{flex-basis:0}#mfa-setup{font-size:13px;line-height:1.8;overflow-wrap:anywhere}#mfa-secret{font-family:monospace}#mfa-uri{font-size:12px}#mfa-cancel{margin-top:16px}#verification{display:flex;gap:8px;flex-wrap:wrap}.admin-panel{padding:20px 18px;flex:1;overflow:auto}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h2{font-size:21px}.add-user-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:20px 0}.add-user-form>div{flex:1;min-width:160px}.table-scroll{overflow-x:auto;margin:24px 0;border:1px solid var(--border);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:13px;text-align:start}caption{text-align:start;font-weight:600;padding:14px;color:#bcd4c9}th,td{text-align:start;padding:12px;border-bottom:1px solid var(--border);overflow-wrap:anywhere}th{background:#223129;white-space:nowrap}td{min-width:100px}td button{white-space:nowrap}#admin-status{color:var(--muted);font-size:13px}#mfa-error{margin-top:12px}@media(max-width:639px){.panel-heading{align-items:flex-start}.header nav button{padding:8px 11px}.admin-panel{padding:14px}.gate{margin:24px auto}}
