:root{--bg:#eaf0f6;--surface:#fff;--ink:#17263a;--muted:#5a6a80;--line:#d3dce8;--accent:#2453e0;--accent-ink:#fff;--user:#d9e4ff;--user-ink:#13285c;--coach:#c77a0a;--coach-bg:#fff3dc;--ok:#1f8a5b;--ok-bg:#e1f5ec;--bad:#b4372b;--ring:#2453e047;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1622;--surface:#162133;--ink:#e5ecf6;--muted:#93a4ba;--line:#25344b;--accent:#7a9bff;--accent-ink:#0b1530;--user:#22345c;--user-ink:#dce6ff;--coach:#f2b451;--coach-bg:#2c2414;--ok:#56c893;--ok-bg:#132a21;--bad:#ff8a7e;--ring:#7a9bff4d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1622;--surface:#162133;--ink:#e5ecf6;--muted:#93a4ba;--line:#25344b;--accent:#7a9bff;--accent-ink:#0b1530;--user:#22345c;--user-ink:#dce6ff;--coach:#f2b451;--coach-bg:#2c2414;--ok:#56c893;--ok-bg:#132a21;--bad:#ff8a7e;--ring:#7a9bff4d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:inherit}html{background:var(--bg);height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}body{background:var(--bg);height:100%;color:var(--ink);margin:0;font-family:Lexend,system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif;font-size:16px;font-weight:400;line-height:1.5}:lang(ko){font-family:Lexend,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,Noto Sans CJK KR,sans-serif}:lang(zh){font-family:Lexend,PingFang SC,Microsoft YaHei,Noto Sans SC,Noto Sans CJK SC,sans-serif}:lang(ja){font-family:Lexend,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic UI,Meiryo,Noto Sans JP,Noto Sans CJK JP,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.app{flex-direction:column;max-width:760px;height:100%;margin:0 auto;display:flex}header{align-items:center;gap:12px;padding:14px 18px 6px;display:flex}.brand{flex:1;min-width:0}.brand h1{letter-spacing:-.01em;margin:0;font-size:1.35rem;font-weight:600}.brand p{color:var(--muted);margin:0;font-size:.85rem}.hbtn{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 14px;font-size:.88rem}.hbtn:hover{border-color:var(--accent)}.topics{scrollbar-width:none;gap:8px;padding:8px 18px 12px;display:flex;overflow-x:auto}.topics::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;flex:none;padding:6px 13px;font-size:.88rem}.chip:hover{color:var(--ink);border-color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}#log{flex-direction:column;flex:1;gap:14px;padding:8px 18px 20px;display:flex;overflow-y:auto}.empty{text-align:center;color:var(--muted);margin:auto 0;padding:30px 10px}.empty strong{color:var(--ink);margin-bottom:6px;font-size:1.1rem;font-weight:500;display:block}.msg{flex-direction:column;max-width:86%;display:flex}.msg.ai{align-self:flex-start}.msg.user{align-self:flex-end;align-items:flex-end}.who{color:var(--muted);margin:0 4px 3px;font-size:.75rem}.bubble{white-space:pre-wrap;word-wrap:break-word;border-radius:20px;padding:11px 15px}.ai .bubble{background:var(--surface);border:1px solid var(--line);border-top-left-radius:6px}.user .bubble{background:var(--user);color:var(--user-ink);border-top-right-radius:6px}.bubble.pending{color:var(--muted)}.tools{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.tbtn{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:4px 8px;font-size:.8rem}.tbtn:hover{background:var(--surface);color:var(--ink)}.trans{color:var(--muted);margin-top:6px;padding:0 4px;font-size:.9rem}.err{color:var(--bad);margin-top:6px;font-size:.85rem}.coach{flex-direction:column;align-items:flex-end;width:100%;margin-top:6px;display:flex}.coach-toggle{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:.82rem;display:inline-flex}.coach-toggle .dot{background:var(--line);border-radius:50%;width:8px;height:8px}.coach[data-state=pending] .dot{animation:1s infinite blink}.coach[data-state=fix] .coach-toggle,.coach[data-state=minor] .coach-toggle{color:var(--coach);border-color:var(--coach)}.coach[data-state=fix] .dot,.coach[data-state=minor] .dot{background:var(--coach)}.coach[data-state=good] .coach-toggle{color:var(--ok);border-color:var(--ok)}.coach[data-state=good] .dot{background:var(--ok)}.coach[data-state=error] .coach-toggle{color:var(--bad)}.coach-panel{background:var(--coach-bg);text-align:left;width:min(520px,86vw);color:var(--ink);border-radius:16px;margin-top:8px;padding:14px 16px;font-size:.92rem}.coach[data-state=good] .coach-panel{background:var(--ok-bg)}.coach-panel h4{color:var(--muted);margin:12px 0 5px;font-size:.8rem;font-weight:500}.coach-panel h4:first-child{margin-top:0}.line{align-items:flex-start;gap:8px;display:flex}.line span{flex:1}.say{color:var(--accent);background:0 0;border:0;flex:none;padding:0 4px;font-size:.95rem;line-height:1.5}.corrected{font-weight:500}.issue{margin:6px 0}.issue del{color:var(--bad);text-decoration-thickness:1.5px}.issue ins{color:var(--ok);font-weight:500;text-decoration:none}.issue .why{color:var(--muted);font-size:.86rem;display:block}.tip{border-top:1px dashed var(--line);color:var(--muted);margin-top:12px;padding-top:10px;font-size:.87rem}@keyframes blink{50%{opacity:.25}}footer{border-top:1px solid var(--line);background:var(--bg);padding:10px 18px 16px}#live{text-align:center;min-height:1.5em;color:var(--ink);margin-bottom:4px;font-size:.95rem}#status{text-align:center;color:var(--muted);min-height:1.3em;margin-bottom:10px;font-size:.82rem}.row{align-items:center;gap:12px;display:flex}.typebox{border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:1;min-width:0;padding:4px 4px 4px 16px;display:flex}.typebox input{background:0 0;border:0;outline:none;flex:1;min-width:0}.typebox button{color:var(--accent);background:0 0;border:0;border-radius:999px;padding:6px 12px;font-weight:500}.typebox:focus-within{border-color:var(--accent)}#mic{background:var(--accent);width:72px;height:72px;color:var(--accent-ink);border:0;border-radius:50%;flex:none;place-items:center;transition:transform .15s;display:grid;position:relative}#mic:active{transform:scale(.95)}#mic svg{width:30px;height:30px}#mic:before,#mic:after{content:"";background:var(--ring);z-index:-1;opacity:0;border-radius:50%;position:absolute;inset:0}.app[data-mode=listening] #mic{background:var(--bad)}.app[data-mode=listening] #mic:before{animation:1.4s ease-out infinite pulse}.app[data-mode=listening] #mic:after{animation:1.4s ease-out .7s infinite pulse}.app[data-mode=thinking] #mic{background:var(--muted)}.app[data-mode=speaking] #mic:before{animation:2.2s ease-out infinite pulse}.micwrap{isolation:isolate;position:relative}@keyframes pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}.ico{display:none}.app[data-mode=idle] .ico-mic,.app[data-mode=listening] .ico-send,.app[data-mode=thinking] .ico-stop,.app[data-mode=speaking] .ico-stop{display:block}#scrim{opacity:0;pointer-events:none;z-index:20;background:#050a1473;transition:opacity .2s;position:fixed;inset:0}#drawer{background:var(--surface);z-index:21;width:min(420px,100%);padding:calc(18px + env(safe-area-inset-top,0px)) 20px calc(18px + env(safe-area-inset-bottom,0px));flex-direction:column;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}body.open #scrim{opacity:1;pointer-events:auto}body.open #drawer{transform:none}#drawer h2{margin:0 0 4px;font-size:1.15rem;font-weight:600}#drawer .sub{color:var(--muted);margin:0 0 16px;font-size:.86rem}.dbody{flex-direction:column;flex:1;gap:16px;padding-bottom:10px;display:flex;overflow-y:auto}.f{flex-direction:column;gap:6px;font-size:.88rem;font-weight:500;display:flex}.f small{color:var(--muted);font-weight:400}.f .usage,.f .radio,.f .inline,.f .facts{font-weight:400}textarea,select,.f input[type=range]{width:100%}.f input[type=text]{border:1px solid var(--line);background:var(--bg);border-radius:12px;width:100%;padding:10px 12px;font-weight:400}textarea,select{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:10px 12px;font-weight:400}textarea{resize:vertical;min-height:150px;line-height:1.45}.inline{gap:8px;display:flex}.inline select{flex:1}.check{align-items:center;gap:10px;font-size:.9rem;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent)}.primary{background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:10px 18px;font-weight:500}.ghost{border:1px solid var(--line);background:0 0;border-radius:999px;padding:8px 14px;font-size:.88rem}.banner{background:var(--coach-bg);color:var(--ink);border-radius:12px;margin:0 18px 8px;padding:10px 14px;font-size:.88rem}[hidden]{display:none!important}@media (max-width:520px){header{padding:12px 14px 4px}.topics,#log{padding-left:14px;padding-right:14px}footer{padding:10px 14px 14px}.msg{max-width:92%}#mic{width:64px;height:64px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.overlay{z-index:40;background:#050a148c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.card{background:var(--surface);text-align:center;border-radius:18px;width:100%;max-width:380px;padding:22px}.card h2{margin:0 0 8px;font-size:1.1rem}.card p{color:var(--muted);margin:0 0 16px;font-size:.92rem}.resume{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 18px 8px;padding:12px 14px;font-size:.9rem;display:flex}.resume span{flex:1;min-width:180px}.facts{flex-direction:column;gap:6px;display:flex}.fact{background:var(--bg);border-radius:10px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:.86rem;display:flex}.fact span{flex:1}.fact button{color:var(--bad);background:0 0;border:0;font-size:.8rem}.radio{flex-wrap:wrap;gap:14px;font-weight:400;display:flex}.radio label{align-items:center;gap:6px;display:flex}.drawer-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.drawer-foot a{color:var(--muted);font-size:.85rem}.login{place-items:center;min-height:100%;padding:24px;display:grid}.login .card{text-align:left}.login h1{margin:0 0 6px;font-size:1.6rem}.login .err{margin:0 0 14px}.usage{flex-direction:column;gap:8px;font-weight:400;display:flex}.usage-total{flex-wrap:wrap;align-items:center;gap:10px;font-size:.95rem;display:flex}.usage-total strong{font-size:1.15rem}.usage-bar{background:var(--line);border-radius:99px;flex:1;min-width:120px;height:8px;overflow:hidden}.usage-bar span{background:var(--ok);height:100%;display:block}.usage-bar.warn span{background:var(--coach)}.usage-bar.over span{background:var(--bad)}.usage small.usage-alert{color:var(--bad);font-weight:600}.usage table{border-collapse:collapse;background:var(--bg);border-radius:10px;width:100%;font-size:.84rem;overflow:hidden}.usage th,.usage td{text-align:left;vertical-align:top;padding:6px 10px}.usage th{color:var(--muted);font-size:.78rem;font-weight:600}.usage td:last-child,.usage th:last-child{text-align:right;white-space:nowrap}.usage tr+tr td{border-top:1px solid var(--line)}.hbtns{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}@media (max-width:480px){.hbtn{padding:6px 11px;font-size:.82rem}}.dtabs{background:var(--bg);border-radius:999px;gap:4px;margin-bottom:12px;padding:4px;display:flex}.dtabs button{color:var(--muted);background:0 0;border:0;border-radius:999px;flex:1;padding:8px 10px;font-size:.88rem}.dtabs button[aria-selected=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #00000014}.usage table.history tbody tr{cursor:pointer}.usage table.history tbody tr:hover td{background:var(--surface)}.usage table.history tr.current td{background:var(--user);color:var(--user-ink)}.linkbtn{color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.shell{height:100%;display:flex}.shell>.app{flex:1;min-width:0}.sidebar{border-right:1px solid var(--line);background:var(--surface);width:280px;padding:calc(14px + env(safe-area-inset-top,0px)) 10px calc(10px + env(safe-area-inset-bottom,0px));flex-direction:column;flex:none;display:flex}.sb-head{justify-content:space-between;align-items:center;gap:8px;padding:0 6px 10px;display:flex}.sb-new{padding:7px 14px;font-size:.86rem}.sb-list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sb-item{text-align:left;background:0 0;border:0;border-radius:10px;flex-direction:column;gap:2px;width:100%;padding:9px 10px;display:flex}.sb-item:hover{background:var(--bg)}.sb-item[aria-current=true]{background:var(--user);color:var(--user-ink)}.sb-title{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.sb-meta{color:var(--muted);font-size:.74rem}.sb-item[aria-current=true] .sb-meta{color:inherit;opacity:.8}.sb-empty{color:var(--muted);padding:8px 10px}.sb-foot{color:var(--muted);border-top:1px solid var(--line);margin-top:8px;padding:10px 8px 0;font-size:.8rem}.hbtn.menu{padding:6px 11px;display:none}a.hbtn{color:inherit;text-decoration:none;display:inline-block}.sb-scrim{display:none}#drawer>h2{margin-bottom:4px}@media (max-width:900px){.hbtn.menu{display:inline-block}.sidebar{z-index:31;width:min(300px,86vw);transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar[data-open=true]{transform:none}.sb-scrim{opacity:0;pointer-events:none;z-index:30;background:#050a1473;transition:opacity .2s;display:block;position:fixed;inset:0}.sb-scrim[data-open=true]{opacity:1;pointer-events:auto}}.page{max-width:760px;padding:calc(16px + env(safe-area-inset-top,0px)) 16px 40px;margin:0 auto}.page-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.page-head h1{flex:1;margin:0;font-size:1.35rem;font-weight:600}.saved{color:var(--muted);font-size:.8rem}.page-body{flex-direction:column;gap:14px;display:flex}.card-s{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:14px;padding:16px;display:flex}.card-s h2{margin:0;font-size:1.02rem;font-weight:600}.card-s .sub{color:var(--muted);margin:-8px 0 0;font-size:.86rem}.card-s a.ghost{color:inherit;align-self:flex-start;text-decoration:none}.daily{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:12px;margin:10px 16px 0;padding:12px 14px;display:flex}.daily[data-done=true]{opacity:.85}.daily-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.daily-text strong{font-size:.95rem;font-weight:600}.daily-text span{color:var(--muted);font-size:.84rem}.daily button{flex:none;padding:8px 16px}.daily-done{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.92rem;display:flex}
