:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f6f6f2;--paper:#fff;--ink:#152f2b;--muted:#62736d;--line:#e3e8e2;--green:#0e6251;--blue:#244e79;--green-soft:#edf5ef;--blue-soft:#eef3f9;--danger:#b43a38;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;min-width:320px}body{color:var(--ink);background:var(--canvas);margin:0;font-size:15px;line-height:1.5}button,input,textarea,select{font:inherit}button,select,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}button,input,select,textarea{touch-action:manipulation}button:disabled,select:disabled{cursor:default;opacity:.45}button,a,input,select,textarea{outline:none}:where(button,a,input,select,textarea):focus-visible{outline-offset:3px;outline:3px solid #47937d}button:not(:disabled),a{transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}button:not(:disabled):active{transform:translateY(1px)}button svg,a svg{flex-shrink:0}input,textarea,select{color:var(--ink)}input::placeholder,textarea::placeholder{color:#7b8781;opacity:1}a{color:inherit}h1,h2,h3,p{margin:0}::selection{background:#cce4d8}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{width:min(100%,900px);margin:0 auto;padding:0 28px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:96px;display:flex}.brand{letter-spacing:-1.6px;align-items:center;gap:11px;font-size:29px;font-weight:680;line-height:1;text-decoration:none;display:inline-flex}.brand-mark{background:var(--green);color:#fff;border-radius:13px;place-items:center;width:39px;height:39px;display:grid}.brand-dot{color:#4a9676}.top-actions{align-items:center;gap:13px;display:flex}.connection{color:#4b7061;align-items:center;gap:7px;font-size:12px;display:inline-flex}.connection.offline{color:#8b6441}.icon-button{min-width:44px;min-height:44px;color:var(--muted);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:10px;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--ink);background:#edf1ec}.settings-button{border:1px solid var(--line);background:var(--paper)}.title-row{justify-content:space-between;align-items:center;gap:20px;padding:35px 0 27px;display:flex}.eyebrow{color:#637568;letter-spacing:1.7px;font-size:10px;font-weight:650;line-height:1.6}h1{letter-spacing:-1.5px;margin-top:6px;font-size:clamp(28px,4.8vw,38px);font-weight:600;line-height:1.17}.help-button{border:1px solid var(--line);border-radius:50%;width:36px;min-width:36px;height:36px;min-height:36px;font-size:16px}.help-button span{display:block}.tabs{background:#eceedf80;border:1px solid #e4e8df;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:4px;display:grid}.tabs button{color:#637269;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:9px 12px;font-size:13px;font-weight:580;display:flex}.tabs button.active{background:var(--paper);color:var(--green);border-color:#e0e6dc;box-shadow:0 2px 6px #213a2010}.tabs button:not(.active):hover:not(:disabled){background:#ffffff60}.count{color:#336b50;background:#e5f0e7;border-radius:5px;min-width:18px;padding:0 5px;font-size:10px}.pair-bar{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;gap:13px;margin:22px 0 18px;display:grid}.pair-language{align-items:center;gap:9px;min-width:0;display:flex}.pair-language.right{justify-content:flex-end}.language-badge{width:31px;height:31px;color:var(--green);letter-spacing:.5px;background:#e4eee5;border-radius:9px;flex-shrink:0;place-items:center;font-size:10px;font-weight:700;display:grid}.pair-language.right .language-badge{color:var(--blue);background:#e7edf4}.language-select{align-items:center;min-width:0;display:flex;position:relative}.language-select select{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;min-width:0;height:44px;padding:7px 24px 7px 0;font-size:15px;font-weight:600}.language-select>svg{pointer-events:none;color:#64756a;position:absolute;right:2px}.swap-button{color:#64766b;border:1px solid var(--line);background:#fff9;border-radius:50%;place-items:center;min-width:44px;min-height:44px;display:grid}.swap-button svg{transform:rotate(90deg)}.swap-button:hover:not(:disabled){background:var(--paper);color:var(--green);border-color:#a7c3b1}.conversation{background:var(--paper);border:1px solid var(--line);border-radius:22px;min-height:330px;overflow:hidden;box-shadow:0 3px 14px #223a2012}.conversation-heading{border-bottom:1px solid #edf0eb;justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:7px 23px;display:flex}.conversation-heading>span{color:#627468;align-items:center;gap:8px;font-size:11px;font-weight:550;display:inline-flex}.small-dot{background:#6b9b7c;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.conversation-heading button{color:#5f776b;align-items:center;gap:5px;min-height:42px;padding:5px 0 5px 10px;font-size:11px;display:flex}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:299px;padding:30px 18px 32px;display:flex}.conversation-art{width:116px;height:80px;margin-bottom:15px;position:relative}.art-bubble{color:#468566;background:#edf5ee;border:1px solid #c9ddce;border-radius:17px 17px 17px 4px;place-items:center;width:57px;height:48px;display:grid;position:absolute}.art-left{top:2px;left:4px;transform:rotate(-7deg)}.art-right{color:#6484a8;background:#eff3f8;border-color:#d2dfec;border-radius:17px 17px 4px;top:25px;right:2px;transform:rotate(8deg)}.art-dots{color:#adc1ae;letter-spacing:3px;font-size:14px;position:absolute;top:-9px;right:5px;transform:rotate(9deg)}.empty-state h2{letter-spacing:-.4px;font-size:20px;font-weight:590;line-height:1.3}.empty-state p{color:#63756a;margin-top:10px;font-size:13px;line-height:1.7}.language-trio{color:#647a69;gap:15px;margin-top:23px;font-size:10px;display:flex}.language-trio span+span:before{content:"·";color:#b4bfb4;margin-right:15px;display:inline-block}.message-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd8cc transparent;min-height:280px;max-height:min(55vh,580px);padding:18px 20px;scroll-padding:15px;overflow-y:auto}.message{overflow-wrap:anywhere;background:#f4f8f3;border:1px solid #dfe9de;border-radius:17px 17px 17px 5px;margin:0 30px 15px 0;padding:14px 17px 10px}.message.from-right{background:#f2f5fa;border-color:#dfe6f0;border-radius:17px 17px 5px;margin:0 0 15px 30px}.message-meta{color:#5e7865;align-items:center;gap:5px;min-height:25px;font-size:10px;font-weight:600;display:flex}.from-right .message-meta{color:#5e758e}.message-meta .star{margin:-9px -10px -7px auto}.star.selected{color:#ad7d20}.source-text{color:#607468;white-space:pre-wrap;margin-top:5px;font-size:14px;line-height:1.55}.translation{letter-spacing:-.4px;white-space:pre-wrap;margin-top:8px;font-size:23px;font-weight:500;line-height:1.38}.message-actions{justify-content:space-between;align-items:center;gap:4px;margin-top:10px;display:flex}.message-actions>div{align-items:center;display:flex}.message-actions .icon-button{border-radius:8px;min-width:38px;min-height:44px;padding:10px}.listen-button{color:#3a7756;align-items:center;gap:7px;min-height:44px;padding:7px 0;font-size:11px;font-weight:650;display:inline-flex}.from-right .listen-button{color:#426a97}.processing{color:var(--green);align-items:center;gap:11px;padding:15px 3px;font-size:13px;display:flex}.processing span{color:#657861;margin-top:2px;font-size:11px;display:block}.spin{animation:1.1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.setup-banner,.error-banner{border-radius:13px;align-items:flex-start;gap:10px;margin-top:14px;padding:13px 16px;font-size:12px;line-height:1.55;display:flex}.setup-banner{color:#7a6e40;background:#f1eedf;border:1px solid #e7e1c8}.setup-banner>.small-dot{background:#b5a35e;margin-top:6px}.setup-banner strong{font-size:12px;font-weight:600;display:block}.setup-banner p>span{color:#7c704b;margin-top:2px;font-size:11px;display:block}.error-banner{color:#983c32;background:#fff0ed;border:1px solid #f0d7d0;align-items:center}.error-banner p{flex:1}.error-banner>div{align-items:center;display:flex}.error-banner>div>button:not(.icon-button){min-height:44px;padding:8px;font-size:12px;font-weight:600}.error-banner .icon-button{color:#a86d65;min-width:36px}.voice-dock{z-index:3;background:var(--canvas);border-radius:17px 17px 0 0;margin-top:18px;padding:14px 0 0;position:sticky;bottom:0}.dock-status{color:#617367;text-align:center;justify-content:center;align-items:center;gap:7px;min-height:22px;margin-bottom:12px;font-size:11px;line-height:1.5;display:flex}.dock-status>svg{flex-shrink:0}.record-dot{background:#c34d45;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.3s infinite record-pulse}@keyframes record-pulse{50%{opacity:.35}}.timer{font-variant-numeric:tabular-nums;color:#a35448;white-space:nowrap;margin-left:5px}.speak-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.speak-button{color:#fff;text-align:left;background:var(--green);border-radius:18px;align-items:center;gap:16px;min-height:105px;padding:18px 26px;display:flex;box-shadow:0 6px 10px #244b3410}.speak-button.right{background:var(--blue)}.speak-button:hover:not(:disabled){background:#0b5647;box-shadow:0 5px 15px #244b3422}.speak-button.right:hover:not(:disabled){background:#1b426a}.speak-button.recording{background:#a33e38}.speak-button.recording:hover:not(:disabled){background:#963a35}.speak-button>span:last-child{min-width:0}.mic-circle{color:#fff;background:#ffffff14;border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid;box-shadow:inset 0 0 0 1px #ffffff1a}.speak-button strong{letter-spacing:-.5px;font-size:22px;font-weight:550;line-height:1.2;display:block}.speak-button small{color:#ffffffbd;margin-top:6px;font-size:11px;font-weight:400;line-height:1.4;display:block}.speak-button.recording small{color:#fff}.dock-footer{padding:7px 2px max(9px, env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:10px;display:flex}.dock-footer button{color:#647365;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:7px 0;font-size:11px;display:inline-flex}.dock-footer button:hover:not(:disabled){color:var(--green)}.meter{justify-content:center;align-items:center;gap:4px;height:35px;margin:-5px 0 10px;display:flex}.meter i{background:#638d72;border-radius:4px;width:4px;transition:opacity .1s;display:block}.unsupported{color:#8a6b48;text-align:center;padding:0 3px 13px;font-size:11px}.phrase-section{padding:19px 0 0}.section-intro{justify-content:space-between;align-items:center;gap:15px;display:flex}.section-intro h2{letter-spacing:-.75px;margin-top:6px;font-size:25px;font-weight:580;line-height:1.25}.section-intro .eyebrow{letter-spacing:1.3px;font-size:9px}.phrase-number{width:42px;height:42px;color:var(--green);background:#e6eee4;border-radius:13px;flex-shrink:0;place-items:center;font-size:18px;font-weight:500;display:grid}.section-description{color:#647565;max-width:640px;margin-top:11px;font-size:12px;line-height:1.75}.search-box{border:1px solid var(--line);background:var(--paper);color:#647663;border-radius:13px;align-items:center;gap:10px;min-height:49px;margin-top:24px;padding:0 13px;display:flex}.search-box:focus-within{border-color:#79aa8b;box-shadow:0 0 0 3px #88b79c20}.search-box input{background:0 0;border:none;outline:none;width:100%;min-width:0;min-height:47px;font-size:14px}.search-box>svg{flex-shrink:0}.search-box .icon-button{min-width:32px;margin-right:-7px}.category-tabs{scrollbar-width:none;gap:7px;margin-top:15px;padding:2px;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tabs button{border:1px solid var(--line);color:#617563;background:#fff7;border-radius:11px;flex-shrink:0;min-height:44px;padding:8px 17px;font-size:12px}.category-tabs button.active{color:var(--green);background:#e6f0e5;border-color:#cddfcb;font-weight:600}.category-tabs button:hover{border-color:#b9cdbb}.offline-status{color:#637b61;align-items:center;gap:6px;margin:16px 2px 13px;font-size:10px;display:flex}.offline-status svg{flex-shrink:0}.phrase-list{flex-direction:column;gap:9px;display:flex}.phrase-item{background:var(--paper);border:1px solid var(--line);text-align:left;border-radius:15px;justify-content:space-between;align-items:center;gap:18px;padding:17px 19px;display:flex}.phrase-item:hover{background:#fafdf8;border-color:#bfd1bc}.phrase-item>span{min-width:0}.phrase-item strong{overflow-wrap:anywhere;font-size:14px;font-weight:550;line-height:1.5;display:block}.phrase-item small{color:#647864;margin-top:5px;font-size:12px;line-height:1.6;display:block}.phrase-item>svg{color:#71977a}.saved-list{margin-top:18px}.message.compact{border-radius:16px;margin-left:0;margin-right:0}.saved-empty{text-align:center;color:#697d65;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:280px;display:flex}.saved-empty>svg{color:#a7bda3;margin-bottom:7px}.saved-empty h3{color:#5f755f;letter-spacing:-.3px;font-size:19px;font-weight:550}.saved-empty p{font-size:12px;line-height:1.8}.no-results{color:#647562;text-align:center;padding:30px;font-size:13px}.offline-voice-note{color:#6a7c63;padding:20px 2px 3px;font-size:10px;line-height:1.8}.app-footer{border-top:1px solid var(--line);padding:21px 1px max(26px, env(safe-area-inset-bottom));color:#6a7b63;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;font-size:10px;display:flex}.app-footer>span:first-child{letter-spacing:1.7px;font-size:9px}.app-footer>span:first-child>span{color:#b6bfb0;padding:0 5px}.modal{width:min(480px,100% - 32px);max-height:85vh;max-height:85dvh;color:var(--ink);overscroll-behavior:contain;background:#fff;border:1px solid #d9e2d6;border-radius:23px;margin:auto;padding:25px;overflow-y:auto;box-shadow:0 24px 90px #0d2d2a33}.modal.wide{width:min(680px,100% - 32px)}.modal::backdrop{-webkit-backdrop-filter:none;background:#15382e70}.modal>header{justify-content:space-between;align-items:center;gap:12px;margin:-5px -9px 20px 0;display:flex}.modal h2{letter-spacing:-.65px;font-size:22px;font-weight:600;line-height:1.3}.modal-copy{color:#758574;margin-bottom:22px;font-size:14px;line-height:1.7}.primary,.secondary{border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:47px;padding:11px 19px;font-size:13px;font-weight:600;line-height:1.5;display:inline-flex}.primary{background:var(--green);color:#fff;border:1px solid var(--green)}.primary:hover:not(:disabled){background:#0a5143}.secondary{border:1px solid var(--line);color:#72816f;background:#f7f8f4}.secondary:hover:not(:disabled){background:#eef2e9}.full-width{width:100%}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;display:flex}.draft-languages{color:#718a71;background:#f2f6ee;border-radius:12px;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:13px;margin-bottom:14px;padding:2px 13px;display:grid}.draft-languages .language-select select{font-size:13px}.modal textarea{resize:vertical;background:#fdfefa;border:1px solid #d9e3d4;border-radius:13px;width:100%;min-height:160px;max-height:35vh;padding:15px;font-size:16px;line-height:1.7;display:block}.modal textarea:focus{border-color:#79aa8b;box-shadow:0 0 0 3px #88b79c20}.draft-counter{text-align:right;color:#6c7e62;font-variant-numeric:tabular-nums;margin-top:6px;font-size:10px}.settings-list{flex-direction:column;display:flex}.setting{cursor:pointer;border-bottom:1px solid #edf1e8;justify-content:space-between;align-items:center;gap:18px;min-height:79px;padding:17px 0;display:flex}.setting:first-child{min-height:66px;padding-top:2px}.setting>span{min-width:0}.setting strong{font-size:14px;font-weight:550;display:block}.setting small{color:#687d60;margin-top:4px;font-size:11px;line-height:1.55;display:block}.setting input[type=checkbox]{-webkit-appearance:none;appearance:none;cursor:pointer;background:#dce4d7;border-radius:15px;flex-shrink:0;width:43px;height:25px;margin:5px 0;padding:0;transition:background-color .2s;position:relative}.setting input[type=checkbox]:before{content:"";background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #19321c22}.setting input[type=checkbox]:checked{background:var(--green)}.setting input[type=checkbox]:checked:before{transform:translate(18px)}.settings-note{color:#5e7853;background:#eff5eb;border-radius:12px;align-items:flex-start;gap:10px;margin-top:22px;padding:14px;display:flex}.settings-note>svg{flex-shrink:0;margin-top:1px}.settings-note p{font-size:10px;line-height:1.8}.install-help{margin-top:24px}.install-help h3{margin-bottom:9px;font-size:13px;font-weight:600}.install-help p{color:#677c5d;margin:7px 0;font-size:11px;line-height:1.8}.install-help strong{color:#5c7652;font-weight:600}.settings-bottom{border-top:1px solid var(--line);color:#6d7e61;justify-content:space-between;gap:15px;margin-top:20px;padding-top:20px;font-size:9px;display:flex}.help-content{color:#5f7457;font-size:13px;line-height:1.8}.help-content p{margin:0 0 17px}.help-content ol{margin:20px 0;padding-left:22px}.help-content li{margin:8px 0;padding-left:4px}.help-content li::marker{color:#447a55;font-weight:600}.present-translation{letter-spacing:-.85px;overflow-wrap:anywhere;white-space:pre-wrap;margin:26px 0 20px;font-size:clamp(28px,5vw,43px);font-weight:500;line-height:1.35}.present-source{color:#6b7c5d;overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px;line-height:1.7}.present-actions{border-top:1px solid var(--line);justify-content:space-between;margin-top:25px;padding-top:15px}.toast{z-index:10;bottom:max(24px, env(safe-area-inset-bottom));color:#fff;background:#203f32;border:1px solid #315f49;border-radius:14px;align-items:center;gap:10px;width:max-content;max-width:min(600px,100% - 32px);padding:13px 13px 13px 16px;font-size:12px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 35px #183c2b30}.toast>svg{color:#a2d2ac;flex-shrink:0}.toast button{color:#b9d0bb;place-items:center;min-width:34px;min-height:34px;padding:5px;display:grid}@media (min-width:1000px){.app-shell{padding:0 28px}.topbar{min-height:102px}.title-row{padding-top:39px}}@media (max-width:600px){.app-shell{padding:0 20px}.topbar{min-height:78px}.brand{gap:9px;font-size:26px}.brand-mark{border-radius:12px;width:35px;height:35px}.brand-mark svg{width:22px}.top-actions{gap:9px}.connection{gap:5px;font-size:10px}.settings-button{min-width:40px;min-height:40px}.title-row{gap:10px;padding:27px 0 23px}.eyebrow{letter-spacing:1.5px;font-size:9px}h1{letter-spacing:-1.1px;margin-top:7px;font-size:30px}.help-button{width:32px;min-width:32px;height:32px;min-height:32px;font-size:14px}.tabs button{gap:6px;padding:8px 5px;font-size:11px}.tabs button svg{width:15px;height:15px}.pair-bar{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:8px;margin-top:17px;margin-bottom:14px}.language-badge{border-radius:8px;width:27px;height:27px;font-size:9px}.pair-language{gap:7px}.language-select select{padding-right:19px;font-size:13px}.language-select>svg{width:12px;right:0}.swap-button{background:0 0;border:0;width:38px;min-width:38px;height:38px;min-height:44px}.conversation{border-radius:19px;min-height:290px}.conversation-heading{min-height:50px;padding:3px 16px}.conversation-heading>span,.conversation-heading button{font-size:10px}.empty-state{min-height:264px;padding:25px 15px 28px}.conversation-art{height:75px;margin-bottom:9px;transform:scale(.9)}.empty-state h2{font-size:18px}.empty-state p{margin-top:9px;font-size:12px}.language-trio{gap:11px;margin-top:19px;font-size:9px}.language-trio span+span:before{margin-right:11px}.message-list{min-height:260px;max-height:50vh;padding:13px 13px 8px}.message{margin-bottom:13px;margin-right:18px;padding:12px 13px 7px}.message.from-right{margin-bottom:13px;margin-left:18px}.message-meta{font-size:9px}.source-text{font-size:12px}.translation{font-size:21px;line-height:1.4}.message-actions{margin-top:5px}.message-actions .icon-button{min-width:35px;padding:9px}.listen-button{gap:5px;font-size:10px}.voice-dock{margin-top:12px;padding-top:12px}.speak-buttons{gap:11px}.speak-button{text-align:center;border-radius:17px;flex-direction:column;gap:10px;min-height:131px;padding:16px 10px 15px}.mic-circle{width:40px;height:40px}.mic-circle svg{width:22px;height:22px}.speak-button strong{letter-spacing:-.3px;font-size:19px}.speak-button small{min-height:14px;margin-top:4px;font-size:10px}.dock-status{gap:6px;margin-bottom:10px;font-size:10px}.dock-status svg{width:13px;height:13px}.dock-footer{gap:7px;padding-top:5px}.dock-footer button{gap:5px;font-size:10px}.dock-footer svg{width:14px;height:14px}.setup-banner,.error-banner{padding:11px 12px;font-size:11px}.setup-banner strong{font-size:11px}.setup-banner p>span{font-size:10px}.error-banner{gap:4px}.error-banner>div>button:not(.icon-button){padding:6px;font-size:10px}.section-intro h2{font-size:23px}.section-intro .eyebrow{letter-spacing:1px;font-size:8px}.section-description{font-size:11px}.search-box{margin-top:20px}.category-tabs{gap:6px}.category-tabs button{padding:7px 13px;font-size:10px}.offline-status{font-size:9px}.phrase-item{gap:12px;padding:14px 15px}.phrase-item strong{font-size:13px}.phrase-item small{font-size:11px}.app-footer{padding-top:19px;font-size:9px}.app-footer>span:first-child{letter-spacing:1.2px;font-size:8px}.modal{border-radius:20px;padding:21px}.modal h2{font-size:20px}.settings-bottom{gap:8px;font-size:8px}.present-translation{margin-top:22px}}@media (max-width:360px){.app-shell{padding:0 16px}.topbar{gap:10px;min-height:72px}.connection>span{display:none}.title-row{padding-top:24px}h1{letter-spacing:-1px;font-size:27px}.eyebrow{letter-spacing:1.25px;font-size:8px}.help-button{margin-left:-4px}.tabs{gap:1px;padding:3px}.tabs button{gap:4px;padding:8px 3px;font-size:10px}.tabs button svg{width:13px;height:13px}.count{display:none}.pair-bar{gap:6px}.language-badge{display:none}.pair-language.right{justify-content:flex-end}.pair-language .language-select{width:100%}.pair-language.right .language-select select{text-align:right}.language-select select{font-size:13px}.empty-state h2{letter-spacing:-.35px;font-size:16px}.empty-state p{font-size:11px}.dock-status{gap:5px;font-size:9px}.timer{margin-left:0}.speak-button{padding-left:7px;padding-right:7px}.speak-button strong{font-size:18px}.speak-button small{font-size:9px}.dock-footer button{gap:4px;font-size:9px}.section-intro h2{font-size:20px}.section-intro .eyebrow{font-size:7px}.phrase-number{width:35px;height:35px;font-size:15px}.category-tabs button{padding-left:10px;padding-right:10px}.message-actions .icon-button{min-width:30px;padding-left:6px;padding-right:6px}.listen-button{font-size:9px}.translation{font-size:19px}.modal{width:calc(100% - 24px);padding:19px}.modal.wide{width:calc(100% - 24px)}.modal h2{font-size:19px}.modal-actions{gap:7px}.primary,.secondary{padding-left:13px;padding-right:13px;font-size:12px}.draft-languages{gap:9px;padding:2px 9px}.draft-languages .language-select select{font-size:11px}.setting{gap:12px}.setting strong{font-size:13px}.setting small{font-size:10px}.settings-bottom{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.help-button,.settings-button,.swap-button,.message-actions .icon-button,.search-box .icon-button,.error-banner .icon-button,.toast button{min-width:44px;min-height:44px}.help-button,.swap-button{width:44px;height:44px}@media (max-width:600px){.pair-bar{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)}}@media (max-width:360px){.message-actions{gap:1px}.message-actions .icon-button{padding-left:7px;padding-right:7px}.listen-button{gap:4px}}.search-box input{font-size:16px}.access-shell{min-height:100vh;flex-direction:column;min-height:100svh;padding:0 28px;display:flex}.access-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;width:min(100%,844px);min-height:97px;margin:0 auto;display:flex}.access-private{color:#64786b;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.access-main{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;padding:48px 0 30px;display:flex}.access-card{background:#fff;border:1px solid #dfe6dc;border-radius:25px;width:min(100%,440px);padding:37px 36px 30px;box-shadow:0 12px 48px #23482d0b,0 2px 4px #23482d04}.access-lock{color:#3f7b50;background:#edf4ea;border:1px solid #dce8d9;border-radius:18px;place-items:center;width:59px;height:59px;margin-bottom:26px;display:grid}.access-eyebrow{color:#6e8268;letter-spacing:1.5px;font-size:9px;font-weight:650;line-height:1.7}.access-card h1{letter-spacing:-1.05px;max-width:330px;margin:10px 0 0;font-size:31px;font-weight:570;line-height:1.16}.access-intro{color:#667a60;margin-top:15px;font-size:13px;line-height:1.8}.access-form{margin-top:28px}.access-form>label{color:#526e50;margin-bottom:9px;font-size:12px;font-weight:600;line-height:1.5;display:block}.access-code{background:#fafcf8;border:1px solid #d7e2d1;border-radius:13px;align-items:center;padding:2px 3px 2px 15px;transition:border-color .2s,box-shadow .2s;display:flex}.access-code:focus-within{border-color:#77a77d;box-shadow:0 0 0 3px #77a77d20}.access-code input{background:0 0;border:0;border-radius:0;outline:none;flex:1;width:100%;min-width:0;min-height:48px;padding:8px 0;font-size:17px;line-height:1.5;display:block}.access-code input[type=password]{letter-spacing:2px}.access-code input::placeholder{letter-spacing:0;color:#7e8d75;font-size:15px}.access-code input:focus-visible{outline:none}.access-reveal{color:#7a8e70;border-radius:10px;flex-shrink:0;place-items:center;min-width:46px;min-height:46px;padding:10px;display:grid}.access-reveal:hover:not(:disabled){color:var(--green);background:#eff5e9}.access-code-error{background:#fffaf8;border-color:#cc7770}.access-code-error:focus-within{border-color:#b85e58;box-shadow:0 0 0 3px #b85e5816}.access-error{color:#a23d33;overflow-wrap:anywhere;margin-top:9px;font-size:12px;line-height:1.65}.access-submit{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:13px;justify-content:center;align-items:center;gap:11px;width:100%;min-height:52px;margin-top:17px;padding:13px 15px;font-size:13px;font-weight:580;line-height:1.5;display:flex}.access-submit:hover:not(:disabled){background:#0a5143;border-color:#0a5143}.access-submit:disabled{opacity:.55}.access-memory{color:#71866a;border-top:1px solid #e8eee3;align-items:flex-start;gap:8px;margin-top:23px;padding-top:20px;display:flex}.access-memory>svg{flex-shrink:0;margin-top:2px}.access-memory p{font-size:10px;line-height:1.8}.access-languages{color:#758b6d;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:24px 0 0;font-size:10px;display:flex}.access-languages>span+span:before{content:"·";color:#a0b194;margin-right:12px}.access-footer{width:min(100%,844px);padding:22px 0 max(25px, env(safe-area-inset-bottom));color:#7c8d73;text-align:center;margin:0 auto;font-size:10px}.access-device{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.access-device>strong{color:#526f4c;font-size:13px;font-weight:580;display:block}.access-device>p{color:#71886a;margin-top:5px;font-size:11px;line-height:1.8}.access-signout{color:#5e7956;background:#f9fbf5;border:1px solid #dce6d5;border-radius:11px;width:100%;min-height:45px;margin-top:13px;padding:10px 12px;font-size:11px;font-weight:550}.access-signout:hover:not(:disabled){background:#edf4e7;border-color:#c5d6bc}@media (max-width:600px){.access-shell{padding:0 20px}.access-topbar{min-height:80px}.access-main{padding-top:35px;padding-bottom:24px}.access-card{border-radius:22px;padding:30px 27px 26px}.access-lock{border-radius:16px;width:53px;height:53px;margin-bottom:24px}.access-card h1{font-size:29px}.access-intro{font-size:12px}.access-form{margin-top:25px}.access-languages{gap:9px;font-size:9px}.access-languages>span+span:before{margin-right:9px}}@media (max-width:360px){.access-shell{padding:0 16px}.access-topbar{min-height:74px}.access-private{gap:5px;font-size:10px}.access-private svg{width:12px}.access-card{padding:26px 23px 23px}.access-card h1{letter-spacing:-.85px;font-size:27px}.access-eyebrow{letter-spacing:1.1px;font-size:8px}.access-code{padding-left:12px}.access-languages{gap:7px;font-size:8px}.access-languages>span+span:before{margin-right:7px}}body:has(.app-shell){overscroll-behavior:none;height:100dvh;overflow:hidden}.app-shell{height:var(--conversa-height,100dvh);min-height:0;padding-top:env(safe-area-inset-top);background:var(--canvas);flex-direction:column;display:flex;position:fixed;top:0;left:0;right:0;overflow:hidden}.app-shell>.topbar{z-index:1;background:var(--canvas);filter:none;-webkit-backdrop-filter:none;flex:none;min-height:68px;position:relative}.app-shell>main{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.app-shell .title-row{flex:none;padding:13px 0 14px}.app-shell .title-row h1{margin-top:2px;font-size:27px}.app-shell .tabs,.app-shell .pair-bar{flex:none}.app-shell .pair-bar{margin:10px 0}.app-shell .conversation{flex-direction:column;flex:auto;min-height:0;display:flex}.app-shell .conversation-heading{flex:none;min-height:46px;padding:2px 17px}.conversation-heading>div{align-items:center;gap:6px;display:flex}.app-shell .message-list{scroll-behavior:auto;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;max-height:none;scroll-padding:14px;overflow-y:auto}.app-shell .empty-state{flex:auto;min-height:0;padding:18px;overflow:auto}.app-shell .empty-state .conversation-art{flex-shrink:0}.app-shell .voice-dock{z-index:auto;border-radius:0;flex:none;margin-top:8px;padding-top:0;position:relative;bottom:auto}.output-mode{border:1px solid var(--line);background:#eceedf80;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:5px;padding:3px;display:grid}.output-mode button{color:#62736d;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:40px;font-size:12px;font-weight:600;display:flex}.output-mode button.active{color:var(--green);background:#fff;box-shadow:0 1px 5px #152f2b12}.app-shell .dock-status{min-height:24px;margin-bottom:6px;font-size:11px}.app-shell .speak-button{min-height:82px;padding:12px 20px}.app-shell .speak-button strong{font-size:20px}.app-shell .speak-button small{margin-top:3px}.app-shell .dock-footer{padding-top:0;padding-bottom:max(3px, env(safe-area-inset-bottom))}.auto-pause-hint{color:var(--muted);text-align:right;font-size:10px}.app-shell .meter{pointer-events:none;gap:2px;width:100%;height:12px;margin:-3px 0 3px;position:static}.app-shell .meter i{width:2px;max-height:15px}.conversation-start{background:var(--green);color:#fff;text-align:left;border-radius:16px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:72px;padding:11px 16px;display:flex}.conversation-start:hover:not(:disabled){background:#0b5647}.conversation-start.active{background:#244e79}.conversation-start strong{font-size:18px;font-weight:600;line-height:1.3;display:block}.conversation-start small{opacity:.8;margin-top:2px;font-size:11px;display:block}.conversation-start .mic-circle{width:39px;height:39px}.app-shell .voice-dock .speak-buttons{margin-top:6px}.app-shell .dock-footer button{font-size:11px}.app-shell .toast{top:calc(env(safe-area-inset-top) + 58px);bottom:auto}.app-shell .app-footer{flex:none;margin-top:0;padding:6px 1px}.app-shell .phrase-section{overscroll-behavior:contain;flex:auto;min-height:0;padding-bottom:18px;overflow-y:auto}.voice-preferences{padding-top:19px}.voice-preferences h3{font-size:15px;font-weight:650}.voice-preferences>p{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.6}.voice-preferences label{justify-content:space-between;align-items:center;gap:14px;margin-top:9px;font-size:13px;display:flex}.voice-preferences select{border:1px solid var(--line);background:#f6f8f3;border-radius:10px;min-width:150px;min-height:44px;padding:8px 10px;font-size:16px}@media (max-width:600px){.app-shell{padding-left:14px;padding-right:14px}.app-shell>.topbar{min-height:53px}.app-shell .brand{gap:8px;font-size:25px}.app-shell .brand-mark{border-radius:10px;width:32px;height:32px}.app-shell .title-row{padding:3px 0 7px}.app-shell .title-row .eyebrow{display:none}.app-shell .title-row h1{letter-spacing:-.7px;margin:0;font-size:22px}.app-shell .help-button{min-width:35px;min-height:35px}.app-shell .pair-bar{margin:5px 0}.app-shell .conversation{border-radius:17px}.app-shell .conversation-heading{min-height:43px;padding:0 12px}.app-shell .conversation-heading button{min-height:42px;font-size:10px}.app-shell .message-list{padding:12px 12px 16px}.app-shell .message{margin-right:10px;padding:11px 13px 6px}.app-shell .message.from-right{margin-left:10px;margin-right:0}.app-shell .translation{font-size:21px}.app-shell .source-text{font-size:13px}.app-shell .speak-button{flex-direction:row;align-items:center;gap:9px;min-height:76px;padding:11px}.app-shell .mic-circle{width:36px;height:36px}.app-shell .speak-button strong{letter-spacing:-.4px;font-size:18px}.app-shell .speak-button small{font-size:9px;line-height:1.3}.app-shell .speak-buttons{gap:9px}.app-shell .output-mode button{min-height:38px;font-size:11px}.app-shell .app-footer{display:none}.app-shell .empty-state h2{font-size:17px}.app-shell .empty-state p{margin-top:5px;font-size:12px}.app-shell .language-trio{margin-top:11px}}@media (max-height:650px){.app-shell>.topbar{min-height:45px}.app-shell .title-row{display:none}.app-shell .pair-bar{margin:2px 0}.app-shell .voice-dock{margin-top:5px}.app-shell .speak-button{min-height:60px;padding:8px 12px}.app-shell .speak-button small{display:none}.app-shell .dock-footer button{min-height:36px}.app-shell .dock-status{min-height:20px;margin-bottom:3px}.app-shell .app-footer,.app-shell .empty-state .conversation-art{display:none}}@media (max-width:360px){.app-shell .speak-button{gap:6px;padding:8px}.app-shell .mic-circle{width:30px;height:30px}.app-shell .speak-button strong{font-size:16px}.app-shell .speak-button small{font-size:8px}}.brand-name{letter-spacing:0;flex-direction:column;gap:3px;line-height:1;display:flex}.brand-name strong{letter-spacing:1.2px;font-size:12px;font-weight:750}.brand-name small{letter-spacing:-.5px;font-size:21px;font-weight:650}
