:root{--bg: #fbfaf6;--card: #ffffff;--ink: #14284b;--muted: #55657e;--line: #e2e5ea;--teal: #0f8a86;--teal-ink: #ffffff;--teal-soft: #dff2f1;--listen: #d7eef6;--yellow: #f8e3a1;--yellow-ink: #5a4500;--danger: #a33a2c;--danger-soft: #fbe9e6;--ok-soft: #e4f4e6;--radius: 18px;--tap: 52px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font:18px/1.45 Nunito,Segoe UI,system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%}h1{font-size:28px;margin:0;letter-spacing:-.01em}h2{font-size:24px;margin:0 0 12px}h3{font-size:20px;margin:18px 0 8px}h4{margin:12px 0 6px;font-size:18px}button,input,textarea{font:inherit;color:inherit}input,textarea{width:100%;min-height:var(--tap);padding:12px 14px;border:2px solid var(--line);border-radius:12px;background:#fff}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:4px solid #f0b429;outline-offset:2px}label{display:block;font-weight:700;margin:10px 0 4px}label input,label textarea{margin-top:6px;font-weight:400}label.check{display:flex;gap:10px;align-items:center;font-weight:600}label.check input{width:28px;min-height:28px}.small{font-size:15px;color:var(--muted)}.center{text-align:center}.lead{font-size:20px;color:var(--muted)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row>input{flex:1 1 220px;width:auto}.spread{justify-content:space-between}.stack>*+*{margin-top:10px}.btn{min-height:var(--tap);padding:10px 18px;border-radius:14px;border:2px solid var(--line);background:#fff;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;justify-content:center}.btn.primary{background:var(--teal);border-color:var(--teal);color:var(--teal-ink)}.btn.ghost{background:transparent;border-color:transparent}.btn.small{min-height:44px;padding:6px 12px;font-size:16px}.btn.big{min-height:64px;font-size:20px;width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.loading{padding:40px;text-align:center;font-size:20px}.notice{border-radius:14px;padding:12px 16px;margin:12px 0;background:var(--yellow);color:var(--yellow-ink);border:1px solid #ecd27e}.notice.error{background:var(--danger-soft);color:var(--danger);border-color:#f0c4bc}.notice.ok{background:var(--ok-soft);color:#1f5a2c;border-color:#bfe2c5}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:16px 0}.screen main,.adult main{max-width:980px;margin:0 auto;padding:16px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line)}.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.welcome main{max-width:560px}.brand{display:flex;gap:14px;align-items:center;margin:24px 0 8px}.steps{padding-left:24px}.steps li{margin:8px 0}.pair-code{font:800 56px/1 ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.18em;text-align:center;padding:22px;margin:12px 0;background:#fff;border:3px dashed var(--teal);border-radius:var(--radius)}.avatar{display:inline-grid;place-items:center;border-radius:50%;font-weight:800;color:var(--ink);flex-shrink:0}.karter{min-height:100vh;display:flex;flex-direction:column}.k-top{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 4px}.k-top h1{font-size:32px}.k-main{flex:1;padding:4px 18px 110px;max-width:1200px;width:100%;margin:0 auto}.k-ask{font-size:22px;margin:8px 0 10px}.k-hint{font-size:20px;color:var(--muted)}.k-panel{background:#fff;border-radius:var(--radius);padding:20px;border:1px solid var(--line)}.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.person{position:relative;display:flex;align-items:center;gap:14px;min-height:104px;padding:14px 16px;background:#fff;border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left}.person.on{border:4px solid var(--teal);background:var(--teal-soft);padding:12px 14px}.pname{font-size:24px;font-weight:800}.person .tick{position:absolute;top:8px;right:10px;width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:900}.person .badge{position:absolute;bottom:8px;right:10px;background:var(--yellow);color:var(--yellow-ink);border-radius:999px;padding:2px 10px;font-size:15px;font-weight:800;border:2px solid #e2c25a}.k-conv{margin-top:14px}.k-history{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:6px 2px 10px}.k-msg{background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 12px;max-width:92%}.k-msg.mine{align-self:flex-end;background:var(--teal-soft);border-color:#bfe3e1}.k-msg .who{display:flex;gap:8px;align-items:center;font-weight:800;margin-bottom:6px}.tokens{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.chip-token{display:inline-flex;flex-direction:column;align-items:center;min-width:54px;padding:4px 8px;border-radius:12px;background:#fff;border:2px solid var(--line)}.chip-token .pic{font-size:24px;line-height:1.2}.chip-token .pic.typed{font-size:15px;font-weight:800;color:var(--muted);padding:4px 0}.chip-token .lbl{font-weight:700;font-size:16px}.chip-token.text{border-style:dashed}.chip-token.big{min-width:96px;padding:8px 12px}.chip-token.big .pic{font-size:44px}.chip-token.big .lbl{font-size:20px}.chip-token.pending{opacity:.7}.composer{background:#f3f5f7;border-radius:22px;padding:14px;margin-top:10px}.strip-head{display:flex;gap:10px;align-items:center}.strip-head h3{margin:0;font-size:22px}.strip-row{display:flex;gap:12px;align-items:stretch;margin-top:10px;flex-wrap:wrap}.strip{flex:1 1 360px;min-height:120px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#fff;border:2px solid var(--line);border-radius:18px;padding:10px}.strip-empty{color:var(--muted);font-size:18px;padding:0 6px}.strip-actions{display:flex;gap:10px;border-left:2px solid var(--line);padding-left:12px}.btn.listen,.btn.send{flex-direction:column;min-width:130px;min-height:120px;font-size:22px;border-radius:18px;gap:2px}.btn.listen span,.btn.send span{font-size:36px}.btn.listen{background:var(--listen);border-color:var(--listen)}.btn.send{background:var(--teal);border-color:var(--teal);color:#fff}.edit-row{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}.send-state{font-weight:700}.send-state.failed{color:var(--danger)}.send-state.sent{color:#1f6b3a}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 10px}.modes button{min-height:58px;border-radius:14px;border:2px solid var(--line);background:#e9edf1;font-weight:800;font-size:18px;cursor:pointer}.modes button.on{background:var(--teal);border-color:var(--teal);color:#fff}.board-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.nav-tile{flex:0 0 auto;min-height:52px;border-radius:999px;border:2px solid var(--ink);background:#fff;padding:6px 16px;font-weight:800;cursor:pointer;display:inline-flex;gap:6px;align-items:center}.nav-tile.on{background:var(--ink);color:#fff}.nav-tile .arrow{font-size:22px}.words{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.word{min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#fff;border:2px solid var(--line);border-radius:16px;cursor:pointer;padding:8px}.word .pic{font-size:44px;line-height:1.1}.word .lbl{font-weight:800;font-size:19px;text-align:center}.word:active{transform:scale(.97);background:var(--teal-soft)}.always{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:12px;padding-top:12px;border-top:2px dashed var(--line)}.word.fixed{min-height:84px;background:#fff8e3;border-color:#ecd27e}.word.fixed .pic{font-size:28px}.word.fixed .lbl{font-size:16px}.keyboard{background:#fff;border-radius:16px;padding:14px;border:2px solid var(--line)}.phrases section{background:#fff;border-radius:16px;padding:10px 14px;margin-bottom:10px;border:1px solid var(--line)}.phrase-list{display:flex;flex-wrap:wrap;gap:8px}.phrase{display:flex;gap:4px;padding:8px;border-radius:14px;border:2px solid var(--line);background:#f9fafb;cursor:pointer;min-height:var(--tap)}.k-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.k-nav button{min-height:72px;border:none;background:none;font-weight:800;font-size:18px;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted);cursor:pointer;border-bottom:4px solid transparent}.k-nav button span{font-size:28px}.k-nav button.on{color:var(--teal);border-bottom-color:var(--teal)}.tabs{display:flex;gap:6px;padding:10px 16px 0;max-width:980px;margin:0 auto;flex-wrap:wrap}.tabs button{min-height:48px;padding:8px 16px;border-radius:12px 12px 0 0;border:2px solid var(--line);border-bottom:none;background:#eef1f4;font-weight:800;cursor:pointer}.tabs button.on{background:#fff;color:var(--teal)}.tabs .guardian-tab{border-color:#ecd27e;background:#fff8e3}.history{max-height:460px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;margin:12px 0}.msg{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff}.msg.mine{background:var(--teal-soft)}.msg .who{display:flex;gap:8px;align-items:center}.msg .body{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.msg-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.reply textarea{min-height:90px}.big-name{font-size:26px}.seg{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}.seg button{min-height:48px;padding:6px 14px;border-radius:999px;border:2px solid var(--line);background:#fff;font-weight:800;cursor:pointer}.seg button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.table{width:100%;border-collapse:collapse;font-size:16px}.table th,.table td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}.copy-row{display:flex;gap:8px;margin-top:8px}.copy-row input{flex:1;font-size:14px}.approval{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.plain{list-style:none;padding:0;margin:0}.plain li{padding:8px 0;border-bottom:1px solid var(--line)}.conv-list{display:flex;gap:8px;flex-wrap:wrap}.oversight-banner{margin-top:14px;background:var(--ink);color:#fff;border-radius:12px;padding:10px 14px;font-weight:700}.help{position:fixed;top:0;right:0;bottom:0;left:0;background:#14284b73;display:grid;place-items:center;z-index:50;padding:16px}.help-box{background:#fff;border-radius:22px;padding:22px;max-width:560px;width:100%;max-height:90vh;overflow:auto}.help-box li{margin:10px 0;font-size:19px}@media(max-width:640px){h1,.k-top h1{font-size:24px}.strip-actions{border-left:none;padding-left:0;width:100%}.btn.listen,.btn.send{flex:1;min-height:84px}.modes button{font-size:15px}.words{grid-template-columns:repeat(3,1fr)}.word{min-height:96px}.always{grid-template-columns:repeat(2,1fr)}.people{grid-template-columns:1fr 1fr}.person{flex-direction:column;text-align:center}.pname{font-size:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.word:active{transform:none}}.btn.primary .small{color:inherit;opacity:.85}@media(max-width:640px){.top{padding:10px 12px}.top h1{font-size:22px}.top-actions .small{display:none}.top-actions .btn{min-height:44px;padding:6px 10px}.tabs{padding:8px 8px 0}.tabs button{flex:1 1 auto;font-size:16px;padding:8px 10px}}
