@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-arabic-wght-normal-Cafbb7Zc.woff2) format("woff2-variations");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-ext-wght-normal-tDTa1Fj6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-wght-normal-BFexNX-K.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-50: #f0fbef;--brand-100: #dcf5da;--brand-200: #bfedbb;--brand-300: #9be297;--brand-400: #7fd97a;--brand-500: #67d163;--brand-600: #4cbb48;--brand-700: #2f8b2c;--brand-800: #256f23;--brand-900: #1e5220;--ink-900: #0f172a;--ink-700: #334155;--ink-500: #64748b;--ink-300: #cbd5e1;--ink-100: #f1f5f9;--white: #ffffff;--r-ctl: 12px;--r-card: 24px;--shadow-card: 0 8px 24px -4px rgba(15, 23, 42, .05);--shadow-pop: 0 24px 56px -12px rgba(15, 23, 42, .18);--ease: cubic-bezier(.22, 1, .36, 1);--bg: var(--ink-100);--surface: var(--white);--surface2: #fafcfd;--ink: var(--ink-900);--ink2: var(--ink-700);--ink3: var(--ink-500);--line: var(--ink-100);--brand: var(--brand-700);--brand-2: var(--brand-500);--brand-soft: var(--brand-50);--amber: #8a5200;--amber-soft: #fdf3e3;--err: #b3401c;--err-soft: #fdece6;--shadow: var(--shadow-pop);--on-brand: #ffffff;color-scheme:light}[data-theme=dark]{--bg: #0b1120;--surface: #151e2e;--surface2: #111a28;--ink: #e8edf4;--ink2: #94a3b8;--ink3: #8a9db4;--line: #22314a;--brand: var(--brand-400);--brand-2: var(--brand-500);--brand-soft: #152316;--amber: #f0b45a;--amber-soft: #2a2113;--err: #f0906a;--err-soft: #2c1a14;--shadow: 0 10px 30px -12px rgba(0, 0, 0, .6);--on-brand: #0b100c;color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{font-family:Vazirmatn Variable,Vazirmatn,Tahoma,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);line-height:1.85;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased}button,input,textarea,select{font-family:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{position:relative;height:100dvh;max-width:520px;margin:0 auto;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}@media(min-width:560px){body{background:var(--ink-100);background-image:radial-gradient(rgba(15,23,42,.045) 1px,transparent 1px);background-size:22px 22px}[data-theme=dark] body{background:#060a14;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:22px 22px}.app{height:min(880px,100dvh - 32px);margin:16px auto;border-radius:34px;box-shadow:0 40px 80px -30px #0f172a80,0 0 0 1px #0f172a14}}.view{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:max(10px,env(safe-area-inset-top)) 18px 22px;display:flex;flex-direction:column;gap:16px;scrollbar-width:none;animation:vin .32s var(--ease)}.view::-webkit-scrollbar{display:none}.view>*{flex:0 0 auto}.app.with-tabs .view{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.app.with-tabs .stickycta,.app.with-tabs .composer,.app.with-tabs .mini{bottom:calc(88px + env(safe-area-inset-bottom))}@keyframes vin{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0 2px}.topbar .grow{flex:1;min-width:0}.logo svg{display:block;height:26px;width:auto}.logo svg path{fill:var(--ink)}.title{font-size:19px;font-weight:800}.iconbtn{width:38px;height:38px;flex:none;border-radius:13px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);transition:background .2s,transform .2s var(--ease)}.iconbtn:active{transform:scale(.94)}.iconbtn.plain{background:transparent;border:none}.iconbtn[disabled]{opacity:.45;cursor:not-allowed}.avatar{width:38px;height:38px;flex:none;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-weight:800;font-size:14px;border:1px solid var(--line);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:16px;box-shadow:var(--shadow-card)}.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.sechead h3{font-size:15px;font-weight:800}.sechead a,.sechead button.link{font-size:12.5px;font-weight:600;color:var(--brand)}.muted{color:var(--ink2);font-size:13px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;background:var(--brand-soft);color:var(--brand);white-space:nowrap}.pill.amber{background:var(--amber-soft);color:var(--amber)}.pill.err{background:var(--err-soft);color:var(--err)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:600;border-radius:var(--r-ctl);padding:14px 26px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s}.btn:active{transform:scale(.97)}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--brand-2);color:var(--ink-900)}.btn-secondary{background:var(--surface);color:var(--ink);border:1.5px solid var(--line)}.btn-ghost{background:var(--brand-soft);color:var(--brand)}.btn-danger{background:var(--err-soft);color:var(--err)}.btn.sm{font-size:13px;padding:10px 16px}.stickycta{position:sticky;bottom:max(14px,env(safe-area-inset-bottom));margin-top:auto;z-index:8;padding-top:16px;background:linear-gradient(to top,var(--bg) 78%,transparent);display:flex;gap:8px}.stickycta .btn{flex:1;box-shadow:var(--shadow)}.spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.center-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:40px 20px;color:var(--ink3)}.center-state .ic{width:56px;height:56px;border-radius:20px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.center-state b{font-size:15px;font-weight:800;color:var(--ink)}.center-state p{font-size:12.5px;max-width:34ch;line-height:1.9}.skel{background:linear-gradient(90deg,var(--line) 25%,var(--surface2) 37%,var(--line) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-ctl)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.hero{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:18px;display:flex;flex-direction:column;gap:14px}.hero .greet{font-size:22px;font-weight:900;letter-spacing:-.5px;line-height:1.5}.hero .greet em{font-style:normal;color:var(--brand)}.hero .sub{color:var(--ink2);font-size:13px;margin-top:-6px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-ctl);padding:10px 8px;text-align:center}.metric b{display:block;font-size:19px;font-weight:900;letter-spacing:-.5px}.metric small{font-size:10.5px;color:var(--ink3);font-weight:500}.metric.hot b{color:var(--amber)}.metric.go b{color:var(--brand)}.progress{height:7px;border-radius:99px;background:var(--line);overflow:hidden}.progress i{display:block;height:100%;border-radius:99px;background:var(--brand);transition:width .5s var(--ease)}.resume{display:flex;gap:12px;align-items:center;background:var(--ink);color:var(--white);border-radius:var(--r-card);padding:14px;width:100%;text-align:start}[data-theme=dark] .resume{background:var(--brand-soft);color:var(--ink);border:1px solid var(--line)}.resume .t{flex:1;min-width:0}.resume small{display:block;font-size:11px;opacity:.7;font-weight:500}.resume b{display:block;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume .go{width:36px;height:36px;flex:none;border-radius:50%;background:var(--brand-2);color:#0f1a13;display:grid;place-items:center}.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.action{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);padding:13px;display:flex;flex-direction:column;gap:8px;text-align:start;transition:border-color .2s,transform .2s var(--ease)}.action:active{transform:scale(.98)}.action:hover{border-color:var(--brand)}.action .ic{width:32px;height:32px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.action b{font-size:13px;font-weight:700}.action small{font-size:11px;color:var(--ink3);line-height:1.6}.shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.book{display:flex;flex-direction:column;gap:7px;text-align:center}.cover{aspect-ratio:3 / 4.3;border-radius:11px;border:1px solid var(--line);position:relative;overflow:hidden;display:flex;align-items:flex-end;box-shadow:0 6px 16px -8px #0f172a4d;transition:transform .25s var(--ease);background:var(--surface2)}.book:hover .cover{transform:translateY(-3px)}.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover .ph{position:absolute;inset:0;display:grid;place-items:center;padding:8px;font-size:10px;font-weight:700;line-height:1.6;color:#fffffff0;text-align:center}.cover.c1{background:#2f8b2c}.cover.c2{background:#1f6f8b}.cover.c3{background:#8b5e2f}.cover.c4{background:#4a3e8b}.cover.c5{background:#8b2f4a}.cover.c6{background:#2f7a6b}.book b{font-size:11.5px;font-weight:600;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.challenge{background:var(--amber-soft);border:1px solid transparent;border-radius:var(--r-card);padding:16px;display:flex;gap:12px;align-items:center;width:100%;text-align:start}.challenge.done{background:var(--brand-soft)}.challenge .ic{width:42px;height:42px;flex:none;border-radius:14px;background:var(--amber);color:var(--white);display:grid;place-items:center;font-weight:900}.challenge.done .ic{background:var(--brand);color:var(--on-brand)}.challenge .t{flex:1;min-width:0}.challenge b{display:block;font-size:14px;font-weight:800}.challenge small{font-size:11.5px;color:var(--ink2)}.bookhead{display:flex;gap:14px;align-items:flex-end;background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:16px}.bookhead .cover{width:88px;flex:none;border-radius:12px}.bookhead .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px;padding-bottom:2px}.bookhead h2{font-size:19px;font-weight:900;letter-spacing:-.4px;line-height:1.5}.bookhead .meta{font-size:11.5px;color:var(--ink3)}.tools{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tool{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:9px;text-align:start;transition:border-color .2s,transform .2s var(--ease)}.tool:hover{border-color:var(--brand)}.tool:active{transform:scale(.98)}.tool.wide{grid-column:1 / -1;flex-direction:row;align-items:center;gap:12px}.tool .ic{width:38px;height:38px;flex:none;border-radius:13px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.tool.a .ic{background:var(--amber-soft);color:var(--amber)}.tool .tx{flex:1;min-width:0}.tool b{display:block;font-size:13.5px;font-weight:700}.tool small{display:block;font-size:11px;color:var(--ink3);line-height:1.6}.tool .flag{position:absolute;top:12px;inset-inline-start:12px;font-size:9.5px;font-weight:700;color:var(--amber);background:var(--amber-soft);border-radius:6px;padding:2px 7px}.lessons{display:flex;flex-direction:column;gap:8px}.lesson{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:11px 13px;text-align:start;width:100%;transition:border-color .2s}.lesson:hover{border-color:var(--brand)}.lesson .n{width:28px;height:28px;flex:none;border-radius:9px;background:var(--surface2);border:1px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--ink2)}.lesson.done .n{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.lesson.reading .n{background:var(--amber-soft);border-color:transparent;color:var(--amber)}.lesson .t{flex:1;min-width:0}.lesson b{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson small{font-size:10.5px;color:var(--ink3)}.setblock{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:15px;display:flex;flex-direction:column;gap:11px}.setblock>.hd{display:flex;align-items:center;gap:9px}.setblock>.hd .ic{width:28px;height:28px;flex:none;border-radius:9px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.setblock>.hd b{flex:1;font-size:13.5px;font-weight:800}.setblock>.hd small{font-size:11px;color:var(--ink3)}.setblock .hint{font-size:11.5px;color:var(--ink2)}.checkrow{display:flex;align-items:center;gap:10px;background:var(--surface2);border:1.5px solid var(--line);border-radius:13px;padding:10px 12px;text-align:start;color:var(--ink);transition:border-color .2s,background .2s;width:100%}.checkrow.on{border-color:var(--brand);background:var(--brand-soft)}.checkrow .bx{width:19px;height:19px;flex:none;border-radius:6px;border:1.5px solid var(--line);background:var(--surface);display:grid;place-items:center;color:transparent}.checkrow.on .bx{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.checkrow b{flex:1;font-size:12.5px;font-weight:600;text-align:start}.checkrow small{font-size:10.5px;color:var(--ink3);flex:none}.switchrow{display:flex;align-items:center;gap:11px;width:100%;text-align:start}.switchrow .t{flex:1}.switchrow b{display:block;font-size:12.5px;font-weight:600}.switchrow small{font-size:10.5px;color:var(--ink3);line-height:1.6}.sw{width:42px;height:25px;flex:none;border-radius:99px;background:var(--line);position:relative;transition:background .25s}.sw:after{content:"";position:absolute;top:3px;inset-inline-end:3px;width:19px;height:19px;border-radius:50%;background:#fff;transition:transform .25s var(--ease);box-shadow:0 1px 3px #00000040}.switchrow.on .sw{background:var(--brand)}.switchrow.on .sw:after{transform:translate(-17px)}[dir=ltr] .switchrow.on .sw:after{transform:translate(17px)}.rangerow{display:flex;flex-direction:column;gap:7px}.rangerow .rv{display:flex;justify-content:space-between;align-items:baseline}.rangerow .rv b{font-size:19px;font-weight:900;letter-spacing:-.5px}.rangerow .rv small{font-size:11px;color:var(--ink3)}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:var(--line);outline:none;direction:ltr}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--brand);border:3px solid var(--surface);box-shadow:0 2px 6px #00000040;cursor:pointer}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--brand);border:3px solid var(--surface);cursor:pointer}.mixrow{display:flex;align-items:center;gap:8px;font-size:12px}.mixrow .nm{flex:1;color:var(--ink2);font-weight:600}.mixrow .bar{width:96px;height:6px;border-radius:99px;background:var(--line);overflow:hidden}.mixrow .bar i{display:block;height:100%;background:var(--brand);border-radius:99px}.mixrow .vv{width:40px;text-align:end;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)}.mixrow input[type=range]{width:96px}.summary{background:var(--ink);color:var(--white);border-radius:20px;padding:15px;display:flex;flex-direction:column;gap:6px}[data-theme=dark] .summary{background:var(--brand-soft);color:var(--ink);border:1px solid var(--line)}.summary b{font-size:13.5px;font-weight:800}.summary p{font-size:12px;line-height:1.9;opacity:.82}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:12px;font-weight:700;color:var(--ink2)}.chipset{display:flex;gap:7px;flex-wrap:wrap}.chipset button{font-size:12.5px;font-weight:600;border:1.5px solid var(--line);background:var(--surface);color:var(--ink2);border-radius:999px;padding:8px 14px}.chipset button.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.seg{display:flex;gap:4px;background:var(--surface2);border:1px solid var(--line);border-radius:14px;padding:4px}.seg button{flex:1;font-size:12.5px;font-weight:700;color:var(--ink2);border-radius:11px;padding:9px 0}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card)}.filters{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.filters::-webkit-scrollbar{display:none}.filters button{flex:none;font-size:12px;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--ink2);border-radius:999px;padding:7px 14px}.filters button.on{background:var(--ink);color:var(--white);border-color:var(--ink)}[data-theme=dark] .filters button.on{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.qtop{display:flex;align-items:center;gap:10px}.qtop .bar{flex:1;height:6px;border-radius:99px;background:var(--line);overflow:hidden}.qtop .bar i{display:block;height:100%;background:var(--brand);border-radius:99px;transition:width .4s var(--ease)}.qtop .cnt{font-size:11.5px;font-weight:700;color:var(--ink3);white-space:nowrap}.qcard{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:18px;display:flex;flex-direction:column;gap:6px}.qcard .lbl{font-size:11px;font-weight:700;color:var(--brand)}.qcard h2{font-size:17.5px;font-weight:800;line-height:1.7;letter-spacing:-.2px}.opts{display:flex;flex-direction:column;gap:9px}.opt{display:flex;align-items:center;gap:11px;text-align:start;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:14px;color:var(--ink);transition:border-color .2s,background .2s}.opt .k{width:26px;height:26px;flex:none;border-radius:9px;background:var(--surface2);border:1px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--ink2)}.opt .tx{flex:1;font-size:13.5px;font-weight:600}.opt .mk{opacity:0;flex:none}.opt.sel{border-color:var(--brand);background:var(--brand-soft)}.opt.sel .k{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.opt.right{border-color:var(--brand);background:var(--brand-soft)}.opt.right .mk{opacity:1;color:var(--brand)}.opt.wrong{border-color:var(--err);background:var(--err-soft)}.opt.wrong .mk{opacity:1;color:var(--err)}.qinput{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:14px;font-size:14px;outline:none;width:100%}.qinput:focus{border-color:var(--brand)}.qwhy{background:var(--brand-soft);border-radius:16px;padding:13px 15px;font-size:12.5px;line-height:1.85;color:var(--ink2)}.qwhy b{color:var(--ink)}.qresult{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 0 8px;text-align:center}.ring{width:118px;height:118px;border-radius:50%;display:grid;place-items:center}.ring i{width:92px;height:92px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:26px;font-weight:900;font-style:normal;letter-spacing:-1px}.rmode{display:flex;gap:4px;background:var(--surface2);border:1px solid var(--line);border-radius:13px;padding:4px}.rmode button{flex:1;font-size:12px;font-weight:700;color:var(--ink2);border-radius:10px;padding:8px 0}.rmode button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card)}.page{background:#fcfbf7;border:1px solid var(--line);border-radius:var(--r-card);padding:20px 18px 16px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:11px;position:relative}[data-theme=dark] .page{background:#111a28}.page .pnum{position:absolute;top:10px;inset-inline-start:14px;font-size:10px;color:var(--ink3);font-variant-numeric:tabular-nums}.page h4{font-size:14px;font-weight:800;color:var(--ink)}.page .fig{border:1px dashed var(--line);border-radius:10px;min-height:76px;display:grid;place-items:center;padding:12px;font-size:11px;color:var(--ink3);text-align:center;line-height:1.8}.ln{font-size:13px;line-height:2.15;color:var(--ink-700);border-radius:6px;padding:1px 4px;margin:0 -4px;transition:background .25s,color .25s}[data-theme=dark] .ln{color:var(--ink-300)}.ln:hover{background:var(--brand-soft)}.ln.cur{background:var(--amber-soft);color:var(--ink);box-shadow:inset 0 -2px 0 var(--amber)}.ln .gloss{display:block;font-size:11px;color:var(--ink3);line-height:1.9}.pagenav{display:flex;align-items:center;gap:10px;justify-content:center}.pagenav button{width:34px;height:34px;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center}.pagenav button[disabled]{opacity:.4}.pagenav span{font-size:11.5px;color:var(--ink3);font-variant-numeric:tabular-nums}.flow{display:flex;flex-direction:column;gap:12px}.flow p{font-size:14.5px;line-height:2.25;color:var(--ink)}.mini{position:sticky;bottom:max(14px,env(safe-area-inset-bottom));margin-top:auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:11px 13px;display:flex;flex-direction:column;gap:9px;box-shadow:var(--shadow);z-index:8}.mini .r1{display:flex;align-items:center;gap:11px}.mini .tt{flex:1;min-width:0}.mini .tt b{display:block;font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini .tt small{display:block;font-size:10.5px;color:var(--ink3);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wave{width:100%;height:26px;display:flex;align-items:center;gap:3px}.wave i{flex:1;background:var(--line);border-radius:99px;transition:background .2s}.wave i.p{background:var(--brand)}.pbtn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface2);color:var(--ink);display:grid;place-items:center;flex:none}.pbtn.main{width:44px;height:44px;background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.pbtn[disabled]{opacity:.5}.mini .sp{font-size:11px;font-weight:800;border:1px solid var(--line);background:var(--surface2);color:var(--ink2);border-radius:9px;padding:6px 9px;flex:none}.sheet{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:flex-end;justify-content:center;z-index:60;padding:12px;animation:fade .22s var(--ease)}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet .inner{width:100%;max-width:496px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:14px;display:flex;flex-direction:column;gap:11px;max-height:84dvh;overflow-y:auto;scrollbar-width:none;margin-bottom:env(safe-area-inset-bottom);animation:rise .28s var(--ease)}@keyframes rise{0%{transform:translateY(18px)}to{transform:none}}.sheet .inner::-webkit-scrollbar{display:none}.sheet .q{font-size:12.5px;line-height:1.9;color:var(--ink2);background:var(--surface2);border-radius:12px;padding:11px 13px}.sheet .acts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.sheet .acts button{font-size:12.5px;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:13px;padding:12px 10px;display:flex;align-items:center;justify-content:center;gap:7px}.sheet .acts button.p{background:var(--brand);border-color:var(--brand);color:var(--on-brand);grid-column:1 / -1}.sheet .acts button[disabled]{opacity:.5}.sheet .head{display:flex;align-items:baseline;gap:8px}.sheet .head b{flex:1;font-size:15px;font-weight:800}.sheet .head small{font-size:11.5px;color:var(--ink3)}.note{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:7px;text-align:start;width:100%;transition:border-color .2s}.note:hover{border-color:var(--brand)}.note .r1{display:flex;align-items:center;gap:8px}.note .r1 b{flex:1;font-size:13.5px;font-weight:700}.note .r1 small{font-size:10.5px;color:var(--ink3);flex:none}.note p{font-size:12.5px;color:var(--ink2);line-height:1.8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.note .chips{display:flex;gap:6px;flex-wrap:wrap}.note .chips span{font-size:10px;font-weight:600;color:var(--brand);background:var(--brand-soft);border-radius:6px;padding:2px 7px}.hl,mark{background:var(--amber-soft);border-radius:4px;padding:0 3px;color:var(--ink)}.genbox{display:flex;gap:11px;align-items:center;background:var(--ink);color:var(--white);border-radius:20px;padding:14px;width:100%;text-align:start}[data-theme=dark] .genbox{background:var(--brand-soft);color:var(--ink);border:1px solid var(--line)}.genbox .ic{width:38px;height:38px;flex:none;border-radius:13px;background:var(--brand-2);color:#0f1a13;display:grid;place-items:center}.genbox .t{flex:1;min-width:0}.genbox b{display:block;font-size:13.5px;font-weight:700}.genbox small{font-size:11px;opacity:.72}.genbox[disabled]{opacity:.7}.word{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:13px 14px;display:flex;flex-direction:column;gap:6px}.word .r1{display:flex;align-items:center;gap:9px}.word .r1 b{font-size:15px;font-weight:800;letter-spacing:-.2px}.word .r1 .say{width:28px;height:28px;flex:none;border-radius:9px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin-inline-start:auto}.word .r1 .sv{width:28px;height:28px;flex:none;border-radius:9px;background:var(--surface2);border:1px solid var(--line);color:var(--ink3);display:grid;place-items:center}.word .r1 .sv.on{background:var(--amber-soft);color:var(--amber);border-color:transparent}.word .ipa{font-family:ui-monospace,monospace;font-size:11px;color:var(--ink3)}.word .fa{font-size:13.5px;font-weight:600;color:var(--ink)}.word .ex{font-size:12px;line-height:1.85;color:var(--ink2);border-inline-start:2px solid var(--brand-soft);padding-inline-start:9px}.word .tg{display:flex;gap:6px;flex-wrap:wrap}.word .tg span{font-size:10px;font-weight:600;color:var(--brand);background:var(--brand-soft);border-radius:6px;padding:2px 7px}.flashcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;min-height:210px;justify-content:center}.flashcard .front{font-size:26px;font-weight:900;letter-spacing:-.5px}.flashcard .back{font-size:16px;font-weight:700;color:var(--brand)}.mhero{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:18px;display:flex;flex-direction:column;gap:12px}.mhero h2{font-size:18px;font-weight:900;letter-spacing:-.3px;line-height:1.6}.stepper{display:flex;flex-direction:column;gap:12px}.invite{display:flex;align-items:center;gap:9px;background:var(--surface2);border:1px dashed var(--line);border-radius:15px;padding:12px 14px;font-family:ui-monospace,monospace;font-size:16px;font-weight:700;letter-spacing:2px;color:var(--ink)}.invite button{margin-inline-start:auto;font-family:inherit;font-size:11.5px;font-weight:700;letter-spacing:0;background:var(--brand);color:var(--on-brand);border-radius:9px;padding:7px 12px;flex:none}.lb{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:11px 13px}.lb.me{border-color:var(--brand);background:var(--brand-soft)}.lb .rk{width:24px;flex:none;font-size:13px;font-weight:900;color:var(--ink3);text-align:center}.lb.me .rk{color:var(--brand)}.lb .av{width:32px;height:32px;flex:none;border-radius:50%;background:var(--surface2);border:1px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--ink2)}.lb b{flex:1;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb .sc{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;flex:none}.lb .sc.waiting{color:var(--ink3);font-weight:600;font-size:11.5px}.search{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:12px 14px}.search input{flex:1;border:none;background:none;font-size:13.5px;color:var(--ink);outline:none;min-width:0}.search input::placeholder{color:var(--ink3)}.chatrow{display:flex;gap:11px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px;text-align:start;width:100%;transition:border-color .2s}.chatrow:hover{border-color:var(--brand)}.chatrow .thumb{width:40px;height:54px;flex:none;border-radius:8px;position:relative;overflow:hidden;background:var(--surface2)}.chatrow .thumb img{width:100%;height:100%;object-fit:cover}.chatrow .b{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.chatrow .r1{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.chatrow .r1 b{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chatrow .r1 small{flex:none;font-size:10.5px;color:var(--ink3)}.chatrow p{font-size:12px;color:var(--ink2);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chatrow .tag{font-size:10px;font-weight:600;color:var(--brand);background:var(--brand-soft);border-radius:6px;padding:2px 7px;width:fit-content}.ctx{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:9px 11px;position:sticky;top:0;z-index:5}.ctx .thumb{width:30px;height:40px;border-radius:6px;flex:none;overflow:hidden;background:var(--surface2)}.ctx .thumb img{width:100%;height:100%;object-fit:cover}.ctx .t{flex:1;min-width:0}.ctx b{display:block;font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctx small{font-size:10.5px;color:var(--ink3)}.thread{display:flex;flex-direction:column;gap:12px;padding-top:4px}.daysep{text-align:center;font-size:10.5px;color:var(--ink3);font-weight:600}.msg{max-width:88%;font-size:13.5px;line-height:1.95;padding:12px 15px;position:relative;overflow-wrap:anywhere}.msg.u{align-self:flex-start;background:var(--brand-100);color:var(--ink-900);border-radius:16px 16px 16px 4px}[data-theme=dark] .msg.u{background:var(--brand-soft);color:var(--ink)}.msg.a{align-self:flex-end;background:var(--surface);border:1px solid var(--line);border-radius:16px 16px 4px}.msg.a h1,.msg.a h2,.msg.a h3,.msg.a h4{font-size:13px;font-weight:800;margin-bottom:4px}.msg.a ul,.msg.a ol{margin:6px 0 0;padding-inline-start:17px;display:flex;flex-direction:column;gap:5px}.msg.a li{font-size:12.5px;line-height:1.8}.msg.a p+p{margin-top:8px}.msg.a code{font-family:ui-monospace,monospace;font-size:12px;background:var(--surface2);border-radius:5px;padding:1px 5px}.msg.a pre{background:var(--surface2);border-radius:10px;padding:10px;overflow-x:auto;margin-top:8px}.msg.err{align-self:center;background:var(--err-soft);color:var(--err);border-radius:12px;font-size:12.5px;font-weight:600}.msgmeta{display:flex;gap:10px;align-self:flex-end;color:var(--ink3);font-size:11px;padding-inline-end:4px;flex-wrap:wrap}.msgmeta button{font-size:11px;color:var(--ink3);display:flex;align-items:center;gap:4px}.msgmeta button:hover,.msgmeta button.on{color:var(--brand)}.sugg{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.sugg::-webkit-scrollbar{display:none}.sugg button{flex:none;font-size:12px;font-weight:600;background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:8px 14px}.composer{position:sticky;bottom:max(10px,env(safe-area-inset-bottom));margin-top:auto;display:flex;align-items:flex-end;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:8px 10px;box-shadow:var(--shadow);z-index:8}.composer textarea{flex:1;border:none;background:none;font-size:13.5px;color:var(--ink);outline:none;resize:none;max-height:108px;line-height:1.8;padding:8px 0;min-width:0}.composer textarea::placeholder{color:var(--ink3)}.composer .send{width:40px;height:40px;flex:none;border-radius:14px;background:var(--brand);color:var(--on-brand);display:grid;place-items:center}.composer .send[disabled]{opacity:.5}.composer .plus{width:32px;height:32px;flex:none;border-radius:11px;background:var(--surface2);border:1px solid var(--line);color:var(--ink2);display:grid;place-items:center;margin-bottom:4px}.cpill{display:flex;align-items:center;gap:6px;background:var(--brand-soft);color:var(--brand);border-radius:9px;padding:5px 9px;font-size:11px;font-weight:700;width:fit-content;margin-bottom:4px;flex:none}.attach{align-self:flex-start;max-width:88%;display:flex;gap:9px;align-items:center;background:var(--brand-100);border-radius:16px 16px 16px 4px;padding:9px 11px}[data-theme=dark] .attach{background:var(--brand-soft)}.attach .pg{width:34px;height:44px;flex:none;border-radius:6px;background:#fcfbf7;border:1px solid rgba(15,23,42,.12);display:grid;place-items:center;font-size:9px;color:var(--ink-500);font-variant-numeric:tabular-nums}.attach .t b{display:block;font-size:12px;font-weight:700;color:var(--ink)}.attach .t small{font-size:10.5px;color:var(--ink2)}.voice{align-self:flex-start;display:flex;flex-direction:column;gap:6px;background:var(--brand-100);border-radius:16px 16px 16px 4px;padding:10px 13px;max-width:88%}[data-theme=dark] .voice{background:var(--brand-soft)}.voice .r1{display:flex;align-items:center;gap:10px}.voice .pl{width:30px;height:30px;flex:none;border-radius:50%;background:var(--brand);color:var(--on-brand);display:grid;place-items:center}.voice .bars{display:flex;align-items:center;gap:2.5px;height:22px;flex:1;overflow:hidden}.voice .bars i{width:2.5px;flex:none;border-radius:99px;background:var(--brand);opacity:.45}.voice .bars i.p{opacity:1}.voice small{font-size:10.5px;color:var(--ink2);font-variant-numeric:tabular-nums;flex:none}.voice .tx{font-size:13px;line-height:1.9;color:var(--ink-900)}[data-theme=dark] .voice .tx{color:var(--ink)}.reccomposer{position:sticky;bottom:max(10px,env(safe-area-inset-bottom));margin-top:auto;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--err);border-radius:20px;padding:10px 12px;box-shadow:var(--shadow);z-index:8}.reccomposer .dot{width:10px;height:10px;border-radius:50%;background:var(--err);flex:none;animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.reccomposer .meter{flex:1;display:flex;align-items:center;gap:2px;height:24px;overflow:hidden}.reccomposer .meter i{width:3px;flex:none;border-radius:99px;background:var(--brand);min-height:3px}.reccomposer .time{font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink2);flex:none}.composer .mic{width:40px;height:40px;flex:none;border-radius:14px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.acard{align-self:flex-end;max-width:92%;width:92%;background:var(--surface);border:1px solid var(--line);border-radius:16px 16px 4px;overflow:hidden}.acard .ah{display:flex;align-items:center;gap:8px;padding:11px 13px;border-bottom:1px solid var(--line)}.acard .ah .ic{width:26px;height:26px;flex:none;border-radius:8px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.acard .ah b{flex:1;font-size:12.5px;font-weight:800}.acard .ah small{font-size:10px;color:var(--ink3)}.acard .ab{padding:12px 13px;display:flex;flex-direction:column;gap:9px}.vtable{display:flex;flex-direction:column;font-size:12.5px}.vtable .vr{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.vtable .vr:last-child{border-bottom:none}.vtable .vr .en{flex:1;font-weight:700;color:var(--ink)}.vtable .vr .fa{flex:1;color:var(--ink2)}.qmini{display:flex;flex-direction:column;gap:7px}.qmini .qq{font-size:13px;font-weight:700;line-height:1.8}.qmini button{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;text-align:start;background:var(--surface2);border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--ink);transition:border-color .2s,background .2s}.qmini button .k{width:22px;height:22px;flex:none;border-radius:7px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--ink2)}.qmini button.right{border-color:var(--brand);background:var(--brand-soft)}.qmini button.wrong{border-color:var(--err);background:var(--err-soft)}.tools-inline{display:flex;gap:6px;flex-wrap:wrap}.tools-inline button{font-size:11.5px;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--ink2);border-radius:10px;padding:7px 11px;display:flex;align-items:center;gap:5px}.tools-inline button:hover{border-color:var(--brand);color:var(--brand)}.tools-inline button[disabled]{opacity:.55}.typing{align-self:flex-end;display:flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--line);border-radius:16px 16px 4px;padding:12px 14px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink3);animation:bl 1.2s infinite}.typing i:nth-child(2){animation-delay:.18s}.typing i:nth-child(3){animation-delay:.36s}@keyframes bl{0%,60%,to{opacity:.28;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.profhead{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0 2px}.profhead .big{width:78px;height:78px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:26px;font-weight:900;border:1px solid var(--line);overflow:hidden}.profhead .big img{width:100%;height:100%;object-fit:cover}.profhead b{font-size:18px;font-weight:800}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.row{display:flex;align-items:center;gap:11px;padding:14px 15px;border-bottom:1px solid var(--line);transition:background .2s;width:100%;text-align:start}.row:last-child{border-bottom:none}.row:hover{background:var(--surface2)}.row .ic{width:32px;height:32px;flex:none;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.row .t{flex:1;min-width:0}.row b{display:block;font-size:13.5px;font-weight:600}.row small{font-size:11px;color:var(--ink3)}.row .val{font-size:12.5px;color:var(--ink2);font-weight:600;flex:none}.row.danger .ic{background:var(--err-soft);color:var(--err)}.row.danger b{color:var(--err)}.gradegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.gradegrid button{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-ctl);padding:14px 6px;font-size:14px;font-weight:700;color:var(--ink);transition:border-color .2s,background .2s}.gradegrid button.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.fieldlist{display:flex;flex-direction:column;gap:9px}.fieldlist button{display:flex;align-items:center;gap:10px;text-align:start;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-ctl);padding:13px 14px;color:var(--ink);transition:border-color .2s,background .2s}.fieldlist button.on{border-color:var(--brand);background:var(--brand-soft)}.fieldlist .tick{width:20px;height:20px;flex:none;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:transparent}.fieldlist button.on .tick{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.fieldlist b{font-size:13.5px;font-weight:700;flex:1}.fieldlist small{font-size:11px;color:var(--ink3);flex:none}.plan{border:1.5px solid var(--line);background:var(--surface);border-radius:var(--r-card);padding:16px;display:flex;flex-direction:column;gap:11px;text-align:start;width:100%}.plan.on{border-color:var(--brand);background:var(--brand-soft)}.plan .r1{display:flex;align-items:center;justify-content:space-between;gap:8px}.plan b{font-size:15px;font-weight:800}.plan .price{display:flex;align-items:baseline;gap:5px}.plan .price strong{font-size:24px;font-weight:900;letter-spacing:-.5px}.plan .price small{font-size:11.5px;color:var(--ink3)}.plan ul{list-style:none;display:flex;flex-direction:column;gap:7px}.plan li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink2)}.plan li svg{flex:none;color:var(--brand)}.badge{font-size:10.5px;font-weight:700;background:var(--brand);color:var(--on-brand);border-radius:999px;padding:3px 9px}.savenote{text-align:center;font-size:11.5px;color:var(--ink3)}.tabbar{position:absolute;inset-inline:16px;bottom:max(14px,env(safe-area-inset-bottom));height:62px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-around;padding:0 8px;z-index:9}.tab{display:flex;align-items:center;gap:7px;color:var(--ink3);border-radius:15px;padding:9px 11px;transition:color .25s,background .3s var(--ease)}.tab b{font-size:12.5px;font-weight:700;max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .35s var(--ease),opacity .25s}.tab.on{background:var(--ink);color:var(--white)}[data-theme=dark] .tab.on{background:var(--brand);color:var(--on-brand)}.tab.on b{max-width:74px;opacity:1}.input{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-ctl);padding:14px;font-size:14.5px;outline:none;width:100%;color:var(--ink)}.input:focus{border-color:var(--brand)}.input::placeholder{color:var(--ink3)}.otp{display:flex;gap:8px;direction:ltr;justify-content:center}.otp input{width:46px;height:54px;text-align:center;font-size:20px;font-weight:800;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;outline:none;color:var(--ink)}.otp input:focus{border-color:var(--brand)}.formerr{background:var(--err-soft);color:var(--err);border-radius:12px;padding:11px 13px;font-size:12.5px;font-weight:600;line-height:1.8}.toasts{position:fixed;inset-inline:0;bottom:calc(84px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;z-index:90;pointer-events:none;padding:0 16px}.toast{background:var(--ink);color:var(--white);border-radius:14px;padding:11px 16px;font-size:12.5px;font-weight:600;box-shadow:var(--shadow);max-width:100%;animation:rise .25s var(--ease);pointer-events:auto}[data-theme=dark] .toast{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.toast.err{background:var(--err);color:#fff}.toast.ok{background:var(--brand-700);color:#fff}.rowflex{display:flex;align-items:center;gap:8px}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:10px}.nowrap{white-space:nowrap}.ltr{direction:ltr;text-align:left}.notices{position:fixed;inset-inline:0;top:0;z-index:80;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.offline-bar{background:var(--amber-soft);color:var(--amber);font-size:11.5px;font-weight:700;text-align:center;padding:6px 12px}.update-bar{display:flex;align-items:center;gap:10px;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:700;padding:8px 14px}.update-bar button{margin-inline-start:auto;background:var(--brand);color:var(--on-brand);border-radius:8px;padding:5px 11px;font-size:11.5px;font-weight:700}
