:root{--pri-bg: #3D5AF1;--pri-fg: #FFFFFF;--p500: #4D6BFE;--p600: #3D5AF1;--p700: #2E48D8;--bg-shell: #F5F6F8;--surface: #FFFFFF;--g50: #F7F8FA;--g100: #F2F3F5;--g200: #E5E7EB;--g400: #9CA3AF;--g500: #616B7A;--g600: #4B5563;--g700: #374151;--g900: #111827;--tx-dim: #616B7A;--err: #DC2626;--err-bg: #FEF2F2;--err-bd: #FECACA;--err-tx: #B91C1C;--warn-bg: #FEF3C7;--warn-tx: #92400E;--ok: #16A34A;--cx-ok: #047857;--cv-primary: #2E48D8;--cv-derive: #3D5AF1;--vz-a: #4D6BFE;--vz-b: #059669;--vz-c: #C9660A;--toast-bg: #111827;--toast-tx: #FFFFFF;--shadow: 0 1px 3px rgba(17, 24, 39, .07);--r-card: 16px;--r-btn: 12px;--ease: cubic-bezier(.16, 1, .3, 1);color-scheme:light}[data-theme=dark]{--pri-bg: #4D6BFE;--pri-fg: #FFFFFF;--bg-shell: #131417;--surface: #1B1C20;--g50: #1E1F24;--g100: #24262C;--g200: #2E3138;--g400: #64748B;--g500: #94A3B8;--g600: #B6C2D4;--g700: #CBD5E1;--g900: #E5EAF3;--tx-dim: #94A3B8;--cx-ok: #34D399;--p500: #7C93FF;--p600: #9BB2FF;--p700: #C0CEFF;--cv-primary: #93B0FF;--cv-derive: #C3D2FF;--vz-a: #7C93FF;--vz-b: #34D399;--vz-c: #FCD34D;--err: #F87171;--err-bg: #2A1620;--err-bd: #4C1D2E;--err-tx: #FCA5A5;--warn-bg: #2A2213;--warn-tx: #FCD34D;--toast-bg: #E5EAF3;--toast-tx: #0F1420;--shadow: 0 1px 3px rgba(0, 0, 0, .4);color-scheme:dark}[data-sepia="1"]{--bg-shell: #CBE6CC;--surface: #F7FBF3;--g50: #EAF4E8;--g100: #DFEDDC;--g200: #C4D8C0;--g400: #8AA68C;--g500: #638066;--g600: #4E6650;--g700: #41543F;--g900: #253426;--tx-dim: #4E6650;--cx-ok: #276747;--p500: #3B6BCB;--p600: #2B5FA3;--p700: #1E4A87;--cv-primary: #2B5FA3;--cv-derive: #34508C;--vz-a: #3B6BCB;--vz-b: #276747;--vz-c: #8A5A00;color-scheme:light}body.theme-fading,body.theme-fading *,body.theme-fading *:before,body.theme-fading *:after{transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),fill .45s var(--ease),stroke .45s var(--ease)!important}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg-shell);color:var(--g900);-webkit-font-smoothing:antialiased;transition:background-color .3s var(--ease),color .3s var(--ease);overscroll-behavior-y:none}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}button,input,textarea,a{touch-action:manipulation}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.phone{max-width:430px;margin:0 auto;height:100vh;height:100dvh;height:var(--app-h, 100dvh);overflow:hidden;background:var(--bg-shell);display:flex;flex-direction:column;position:relative}.screen{flex:1;display:flex;flex-direction:column;min-height:0}.stage{position:relative;flex:1;min-height:0;overflow:hidden}.layer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg-shell);will-change:transform}@keyframes layer-in-right{0%{transform:translate3d(100%,0,0)}to{transform:translateZ(0)}}@keyframes layer-out-left{0%{transform:translateZ(0)}to{transform:translate3d(-30%,0,0)}}@keyframes layer-in-left{0%{transform:translate3d(-30%,0,0)}to{transform:translateZ(0)}}@keyframes layer-out-right{0%{transform:translateZ(0)}to{transform:translate3d(100%,0,0)}}.appbar{display:flex;align-items:center;gap:6px;padding:calc(6px + env(safe-area-inset-top)) 12px 10px;flex-shrink:0;position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--g100);transition:background-color .3s var(--ease),border-color .3s var(--ease)}.appbar .title{font-size:17px;font-weight:700;flex:1;margin:0}.appbar .detail-title{position:absolute;left:50%;transform:translate(-50%);max-width:min(52%,240px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;color:var(--g900);pointer-events:none}.iconbtn{width:38px;height:38px;border:none;border-radius:10px;background:transparent;color:var(--g700);display:inline-flex;align-items:center;justify-content:center;position:relative;transition:transform .18s var(--ease),background-color .18s var(--ease)}.iconbtn:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:12px}.iconbtn:active{transform:scale(.9);background:var(--g100)}.iconbtn.on{color:var(--p600);background:color-mix(in srgb,var(--p500) 12%,transparent)}.iconbtn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.backrow{display:inline-flex;align-items:center;gap:4px;padding:7px 14px 7px 10px;border-radius:999px;background:var(--g100);color:var(--p600);border:1px solid var(--g200);font-size:14px;font-weight:600;position:relative;transition:transform .18s var(--ease)}.backrow:after{content:"";position:absolute;top:-6px;right:-4px;bottom:-6px;left:-4px;border-radius:999px}.backrow:active{transform:scale(.94)}.backrow svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.searchwrap{padding:10px 16px 0;flex-shrink:0}.searchbar{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--g200);border-radius:12px;padding:9px 12px;transition:border-color .2s,box-shadow .2s}.searchbar:focus-within{border-color:var(--p500);box-shadow:0 0 0 3px color-mix(in srgb,var(--p500) 16%,transparent)}.searchbar svg{width:17px;height:17px;fill:none;stroke:var(--g400);stroke-width:2;stroke-linecap:round}.searchbar input{flex:1;border:none;outline:none;background:transparent;color:var(--g900);font-size:14px;min-width:0}.searchbar input::placeholder{color:var(--g400)}.searchclear{flex-shrink:0;width:24px;height:24px;border-radius:50%;border:none;background:var(--g200);color:var(--g700);font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;position:relative;transition:transform .18s var(--ease)}.searchclear:after{content:"";position:absolute;top:-11px;right:-9px;bottom:-11px;left:-9px;border-radius:50%}.searchclear:active{transform:scale(.9)}.searchspinner{width:13px;height:13px;border-width:1.8px}.chips{display:flex;gap:8px;overflow-x:auto;padding:10px 16px;flex-shrink:0;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}:root.kb-open .chips{display:none}.chip{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;position:relative;padding:9.5px 14px;border-radius:999px;font-size:13px;font-weight:600;border:none;background:var(--g100);color:var(--g600);transition:transform .18s var(--ease),background-color .18s,color .18s,border-color .18s}.chip:active{transform:scale(.94)}.chip.sel{background:var(--pri-bg);color:var(--pri-fg)}.modchips{padding-top:4.5px;margin-top:-4.5px}.mchip{display:inline-flex;align-items:center;gap:6px}.mchip .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}@media(max-width:360px){.chips{gap:6px;padding:10px 12px}.chip{padding:9.5px 10px;font-size:12.5px}}.listwrap{flex:1;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.listwrap::-webkit-scrollbar{display:none}.pager-page{flex:0 0 100%;min-width:0;overflow-y:auto;overscroll-behavior:contain;scroll-snap-align:start;scroll-snap-stop:always;padding:2px 16px 16px}.pager-page[aria-hidden=true]{pointer-events:none}.group-head{font-size:12px;font-weight:700;color:var(--g500);padding:8px 2px 6px;margin:0}.notecard{background:var(--surface);border:1px solid var(--g200);border-radius:var(--r-card);padding:12px 14px;margin-bottom:10px;box-shadow:var(--shadow);text-align:left;width:100%;transition:transform .18s var(--ease),border-color .18s;overflow:hidden}.notecard:active{transform:scale(.985);border-color:color-mix(in srgb,var(--p500) 42%,var(--g200))}.notecard.fresh{animation:freshring 2.6s var(--ease)}@keyframes freshring{0%{box-shadow:var(--shadow),0 0 0 4px color-mix(in srgb,var(--p500) 46%,transparent)}55%{box-shadow:var(--shadow),0 0 0 4px color-mix(in srgb,var(--p500) 30%,transparent)}to{box-shadow:var(--shadow),0 0 0 4px transparent}}.notecard .row1{display:flex;align-items:center;gap:8px;min-width:0}.notecard h3{flex:1;min-width:0;margin:0;font-size:15px;font-weight:650;color:var(--g900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notecard mark{background:color-mix(in srgb,var(--p500) 24%,transparent);color:inherit;border-radius:3px;padding:0 1px}.ntime{font-size:11px;color:var(--g500)}.notecard[role=button]{cursor:pointer}.cardmeta{margin-top:7px;align-items:center;gap:6px}.cardmeta .mchip{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;flex-shrink:0}.cardmeta .mchip.weak{background:color-mix(in srgb,var(--err) 13%,transparent);color:var(--err-tx)}.cardmeta .mchip.known{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--cx-ok)}.cardmeta .mchip.note{background:color-mix(in srgb,var(--p500) 13%,transparent);color:var(--p600)}.starbtn{width:28px;height:28px;flex-shrink:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--g500);display:inline-flex;align-items:center;justify-content:center;position:relative;transition:transform .18s var(--ease),color .18s}.starbtn:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:12px}.starbtn:active{transform:scale(.86)}.starbtn svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}.starbtn.on{color:#f59e0b}.iconbtn[aria-expanded=true]{background:var(--g100)}.iconbtn:disabled{opacity:.5}.markcard{flex-shrink:0;position:relative;background:var(--surface);border-top:1px solid var(--g200);padding:9px 16px calc(9px + env(safe-area-inset-bottom)/2);transition:background-color .3s var(--ease),border-color .3s var(--ease)}.markrow{display:flex;align-items:center;gap:10px}.masteryseg{display:flex;gap:6px;flex:1}.masteryseg button{flex:1;padding:8px 0;border-radius:10px;font-size:12.5px;font-weight:700;position:relative;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--g200);background:var(--g50);color:var(--g500);transition:transform .18s var(--ease),background-color .18s,color .18s,border-color .18s}.masteryseg button:active{transform:scale(.95)}.masteryseg button:disabled{opacity:.5}.masteryseg button.sel{border-color:var(--p500);background:color-mix(in srgb,var(--p500) 12%,var(--surface));color:var(--p600)}.masteryseg button.mweak.sel{border-color:var(--err);background:color-mix(in srgb,var(--err) 12%,var(--surface));color:var(--err-tx)}.masteryseg button.mknown.sel{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 13%,var(--surface));color:var(--ok)}.masteryseg button.mquiz{color:var(--p600);border-color:color-mix(in srgb,var(--p500) 40%,var(--g200));background:color-mix(in srgb,var(--p500) 9%,var(--surface));white-space:nowrap}.masteryseg button.mquiz:active{background:color-mix(in srgb,var(--p500) 16%,var(--surface))}.markmeta{margin:5px 0 0;font-size:11.5px;color:var(--g500)}.rateitem{padding:10px 12px}.ratelabel{display:block;font-size:12px;color:var(--g500);margin-bottom:5px}.starpick{display:flex;gap:3px}.rstar{padding:7px 4px;border:none;background:none;line-height:0;border-radius:6px;position:relative;transition:transform .16s var(--ease)}.rstar:after{content:"";position:absolute;top:-6px;right:-1px;bottom:-6px;left:-1px}.rstar svg{width:20px;height:20px;fill:none;stroke:var(--g400);stroke-width:1.5;stroke-linejoin:round}.rstar.on svg{fill:var(--p600);stroke:var(--p600)}.rstar:active{transform:scale(.88)}.rstar:disabled{opacity:.5}.ratemeta{display:flex;align-items:center;gap:6px;max-width:152px;margin:7px 0 0;font-size:11.5px;color:var(--g500)}.ratemeta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rateagain{flex-shrink:0;padding:1px 8px;font-size:11px;color:var(--p600);background:none;border:1px solid color-mix(in srgb,var(--p500) 35%,var(--g200));border-radius:999px;line-height:1.5}.menu-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:transparent}.moremenu{position:fixed;z-index:41;min-width:170px;padding:5px;top:calc(50px + env(safe-area-inset-top));right:max(12px,calc(50vw - 203px));background:var(--surface);border:1px solid var(--g200);border-radius:14px;box-shadow:0 12px 30px #1118272e;transform-origin:top right;animation:menuIn .16s var(--ease)}@keyframes menuIn{0%{opacity:0;transform:scale(.9) translateY(-6px)}}.menuitem{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 12px;border:none;border-radius:10px;background:transparent;color:var(--g900);font-size:14.5px;font-weight:600;transition:background-color .16s}.menuitem:active{background:var(--g100)}.menuitem:disabled{opacity:.5}.menuitem.on{color:#f59e0b}.menuitem.danger{color:var(--err)}.menuitem svg{width:17px;height:17px;flex-shrink:0;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mitx{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.mitx small{font-size:11px;font-weight:500;color:var(--tx-dim)}.usernotebox{font-size:13.5px;line-height:1.7;color:var(--g900);background:color-mix(in srgb,var(--p500) 7%,var(--g50));border:1px solid color-mix(in srgb,var(--p500) 22%,var(--g200));border-radius:10px;padding:10px 12px;white-space:pre-line;overflow-wrap:anywhere}.unote-add{width:100%;padding:10px 0;border-radius:10px;font-size:13px;font-weight:600;border:1px dashed var(--g400);background:transparent;color:var(--g500);transition:transform .18s var(--ease),border-color .2s,color .2s}.unote-add:active{transform:scale(.98);border-color:var(--p500);color:var(--p600)}.unote-edit{position:relative}.unote-input{width:100%;padding:10px 12px;border-radius:10px;resize:vertical;min-height:88px;border:1.5px solid var(--g200);background:var(--g50);color:var(--g900);font-size:13.5px;line-height:1.6;outline:none;font-family:inherit;transition:border-color .2s,box-shadow .2s}.unote-input:focus{border-color:var(--p500);box-shadow:0 0 0 3px color-mix(in srgb,var(--p500) 16%,transparent)}.unote-actions{display:flex;gap:8px;margin-top:8px}.unbtn{padding:8px 16px;border-radius:9px;font-size:12.5px;font-weight:700;border:1px solid var(--g200);background:var(--surface);color:var(--g700);transition:transform .18s var(--ease)}.unbtn:active{transform:scale(.95)}.unbtn.primary{background:var(--pri-bg);border-color:var(--pri-bg);color:var(--pri-fg)}.unbtn:disabled{opacity:.5}.relnotes{display:flex;flex-direction:column;gap:7px}.relitem{display:flex;align-items:center;gap:8px;text-align:left;width:100%;padding:9px 12px;border-radius:10px;border:1px solid var(--g200);background:var(--g50);transition:transform .18s var(--ease),border-color .2s}.relitem:active{transform:scale(.98);border-color:var(--p500)}.rel-title{flex:1;font-size:13.5px;font-weight:650;color:var(--g900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rel-mod{font-size:11px;color:var(--g500);flex-shrink:0}.asklist{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.askitem{background:var(--g50);border:1px solid var(--g200);border-radius:10px;padding:10px 12px}.ask-q{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--p600);line-height:1.5;overflow-wrap:anywhere}.ask-q:before{content:"问：";color:var(--tx-dim);font-weight:700}.ask-ans{font-size:13.5px;line-height:1.68;color:var(--g900);overflow-wrap:anywhere}.ask-ans>*+*{margin-top:6px}.ask-p{margin:0}.ask-li{display:flex;gap:7px}.ask-li-mk{flex-shrink:0;min-width:15px;color:var(--p600);font-weight:750;font-variant-numeric:tabular-nums}.ask-li-body{flex:1;min-width:0}.ask-ans strong{font-weight:750;color:var(--g900)}.askpresets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.askpreset{padding:10px 15px;border-radius:999px;font-size:12.5px;font-weight:700;font-family:inherit;cursor:pointer;color:var(--p600);background:color-mix(in srgb,var(--p500) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--p500) 30%,var(--g200));position:relative;transition:transform .18s var(--ease),background .2s,opacity .2s}.askpreset:after{content:"";position:absolute;top:-4px;right:-3px;bottom:-4px;left:-3px;border-radius:999px}.askpreset:active{transform:scale(.96)}.askpreset:disabled{opacity:.45}.askrow{display:flex;align-items:center;gap:8px;position:relative}.ask-input{flex:1;min-width:0;padding:10px 12px;border-radius:10px;border:1.5px solid var(--g200);background:var(--g50);color:var(--g900);font-size:13.5px;outline:none;font-family:inherit;transition:border-color .2s,box-shadow .2s}.ask-input:focus{border-color:var(--p500);box-shadow:0 0 0 3px color-mix(in srgb,var(--p500) 16%,transparent)}.ask-input:disabled{opacity:.6}.askbtn{flex-shrink:0;padding:10px 16px;border-radius:10px;border:none;background:var(--pri-bg);color:var(--pri-fg);font-size:13.5px;font-weight:700;transition:transform .18s var(--ease),opacity .2s}.askbtn:active{transform:scale(.97)}.askbtn:disabled{opacity:.45}.rev-count{font-size:12.5px;font-weight:700;color:var(--g500);min-width:52px;text-align:right;flex-shrink:0}.revwrap{flex:1;overflow-y:auto;padding:12px 16px calc(16px + env(safe-area-inset-bottom));overscroll-behavior:contain}.revcard{background:var(--surface);border:1px solid var(--g200);border-radius:var(--r-card);padding:15px 16px;box-shadow:var(--shadow)}.rev-reveal{margin-top:16px}.revbtn{width:100%;padding:12px 0;border-radius:12px;font-size:14.5px;font-weight:700;border:1px solid var(--g200);background:var(--surface);color:var(--g700);transition:transform .18s var(--ease),opacity .2s}.revbtn:active{transform:scale(.97)}.revbtn.primary{background:var(--pri-bg);border-color:var(--pri-bg);color:var(--pri-fg)}.revbtn.ghost{width:auto;padding:10px 22px;margin-top:10px}.revbtn:disabled{opacity:.5}.revzone{flex-shrink:0;display:flex;gap:10px;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--g200)}.revjudge{flex:1;padding:13px 0;border-radius:12px;font-size:15px;font-weight:750;border:1.5px solid var(--err);background:var(--surface);color:var(--err-tx);transition:transform .18s var(--ease),opacity .2s}.revjudge.known{border-color:var(--ok);background:var(--ok);color:#fff}.revjudge.ghost{border-color:var(--g200);color:var(--g700);background:var(--surface)}.revjudge:active{transform:scale(.96)}.revjudge:disabled{opacity:.5}.qzrule{margin:14px 0 0;font-size:12.5px;line-height:1.6;color:var(--tx-dim)}.qzrevline{margin:0 0 8px;font-size:12.5px;color:var(--tx-dim);text-align:center}.revsummary{text-align:center;padding:30px 18px}.revsummary .big{font-size:40px}.revsummary h3{margin:8px 0 6px;font-size:17px;color:var(--g900)}.revsum-line{margin:0 0 8px;font-size:13.5px;color:var(--g500)}.revsum-actions{display:flex;flex-direction:column;gap:8px}.tag{display:inline-flex;align-items:center;gap:4px;padding:4.5px 10px;font-size:11.5px;font-weight:700;border-radius:999px;flex-shrink:0;max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag .car{font-size:9px;opacity:.75}.chip:after,.modebtn:after,.submitbtn:after,.cambtn:after,.masteryseg button:after,button.tag:after{content:"";position:absolute}.chip:after{top:-4.5px;right:0;bottom:-4.5px;left:0}.modebtn:after{top:-10px;right:-3px;bottom:-10px;left:-3px}.submitbtn:after{top:-5px;right:-4px;bottom:-5px;left:-4px}.cambtn:after{top:-5px;right:-5px;bottom:-5px;left:-5px}.masteryseg button:after{top:-6px;right:0;bottom:-6px;left:0}button.tag{min-height:44px;padding:0 12px}.empty{text-align:center;padding:56px 24px;color:var(--g500)}.empty .big{font-size:42px;margin-bottom:10px}.empty h3{color:var(--g700);font-size:16px;margin:0 0 6px}.empty p{font-size:13px;margin:0 0 18px}.empty .snapnote{max-width:84%;margin:0 auto 6px}.example-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:12px;font-size:13px;background:var(--surface);border:1px dashed var(--g400);color:var(--g700);margin:0 4px 8px;transition:transform .18s var(--ease),border-color .2s}.example-chip:active{transform:scale(.95);border-color:var(--p500)}.samplecard{display:block;width:100%;max-width:420px;margin:0 auto 14px;padding:14px 16px;text-align:left;background:var(--surface);border:1px solid var(--g200);border-left:3px solid var(--p500);border-radius:var(--r-card);box-shadow:var(--shadow);transition:transform .18s var(--ease),border-color .2s}.samplecard:active{transform:scale(.98)}.sc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.sc-tag{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--p600);background:color-mix(in srgb,var(--p500) 12%,var(--surface));padding:2px 7px;border-radius:6px}.sc-go{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:600;color:var(--p600)}.sc-go svg{width:14px;height:14px}.sc-title{display:block;font-size:15px;font-weight:650;color:var(--g900);margin-bottom:3px}.sc-sub{display:block;font-size:12.5px;color:var(--tx-dim);line-height:1.45}.samplebar{display:flex;gap:8px;align-items:flex-start;margin:0 0 14px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--p500) 7%,var(--surface));font-size:12.5px;line-height:1.5;color:var(--g700)}.samplebar svg{width:15px;height:15px;flex:none;margin-top:1px;color:var(--p500)}.samplebar strong{color:var(--g900)}.samplecta{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:48px;margin:20px 0 6px;background:var(--p500);color:var(--pri-fg);border-radius:var(--r-btn);font-size:15px;font-weight:650;transition:transform .18s var(--ease),background-color .2s}.samplecta:active{transform:scale(.98);background:var(--p600)}.samplecta svg{width:17px;height:17px}.inputzone{position:relative;flex-shrink:0;padding:10px 16px calc(env(safe-area-inset-bottom)/2 + 6px);background:var(--surface);border-top:1px solid var(--g200);transition:background-color .3s var(--ease),border-color .3s var(--ease)}.inputhint{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);margin:0;padding:6px 14px;border-radius:999px;max-width:86%;white-space:normal;text-align:center;background:var(--toast-bg);color:var(--toast-tx);font-size:12.5px;font-weight:600;box-shadow:0 4px 14px #00000029;pointer-events:none;z-index:3}.hintfade-enter-active,.hintfade-leave-active{transition:opacity .18s var(--ease),transform .18s var(--ease)}.hintfade-enter-from,.hintfade-leave-to{opacity:0;transform:translate(-50%,5px)}.inputcard{display:flex;flex-direction:column;gap:5px;background:var(--g50);border:none;border-radius:18px;padding:8px 10px 8px 12px;transition:box-shadow .2s}.inputcard:focus-within{box-shadow:0 0 0 2px color-mix(in srgb,var(--p500) 28%,transparent)}.inputcard textarea{width:100%;border:none;outline:none;resize:none;background:transparent;color:var(--g900);font-size:14.5px;line-height:1.5;max-height:96px;padding:2px 0}.inputcard textarea::placeholder{color:var(--g400)}.inputtools{display:flex;align-items:center;gap:6px}.modebtn{flex-shrink:0;position:relative;display:inline-flex;align-items:center;padding:5px 9px;border-radius:8px;border:none;background:color-mix(in srgb,var(--p500) 12%,transparent);color:var(--p600);font-size:11.5px;font-weight:700;white-space:nowrap;transition:transform .18s var(--ease),background-color .18s}.modebtn:active{transform:scale(.93)}.inputtools .submitbtn{margin-left:auto}.submitbtn{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;background:var(--pri-bg);color:var(--pri-fg);border:none;border-radius:10px;position:relative;padding:9px 13px;font-size:14px;font-weight:700;transition:transform .18s var(--ease),opacity .2s}.submitbtn svg{width:17px;height:17px}.submitbtn:active{transform:scale(.93)}.submitbtn:disabled{opacity:.45}.guestquota{display:flex;align-items:center;justify-content:center;gap:6px;margin:7px 2px 0;font-size:11.5px;line-height:1.4;color:var(--tx-dim);text-align:center}.guestquotabtn{position:relative;flex-shrink:0;border:none;border-radius:8px;padding:5px 10px;background:color-mix(in srgb,var(--p500) 14%,transparent);color:var(--p600);font-size:11.5px;font-weight:700;transition:transform .18s var(--ease)}.guestquotabtn:active{transform:scale(.94)}.guestquotabtn:after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}.spinner{width:15px;height:15px;border:2px solid var(--p500);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.regenbar{position:relative;z-index:4;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:10px 14px 12px;background:color-mix(in srgb,var(--p500) 7%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--p500) 20%,var(--g200));animation:fadeIn .18s var(--ease)}.regenbar .rgbt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.regenbar .rgbt b{font-size:13.5px;font-weight:750;color:var(--p600)}.regenbar .rgbt small{font-size:11.5px;line-height:1.45;color:var(--g600)}.rgbsec{flex-shrink:0;font-size:12.5px;font-weight:700;color:var(--p600);font-variant-numeric:tabular-nums}.rgbb{flex-shrink:0;padding:6px 13px;border-radius:999px;font-size:12.5px;font-weight:700;border:none;background:var(--p600);color:#fff;position:relative;transition:transform .18s var(--ease)}.rgbb:after{content:"";position:absolute;top:-9px;right:-5px;bottom:-9px;left:-5px;border-radius:999px}.rgbb.ghost{background:transparent;color:var(--p600);border:1px solid color-mix(in srgb,var(--p500) 38%,transparent)}.rgbb:active{transform:scale(.95)}.rgbtrack{position:absolute;left:0;right:0;bottom:0;height:2px;overflow:hidden;background:color-mix(in srgb,var(--p500) 12%,transparent)}.rgbfill{position:absolute;top:0;bottom:0;width:34%;border-radius:2px;background:var(--p500);animation:rgbSlide 1.5s ease-in-out infinite}@keyframes rgbSlide{0%{left:-34%}to{left:100%}}.regenbar.slow{background:var(--warn-bg);border-bottom-color:color-mix(in srgb,var(--warn-tx) 25%,transparent)}.regenbar.slow .rgbt b,.regenbar.slow .rgbsec{color:var(--warn-tx)}.regenbar.slow .spinner{border-color:var(--warn-tx)}.regenbar.slow .rgbfill{background:var(--warn-tx)}.regenbar.slow .rgbb.ghost{color:var(--warn-tx);border-color:color-mix(in srgb,var(--warn-tx) 38%,transparent)}.regenbar.fail{background:var(--err-bg);border-bottom-color:var(--err-bd)}.regenbar.fail .rgbt b{color:var(--err)}.regenbar.fail .rgbt small{color:var(--err-tx)}.regenbar.fail .rgbb{background:var(--err)}.regenbar.fail .rgbb.ghost{background:transparent;color:var(--err);border-color:var(--err-bd)}.rgbi-fail{flex-shrink:0;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--err);color:#fff;font-size:12px;font-weight:800}.detailwrap.flashup .notecontent{animation:refreshFlash 1.7s var(--ease);border-radius:12px}@keyframes refreshFlash{0%{background:color-mix(in srgb,var(--p500) 14%,transparent);box-shadow:0 0 0 8px color-mix(in srgb,var(--p500) 14%,transparent)}to{background:transparent;box-shadow:0 0 0 8px transparent}}.detailwrap{flex:1;overflow-y:auto;padding:14px 16px 18px;overscroll-behavior:contain}.backtop{position:sticky;bottom:8px;z-index:6;display:block;width:44px;height:44px;margin:6px 0 0 auto;padding:0;border:1.5px solid var(--g200);border-radius:50%;background:var(--surface);color:var(--g800);font-size:18px;font-weight:800;line-height:1;box-shadow:0 4px 14px color-mix(in srgb,var(--g900) 14%,transparent);transition:transform .16s var(--ease)}.backtop:active{transform:scale(.94)}.dmeta{display:flex;align-items:center;gap:8px;margin-bottom:10px}.dtitle{font-size:20px;font-weight:750;line-height:1.35;margin:0 0 4px;color:var(--g900)}.dq{font-size:13px;line-height:1.55;color:var(--g500);margin:0 0 14px}.dsec{background:var(--surface);border:1px solid var(--g200);border-radius:var(--r-card);padding:14px 16px;margin-bottom:10px;box-shadow:var(--shadow)}.dsec h4{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:13px;font-weight:750;color:var(--p600)}.dsec h4 svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dsec ul{margin:0;padding-left:18px}.dsec li{font-size:14px;line-height:1.7;color:var(--g900)}.dtable{width:100%;border-collapse:collapse;font-size:13px}.dtable th{text-align:left;color:var(--g500);font-weight:700;padding:5px 8px;border-bottom:1px solid var(--g200);font-size:12px;white-space:nowrap}.dtable td{padding:7px 8px;border-bottom:1px solid var(--g100);color:var(--g900);line-height:1.5}.dtable tr:last-child td{border-bottom:none}.dtable td:first-child{font-weight:700;color:var(--g700);white-space:nowrap}.mixbox{font-size:13.5px;line-height:1.7;color:var(--g900);background:var(--warn-bg);color-adjust:exact;border-radius:10px;padding:10px 12px;white-space:pre-line;overflow-wrap:anywhere}.mixbox b{color:var(--warn-tx)}.mixico{display:inline-block;width:15px;height:15px;vertical-align:-2.5px;margin-right:4px;fill:none;stroke:var(--warn-tx);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.exitem{font-size:14px;line-height:1.7;color:var(--g900);padding-left:12px;border-left:3px solid var(--p500);margin:8px 0;white-space:pre-line;overflow-wrap:anywhere}.dsec li,.dtable td,.dc-val,.tree-leaf{overflow-wrap:anywhere}.sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000006b;z-index:30;animation:fadeIn .2s var(--ease)}@keyframes fadeIn{0%{opacity:0}}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:31;max-width:430px;margin:0 auto;background:var(--surface);border-radius:20px 20px 0 0;padding:10px 16px calc(18px + env(safe-area-inset-bottom));animation:slideUp .28s var(--ease)}@keyframes slideUp{0%{transform:translateY(100%)}}.grab{width:36px;height:4px;border-radius:2px;background:var(--g200);margin:0 auto 12px}.sheet h3{margin:0 0 12px;font-size:15px;text-align:center;color:var(--g900)}.modgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.moditem{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:12px;border:1.5px solid var(--g200);background:var(--g50);font-size:13.5px;font-weight:600;color:var(--g900);text-align:left;transition:transform .18s var(--ease),border-color .2s}.moditem:active{transform:scale(.96)}.moditem.sel{border-color:var(--p500);background:color-mix(in srgb,var(--p500) 10%,var(--surface))}.moditem .dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.modname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modn{flex-shrink:0;font-size:11.5px;font-weight:600;color:var(--g500)}.moditem.sel .modn{color:var(--p600)}.offlinebar{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 14px;font-size:12.5px;font-weight:600;color:#8a5b00;background:#fff4d6;border-bottom:1px solid #F2E3B3;z-index:6}.offlinebar svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[data-theme=dark] .offlinebar{color:#e8c878;background:#33290f;border-color:#4a3b14}.toast{position:fixed;top:calc(18px + env(safe-area-inset-top));left:50%;transform:translate(-50%);background:var(--toast-bg);color:var(--toast-tx);font-size:13px;font-weight:600;padding:9px 18px;border-radius:999px;z-index:70;box-shadow:0 4px 14px #0000002e;animation:toastIn .3s var(--ease);max-width:86%;text-align:center;pointer-events:none}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-10px)}}.login{flex:1;display:flex;flex-direction:column;justify-content:center;justify-content:safe center;padding:40px 28px;overflow-y:auto;overscroll-behavior:contain}.login .logo{width:84px;height:84px;display:block;margin:0 auto 14px;border-radius:22px;box-shadow:var(--shadow)}.login h1{text-align:center;font-size:22px;margin:0 0 4px;color:var(--g900)}.login .field{margin-bottom:14px}.login label{display:block;font-size:12.5px;font-weight:700;color:var(--g700);margin-bottom:6px}.login input{width:100%;padding:12px 14px;border-radius:12px;border:1.5px solid var(--g200);background:var(--surface);color:var(--g900);font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s}.login input:focus{border-color:var(--p500);box-shadow:0 0 0 3px color-mix(in srgb,var(--p500) 16%,transparent)}.login .mainbtn{width:100%;padding:13px 0;margin-top:8px;border:none;border-radius:12px;background:var(--pri-bg);color:var(--pri-fg);font-size:15px;font-weight:700;transition:transform .18s var(--ease),opacity .2s}.login .mainbtn:active{transform:scale(.97)}.login .mainbtn:disabled{opacity:.5}.login .guestbtn{width:100%;padding:12px 0;margin-top:10px;border-radius:12px;background:var(--surface);color:var(--p600);font-size:14.5px;font-weight:700;border:1.5px solid color-mix(in srgb,var(--p500) 42%,var(--g200));transition:transform .18s var(--ease),background .2s}.login .guestbtn:active{transform:scale(.97);background:var(--g50)}.login .guestbtn:disabled{opacity:.55}.login .lerr{font-size:12.5px;color:var(--err);margin:0 0 8px;text-align:center;min-height:18px}.login .reglink{position:relative;display:block;margin:14px auto 0;padding:4px 6px;background:none;border:none;font-size:13px;font-weight:600;color:var(--p600)}.login .reglink:after{content:"";position:absolute;top:-12px;right:-10px;bottom:-12px;left:-10px}.login .reglink:active{opacity:.6}.login .reghint{margin:10px 0 0;font-size:11.5px;line-height:1.5;color:var(--tx-dim);text-align:center}.login .codeinput{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}.setwrap{flex:1;overflow-y:auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}.setcard{background:var(--surface);border:1px solid var(--g200);border-radius:var(--r-card);padding:15px 16px;margin-bottom:12px;box-shadow:var(--shadow)}.setgroup-title{font-size:12px;font-weight:700;color:var(--g500);margin:0 4px 7px}.setgroup{background:var(--surface);border:1px solid var(--g200);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden;margin-bottom:16px}.setrow{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;border:none;background:transparent;text-align:left;color:var(--g900);font-size:15px;font-weight:500;font-family:inherit;border-top:1px solid var(--g100);transition:background-color .18s var(--ease)}.setrow:first-child{border-top:none}.setrow:active{background:var(--g50)}.setrow.is-static{cursor:default}.setrow.is-static:active{background:transparent}.rl-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-val{flex-shrink:0;max-width:46%;font-size:13.5px;color:var(--g500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-arrow{width:16px;height:16px;flex-shrink:0;fill:none;stroke:var(--g400);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.setrow.danger .rl-label{color:var(--err)}.setrow:disabled{opacity:.55}.themegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px}.themebtn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:9px 4px 8px;border-radius:12px;border:1.5px solid var(--g200);background:var(--surface);color:var(--g500);font-family:inherit;font-size:11.5px;font-weight:650;white-space:nowrap;transition:transform .18s var(--ease),border-color .2s,color .2s,background-color .2s}.themebtn:active{transform:scale(.95)}.themebtn.sel{border-color:var(--p500);background:color-mix(in srgb,var(--p500) 8%,var(--surface));color:var(--p600)}.tswatch{width:100%;height:30px;border-radius:8px;display:block;border:1px solid var(--g200);position:relative;overflow:hidden}.tswatch:after{content:"";position:absolute;left:15%;top:26%;width:45%;height:4px;border-radius:2px;background:currentColor;opacity:.5}.tsw-light{background:#fff;color:#6b7280}.tsw-dark{background:#16181d;border-color:#2a2d34;color:#e5e7eb}.tsw-sepia{background:#f7efdd;border-color:#e3d4b4;color:#7a6a45}.tsw-auto{background:linear-gradient(100deg,#fff 0,#fff 50%,#16181d 50%,#16181d);color:#9aa0a6}.tname{line-height:1}.aboutblock{padding:15px 16px 12px;text-align:center}.aboutapp{display:block;font-size:16px;font-weight:750;color:var(--g900)}.kvrow{display:flex;align-items:baseline;gap:12px;padding:9px 16px;border-top:1px solid var(--g100);font-size:13px}.kvrow span{color:var(--g500);flex-shrink:0}.kvrow b{flex:1;text-align:right;font-weight:650;color:var(--g900);overflow-wrap:anywhere}.secnote{font-size:12px;color:var(--g500);line-height:1.6;margin:10px 0 0}.setcard h4{margin:0 0 10px;font-size:13.5px;font-weight:750;color:var(--g700)}.setcard p{font-size:13px;color:var(--g500);line-height:1.6;margin:6px 0}.kbd{font-size:12px;background:var(--g100);border:1px solid var(--g200);border-radius:6px;padding:1px 7px;color:var(--g700)}.aikeyrow{display:flex;align-items:center;gap:10px}.aikeyrow .masked{flex:1;font-size:13.5px;font-weight:650;color:var(--g900);font-family:ui-monospace,monospace}.badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px}.badge.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--cx-ok)}.badge.warn{background:var(--warn-bg);color:var(--warn-tx)}.badge.guest,.badge.role{background:color-mix(in srgb,var(--p500) 14%,transparent);color:var(--p600)}.invcode{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;font-weight:700;letter-spacing:.14em;color:var(--g900);cursor:pointer;-webkit-user-select:all;user-select:all}.invcode:active{color:var(--p600)}.guestnote{margin:10px 16px 12px;font-size:12px;line-height:1.6;color:var(--g500)}.setinput{width:100%;padding:11px 13px;margin:10px 0;border-radius:10px;border:1.5px solid var(--g200);background:var(--g50);color:var(--g900);font-size:13.5px;outline:none}.setinput:focus{border-color:var(--p500)}.setbtnrow{display:flex;gap:8px}.setbtn{flex:1;padding:10px 0;border-radius:10px;font-size:13.5px;font-weight:700;border:1px solid var(--g200);background:var(--surface);color:var(--g700);transition:transform .18s var(--ease)}.setbtn:active{transform:scale(.96)}.setbtn.primary{background:var(--pri-bg);border-color:var(--pri-bg);color:var(--pri-fg)}.setbtn.danger{color:var(--err);border-color:var(--err-bd)}.diffcards{display:flex;flex-direction:column;gap:8px}.diffcard{border:1px solid var(--g200);border-radius:12px;overflow:hidden;background:var(--g50)}.dc-dim{margin:0;padding:6px 12px;font-size:12px;font-weight:750;color:var(--p600);background:color-mix(in srgb,var(--p500) 10%,var(--surface));border-bottom:1px solid var(--g200)}.dc-body{display:grid;grid-template-columns:1fr 1fr}.dc-cell{padding:8px 12px;display:flex;flex-direction:column;gap:3px}.dc-cell+.dc-cell{border-left:1px solid var(--g200)}.dc-name{font-size:12px;font-weight:700;color:var(--g500)}.dc-val{font-size:13.5px;line-height:1.55;color:var(--g900)}.tree{display:flex;flex-direction:column;align-items:center;gap:10px}.tree-center{padding:8px 20px;border-radius:999px;font-size:14px;font-weight:750;background:var(--p600);color:#fff;box-shadow:var(--shadow)}.tree-branches{width:100%;display:flex;flex-direction:column;gap:8px;border-left:2px dashed var(--g200);margin-left:12px;padding-left:12px}.tree-branch{display:flex;flex-direction:column;gap:6px;position:relative}.tree-branch:before{content:"";position:absolute;left:-12px;top:16px;width:10px;border-top:2px dashed var(--g200)}.tree-blabel{align-self:flex-start;padding:4px 12px;border-radius:8px;font-size:12.5px;font-weight:700;background:color-mix(in srgb,var(--p500) 14%,var(--surface));color:var(--p700);border:1px solid color-mix(in srgb,var(--p500) 30%,var(--g200))}.tree-leaves{display:flex;flex-wrap:wrap;gap:5px}.tree-leaf{padding:3px 10px;border-radius:999px;font-size:12px;color:var(--g700);background:var(--g100);border:1px solid var(--g200)}.xref{font-style:normal;cursor:pointer;padding:0 2px;margin:0 -1px;border-radius:3px;background:color-mix(in srgb,var(--p500) 12%,transparent);-webkit-tap-highlight-color:transparent}[data-k]{cursor:pointer}@keyframes xref-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--p500) 60%,transparent)}to{box-shadow:0 0 0 8px transparent}}@keyframes xref-halo{0%{stroke-width:1px}to{stroke-width:10px;stroke:transparent}}.xref-hit{background:color-mix(in srgb,var(--p500) 26%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--p500) 55%,transparent);animation:xref-pulse .6s ease-out}svg text.xref-hit{paint-order:stroke;fill:var(--p500);font-weight:700;stroke:var(--p500);stroke-width:2px;animation:xref-halo .6s ease-out}.gph-node.xref-hit{border-color:var(--p500);box-shadow:0 0 0 3px color-mix(in srgb,var(--p500) 48%,transparent),var(--shadow);animation:xref-pulse .6s ease-out}@media(prefers-reduced-motion:reduce){.xref-hit,svg text.xref-hit,.gph-node.xref-hit{animation:none}}.visuals{display:flex;flex-direction:column;gap:12px}.visuals .vb{transition:opacity .4s var(--ease),transform .4s var(--ease)}.visuals .vb--hidden{opacity:0;transform:translateY(12px)}@media(prefers-reduced-motion:reduce){.visuals .vb{transition:none}.visuals .vb--hidden{opacity:1;transform:none}}.vb-title{margin:0 0 8px;font-size:12px;font-weight:750;color:var(--g500)}.vb-goal{display:flex;align-items:center;max-width:100%;margin:0 0 10px;padding:8px 12px 8px 11px;border:0;border-left:3px solid var(--cx-ok);border-radius:4px;background:var(--g50)}.vb-goaltext{font-size:13.5px;font-weight:500;color:var(--g700);line-height:1.65;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;word-break:keep-all;text-wrap:balance}.vb-goalcheck{display:none}.vb-goal--long{max-width:100%;justify-content:flex-start;gap:0;padding:9px 12px 9px 11px}.vb-goal--long .vb-goaltext{font-size:13.5px;font-weight:500;color:var(--g700);line-height:1.65;text-align:left}.vb-goal--long .vb-goalcheck,.vb-goal--long .vb-goalpfx{display:none}.vb-goalpfx{font-style:normal}.vb-result{margin:10px 0 0;text-align:center;font-size:15.5px;font-weight:800;color:var(--cx-ok);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-wrap:balance}.vb-steps{background:var(--g50);border:1px solid var(--g200);border-radius:12px;padding:12px 14px}.vb-steplist{list-style:none;margin:0;padding:0}.vb-steplist li{position:relative;display:flex;gap:10px;padding-bottom:14px}.vb-steplist li:last-child{padding-bottom:0}.vb-steplist li:before{content:"";position:absolute;left:12px;top:29px;bottom:0;border-left:2px dashed var(--g200)}.vb-steplist li:last-child:before{display:none}.st-badge{flex-shrink:0;width:25px;height:25px;border-radius:50%;background:var(--p600);color:#fff;font-size:13px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1}[data-theme=dark] .st-badge,[data-theme=dark] .rgbb{color:var(--bg-shell)}.st-body{display:flex;flex-direction:column;gap:3px;padding-top:2px}.st-body b{font-size:15px;font-weight:700;color:var(--g900);line-height:1.5;overflow-wrap:anywhere}.st-body small{font-size:12.5px;color:var(--g600);line-height:1.55}.vb-formula{background:var(--g50);border:1px solid var(--g200);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:7px}.fm-line{margin:0;text-align:center;font-size:15px;line-height:1.7;color:var(--g900);font-family:ui-monospace,SF Mono,Menlo,monospace;overflow-wrap:anywhere;word-break:keep-all;text-wrap:balance}.fm-line--long{font-size:14px;line-height:1.75}.mfrac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 3px;line-height:1.3;position:relative;top:-1px}.mfrac-n,.mfrac-d{padding:0 4px;font-size:.94em}.mfrac-b{align-self:stretch;height:1.5px;border-radius:1px;background:currentColor;opacity:.85;margin:1.5px 0}.mrad{display:inline-flex;align-items:flex-start;margin:0 2px;vertical-align:-.18em}.mrad-s{line-height:1.06;font-size:1.02em}.mrad-b{border-top:1.5px solid currentColor;padding:0 3px 0 1px;margin-top:.055em;line-height:1.12}.mdot{display:inline-block;font-size:.62em;vertical-align:.34em;margin:0 .3em}.vb-graph{background:var(--g50);border:1px solid var(--g200);border-radius:12px;padding:12px}.gph{position:relative;display:flex;flex-direction:column;gap:34px}.gph-svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.gph-edge{fill:none;stroke:var(--p500);stroke-width:1.8;opacity:.85}.gph-etag rect{fill:var(--surface);stroke:var(--g200);stroke-width:1}.gph-elabel{fill:var(--g700);font-size:12px;font-weight:600;text-anchor:middle}.gph-dagre{overflow:hidden}.gph-canvas{position:absolute;top:0;left:0;transform-origin:top left}.gph-dagre--pending .gph-node{visibility:hidden}.gph-node--dagre{position:absolute;transform:translate(-50%,-50%);z-index:1}.gph-note{margin:8px 0 0;text-align:center;font-size:12.5px;color:var(--g600);line-height:1.6}.gph-node{display:flex;flex-direction:column;gap:2px;align-items:center;text-align:center;background:var(--surface);border:1.5px solid color-mix(in srgb,var(--p500) 35%,var(--g200));border-radius:10px;padding:8px 9px;min-width:84px;max-width:46vw}.gph-node b{font-size:14px;font-weight:700;color:var(--g900);overflow-wrap:anywhere;word-break:keep-all}.gph-node small{font-size:12px;color:var(--g600);word-break:keep-all}.gph-node .gph-val{font-style:normal;font-size:15px;font-weight:800;line-height:1.25;font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--g900);overflow-wrap:anywhere}.gph-node--source{border-color:color-mix(in srgb,var(--p500) 65%,transparent);background:color-mix(in srgb,var(--p500) 9%,var(--surface))}.gph-node--derive{border-color:color-mix(in srgb,var(--g400) 40%,var(--g200))}.gph-node--result{border-color:color-mix(in srgb,var(--cx-ok) 60%,transparent);background:color-mix(in srgb,var(--cx-ok) 10%,var(--surface))}.gph-node--result b{color:var(--cx-ok)}.gph-node--source .gph-val{color:var(--p600)}.gph-node--result .gph-val{color:var(--cx-ok)}.gph-bar{flex:0 0 auto;width:50px;max-width:100%;height:6px;margin-top:4px;border-radius:999px;background:var(--g200);overflow:hidden}.gph-bar>i{display:block;height:100%;border-radius:999px;background:var(--p500);transition:width .35s var(--ease);min-width:2px}.gph-node--source .gph-bar>i{background:var(--p600)}.gph-node--result .gph-bar>i{background:var(--cx-ok)}.gph-pct{font-size:11px;font-weight:700;line-height:1.2;color:var(--g600);font-variant-numeric:tabular-nums}.gph-node--source .gph-pct{color:var(--p600)}.gph-node--result .gph-pct{color:var(--cx-ok)}.ct-box>.gph-bar,.ct-leaf>.gph-bar{width:120px}.ct-role--source{border-color:color-mix(in srgb,var(--p500) 65%,transparent);background:color-mix(in srgb,var(--p500) 9%,var(--surface))}.ct-role--derive{border-color:color-mix(in srgb,var(--g400) 40%,var(--g200))}.ct-role--result{border-color:color-mix(in srgb,var(--cx-ok) 60%,transparent);background:color-mix(in srgb,var(--cx-ok) 10%,var(--surface))}.ct-role--result .ct-title b,.ct-role--result .ct-leafhead b{color:var(--cx-ok)}.ct-role--source .gph-val{color:var(--p600)}.ct-role--result .gph-val{color:var(--cx-ok)}.ct-role--source .gph-bar>i{background:var(--p600)}.ct-role--result .gph-bar>i{background:var(--cx-ok)}.br-canvas{position:relative;width:100%}.gph-bars canvas{width:100%!important}.vb-geom{background:var(--g50);border:1px solid var(--g200);border-radius:12px;padding:12px}.geom-board{position:relative;overflow:hidden;width:100%;height:250px;border-radius:10px;background:var(--surface);border:1px solid var(--g100)}.vb-canvas{background:var(--g50);border:1px solid var(--g200);border-radius:12px;padding:12px}.cv-svg{display:block;width:100%;height:auto;overflow:visible}.cv-svg line,.cv-svg polyline,.cv-svg polygon,.cv-svg circle,.cv-svg path{stroke-width:1.1;stroke-linejoin:round;stroke-linecap:round}.cv-svg circle.cv-venn{stroke-width:1.7}.cv-svg text{font-weight:700}.gph-contain{display:flex;flex-direction:column;gap:8px}.ct-box{border:1.5px dashed color-mix(in srgb,var(--p500) 55%,var(--g200));border-radius:10px;padding:8px 10px 10px;background:color-mix(in srgb,var(--p500) 5%,var(--surface))}.ct-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-bottom:7px;border-bottom:1px solid color-mix(in srgb,var(--p500) 18%,transparent)}.ct-title b{font-size:14px;font-weight:750;color:var(--p600);overflow-wrap:anywhere}.ct-title small{font-size:12px;color:var(--g600)}.ct-body{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-left:10px;border-left:2px solid color-mix(in srgb,var(--p500) 28%,transparent)}.ct-leaf{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1.5px solid color-mix(in srgb,var(--p500) 28%,var(--g200));border-radius:8px;padding:6px 10px}.ct-leafhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.ct-leafhead b{font-size:14px;font-weight:700;color:var(--g900);overflow-wrap:anywhere}.ct-leafhead small{font-size:12px;color:var(--g600)}.ct-leafhead .gph-val{font-size:14px}.gph-bars{display:flex;flex-direction:column;gap:10px}.br-row{display:flex;align-items:center;gap:8px}.br-name{flex:0 0 auto;width:27%;min-width:56px;display:flex;flex-direction:column}.br-name b{font-size:14px;font-weight:700;color:var(--g900);overflow-wrap:anywhere}.br-name small{font-size:12px;color:var(--g600)}.br-track{flex:1 1 auto;height:14px;border-radius:999px;background:var(--g200);overflow:hidden}.br-fill{display:block;height:100%;border-radius:999px;background:var(--p500);transition:width .35s var(--ease)}.br-fill--source{background:var(--p600)}.br-fill--result{background:var(--cx-ok)}.br-val{flex:0 0 auto;min-width:40px;text-align:right;font-size:14px;font-weight:800;color:var(--g900);font-family:ui-monospace,SF Mono,Menlo,monospace;font-variant-numeric:tabular-nums}.onboard{flex:1;display:flex;flex-direction:column;justify-content:center;padding:36px 24px;overflow-y:auto;overscroll-behavior:contain}.ob-icon{font-size:38px;text-align:center;margin-bottom:6px}.big svg,.ob-icon svg{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;display:inline-block}.ob-icon svg{width:42px;height:42px}.onboard h1{text-align:center;font-size:21px;margin:0 0 4px;color:var(--g900)}.ob-list{display:flex;flex-direction:column;gap:10px}.ob-item{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:15px 16px;border-radius:14px;border:1.5px solid var(--g200);background:var(--surface);transition:transform .18s var(--ease),border-color .2s,background-color .2s}.ob-item:active{transform:scale(.97)}.ob-item.sel{border-color:var(--p500);background:color-mix(in srgb,var(--p500) 8%,var(--surface))}.ob-emoji{font-size:24px;flex-shrink:0}.ob-text{flex:1;display:flex;flex-direction:column;gap:2px;color:var(--g900)}.ob-text b{font-size:15px}.ob-text small{font-size:12px;color:var(--g500)}.ob-check{width:22px;height:22px;border-radius:50%;background:var(--p600);color:#fff;font-size:13px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ob-btn{margin-top:20px;padding:13px 0;border:none;border-radius:12px;background:var(--pri-bg);color:var(--pri-fg);font-size:15px;font-weight:700;transition:transform .18s var(--ease),opacity .2s}.ob-btn:active{transform:scale(.97)}.ob-btn:disabled{opacity:.45}.ob-exit{display:block;margin:12px auto 0;padding:10px 14px;border:none;background:transparent;color:var(--g500);font-size:13px;font-weight:600;cursor:pointer}.ob-exit:active{color:var(--g700)}.ob-exit:disabled{opacity:.45}.swapbtn{display:block;margin:6px auto 0;padding:8px 12px;border:none;background:transparent;color:var(--p600);font-size:13px;font-weight:650}.adminwrap{flex:1;overflow-y:auto;padding:14px 16px 24px;overscroll-behavior:contain}.admin-count{font-size:12px;color:var(--tx-dim);margin:0 0 10px}.admin-card{background:var(--surface);border:1px solid var(--g200);border-radius:var(--r-card);padding:13px 15px;margin-bottom:10px;box-shadow:var(--shadow)}.arow1{display:flex;align-items:center;gap:8px}.aemail{flex:1;font-size:14.5px;color:var(--g900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arow2{display:flex;flex-wrap:wrap;row-gap:2px;gap:6px;font-size:12px;color:var(--g500);margin:6px 0 12px}.arow3{display:flex;flex-wrap:wrap;gap:7px}.asetbtn{flex:0 0 auto;padding:8px 13px;border-radius:9px;font-size:12.5px;font-weight:700;border:1px solid var(--g200);background:var(--surface);color:var(--g700);transition:transform .18s var(--ease)}.asetbtn:active{transform:scale(.95)}.asetbtn:disabled{opacity:.4}.asetbtn.danger{color:var(--err);border-color:var(--err-bd)}.asetbtn.danger.confirming{background:var(--err);color:#fff;border-color:var(--err)}.hubitem{display:flex;align-items:center;gap:12px;width:100%;background:var(--surface);border:1px solid var(--g200);border-radius:var(--r-card);padding:15px 16px;margin-bottom:10px;box-shadow:var(--shadow);text-align:left;transition:transform .18s var(--ease)}.hubitem:active{transform:scale(.98)}.hubicon{flex-shrink:0;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--p500) 12%,transparent);color:var(--p600);display:flex;align-items:center;justify-content:center}.hubicon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hubtx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.hubtx b{font-size:14.5px;color:var(--g900)}.hubtx small{font-size:12px;color:var(--g500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hubchev{flex-shrink:0;width:16px;height:16px;fill:none;stroke:var(--g400);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.np-email{text-align:center;font-size:13px;color:var(--g500);margin:0 0 8px}.secrow{display:flex;align-items:baseline;gap:8px;padding:7px 0;border-top:1px solid var(--g200);font-size:12.5px}.secrow:first-of-type{border-top:0}.secrow .badge{flex-shrink:0}.secmain{flex:1;min-width:0;color:var(--g700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sectime{flex-shrink:0;color:var(--tx-dim);font-size:11.5px}.np-pwd{text-align:center;font-family:ui-monospace,monospace;font-size:18px;font-weight:750;letter-spacing:1px;color:var(--g900);background:var(--g100);border-radius:10px;padding:12px 0;margin:0}.examgrid{display:flex;flex-direction:column;gap:8px;margin-top:4px}.examitem{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:11px 13px;border-radius:12px;border:1.5px solid var(--g200);background:var(--g50);transition:transform .18s var(--ease),border-color .2s,background-color .2s}.examitem:active{transform:scale(.97)}.examitem.sel{border-color:var(--p500);background:color-mix(in srgb,var(--p500) 8%,var(--surface))}.examitem:disabled{opacity:.5}.examitem.busy{opacity:1;border-color:var(--p500)}.exam-spin{width:18px;height:18px;border-width:2.5px}.examitem .ob-text b{font-size:14px}.sheet-tall{max-height:86vh}.notelist{max-height:56vh;overflow-y:auto;margin-top:8px}.noteitem{border:1px solid var(--g200);border-radius:12px;margin-bottom:8px;background:var(--g50);overflow:hidden}.ni-head{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;padding:11px 13px;border:none;background:transparent}.ni-title{font-size:14.5px;font-weight:700;color:var(--g900)}.ni-meta{font-size:11.5px;color:var(--tx-dim)}.ni-body{border-top:1px solid var(--g200);padding:10px 13px 13px;background:var(--surface)}.ni-q{font-size:12.5px;color:var(--g500);margin:0 0 8px}.ni-sec{margin-bottom:10px}.ni-sec:last-child{margin-bottom:0}.ni-sec h5{font-size:12px;color:var(--p600);margin:0 0 4px}.ni-line{font-size:13px;line-height:1.6;color:var(--g900);margin:2px 0;padding-left:10px;border-left:2.5px solid var(--g200)}.ni-line.pre{white-space:pre-line;overflow-wrap:anywhere}.ni-diffrow{display:flex;gap:8px;font-size:13px;line-height:1.55;margin:4px 0}.ni-diffrow b{flex-shrink:0;color:var(--p700);min-width:58px}.ni-diffrow span{color:var(--g900)}.ni-diagram-center{text-align:center;font-size:13px;font-weight:750;color:#fff;background:var(--p600);border-radius:999px;padding:5px 14px;width:fit-content;margin:0 auto 8px}.ni-diagram-branch{display:flex;align-items:baseline;gap:8px;font-size:12.5px;border-left:2px dashed var(--g200);padding-left:10px;margin:6px 0 6px 12px}.ni-diagram-branch b{color:var(--p700)}.ni-leaves{color:var(--g700)}.pwdwrap{position:relative}.pwdwrap input{padding-right:48px}.eye{position:absolute;right:7px;bottom:7px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:9px;color:var(--g400);transition:color .2s}.eye:active{color:var(--p600)}.eye:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:12px}.eye svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.statwrap{flex:1;overflow-y:auto;padding:4px 16px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}.stathero{background:linear-gradient(135deg,var(--p600),var(--p500));color:var(--pri-fg);border-radius:var(--r-card);padding:18px 18px 16px;margin-bottom:12px;box-shadow:none}.shero-num{display:flex;align-items:baseline;gap:5px}.shero-num b{font-size:40px;font-weight:800;line-height:1;letter-spacing:-1px}.shero-num span{font-size:15px;font-weight:650;opacity:.9}.statcard{background:var(--surface);border:1px solid var(--g200);border-radius:var(--r-card);padding:14px 16px;margin-bottom:10px;box-shadow:var(--shadow)}.statcard h3{margin:0 0 10px;font-size:13px;font-weight:750;color:var(--p600)}.statbar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--g100)}.statbar .seg,.smbar .seg{display:block;height:100%;transition:width .3s var(--ease)}.seg-known{background:var(--ok)}.seg-weak{background:#f59e0b}.seg-unrated{background:var(--g400)}.statlegend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px}.statlegend span{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--g500)}.statlegend b{color:var(--g900);font-weight:750;margin-left:1px}.ldot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ld-known{background:var(--ok)}.ld-weak{background:#f59e0b}.ld-unrated{background:var(--g400)}.statline{margin:10px 0 0;font-size:12.5px;color:var(--g500);line-height:1.6}.statline .due{color:var(--p600);font-weight:700}.statline .duebtn{border:none;background:none;padding:0;font:inherit;cursor:pointer}.statline .duebtn:active{opacity:.7}.statchart{height:132px;padding-top:4px}.statmod{margin-bottom:12px}.statmod:last-child{margin-bottom:0}.smrow{display:flex;align-items:center;gap:7px;margin-bottom:5px}.smrow-link{cursor:pointer;border-radius:8px;margin:0 -6px 5px;padding:3px 6px;transition:background .15s var(--ease)}.smrow-link:active{background:var(--g100)}.statmod .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.smname{flex:1;min-width:0;font-size:13.5px;color:var(--g900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smval{font-size:13px;font-weight:750;color:var(--g900)}.smval i{font-style:normal;font-size:11.5px;font-weight:600;color:var(--tx-dim)}.smbar{display:flex;height:6px;border-radius:999px;overflow:hidden;background:var(--g100)}.ratedist{display:flex;flex-direction:column;gap:7px}.rrow{display:flex;align-items:center;gap:8px}.rrow-s{width:34px;flex-shrink:0;font-size:11.5px;color:var(--g500)}.rrow-track{flex:1;height:8px;border-radius:999px;background:var(--g100);overflow:hidden}.rrow-fill{display:block;height:100%;border-radius:999px;background:var(--p600);transition:width .3s var(--ease)}.rrow-fill.low{background:#f59e0b}.rrow-n{width:22px;flex-shrink:0;text-align:right;font-size:11.5px;font-weight:700;color:var(--g500)}.lowrow{display:flex;align-items:flex-start;gap:9px;width:100%;text-align:left;padding:9px 11px;margin-bottom:6px;border-radius:var(--r-btn);background:var(--g50);border:1px solid var(--g200)}.lowrow:last-child{margin-bottom:0}.lowrow:active{background:var(--g100)}.lowstar{flex-shrink:0;font-size:11.5px;font-weight:750;color:var(--warn-tx)}.lowtext{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lowtext b{font-size:13px;font-weight:650;color:var(--g900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lowtext i{font-style:normal;font-size:11.5px;color:var(--g500)}.sharectl{background:var(--g50);border:1px solid var(--g200);border-radius:var(--r-btn);padding:10px 12px;margin-top:10px}.sc-row{display:flex;justify-content:space-between;gap:10px;margin:0 0 8px;font-size:12.5px;color:var(--g500)}.sc-row b{color:var(--g900);font-weight:700}.sc-pills{display:flex;gap:6px}.sc-pill{flex:1;padding:7px 0;font-size:12.5px;font-weight:650;color:var(--g600);background:var(--surface);border:1px solid var(--g200);border-radius:999px;transition:all .15s var(--ease)}.sc-pill.sel{background:var(--p600);border-color:var(--p600);color:#fff}.sc-pass{display:flex;gap:6px;margin-top:8px}.sc-pass input{flex:1;min-width:0;padding:8px 11px;font-size:13px;color:var(--g900);background:var(--surface);border:1px solid var(--g200);border-radius:10px;outline:none}.sc-pass input:focus{border-color:var(--p500)}.sc-clear{flex-shrink:0;padding:0 10px;font-size:12px;color:var(--err-tx);background:var(--err-bg);border:1px solid var(--err-bd);border-radius:10px}.sc-save{width:100%;margin-top:8px;padding:9px 0;font-size:13.5px;font-weight:700;color:var(--p600);background:var(--surface);border:1px solid color-mix(in srgb,var(--p500) 45%,var(--g200));border-radius:10px}.sc-save:active{background:color-mix(in srgb,var(--p500) 10%,var(--surface))}.sc-save:disabled{opacity:.55}.sc-save.dirty{border-color:var(--p500);box-shadow:0 0 0 3px color-mix(in srgb,var(--p500) 16%,transparent)}.sc-note{margin:8px 0 0;font-size:11.5px;line-height:1.5;color:var(--g500)}.lockbox{max-width:320px;margin:auto}.passform{display:flex;gap:8px;width:100%}.passform input{flex:1;min-width:0;padding:10px 12px;font-size:14px;color:var(--g900);text-align:center;background:var(--surface);border:1px solid var(--g200);border-radius:10px;outline:none}.passform input:focus{border-color:var(--p500)}.passgo{flex-shrink:0;padding:0 18px;font-size:14px;font-weight:700;color:var(--pri-fg);background:var(--pri-bg);border:none;border-radius:10px}.passgo:disabled{opacity:.55}.passwrong{margin:10px 0 0;font-size:12.5px;color:var(--err-tx)}.passwrong.up{margin:0 0 8px}.sharecta{margin:22px 0 8px;padding:16px;background:color-mix(in srgb,var(--p500) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--p500) 22%,var(--surface));border-radius:var(--r-card);text-align:center}.scta-lead{margin:0 0 5px;font-size:14.5px;font-weight:650;color:var(--g900)}.scta-sub{margin:0 0 13px;font-size:12.5px;line-height:1.5;color:var(--tx-dim)}.scta-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;font-size:14.5px;font-weight:700;color:var(--pri-fg);background:var(--pri-bg);border:none;border-radius:12px;transition:transform .15s var(--ease)}.scta-btn:active{transform:scale(.96)}.cambtn{flex-shrink:0;width:34px;height:34px;margin-right:2px;position:relative;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:50%;color:var(--g500);transition:color .15s,background .15s}.cambtn:active{color:var(--p600);background:var(--g100)}.cambtn:disabled{opacity:.45}.cambtn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.filehidden{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}.menuitem.danger{position:relative;margin-top:7px}.menuitem.danger:before{content:"";position:absolute;top:-4px;left:5px;right:5px;height:1px;background:var(--g200)}.dlg-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000006b;z-index:50;animation:fadeIn .18s var(--ease)}.dlg{position:fixed;z-index:51;left:50%;top:50%;transform:translate(-50%,-50%);width:min(322px,calc(100vw - 60px));background:var(--surface);border-radius:18px;padding:20px 18px 14px;box-shadow:0 20px 50px #00000047;text-align:center;animation:dlgIn .2s var(--ease)}@keyframes dlgIn{0%{opacity:0;transform:translate(-50%,-46%) scale(.96)}}.dlg h3{margin:0 0 8px;font-size:16px;font-weight:750;color:var(--g900);line-height:1.45;overflow-wrap:anywhere}.dlg p{margin:0 0 16px;font-size:13px;color:var(--g500);line-height:1.6}.dlgrow{display:flex;gap:10px}.dlgbtn{flex:1;padding:11px 0;border-radius:12px;font-size:15px;font-weight:650;border:1px solid var(--g200);background:var(--g50);color:var(--g900);transition:transform .16s var(--ease),background-color .16s}.dlgbtn:active{transform:scale(.97);background:var(--g100)}.dlgbtn.danger{background:var(--err);border-color:var(--err);color:#fff}.dlgbtn.danger:active{background:var(--err)}.dlgbtn.danger:disabled{opacity:.6}.msep{height:1px;background:var(--g200);margin:6px 5px}.redoreasons{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.redochip{padding:7px 13px;font-size:12.5px;font-weight:650;color:var(--g600);background:var(--g50);border:1px solid var(--g200);border-radius:999px;transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease)}.redochip.sel{background:var(--p600);border-color:var(--p600);color:#fff}.redochip:disabled{opacity:.5}.redoinput{width:100%;margin-top:9px;padding:9px 12px;font-size:13.5px;color:var(--g900);background:var(--surface);border:1px solid var(--g200);border-radius:10px;outline:none;transition:border-color .15s}.redoinput:focus{border-color:var(--p500)}.redoinput::placeholder{color:var(--g400)}.qcard{background:var(--surface);border:1px solid var(--g200);border-radius:var(--r-card);padding:14px 16px;margin-bottom:10px;box-shadow:var(--shadow)}.qcard h3{margin:0 0 10px;font-size:13px;font-weight:750;color:var(--p600)}.qcard-hero{background:linear-gradient(135deg,var(--p600),var(--p500));border:none;color:var(--pri-fg)}.qhead{margin:0 0 8px;font-size:13px;font-weight:650}.qhead b{font-size:19px;font-weight:800;margin:0 3px}.qadv{margin:0 0 5px;font-size:12.5px;line-height:1.6;opacity:.96}.qadv:last-child{margin-bottom:0}.qrow{display:flex;align-items:center;gap:9px;margin-bottom:7px}.qrow:last-child{margin-bottom:0}.qlabel{flex:0 0 84px;font-size:12.5px;color:var(--g900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qbar{flex:1;height:7px;border-radius:999px;background:var(--g100);overflow:hidden}.qbar i{display:block;height:100%;border-radius:999px;background:var(--p500);transition:width .3s var(--ease)}.qbar i.low{background:#f59e0b}.qnum{flex:0 0 26px;text-align:right;font-size:12.5px;font-weight:750;color:var(--g900)}.qsample{padding:8px 0;border-bottom:1px solid var(--g100)}.qsample:last-child{border-bottom:none;padding-bottom:0}.qs-title{margin:0;font-size:13px;font-weight:650;color:var(--g900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qs-meta{margin:3px 0 0;font-size:11.5px;color:var(--g500)}.qzhint{margin:8px 0 0;font-size:12px;color:var(--g500);line-height:1.6}.qzcard{padding:16px 16px 14px}.qzstem{margin:0 0 14px;font-size:15.5px;font-weight:650;line-height:1.6;color:var(--g900)}.qzopts{display:flex;flex-direction:column;gap:9px}.qzopt{display:flex;align-items:flex-start;gap:9px;width:100%;text-align:left;padding:12px;border:1px solid var(--g200);border-radius:12px;background:var(--surface);font-size:14px;line-height:1.5;color:var(--g700);transition:border-color .18s var(--ease),background .18s var(--ease)}.qzopt:not(:disabled):active{transform:scale(.99)}.qzopt:disabled{opacity:1}.qzopt.right{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,var(--surface));color:var(--g900);font-weight:650}.qzopt.wrong{border-color:var(--err);background:var(--err-bg);color:var(--err-tx);font-weight:650}.qzopt.dim{opacity:.55}.qzkey{flex-shrink:0;width:21px;height:21px;margin-top:1px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;background:var(--g100);color:var(--g600)}.qzopt.right .qzkey{background:var(--ok);color:#fff}.qzopt.wrong .qzkey{background:var(--err);color:#fff}.qztext{flex:1;min-width:0}.qzjudge{margin-top:14px;padding:11px 12px;border-radius:12px;border:1px solid var(--g200);background:var(--g50)}.qzjudge.ok{border-color:color-mix(in srgb,var(--ok) 35%,var(--g200));background:color-mix(in srgb,var(--ok) 8%,var(--surface))}.qzjudge.no{border-color:var(--err-bd);background:var(--err-bg)}.qzverdict{margin:0 0 5px;font-size:13px;color:var(--g700)}.qzverdict strong{font-size:14px;font-weight:800}.qzjudge.ok .qzverdict strong{color:var(--ok)}.qzjudge.no .qzverdict strong{color:var(--err-tx)}.qzexplain{margin:0;font-size:13px;line-height:1.7;color:var(--g600)}.qb-sync{margin:6px 0;font-size:12px;color:var(--g500);text-align:center}.qb-group{margin-bottom:24px}.qb-ghead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 2px 12px}.qb-gtitle{display:flex;align-items:center;gap:6px;min-width:0}.qb-gtitle strong{font-size:14px;color:var(--g900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qb-redo{flex-shrink:0;font-size:12px;font-weight:700;color:var(--p600);background:color-mix(in srgb,var(--p500) 12%,var(--surface));border:none;border-radius:999px;padding:7px 13px}.qb-redo:active{transform:scale(.96)}.qb-card{background:var(--surface);border:1px solid var(--g200);border-radius:var(--r-card);padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}.qb-stem{margin:0 0 12px;font-size:14px;font-weight:650;line-height:1.6;color:var(--g900)}.qb-opts{display:flex;flex-direction:column;gap:8px}.qb-opt{display:flex;align-items:flex-start;gap:8px;padding:9px 11px;border:1px solid var(--g200);border-radius:9px;font-size:13px;line-height:1.5;color:var(--g700)}.qb-opt.right{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--surface));color:var(--g900);font-weight:600}.qb-opt.right .qzkey{background:var(--ok);color:#fff}.qb-opt.wrong{border-color:var(--err);background:var(--err-bg);color:var(--err-tx);font-weight:600}.qb-opt.wrong .qzkey{background:var(--err);color:#fff}.qb-meta{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;font-size:11.5px;color:var(--g500)}.qb-pick{color:var(--err-tx);font-weight:650}.qb-ans{color:var(--ok);font-weight:650}.qb-sep{opacity:.5}.qb-explain{margin:10px 0 0;font-size:12.5px;line-height:1.7;color:var(--g600);background:var(--g50);border-radius:9px;padding:11px 13px}.qb-prog{margin:9px 0 0;font-size:11.5px;font-weight:650;color:var(--ok)}.qb-actions{display:flex;gap:10px;margin-top:14px}.qbbtn{flex:1;padding:9px 0;font-size:13px;font-weight:700;border-radius:var(--r-btn);border:1px solid var(--pri-bg);background:var(--pri-bg);color:var(--pri-fg)}.qbbtn:active{transform:scale(.98)}.qbbtn.ghost{background:transparent;color:var(--g600);border-color:var(--g200)}.drawer-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000073;opacity:0;pointer-events:none;transition:opacity .26s var(--ease)}.drawer-mask.on{opacity:1;pointer-events:auto}.drawer{position:absolute;top:0;bottom:0;left:0;z-index:61;width:min(264px,72vw);background:var(--surface);transform:translate(-100%);transition:transform .28s var(--ease),visibility .28s;visibility:hidden;display:flex;flex-direction:column;padding:calc(10px + env(safe-area-inset-top)) 12px calc(10px + env(safe-area-inset-bottom));border-radius:0 18px 18px 0;box-shadow:12px 0 40px #0000001a}.drawer.open{transform:translate(0);visibility:visible}.drawer-head{padding:8px 8px 14px}.drawer-brand{font-size:18px;font-weight:800;color:var(--g900);letter-spacing:.3px}.drawer-new{display:flex;align-items:center;justify-content:center;gap:7px;margin:0 0 14px;padding:12px 0;border:none;border-radius:12px;background:var(--pri-bg);color:var(--pri-fg);font-size:14.5px;font-weight:700;transition:transform .18s var(--ease)}.drawer-new:active{transform:scale(.97)}.drawer-new svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.drawer-nav{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.drawer-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:11px 10px;border:none;border-radius:12px;background:transparent;color:var(--g900);font-size:14.5px;font-weight:600;transition:background-color .16s}.drawer-item:active{background:var(--g100)}.dico{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dlabel{flex:1}.dbadge{flex-shrink:0;min-width:20px;text-align:center;font-size:11.5px;font-weight:750;color:var(--p600);background:color-mix(in srgb,var(--p500) 12%,transparent);border-radius:999px;padding:2px 7px}.dhint{flex-shrink:0;font-size:12px;font-weight:600;color:var(--tx-dim)}.drawer-sectitle{font-size:12px;font-weight:700;color:var(--tx-dim);padding:12px 10px 6px;letter-spacing:.5px}.drawer-notes{flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:0}.drawer-note{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:9px 10px;border:none;border-radius:10px;background:transparent;transition:background-color .16s}.drawer-note:active{background:var(--g100)}.dn-title{font-size:13.5px;font-weight:600;color:var(--g900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dn-meta{font-size:12px;color:var(--tx-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-foot{display:flex;align-items:center;gap:9px;padding:12px 10px 2px;border-top:1px solid var(--g100)}.davatar{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--g200);color:var(--g700);font-size:13px;font-weight:800}.demail{flex:1;min-width:0;font-size:13px;color:var(--g500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-set{flex-shrink:0;width:32px;height:32px;padding:0;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:9px;background:transparent;color:var(--g500);position:relative;transition:transform .18s var(--ease),background-color .18s,color .18s}.drawer-set:active{transform:scale(.9);background:var(--g100);color:var(--g700)}.drawer-set:after{content:"";position:absolute;top:-7px;right:-5px;bottom:-7px;left:-5px;border-radius:12px}.drawer-set svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}@media(hover:none)and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea:not([readonly]):not([disabled]),select{font-size:16px}}
