:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px;font-weight:700;font-synthesis:none;line-height:1.6;color-scheme:dark;--bg:#000000;--surface:#0b1426;--text:#f8eedb;--muted:#d4c8b1;--accent:#d9b879;--button-text:#13213b;--line:#8b7a58;--quiet:#12223b;--status:#101d31;--mine:#142940;--error-bg:#492620;--error:#ffddd1;--focus:#ffd88a;color:var(--text);background:var(--bg)}
:root[data-theme="light"]{color-scheme:light;--bg:#f3f5ef;--surface:#fff;--text:#163b36;--muted:#334f42;--accent:#0b5548;--button-text:#fff;--line:#627c68;--quiet:#dce7d8;--status:#e0e8dd;--mine:#dfece0;--error-bg:#fce9dc;--error:#803415;--focus:#805100}
*{box-sizing:border-box;font-weight:inherit}body{margin:0}button,input,textarea{font:inherit;font-weight:700}button{min-height:48px;cursor:pointer;border:2px solid transparent;border-radius:999px;padding:10px 20px;background:var(--accent);color:var(--button-text)}button:disabled{cursor:default;background:var(--quiet);color:var(--muted);border-color:var(--line)}input,textarea{width:100%;border:2px solid var(--line);border-radius:12px;padding:12px;background:var(--surface);color:var(--text);font-size:18px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input{margin:6px 0 18px}textarea{resize:vertical;min-height:120px}label{font-size:18px}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;display:inline-block;min-height:44px;padding:8px 0;overflow-wrap:anywhere}h1,h2,h3,p{margin-top:0}h1{font-size:26px;letter-spacing:-.5px;line-height:1.2;margin:0}h2{font-size:28px;letter-spacing:-.4px;line-height:1.3;margin-bottom:12px}h3{font-size:20px;margin-bottom:8px}.masthead{max-width:900px;margin:auto;padding:calc(24px + env(safe-area-inset-top)) 24px 24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;align-items:center}.brand{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%}.brand>div{min-width:0}.brand-mark{display:block;flex:0 0 72px;width:72px;height:72px;background:#000 url("./icons/brand-logo.jpg?release=16") center/contain no-repeat}.brand p{font-size:16px;margin:6px 0 0;color:var(--muted)}.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.alpha{font-size:14px;letter-spacing:.7px;border:1px solid var(--line);border-radius:99px;padding:6px 10px;white-space:nowrap}.theme-toggle{white-space:normal}main{max-width:800px;margin:0 auto;padding:0 22px calc(24px + env(safe-area-inset-bottom))}.status{border-radius:12px;background:var(--status);padding:14px 16px;font-size:16px;margin-bottom:24px;overflow-wrap:anywhere}.status.error{background:var(--error-bg);color:var(--error)}.panel{overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px;margin:24px 0}.panel>p{color:var(--muted)}.panel form{margin-top:24px}.panel button{width:100%}.note{font-size:16px;color:var(--muted);margin:16px 0 0}.conversation-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.eyebrow{font-size:14px;letter-spacing:.7px;color:var(--muted)}.quiet{background:var(--quiet);color:var(--text);padding:10px 16px;font-size:16px;min-height:48px;border-color:var(--line)}.identity{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;font-size:16px;color:var(--muted);overflow-wrap:anywhere}.identity summary{cursor:pointer;min-height:48px;padding:10px 0}.identity p{margin:14px 0 0;white-space:pre-line}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;color:var(--muted);font-size:16px}.messages{list-style:none;padding:0;margin:0}.message{max-width:94%;margin:20px 0;padding:18px;border-radius:18px 18px 18px 4px;background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere}.message.mine{margin-left:auto;background:var(--mine);border-radius:18px 18px 4px 18px}.message .meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:16px;color:var(--muted);margin:0 0 12px}.message .original{white-space:pre-wrap;margin:0;font-size:19px}.message .label{font-size:14px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.message .translation{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;font-size:18px;color:var(--muted)}.message .translation p{margin:0;white-space:pre-wrap}.message .receipt{font-size:16px;color:var(--muted);margin:14px 0 0}.message .blocked{color:var(--error);background:var(--error-bg);padding:6px;border-radius:6px}.empty{padding:40px 8px;text-align:center;color:var(--muted)}.empty-logo{display:block;width:144px;max-width:100%;height:auto;margin:0 auto;object-fit:contain;background:#000}.empty p{font-size:21px;margin:16px 0 8px}.empty small{font-size:16px}#pending-section{border-top:1px dashed var(--line);padding-top:20px;margin-top:20px}.composer{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;margin-top:24px}.composer label{display:block;margin-bottom:10px}.compose-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:14px}.compose-footer span{font-size:16px;flex:1 1 160px;color:var(--muted)}footer{font-size:16px;color:var(--muted);border-top:1px solid var(--line);margin-top:28px;padding-top:20px}footer p{margin-bottom:16px}[hidden]{display:none!important}@media(max-width:440px){.masthead{padding-left:18px;padding-right:18px}main{padding-left:16px;padding-right:16px}.panel{padding:20px}.message{max-width:97%}.header-actions{width:100%;justify-content:space-between}.brand p{font-size:16px}.conversation-heading h2{font-size:26px}}@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s}}

.translation-access{border:1px solid var(--line);border-radius:14px;padding:16px;margin:18px 0;background:var(--surface);font-size:16px;overflow-wrap:anywhere}.translation-access h3{font-size:18px}.translation-access p{margin:10px 0;color:var(--muted)}.translation-access summary{cursor:pointer;min-height:48px;padding:10px 0}.translation-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.translation-actions button{font-size:16px;white-space:normal}
/* Explicit personal-device choice remains unchecked and readable on narrow screens. */
.session-choice{display:flex;align-items:flex-start;gap:12px;min-height:48px;cursor:pointer}.session-choice input[type="checkbox"]{flex:0 0 24px;width:24px;height:24px;margin:2px 0;padding:0;accent-color:var(--accent)}#session-choice{margin:8px 0 20px}#session-disclosure{margin-top:8px;font-size:16px}#session-status{margin-bottom:16px}

/* Direct-chat entry: setup and diagnostics stay optional; writing stays in reach. */
.masthead{max-width:800px;padding:calc(12px + env(safe-area-inset-top)) 22px 12px;gap:0}.brand-mark{flex-basis:42px;width:42px;height:42px}.brand h1{font-size:20px}.status{margin-bottom:14px}main{max-width:680px}.conversation-heading{margin:8px 0 18px;flex-wrap:nowrap}.contact{display:flex;align-items:center;gap:12px;min-width:0}.contact-avatar{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:var(--mine);color:var(--accent);font-size:22px}.conversation-heading h2{font-size:26px;margin:0}.eyebrow{font-size:14px;letter-spacing:0}.settings-jump{font-size:16px}.chat-entry{padding:22px 20px;border:1px solid var(--line);border-radius:24px;background:var(--surface);margin:8px 0 18px}.entry-symbol{display:block;color:var(--accent);font-size:52px;line-height:1;margin:0 0 18px}.chat-entry h2{font-size:28px}.entry-intro{font-size:18px;line-height:1.5;margin-bottom:16px}.chat-entry .note{font-size:16px;line-height:1.5;margin-top:0}.entry-status{font-size:16px;line-height:1.5;color:var(--accent);margin:16px 0}.chat-entry>button{width:100%;min-height:54px}.entry-options{margin-top:12px;font-size:16px;color:var(--muted)}.entry-options summary{min-height:48px;cursor:pointer;padding:10px 0}.entry-options button{margin-top:12px}.translation-summary{font-size:16px;color:var(--muted);line-height:1.5;margin:0 0 14px}.empty{padding:28px 8px 32px}.empty p{font-size:20px}.composer{position:sticky;bottom:0;margin:16px 0 0;padding:14px;background:var(--surface);box-shadow:0 -8px 20px var(--bg);z-index:1}.composer textarea{min-height:94px;resize:vertical}.composer #source-language{display:none}.compose-footer{gap:8px;margin-top:10px}.compose-footer span{font-size:14px;line-height:1.4;flex-basis:140px}.compose-footer button{min-width:94px}.chat-settings{border-top:1px solid var(--line);margin:20px 0 0;font-size:16px}.chat-settings>summary{cursor:pointer;padding:14px 0;min-height:48px;color:var(--muted)}.settings-content{padding-bottom:20px}.settings-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.message{padding:14px;margin:14px 0}.message .meta{font-size:14px;margin-bottom:8px}.message .receipt{font-size:14px;margin-top:8px}.message-details{margin-top:8px;font-size:14px;color:var(--muted)}.message-details summary{min-height:44px;cursor:pointer;padding:8px 0}.message .translation{padding-top:10px;margin-top:10px}.message .label{letter-spacing:0;text-transform:none}.message .translation .receipt{margin-top:6px}@media(max-width:440px){.masthead{padding-left:16px;padding-right:16px}.chat-entry{padding:20px 18px}.conversation-heading{gap:8px}.composer{bottom:env(safe-area-inset-bottom)}main{padding-bottom:calc(16px + env(safe-area-inset-bottom))}}@media(max-height:700px){.chat-entry{padding-top:16px}.entry-symbol{font-size:36px;margin-bottom:10px}}

.entry-symbol.brand-mark{width:64px;height:64px;margin-bottom:16px}.empty .empty-logo{width:64px;margin-bottom:12px}

#login{margin:8px 0 20px;padding:20px}#login h2{font-size:26px;margin-bottom:8px}#login>p{font-size:16px;margin-bottom:12px}#login form{margin-top:16px}#login input:not([type="checkbox"]){margin-bottom:12px;padding:10px 12px}#session-choice{margin:4px 0 14px}#session-short{font-size:14px;line-height:1.5;margin-top:8px}.session-details{font-size:14px;color:var(--muted)}.session-details summary{min-height:44px;cursor:pointer;padding:8px 0}.session-choice{font-size:16px;line-height:1.5}#login-session-note{font-size:14px!important}

.appearance{position:relative}.appearance>summary{cursor:pointer;list-style:none;min-width:48px;min-height:48px;display:grid;place-items:center;font-size:24px;color:var(--muted)}.appearance>summary::-webkit-details-marker{display:none}.appearance .theme-toggle{position:absolute;right:0;top:52px;z-index:4;min-width:180px;box-shadow:0 6px 16px var(--bg)}

.send-consent{font-size:14px;line-height:1.5;color:var(--muted);margin-top:10px}.send-consent p{margin:0}.send-consent summary{cursor:pointer;min-height:44px;padding:8px 0;color:var(--accent)}.send-consent details p{font-size:16px;margin:8px 0}.translation-summary{font-size:14px}.originals-choice{margin:18px 0}.originals-choice button{margin-top:12px}

.compose-footer{justify-content:flex-end}

.message .incoming-primary{border:0;padding:0;margin:0;color:var(--text)}.incoming-primary>.label{display:none}.message .incoming-primary .translated-text{font-size:19px;white-space:pre-wrap}.translation-state{font-size:18px;color:var(--muted)}.original-source{font-size:14px;color:var(--muted);margin-top:8px}.original-source>summary{cursor:pointer;min-height:44px;padding:8px 0;color:var(--accent)}.original-source .original{font-size:16px;margin:8px 0}.translation-retry{margin-top:10px}

/* Viewer language stays first and bold; the second language is regular. */
.message{max-width:80%;width:fit-content;margin-left:0;margin-right:auto}.message.mine{margin-left:auto;margin-right:0}.message .paired-translation{border:0;padding:0;margin:0;color:var(--text)}.paired-translation>.label{display:none}.message .paired-translation .translated-text{font-size:19px;font-weight:400;white-space:pre-wrap}.message .original-source .original{font-weight:400;font-size:18px;line-height:1.6;margin:0;white-space:pre-wrap}.message .viewer-primary .original,.message .incoming-primary .translated-text{font-weight:700}.message .original-source.viewer-primary{margin:0}.message .viewer-secondary{margin-top:10px}.message .original-long .original{margin-top:8px}.translation-metadata{margin-top:10px}

.message-details-choice{display:flex;align-items:center;gap:12px;min-height:48px;margin:12px 0;font-size:16px;cursor:pointer}.message-details-choice input{flex:0 0 24px;width:24px;height:24px;margin:0;padding:0;accent-color:var(--accent)}
