:root,[data-theme=light]{--bg: #EEF1F5;--surface: #FFFFFF;--surface-2: #F7F9FB;--sunken: #EDF0F4;--line: #E3E7ED;--line-2: #CFD6DF;--ink: #0F1A2A;--ink-2: #4A5667;--ink-3: #8390A1;--scrim: rgba(12, 20, 32, .46);--shadow-pop: 0 30px 80px -30px rgba(15, 26, 42, .45), 0 2px 8px rgba(15, 26, 42, .06)}[data-theme=latte]{--bg: #EFEBE3;--surface: #FFFDF9;--surface-2: #FAF7F1;--sunken: #F0EBE2;--line: #E7E0D5;--line-2: #D6CDBF;--ink: #221D17;--ink-2: #5E554A;--ink-3: #978C7F;--scrim: rgba(34, 29, 23, .46);--shadow-pop: 0 30px 80px -30px rgba(34, 29, 23, .45), 0 2px 8px rgba(34, 29, 23, .06)}[data-theme=mint]{--bg: #E9F0ED;--surface: #FCFEFD;--surface-2: #F5F9F7;--sunken: #E9F0EC;--line: #DCE6E1;--line-2: #C6D4CD;--ink: #122019;--ink-2: #4A5B53;--ink-3: #82938B;--scrim: rgba(18, 32, 25, .46);--shadow-pop: 0 30px 80px -30px rgba(18, 32, 25, .45), 0 2px 8px rgba(18, 32, 25, .06)}[data-theme=dark]{--bg: #000000;--surface: #0E1318;--surface-2: #151B22;--sunken: #05080B;--line: #1F262F;--line-2: #2E3743;--ink: #E8EDF3;--ink-2: #A4AFBD;--ink-3: #6D7988;--scrim: rgba(0, 0, 0, .72);--shadow-pop: 0 30px 90px -30px #000, 0 0 0 1px rgba(255, 255, 255, .06)}[data-theme=midnight]{--bg: #000308;--surface: #0B1424;--surface-2: #101C30;--sunken: #04080F;--line: #1A2740;--line-2: #263652;--ink: #E6ECF5;--ink-2: #9FACC2;--ink-3: #66758F;--scrim: rgba(0, 2, 6, .74);--shadow-pop: 0 30px 90px -30px #000, 0 0 0 1px rgba(160, 190, 255, .07)}[data-theme=forest]{--bg: #000402;--surface: #0B1611;--surface-2: #101F18;--sunken: #040A07;--line: #17281F;--line-2: #23392E;--ink: #E3ECE7;--ink-2: #9BAFA5;--ink-3: #66796F;--scrim: rgba(0, 3, 2, .74);--shadow-pop: 0 30px 90px -30px #000, 0 0 0 1px rgba(180, 255, 220, .06)}:root{color-scheme:light;--accent: #0B5EAC;--accent-ink: #0B5EAC;--accent-line: rgba(11, 94, 172, .45);--accent-ring: rgba(11, 94, 172, .22);--on-accent: #FFFFFF;--signal: #E2702F;--good: #1B7F4A;--bad: #C83C31;--warn: #A86A12;--font: "Inter", "Noto Sans TC", system-ui, -apple-system, "PingFang TC", "Microsoft JhengHei", sans-serif;--r-lg: 18px;--r-md: 11px;--r-sm: 8px;--pad: 22px;--row: 14px;--text-scale: 1;--sidebar: 248px;--tabbar: 62px;--ease: cubic-bezier(.22, 1, .36, 1);--spring: cubic-bezier(.34, 1.56, .64, 1)}[data-mode=dark]{color-scheme:dark;--signal: #F08A4B;--good: #58C487;--bad: #F07F73;--warn: #E3AE55;--on-accent: #06101E}[data-density=compact]{--pad: 16px;--row: 9px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html[data-guiscale=tiny]{zoom:.8}html[data-guiscale=compact]{zoom:.9}html[data-guiscale=large]{zoom:1.12}html[data-guiscale=xlarge]{zoom:1.25}html[data-guiscale=huge]{zoom:1.38}html[data-guiscale=giant]{zoom:1.5}html[data-guiscale=max]{zoom:1.75}@supports not (zoom: 1){html[data-guiscale=tiny] body{font-size:12px}html[data-guiscale=compact] body{font-size:13.5px}html[data-guiscale=large] body{font-size:16.8px}html[data-guiscale=xlarge] body{font-size:18.75px}html[data-guiscale=huge] body{font-size:20.7px}html[data-guiscale=giant] body{font-size:22.5px}html[data-guiscale=max] body{font-size:26.25px}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}html{scrollbar-color:var(--line-2) transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:var(--line-2);background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--ink-3);background-clip:content-box}*::-webkit-scrollbar-corner{background:transparent}[data-corners=sharp] *::-webkit-scrollbar-thumb{border-width:2px}[data-theme=terminal] *::-webkit-scrollbar-thumb{border-width:2px;background:var(--ink-3);background-clip:content-box}img{max-width:100%}button,input{font:inherit;color:inherit}a{color:inherit}p{margin:0 0 .6em}h1,h2,h3{letter-spacing:-.012em}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-ring)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.note{font-size:13px;color:var(--ink-3);margin:10px 0 0;line-height:1.6}.error-text{color:var(--bad);font-size:14px;margin:6px 0 10px}.icon{flex:none}.num{font-variant-numeric:tabular-nums}[data-motion=reduced] *,[data-motion=reduced] *:before,[data-motion=reduced] *:after{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes enter-right{0%{opacity:0;transform:translate(22px)}}@keyframes enter-left{0%{opacity:0;transform:translate(-22px)}}@keyframes enter-up{0%{opacity:0;transform:translateY(14px) scale(.995)}}@keyframes pop{0%{transform:scale(.55)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}45%{transform:translate(4px)}70%{transform:translate(-2px)}}@keyframes grow-x{0%{transform:scaleX(0)}}@keyframes draw{0%{stroke-dashoffset:var(--len, 60)}to{stroke-dashoffset:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes float-up{0%{opacity:0;transform:translateY(8px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.stats .stat{animation:rise .5s var(--ease) both}.stats .stat:nth-child(2){animation-delay:60ms}.stats .stat:nth-child(3){animation-delay:.12s}.stats .stat:nth-child(4){animation-delay:.18s}[data-enter]{animation:rise .52s var(--ease) both;animation-delay:calc(var(--i, 0) * 45ms)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 14px;border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:var(--ink);font-size:14px;font-weight:600;letter-spacing:.01em;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color .22s var(--ease),color .2s var(--ease),transform .16s var(--spring),box-shadow .2s var(--ease);-webkit-tap-highlight-color:transparent}.btn:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}.btn:active:not(:disabled){transform:scale(.96)}.btn .icon{transition:transform .25s var(--ease)}.btn:hover .icon--nudge{transform:translate(3px)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn--accent{color:var(--accent-ink)}.btn--accent:hover{background:color-mix(in srgb,var(--accent) 13%,transparent)}.btn--solid{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 40%,transparent)}.btn--solid:hover{background:var(--accent);filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 8px 20px -8px color-mix(in srgb,var(--accent) 70%,transparent)}.btn--solid:active:not(:disabled){transform:scale(.97)}.btn--danger{color:var(--bad)}.btn--danger:hover{background:color-mix(in srgb,var(--bad) 12%,transparent)}.btn--tinted{background:var(--surface);border-color:var(--line-2);color:var(--accent-ink)}.btn--tinted:hover{background:var(--surface-2);border-color:color-mix(in srgb,var(--accent) 45%,var(--line-2))}:is(.reconnect,.actionbar,.update-bar,.offline-bar,.pick-bar) .btn--tinted{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:transparent}:is(.reconnect,.actionbar,.update-bar,.offline-bar,.pick-bar) .btn--tinted:hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}.btn--small{min-height:34px;padding:0 11px;font-size:13px;border-radius:var(--r-sm)}.btn--block{width:100%}.btn--text,.btn--quiet{min-height:34px;padding:0 8px;border-radius:8px;color:var(--accent-ink)}.btn--quiet{color:var(--ink-2)}.btn--text:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.btn--quiet:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 7%,transparent)}.btn--text.btn--danger,.btn--quiet.btn--danger{color:var(--bad)}.btn--text.btn--small,.btn--quiet.btn--small{min-height:30px;padding:0 7px}.btn.is-busy{color:transparent!important;pointer-events:none}.btn.is-busy:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;border:2px solid var(--ink-3);border-top-color:transparent;animation:spin .7s linear infinite}.btn--solid.is-busy:after{border-color:var(--on-accent);border-top-color:transparent}.icon-btn{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--ink-2);text-decoration:none;cursor:pointer;transition:color .2s,transform .18s var(--ease)}.icon-btn:hover{color:var(--ink)}.icon-btn:active{transform:scale(.92)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 13px;border:1px solid var(--line-2);border-radius:999px;background:transparent;font-size:13px;font-weight:550;white-space:nowrap;text-decoration:none;cursor:pointer;color:var(--ink-2);transition:border-color .2s var(--ease),color .2s var(--ease),transform .18s var(--ease)}.chip:hover{border-color:var(--ink-3);color:var(--ink)}.chip:active{transform:scale(.96)}.chip.is-on{border-color:var(--accent);color:var(--accent-ink);font-weight:650;box-shadow:inset 0 0 0 .5px var(--accent)}.chip:disabled{opacity:.45;cursor:not-allowed}.seg{position:relative;display:flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:var(--r-md);border:1px solid var(--line-2)}.seg-thumb{position:absolute;left:0;top:0;border-radius:8px;border:1.5px solid var(--accent);pointer-events:none}.seg.is-ready .seg-thumb{transition:transform .42s var(--spring),width .42s var(--spring),height .3s var(--ease)}.seg-item{position:relative;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ink-2);font-size:13px;font-weight:600;cursor:pointer;transition:color .25s var(--ease)}.seg-item:hover{color:var(--ink)}.seg-item.is-on{color:var(--accent-ink)}.seg-item:disabled{opacity:.4;cursor:not-allowed}.seg-sub{font-size:11px;font-weight:500;color:var(--ink-3)}.field{display:grid;gap:7px;margin:0 0 16px}.field-label{font-size:13px;font-weight:600;color:var(--ink-2)}.input{width:100%;min-height:46px;padding:0 14px;border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-size:15px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.input::placeholder{color:var(--ink-3)}.input:hover{border-color:var(--ink-3)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.input--num{width:84px;min-height:36px;text-align:center}.field-inline{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2);flex-wrap:wrap}.check{appearance:none;-webkit-appearance:none;flex:none;margin:0;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--ink-3);display:inline-grid;place-items:center;background:transparent;cursor:pointer;transition:border-color .15s,background-color .15s}.check:checked,.check:indeterminate{background:var(--accent);border-color:var(--accent)}.check:checked:after{content:"";width:5px;height:10px;margin-top:-2px;border:solid var(--on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}.check:indeterminate:after{content:"";width:9px;height:2px;border-radius:1px;background:var(--on-accent)}.check:disabled{opacity:.35}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:var(--row) 0;cursor:pointer}.switch-row+.switch-row{border-top:1px solid var(--line)}.switch-text{min-width:0}.switch-title{display:block;font-weight:600;font-size:14px}.switch-sub{display:block;font-size:12.5px;color:var(--ink-3);line-height:1.5}.switch{appearance:none;-webkit-appearance:none;flex:none;margin:0;position:relative;width:44px;height:26px;border-radius:999px;background:transparent;border:1.5px solid var(--line-2);cursor:pointer;transition:border-color .25s var(--ease),background-color .25s var(--ease)}.switch:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:var(--ink-3);transition:transform .4s var(--spring),background-color .25s}.switch:checked{border-color:var(--accent);background:var(--accent)}.switch:checked:after{transform:translate(18px);background:var(--on-accent)}.badge{display:inline-flex;align-items:center;gap:4px;min-height:22px;border-radius:999px;color:var(--ink-3);font-size:12px;font-weight:600;white-space:nowrap;line-height:1}:is(.badge--accent,.badge--good,.badge--bad,.badge--warn,.badge--signal){font-weight:750}.badge--accent{color:var(--accent-ink)}.badge--good{color:var(--good)}.badge--bad{color:var(--bad)}.badge--warn{color:var(--warn)}.badge--signal{color:var(--signal)}.subj{position:relative;display:inline-grid;place-items:center;flex:none;width:30px;height:38px;color:color-mix(in srgb,var(--subj) 72%,var(--ink));font-weight:700;font-size:15px;line-height:1}.subj-book{position:absolute;inset:0;width:100%;height:100%}.subj-cover{fill:color-mix(in srgb,var(--subj) 15%,var(--surface))}.subj-spine{fill:var(--subj)}.subj-pages{fill:color-mix(in srgb,var(--subj) 7%,#fff)}.subj-ribbon{fill:color-mix(in srgb,var(--subj) 70%,var(--surface))}.subj-line{fill:none;stroke:color-mix(in srgb,var(--subj) 45%,transparent);stroke-width:1.2}.subj-char{position:relative;padding-left:4px}[data-mode=dark] .subj{color:color-mix(in srgb,var(--subj) 40%,#fff)}[data-mode=dark] .subj-cover{fill:color-mix(in srgb,var(--subj) 26%,var(--surface))}[data-mode=dark] .subj-pages{fill:color-mix(in srgb,var(--subj) 16%,var(--surface))}[data-mode=dark] .subj-line{stroke:color-mix(in srgb,var(--subj) 55%,transparent)}.subj--s{width:25px;height:32px;font-size:12.5px}.subj--s .subj-char{padding-left:3px}.subj--l{width:36px;height:46px;font-size:18px}.subj--l .subj-char{padding-left:5px}.progress{position:relative;display:block;height:4px;border-radius:99px;background:var(--sunken);overflow:hidden}[data-mode=dark] .progress{background:var(--line)}.progress-fill{position:absolute;inset:0 auto 0 0;width:calc(var(--v, 0) * 100%);border-radius:99px;background:var(--accent);transform-origin:left;transition:width .6s var(--ease)}[data-enter] .progress-fill,.progress.is-animated .progress-fill{animation:grow-x 1s var(--ease) both;animation-delay:calc(var(--i, 0) * 45ms + .18s)}.progress--signal .progress-fill{background:var(--signal)}.progress--good .progress-fill{background:var(--good)}.progress--muted .progress-fill{background:var(--line-2)}.progress-used{position:absolute;inset:0 auto 0 0;width:calc(var(--v, 0) * 100%);background:var(--line-2)}.loading{display:flex;align-items:center;gap:12px;padding:40px 0;color:var(--ink-3);font-size:14px}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--accent);animation:spin .8s linear infinite}.loading-dots:after{content:"…"}.skeleton{display:grid;gap:12px;padding:6px 0}.skeleton-line{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--sunken) 25%,var(--line) 50%,var(--sunken) 75%);background-size:200% 100%;animation:shimmer 1.6s linear infinite}.empty-state{padding:18px 0}.empty-state-title{margin:0 0 4px;font-weight:650}.empty-state-text{margin:0 0 12px;color:var(--ink-2);font-size:14px}.fatal{max-width:460px;margin:0 auto;padding:22vh 20px 0}.fatal h1{font-size:22px;margin:0 0 8px}.fatal--inline{max-width:460px;margin:0 auto;padding:48px 20px 0}.page--bare{max-width:560px;margin:0 auto;padding:clamp(16px,5vh,56px) 0 40px}body.is-immersive .page--bare{padding-inline:20px}.page--bare .empty-state{padding:0}.page--bare .row-actions{margin-top:14px}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:16px}.plain-list{margin:8px 0 12px;padding-left:1.2em;color:var(--ink-2)}.plain-list li{margin:3px 0}.panel{min-width:0;margin:0 0 8px;padding:6px 0 14px;border-top:1px solid var(--line)}.panel:first-child,.page-head+.panel,.panel--first{border-top:0}.panel-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:48px}.panel-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}.panel-chevron{display:inline-grid;place-items:center;color:var(--ink-3);transition:transform .35s var(--ease),color .2s}.panel-toggle:hover .panel-chevron{color:var(--ink)}.panel[data-open=false] .panel-chevron{transform:rotate(-90deg)}.panel-title{margin:0;font-size:16px;font-weight:700}.panel-meta{font-size:13px;color:var(--ink-3);font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.panel-toggle .panel-meta,.panel-head--static .panel-meta{margin-right:auto}.panel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:0 1 auto;max-width:100%}.panel-body-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .42s var(--ease)}.panel[data-open=false] .panel-body-wrap{grid-template-rows:0fr}.panel-body{min-height:0;overflow:hidden}.panel-body>*{transition:opacity .3s var(--ease),transform .42s var(--ease)}.panel[data-open=false] .panel-body>*{opacity:0;transform:translateY(-6px)}.panel[data-open=false] .panel-body{visibility:hidden;transition:visibility 0s .42s}.panel-body>:first-child{margin-top:0}.list{list-style:none;margin:0;padding:0}.item{position:relative;display:flex;align-items:center;gap:14px;padding:var(--row) 0;border-top:1px solid var(--line);min-width:0}.list>li:first-child>.item,.list>.item:first-child{border-top:0}a.item{text-decoration:none;isolation:isolate}a.item:before{content:"";position:absolute;inset:0 -12px;border-radius:10px;background:var(--surface-2);opacity:0;transition:opacity .2s;z-index:-1}a.item:hover:before{opacity:1}a.item .item-arrow{color:var(--ink-3);transition:transform .3s var(--ease),color .2s}a.item:hover .item-arrow{transform:translate(3px);color:var(--ink)}.item-main{flex:1;min-width:0}.item-title{margin:0;font-weight:600;font-size:14.5px;overflow-wrap:anywhere;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;margin:3px 0 0;font-size:12.5px;color:var(--ink-3)}@media(max-width:560px){.item:has(.item-side .btn){flex-wrap:wrap}.item:has(.item-side .btn) .item-main{flex:1 1 auto;min-width:0}.item:has(.item-side .btn) .item-side{flex:1 0 100%;justify-content:flex-end;margin-top:4px}}.item-side{display:flex;align-items:center;gap:10px;flex:none}.shell{min-height:100vh;min-height:100dvh}.stage{min-width:0;background:var(--surface);min-height:100vh;min-height:100dvh}.view{outline:none;max-width:1120px;margin:0 auto;padding:18px 18px calc(var(--tabbar) + 40px + env(safe-area-inset-bottom))}.view-page.enter-right{animation:enter-right .5s var(--ease) backwards}.view-page.enter-left{animation:enter-left .5s var(--ease) backwards}.view-page.enter-up{animation:enter-up .55s var(--ease) backwards}.view-page:is(.enter-right,.enter-left,.enter-up) :is(.actionbar){visibility:hidden;opacity:0}:is(.actionbar){transition:opacity .3s var(--ease)}.sidebar{display:none}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-width:0}.brand-name{font-weight:750;font-size:15px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-mark{flex:none;display:block}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:6px;padding:calc(8px + env(safe-area-inset-top)) 8px 8px 16px;background:var(--surface);border-bottom:1px solid var(--line)}.topbar .brand{margin-right:auto}.points-pill{display:inline-flex;align-items:baseline;gap:3px;padding:4px 11px;border-radius:999px;border:1px solid var(--line-2);font-size:13px;font-weight:650;white-space:nowrap;text-decoration:none;font-variant-numeric:tabular-nums}.points-pill .unit{font-size:11px;color:var(--ink-3);font-weight:500}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line)}.tab{position:relative;height:var(--tabbar);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink-3);font-size:11.5px;font-weight:600;text-decoration:none;transition:color .25s var(--ease);-webkit-tap-highlight-color:transparent}.tab .icon{transition:transform .4s var(--spring)}.tab:active .icon{transform:scale(.88)}.tab[aria-current=page]{color:var(--accent-ink)}.tab[aria-current=page] .icon{transform:translateY(-1px)}.tab-indicator{position:absolute;top:-1px;left:0;width:28px;height:2px;border-radius:2px;background:var(--accent);transition:transform .5s var(--spring),opacity .2s;pointer-events:none}.reconnect{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 14px;margin:12px 18px 0;padding:12px 14px;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--warn) 55%,transparent);animation:rise .45s var(--ease) both}.reconnect-text{margin:0;font-size:14px}.reconnect-note{display:block;font-size:12.5px;color:var(--ink-2)}.toasts{position:fixed;left:50%;bottom:calc(var(--tabbar) + 16px + env(safe-area-inset-bottom));z-index:90;transform:translate(-50%);display:grid;justify-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);pointer-events:none}.toast{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--ink);font-size:13.5px;font-weight:650;box-shadow:0 14px 34px -22px #0000008c;animation:toast-in .5s var(--spring) both;transition:opacity .3s var(--ease),transform .3s var(--ease)}.toast .icon{color:var(--accent-ink)}.toast.is-leaving{opacity:0;transform:translateY(8px) scale(.98)}.toast-leave-active{transition:opacity .3s var(--ease),transform .3s var(--ease)}.toast-leave-to{opacity:0;transform:translateY(8px) scale(.98)}.toast-move{transition:transform .38s var(--spring)}.list-move{transition:transform .42s var(--spring)}.list-leave-active{transition:opacity .24s var(--ease),transform .24s var(--ease)}.list-leave-to{opacity:0;transform:scale(.98)}.list-enter-active{transition:opacity .36s var(--ease),transform .42s var(--spring)}.list-enter-from{opacity:0;transform:translateY(10px)}[data-motion=reduced] :is(.list-move,.list-leave-active,.list-enter-active){transition:none}@keyframes toast-in{0%{opacity:0;transform:translateY(16px) scale(.96)}}@media(min-width:960px){.shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);transition:grid-template-columns .45s var(--ease)}[data-navlayout=side] .shell.is-collapsed{--sidebar: 76px}.topbar,.tabbar{display:none}.stage{margin:10px 10px 10px 0;min-height:calc(100vh - 20px);border:1px solid var(--line);border-radius:20px}[data-mode=dark] .stage{border-color:var(--line)}.view{padding:38px 48px 80px}.reconnect{margin:22px 48px 0}.toasts{bottom:28px;left:calc(50% + var(--sidebar) / 2)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px;padding:22px 14px 18px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}[data-navlayout=side] .shell.is-collapsed .sidebar{scrollbar-width:none}[data-navlayout=side] .shell.is-collapsed .sidebar::-webkit-scrollbar{display:none}[data-navlayout=side] .sidebar{position:fixed;top:0;left:0;bottom:0;height:auto;width:var(--sidebar);transition:width .4s var(--ease),box-shadow .4s var(--ease),padding .4s var(--ease)}[data-navlayout=side] .stage{grid-column:2}.sidebar-top{display:flex;align-items:center;gap:8px;padding:0 6px 26px;min-height:58px}.sidebar .brand-name{white-space:normal;overflow:visible;line-height:1.2}.sidebar-top .brand{min-width:0}.nav-label,.sidebar-user-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-top .drawer-open{margin-left:auto}.nav{position:relative;display:grid;gap:2px}.nav-indicator{position:absolute;left:0;top:0;width:3px;height:20px;border-radius:3px;background:var(--accent);transition:transform .55s var(--spring),opacity .2s;pointer-events:none}.nav-item{position:relative;display:flex;align-items:center;gap:12px;min-height:42px;padding:0 12px 0 16px;border-radius:var(--r-md);color:var(--ink-2);font-weight:600;font-size:14px;text-decoration:none;transition:color .25s var(--ease)}.nav-item .icon{transition:transform .35s var(--spring)}.nav-item:hover{color:var(--ink)}.nav-item:hover .icon{transform:translate(1px) scale(1.06)}.nav-item[aria-current=page]{color:var(--ink)}.nav-item[aria-current=page] .icon{color:var(--accent-ink)}.sidebar-foot{margin-top:auto;display:grid;gap:6px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--line);min-width:0;text-decoration:none;transition:border-color .2s}.sidebar-user:hover{border-color:var(--line-2)}.avatar{display:inline-grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line-2);font-weight:700;font-size:14px}.sidebar-user-text{min-width:0;display:grid;line-height:1.35}.sidebar-user-name{font-weight:650;font-size:13.5px;overflow:hidden;text-overflow:ellipsis}.sidebar-user-points{font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}[data-navlayout=side] .shell.is-collapsed .sidebar{padding:22px 10px 18px}[data-navlayout=side] .shell.is-collapsed .sidebar-top{flex-direction:column;padding-bottom:18px}[data-navlayout=side] .shell.is-collapsed .brand-name,[data-navlayout=side] .shell.is-collapsed .nav-label,[data-navlayout=side] .shell.is-collapsed .sidebar-user-text{display:none}[data-navlayout=side] .shell.is-collapsed .drawer-open{margin:0}[data-navlayout=side] .shell.is-collapsed .nav-item{justify-content:center;padding:0}[data-navlayout=side] .shell.is-collapsed .sidebar-user{justify-content:center;padding:6px;border:0}}@media(max-width:959px){[data-oled=on] .stage{background:var(--bg)}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;margin:4px 0 26px}.page-head-text{min-width:0}.page-title{margin:0;font-size:clamp(24px,3vw,32px);font-weight:750;line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere}.page-sub{margin:6px 0 0;color:var(--ink-2);font-size:14.5px}.page-head-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.crumb{display:inline-flex;margin:0 0 6px -4px}.two-col{display:grid;gap:0 48px}.two-col>*{min-width:0}@media(min-width:960px){.two-col{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.two-col>aside{position:sticky;top:24px}.two-col>aside>.panel:first-child{border-top:0}}.stats-panel{position:relative;margin:0 0 22px}.stats-toggle-btn{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;padding:6px 12px;margin-bottom:6px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink-2);font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.stats-toggle-btn:hover{color:var(--ink);border-color:var(--line-2)}.stats-toggle-btn .icon{color:var(--ink-3);transition:transform .35s var(--spring)}.stats-panel[data-folded=true] .stats-toggle-btn .icon{transform:rotate(-90deg)}.stats-panel:not([data-folded=true]) .stats-toggle-btn{justify-content:flex-end;border:0;background:transparent;padding:2px 0;margin-bottom:-16px;margin-left:auto;width:auto;z-index:2;position:relative}.stats-panel:not([data-folded=true]) .stats-mini-summary{display:none}.stats-panel:not([data-folded=true]) .stats-toggle-btn:before{content:"收合統計";font-size:12px;color:var(--ink-3);margin-right:6px;font-weight:500}.stats-panel:not([data-folded=true]) .stats-toggle-btn:hover:before{color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats-panel[data-folded=true] .stats{display:none}.stat{padding:16px 18px 14px;border-left:1px solid var(--line)}.stat:first-child{border-left:0;padding-left:0}.stat-num{display:block;font-size:30px;font-weight:750;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-label{font-size:12.5px;color:var(--ink-3)}@media(max-width:599px){.stats{grid-template-columns:1fr 1fr}.stat{padding:12px 14px}.stat:nth-child(odd){border-left:0;padding-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}.stat-num{font-size:25px}}.resume{display:flex;align-items:center;gap:14px;margin:0 0 22px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--accent) 10%,transparent);text-decoration:none;animation:rise .55s var(--ease) both;transition:background-color .25s var(--ease),transform .25s var(--spring)}.resume:hover{background:color-mix(in srgb,var(--accent) 16%,transparent);transform:translateY(-2px)}.resume-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-ink)}.resume-text{flex:1;min-width:0}.resume-title{margin:0;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resume-meta{margin:2px 0 0;font-size:12.5px;color:var(--ink-3)}.resume .progress{margin-top:8px;max-width:260px}@media(max-width:599px){.resume>.btn--text{font-size:0;gap:0;min-width:28px;padding:0}.resume-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.today{position:relative;display:flex;flex-direction:column;gap:14px;margin:0 0 22px;padding:16px 0 20px;border-bottom:1px solid var(--line);animation:rise .5s var(--ease) both}.today-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;width:100%}.today-toggle{display:inline-grid;place-items:center;width:34px;height:34px;flex:none;margin-left:auto;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-3);cursor:pointer;transition:color .2s,border-color .2s,background-color .2s,transform .2s var(--ease)}.today-toggle:hover{color:var(--ink);border-color:var(--line-2);background:var(--surface-2)}.today-toggle:active{transform:scale(.95)}.today-toggle .icon{transition:transform .35s var(--spring)}.today[data-folded=true] .today-toggle .icon{transform:rotate(-90deg)}.today-body-wrap{display:grid;grid-template-rows:1fr;width:100%;gap:14px;transition:grid-template-rows .38s var(--ease),opacity .28s var(--ease),gap .38s var(--ease)}.today-body-wrap>*{min-height:0;overflow:hidden}.today[data-folded=true] .today-body-wrap{grid-template-rows:0fr;opacity:0;pointer-events:none;gap:0}.today[data-folded=true]{padding-bottom:10px}.today-ring{position:relative;flex:none;width:80px;height:80px;padding:0;border:0;background:none;cursor:pointer;border-radius:50%;transition:transform .35s var(--spring)}.today-ring:hover{transform:scale(1.04)}.today-ring:active{transform:scale(.97)}.today-ring svg{width:100%;height:100%;overflow:visible}.today-ring-track{stroke:color-mix(in srgb,var(--ink) 8%,transparent)}.today-ring-value{stroke:var(--accent);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1.1s var(--ease)}.today-ring.is-met .today-ring-value{stroke:var(--good);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--good) 45%,transparent))}.today-ring-text{position:absolute;inset:0;display:grid;place-content:center;line-height:1.05;text-align:center}.today-num{font-size:23px;font-weight:780;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.today-goal{font-size:11.5px;color:var(--ink-3);font-weight:600}.today-ring:hover .today-goal{color:var(--ink-2)}.today-text{flex:1;min-width:200px}.today-title{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:720;letter-spacing:-.01em}.today-check{display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;background:var(--good);color:#fff;animation:pop .5s var(--spring) both .35s}[data-mode=dark] .today-check{color:#06140c}.today-check .icon{stroke-width:2.6}.today-streak{margin:4px 0 0;font-size:13.5px;color:var(--ink-2)}.today-streak strong{color:var(--signal);font-weight:720}.streak-week{display:flex;gap:6px;margin-top:12px}.streak-day{display:grid;justify-items:center;gap:5px;width:26px}.streak-bar{display:block;width:100%;height:6px;border-radius:999px;background:color-mix(in srgb,var(--ink) 9%,transparent);transform-origin:left center}.streak-day.is-done .streak-bar{background:var(--signal);animation:bar-fill .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 45ms + .15s)}.streak-letter{font-size:11px;font-weight:600;color:var(--ink-3);line-height:1}.streak-day.is-today .streak-letter{color:var(--ink);font-weight:800}.streak-day.is-today:not(.is-done) .streak-bar{background:none;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--signal) 60%,transparent)}@keyframes bar-fill{0%{transform:scaleX(.2);opacity:0}}.today-action{flex:none}@media(max-width:599px){.today{gap:12px;padding:12px 0 16px}.today-ring{width:66px;height:66px}.today-action,.today-action .btn{width:100%}}.reward{display:grid;gap:10px}.reward-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.reward-count{font-size:28px;font-weight:750;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.reward-count small{font-size:14px;color:var(--ink-3);font-weight:600;margin-left:2px}.reward-prize{display:inline-flex;align-items:center;gap:6px;color:var(--signal);font-weight:650;font-size:13.5px}.reward .progress{height:6px}.reward-text{margin:0;font-size:13.5px;color:var(--ink-2)}.reward-rules{margin:4px 0 0;padding-left:1.15em;font-size:12.5px;color:var(--ink-3);line-height:1.7}.reward-banner{display:grid;gap:8px;margin:0 0 24px;padding:16px 18px;border-radius:14px;background:color-mix(in srgb,var(--signal) 10%,transparent);animation:enter-up .6s var(--ease) both}.reward-banner.is-won{background:color-mix(in srgb,var(--signal) 17%,transparent)}.reward-stamps.is-filled{background:color-mix(in srgb,var(--signal) 14%,transparent);border-color:color-mix(in srgb,var(--signal) 55%,transparent)}.reward-banner.is-muted{background:color-mix(in srgb,var(--ink) 5%,transparent)}.reward-banner-title{display:flex;align-items:center;gap:8px;margin:0;font-weight:700}.reward-banner-title .icon{color:var(--signal)}.reward-gain{position:relative;display:inline-block;color:var(--signal);font-weight:800;animation:pop .6s var(--spring) both .35s}.deadline{width:90px}.stepper{position:relative;display:flex;gap:2px;list-style:none;margin:-4px 0 18px;padding:0;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line)}.stepper button{position:relative;display:inline-flex;align-items:center;gap:7px;padding:10px 12px 12px 2px;border:0;background:transparent;color:var(--ink-3);font-size:13.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .25s}.stepper button:disabled{cursor:default}.stepper-num{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-2);font-size:11.5px;transition:border-color .25s,background-color .25s,color .25s}.stepper-item.is-current button{color:var(--ink)}.stepper-item.is-current button:after{content:"";position:absolute;left:0;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--accent)}.stepper-item.is-current .stepper-num{border-color:var(--accent);color:var(--accent-ink)}.stepper-item.is-done .stepper-num{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media(min-width:960px){.stepper{display:none}}.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.subject-pick{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 12px;text-align:left;border:1px solid var(--line);border-radius:var(--r-md);background:transparent;cursor:pointer;text-decoration:none;transition:border-color .2s var(--ease),transform .2s var(--ease)}.subject-pick:hover{border-color:var(--ink-3)}.subject-pick:active{transform:scale(.98)}.subject-pick[aria-checked=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.subject-pick-text{min-width:0;display:grid;line-height:1.3}.subject-pick-name{font-weight:650;font-size:14px}.subject-pick-level{font-size:12px;color:var(--ink-3)}.picked-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);animation:rise .35s var(--ease) both}.picked-summary .item-main{min-width:140px;flex:1}.books-rows{list-style:none;margin:12px 0 0;padding:0}.books-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:11px 0;border-top:1px solid var(--line)}.books-volume{min-width:7em;font-weight:650;font-size:14px}.recent{display:grid;gap:0}.recent-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.recent-item:first-child{border-top:0}.tree-summary{margin:0;font-size:13px;color:var(--ink-2)}.tree{margin:0}.tree-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;column-gap:6px;padding:2px 0;border-top:1px solid var(--line)}.tree-row .progress{grid-column:2 / -1;margin:0 0 8px 30px;height:3px}.tree-row.depth-1{padding-left:16px}.tree-row.depth-2{padding-left:36px}.tree-row.depth-0 .tree-name{font-weight:650}.tree-row.is-disabled{color:var(--ink-3)}.tree-twisty,.tree-twisty-space{width:32px;height:32px}.tree-twisty{display:grid;place-items:center;border:0;border-radius:8px;background:none;color:var(--ink-3);cursor:pointer}.tree-twisty:hover{color:var(--ink)}.tree-twisty .icon{transform:rotate(-90deg);transition:transform .35s var(--ease)}.tree-twisty.is-open .icon{transform:none}.tree-label{display:flex;align-items:center;gap:10px;min-width:0;padding:9px 0;cursor:pointer;font-size:14px}.tree-name{overflow-wrap:anywhere;line-height:1.45}.tree-count{font-size:12.5px;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}@media(min-width:960px){.tree-row{grid-template-columns:34px minmax(0,1fr) auto 80px}.tree-row .progress{grid-column:auto;margin:0 0 0 10px}}.recap{display:grid;margin:0 0 16px}.recap div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:14px}.recap div:first-child{border-top:0}.recap dt{color:var(--ink-3);white-space:nowrap}.recap dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}.recap dd.is-warn{color:var(--bad)}.setting{border:0;padding:0;margin:0 0 18px;min-width:0}.setting-label{display:flex;align-items:baseline;justify-content:space-between;width:100%;gap:8px;padding:0;margin:0 0 8px;font-weight:650;font-size:14px}.setting-hint{font-size:12.5px;font-weight:500;color:var(--ink-3)}.count-row{display:grid;gap:10px}.notice{margin:0 0 14px;padding:12px 14px;border-radius:var(--r-md);background:color-mix(in srgb,var(--warn) 13%,transparent);font-size:13.5px;line-height:1.6;color:var(--ink);animation:rise .45s var(--ease) both}.notice--accent{background:color-mix(in srgb,var(--accent) 11%,transparent)}.more{border-top:1px solid var(--line);margin:0 0 14px}.more>summary{display:flex;align-items:center;gap:8px;min-height:46px;list-style:none;cursor:pointer;font-weight:650;font-size:14px}.more>summary::-webkit-details-marker{display:none}.more>summary .panel-chevron{margin-left:auto;transition:transform .35s var(--ease)}.more:not([open])>summary .panel-chevron{transform:rotate(-90deg)}.more[open]>div{animation:rise .4s var(--ease) both}.actionbar{position:fixed;left:0;right:0;z-index:25;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom));display:flex;gap:10px;padding:10px 16px;background:var(--surface);border-top:1px solid var(--line)}.actionbar .btn{flex:1}@media(max-width:959px){.page--create{padding-bottom:70px;overflow-x:clip}.create [data-panel]{display:none}.create[data-step="0"] [data-panel="0"],.create[data-step="1"] [data-panel="1"],.create[data-step="2"] [data-panel="2"],.create[data-step="3"] [data-panel="3"]{display:block;border-top:0;animation:enter-right .45s var(--ease) both}.create.is-back[data-step] [data-panel]{animation-name:enter-left}.create-start,.create-resume{display:none}}@media(min-width:960px){.actionbar{display:none}}body.is-immersive .topbar,body.is-immersive .tabbar{display:none}body.is-immersive .view{padding:0;max-width:none}body.is-immersive .toasts{bottom:calc(96px + env(safe-area-inset-bottom))}.room{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;--barh: 56px}.room-body{flex:1 1 auto;width:100%;max-width:860px;margin:0 auto;padding:16px 18px 26px}[data-width=wide] .room-body{max-width:1040px}.room-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:8px;padding:calc(6px + env(safe-area-inset-top)) 10px 6px;background:var(--surface);border-bottom:1px solid var(--line)}.room-exit{display:inline-flex;align-items:center;gap:3px;flex:none;min-height:38px;padding:0 8px 0 4px;border-radius:999px;color:var(--ink-2);text-decoration:none;transition:color .2s,background-color .2s}.room-exit:hover{color:var(--ink);background:var(--sunken)}.room-exit-label{display:none;font-size:13px;font-weight:600}.room-heading{flex:1;min-width:0;margin-right:auto}.room-title{display:flex;align-items:center;gap:8px;min-width:0;margin:0;font-size:14.5px;font-weight:700;line-height:1.3}.room-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-title .badge{flex:none}.room-status{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin:2px 0 0;font-size:12px;color:var(--ink-3);line-height:1.4}.room-count{font-variant-numeric:tabular-nums}.room-clock{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;font-variant-numeric:tabular-nums}.room-clock .icon{color:var(--ink-3)}.room-clock .clock-num{font-size:12px;font-weight:650;letter-spacing:0;line-height:1.4}.room-clock.is-hidden .clock-num,.room-clock.is-hidden .clock-left{display:none}.room-clock.is-hidden:after{content:"時間已隱藏"}.room-clock.is-low{color:var(--bad)}.room-clock:hover .icon{color:var(--ink-2)}.save-state{font-size:12px;color:var(--ink-3);white-space:nowrap;transition:opacity .3s}.save-state[data-kind=error]{color:var(--bad);white-space:normal}.room-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px}.room-progress span{display:block;height:100%;width:calc(var(--v, 0) * 100%);background:var(--accent);border-radius:0 2px 2px 0;transition:width .55s var(--ease)}.goal-chip{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:34px;padding:0 10px 0 6px;border:0;border-radius:999px;background:none;color:var(--ink-2);font:600 12.5px/1 var(--font);cursor:pointer;font-variant-numeric:tabular-nums;transition:background-color .2s,color .2s}.goal-chip:hover{background:color-mix(in srgb,var(--signal) 14%,transparent);color:var(--ink)}.goal-track{stroke:var(--line-2)}.goal-value{stroke:var(--signal);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .7s var(--ease)}.room-tools{flex:none;min-width:40px;min-height:40px;padding:0 10px}.room-tools-label{display:none}.room-corner{flex:none;min-height:40px;padding:0 18px;font-size:14.5px;font-weight:700;position:relative;overflow:hidden}.room-corner:not(.btn--solid){background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent-ink)}.room-corner:not(.btn--solid):hover{background:color-mix(in srgb,var(--accent) 21%,transparent)}.room-corner.is-shining:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);animation:shine 1.1s var(--ease) both}@keyframes shine{0%{transform:translate(-120%)}to{transform:translate(120%)}}.dock{position:sticky;z-index:28;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:6px;width:min(100% - 20px,760px);margin:0 auto 10px;padding:6px;border:1px solid var(--line-2);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);box-shadow:0 18px 40px -26px #081224bf,0 2px 6px #0812240d}.dock-btn{display:grid;place-items:center;grid-auto-flow:column;gap:5px;flex:none;min-width:40px;height:40px;padding:0;border:1px solid var(--line-2);border-radius:999px;background:none;color:var(--ink-2);font:650 13.5px/1 var(--font);cursor:pointer;transition:border-color .2s,color .2s,background-color .2s,transform .2s var(--ease)}.dock-btn:hover:not(:disabled){border-color:var(--ink-3);color:var(--ink)}.dock-btn:active:not(:disabled){transform:scale(.94)}.dock-btn:disabled{opacity:.35;cursor:default}.dock-next.has-label{padding:0 14px}.dock-next.is-solid{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.dock-next.is-solid:hover:not(:disabled){color:var(--on-accent);filter:brightness(1.06)}.dock-count{display:inline-flex;align-items:center;gap:5px;flex:none;height:34px;padding:0 10px;border:0;border-radius:999px;background:none;color:var(--ink-2);font:650 13px/1 var(--font);cursor:pointer;font-variant-numeric:tabular-nums}.dock-count .icon{color:var(--ink-3)}.dock-count:hover{background:var(--sunken);color:var(--ink)}.dock-count-now{font-weight:800;color:var(--ink)}.dock-count-total{color:var(--ink-3)}.dock-strip-wrap{flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent)}.dock-strip-wrap::-webkit-scrollbar{display:none}.dock-strip{display:flex;align-items:center;gap:5px;list-style:none;margin:0;padding:3px 8px}.dock-cell{position:relative;display:grid;place-items:center;width:33px;height:33px;flex:none;border:0;border-radius:50%;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink-2);font:650 13px/1 var(--font);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .3s var(--ease),color .25s,box-shadow .25s,scale .25s var(--spring)}.dock-cell:hover{background:color-mix(in srgb,var(--ink) 16%,transparent);color:var(--ink)}.dock-cell.is-answered{background:var(--accent);color:var(--on-accent)}.dock-cell.is-right{background:var(--good);color:#fff}.dock-cell.is-wrong{background:var(--bad);color:#fff}[data-mode=dark] :is(.dock-cell.is-right,.dock-cell.is-wrong){color:#0b0e13}.dock-cell.is-unsupported{background:none;box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--ink-3)}.dock-cell.is-peeked{box-shadow:inset 0 0 0 1.5px var(--warn)}.dock-cell.is-marked:after{content:"";position:absolute;top:0;right:0;width:9px;height:9px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 2px var(--surface)}.dock-cell.is-current{scale:1.12;box-shadow:0 0 0 2px var(--ink);color:var(--ink)}.dock-cell.is-current:is(.is-answered,.is-right,.is-wrong){color:var(--on-accent)}[data-mode=dark] .dock-cell.is-current:is(.is-right,.is-wrong){color:#0b0e13}.dock-cell.just-filled{animation:cell-pop .55s var(--spring)}@keyframes cell-pop{0%{transform:scale(1)}40%{transform:scale(1.4)}to{transform:scale(1)}}.dock-bubble{position:absolute;left:50%;bottom:calc(100% + 10px);z-index:2;margin:0;padding:7px 14px;border-radius:999px;background:var(--ink);color:var(--surface);font-size:13px;font-weight:650;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%) translateY(6px);box-shadow:var(--shadow-pop)}.dock-bubble[data-tone=good]{background:var(--good);color:#fff}.dock-bubble.is-on{animation:bubble-in .45s var(--spring) both,bubble-out .4s var(--ease) 2.2s both}@keyframes bubble-in{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes bubble-out{to{opacity:0;transform:translate(-50%) translateY(-6px)}}.room-pop{position:fixed;z-index:60;width:min(380px,calc(100vw - 24px));max-height:min(72vh,680px);overflow:auto;padding:14px 16px 16px;border:1px solid var(--line-2);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-pop);animation:pop-in .28s var(--ease) both}.room-pop.is-static{animation:none}.room-pop.is-closing{animation:pop-out .2s var(--ease) both}@keyframes pop-in{0%{opacity:0;transform:translateY(-8px) scale(.97)}}@keyframes pop-out{to{opacity:0;transform:translateY(-6px) scale(.98)}}.tools{display:grid;gap:16px}.tools-group{display:grid}.tools-balance{margin:0;font-size:12.5px;color:var(--ink-3)}.tools-balance strong{color:var(--ink);font-weight:700}.tool-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.tools-group .tool-row:first-of-type{border-top:0;padding-top:8px}.tool-icon{display:grid;place-items:center;color:var(--ink-3)}.tool-row.is-unlocked .tool-icon{color:var(--good)}.tool-name{margin:0;font-size:14px;font-weight:650}.tool-desc{margin:2px 0 0;font-size:12.5px;line-height:1.5;color:var(--ink-3)}.tools-reward{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:12.5px;line-height:1.6;color:var(--ink-3)}.tools-reward .icon{flex:none;margin-top:2px;color:var(--ink-3)}.tools-reward.is-eligible .icon{color:var(--signal)}.tools-seg{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 2px;border-top:1px solid var(--line);font-size:14px;font-weight:600}.tools-seg .seg{flex:none}.tools-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;padding-top:12px;border-top:1px solid var(--line)}.print{display:grid;gap:16px}.print-lead{margin:0;font-size:13px;line-height:1.65;color:var(--ink-2)}.print-group{display:grid}.print-group>*:empty{display:none}.print-seg{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 12px;font-size:14px;font-weight:600}.print-seg .seg{flex:none}.print-locked{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 12px}.print-locked-name{margin:0;font-size:14px;font-weight:650}.print-locked-note{margin:2px 0 0;font-size:12.5px;line-height:1.5;color:var(--ink-3)}.print-note{margin:0;font-size:12.5px;line-height:1.6;color:var(--ink-3)}.create-print{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px}.grid-sheet .qgrid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr))}.grid-sheet .qcell{font-size:14px}.sheet-tools{margin:18px 0 14px;padding-top:4px;border-top:1px solid var(--line)}.grid-sheet-corner{margin-bottom:16px;min-height:46px;font-size:15px}.sheet{position:relative;padding:4px 0 8px}.sheet.enter-right{animation:enter-right .42s var(--ease) both}.sheet.enter-left{animation:enter-left .42s var(--ease) both}.sheet-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:0 0 16px}.sheet-num{margin:0;font-size:20px;font-weight:750;letter-spacing:-.01em}.sheet-num small{font-size:13px;color:var(--ink-3);font-weight:600;margin-left:4px}.mark-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 11px;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:var(--ink-2);font-size:12.5px;font-weight:600;cursor:pointer;transition:border-color .2s,color .2s}.mark-toggle:hover{border-color:var(--ink-3);color:var(--ink)}.mark-toggle.is-on{color:var(--signal);border-color:var(--signal)}.mark-toggle.just-on .icon{animation:pop .4s var(--spring)}.rich{font-size:calc(17px * var(--text-scale));line-height:1.85;overflow-wrap:anywhere}.rich p{margin:0 0 .45em}.rich p:last-child{margin-bottom:0}.rich img{max-width:100%;height:auto;vertical-align:middle}[data-mode=dark] .rich img{background:#f4f4f2;border-radius:4px;padding:1px 2px}.rich table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:8px 0}.rich td,.rich th{border:1px solid var(--line-2);padding:4px 8px}.rich u{text-underline-offset:4px}.stem{margin:0 0 18px}.preamble{margin:0 0 20px;padding:14px 16px;border-radius:var(--r-md);border:1px solid var(--line-2);max-height:45vh;overflow:auto}.preamble-range{margin:0 0 6px;font-size:12.5px;color:var(--ink-3)}.options{list-style:none;margin:0;padding:0;display:grid;gap:9px}.option{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;border:1px solid var(--line-2);border-radius:13px;background:transparent;transition:border-color .2s var(--ease),box-shadow .25s var(--ease)}.sheet.enter-right .option,.sheet.enter-left .option,.sheet.enter-up .option{animation:rise .45s var(--ease) both;animation-delay:calc(var(--i, 0) * 40ms + 90ms)}.sheet.enter-up{animation:enter-up .45s var(--ease) both}.option:hover{border-color:var(--ink-3)}.option-pick{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:54px;padding:10px 8px 10px 12px;border:0;border-radius:13px 0 0 13px;background:none;text-align:left;cursor:pointer;color:inherit}.option-pick:active:not(:disabled) .option-letter{transform:scale(.9)}.option-pick--static{cursor:default;grid-column:1 / -1;border-radius:13px}.option-letter{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line-2);font-weight:700;font-size:13px;color:var(--ink-2);transition:background-color .2s,border-color .2s,color .2s,transform .2s var(--ease)}.option-body{font-size:calc(16px * var(--text-scale));line-height:1.65}.option-strike{width:46px;border:0;border-radius:0 13px 13px 0;background:none;color:var(--ink-3);cursor:pointer;opacity:.7;transition:color .2s,opacity .2s}.option-strike:hover{color:var(--ink);opacity:1}.option.is-picked{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.option.is-picked .option-letter{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.option.just-picked .option-letter{animation:pop .42s var(--spring)}.option.is-struck .option-body,.option.is-struck .option-letter{opacity:.35}.option.is-struck .option-body{text-decoration:line-through;text-decoration-thickness:1.5px}.option.is-correct{border-color:var(--good);box-shadow:inset 0 0 0 1px var(--good);background:color-mix(in srgb,var(--good) 9%,transparent)}.option.is-correct .option-letter{background:var(--good);border-color:var(--good);color:#fff}.option.is-wrong{border-color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad)}.sheet.just-graded .option.is-wrong{animation:shake .45s var(--ease) both .1s}.option.is-wrong .option-letter{background:var(--bad);border-color:var(--bad);color:#fff}[data-mode=dark] .option.is-correct .option-letter,[data-mode=dark] .option.is-wrong .option-letter{color:#0b0e13}.option-rate{min-width:46px;font-size:11.5px;color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums}.option-rate:after{content:"";display:block;height:3px;margin:3px 0 0 auto;width:calc(var(--rate) * 100%);min-width:2px;border-radius:2px;background:var(--ink-3);transform-origin:right;animation:grow-x .7s var(--ease) both .2s}.blank-slot{display:inline-block;margin:0 4px;vertical-align:baseline}.blank-input{width:7.5em;min-width:5em;height:38px;padding:0 10px;border:0;border-bottom:1.5px solid var(--ink-3);border-radius:0;background:transparent;color:var(--ink);font-size:calc(16px * var(--text-scale));text-align:center;transition:border-color .2s}.blank-input:focus{outline:none;border-bottom-color:var(--accent);box-shadow:0 1.5px 0 var(--accent)}.blank-input:disabled{opacity:.85}.blank-list{display:grid;gap:10px;margin:12px 0 0}.blank-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;font-size:14px}.answer-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0;font-size:14px;color:var(--ink-2)}.key{display:inline-flex;align-items:center;padding:1px 9px;border-radius:7px;border:1px solid var(--good);color:var(--good);font-weight:700}.sheet.just-graded .key,.sheet.just-revealed .key{animation:pop .45s var(--spring) both .1s}.given{display:inline-flex;align-items:center;padding:1px 8px;border-radius:7px;border:1px solid transparent;font-weight:700}.given.is-right{color:var(--good);border-color:color-mix(in srgb,var(--good) 50%,transparent)}.given.is-wrong{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 50%,transparent);text-decoration:line-through;text-decoration-thickness:1px}.solution{margin:22px 0 0;padding:14px 0 0;border-top:1px dashed var(--line-2)}.sheet.just-graded .solution,.sheet.just-revealed .solution{animation:rise .45s var(--ease) both .15s}.solution-title{margin:0 0 6px;font-size:13.5px;font-weight:700;color:var(--accent-ink)}.solution-body{font-size:calc(15px * var(--text-scale));line-height:1.8}details.solution>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer}details.solution>summary::-webkit-details-marker{display:none}details.solution>summary .solution-title{margin:0}details.solution>summary:after{content:"展開";margin-left:auto;font-size:12.5px;color:var(--ink-3)}details.solution[open]>summary{margin-bottom:8px}details.solution[open]>summary:after{content:"收起"}.verdict{display:flex;align-items:center;gap:10px;margin:20px 0 0;padding:12px 14px;border-radius:var(--r-md);font-weight:650}.sheet.just-graded .verdict{animation:enter-up .5s var(--ease) both}.verdict .icon{stroke-width:2.6}.sheet.just-graded .verdict .icon{stroke-dasharray:30;animation:draw .5s var(--ease) both .2s;--len: 30}.single-unlock{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:22px 0 0;padding:12px 0 0;border-top:1px dashed var(--line-2);font-size:13.5px;color:var(--ink-2)}.single-unlock .btn{margin-left:auto}.qgrid{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px}.qcell{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border:1px solid var(--line-2);border-radius:9px;background:transparent;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;font-variant-numeric:tabular-nums;transition:border-color .2s,color .2s,transform .18s var(--ease)}.qcell:hover{border-color:var(--ink-3);color:var(--ink)}.qcell:active{transform:scale(.92)}.qcell.is-answered{border-color:var(--accent-line);color:var(--accent-ink);box-shadow:inset 0 -3px 0 var(--accent)}.qcell.is-right{border-color:color-mix(in srgb,var(--good) 60%,transparent);color:var(--good);box-shadow:inset 0 -3px 0 var(--good)}.qcell.is-wrong{border-color:color-mix(in srgb,var(--bad) 60%,transparent);color:var(--bad);box-shadow:inset 0 -3px 0 var(--bad)}.qcell.is-current{border-color:var(--ink);color:var(--ink);outline:1px solid var(--ink);outline-offset:0}.qcell.is-marked:after{content:"";position:absolute;top:0;right:0;width:10px;height:10px;background:var(--signal);clip-path:polygon(0 0,100% 0,100% 100%)}.qcell.is-unsupported{border-style:dashed;color:var(--ink-3)}.qcell.is-peeked:before{content:"";position:absolute;left:4px;top:4px;width:5px;height:5px;border-radius:50%;border:1.5px solid var(--warn)}.legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0 0;font-size:12px;color:var(--ink-3)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:11px;height:11px;border-radius:3px;border:1px solid var(--line-2)}.legend-swatch--answered{border-color:var(--accent-line);box-shadow:inset 0 -2px 0 var(--accent)}.legend-swatch--marked{border:0;background:var(--signal);clip-path:polygon(0 0,100% 0,100% 100%)}.legend-swatch--right{border-color:var(--good);box-shadow:inset 0 -2px 0 var(--good)}.legend-swatch--wrong{border-color:var(--bad);box-shadow:inset 0 -2px 0 var(--bad)}.reward-note{margin:10px 0 0;padding:9px 0 0;border-top:1px dashed var(--line-2);font-size:12.5px;color:var(--ink-3);line-height:1.6}.reward-note strong{color:var(--signal);font-weight:650}.kbd-hints{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--ink-3)}kbd{display:inline-block;min-width:20px;padding:0 5px;border-radius:5px;border:1px solid var(--line-2);font:600 11px/18px var(--font);text-align:center}.time-form .seg{margin:12px 0}.time-form .field-inline{margin:4px 0}.time-preview{margin:12px 0 4px;font-weight:650}@media(min-width:960px){.room{--barh: 60px;min-height:calc(100vh - 20px)}.room-bar{top:10px;padding:11px 20px;border-radius:19px 19px 0 0}.room-exit-label,.room-tools-label{display:inline}.room-title{font-size:15.5px}.room-body{padding:26px 32px 30px}.dock{bottom:16px;margin-bottom:16px;padding:7px}.dock-cell{width:35px;height:35px}.sheet{padding:0 0 8px}body.is-focus .sidebar{display:none}body.is-focus .shell{grid-template-columns:minmax(0,1fr)}body.is-focus .stage{grid-column:1 / -1;margin:0;border:0;border-radius:0;min-height:100vh;min-height:100dvh;box-shadow:none}body.is-focus .room-bar{top:0;border-radius:0}body.is-focus .room{min-height:100vh;min-height:100dvh}}[data-qbar=top] .room-bar{order:-2}[data-qbar=top] .dock{order:-1;position:sticky;top:var(--barh);bottom:auto;margin:10px auto 2px}[data-qbar=top] .room-body{padding-bottom:40px}@media(min-width:960px){[data-qbar=top] .dock{top:calc(var(--barh) + 10px);margin-top:14px}}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 8px}.search{position:relative;flex:1 1 220px}.search .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.search .input{padding-left:38px;min-height:40px}.tabs{position:relative;display:flex;gap:4px;margin:0 -18px 16px;padding:0 18px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line)}.tabs::-webkit-scrollbar{display:none}.tabs-item{flex:none;display:inline-flex;align-items:center;min-height:42px;padding:0 10px;color:var(--ink-3);font-size:13.5px;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .2s}.tabs-item:hover,.tabs-item[aria-current=true]{color:var(--ink)}.tabs-indicator{position:absolute;left:0;bottom:-1px;height:2px;border-radius:2px;background:var(--accent);transition:transform .5s var(--spring),width .5s var(--spring);pointer-events:none}@media(min-width:960px){.tabs{margin:0 0 18px;padding:0;flex-wrap:wrap}}.score-num{font-size:21px;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.score-num.is-high{color:var(--good)}.score-num.is-low{color:var(--bad)}.score-unit{font-size:12px;font-weight:600;color:var(--ink-3);margin-left:1px}.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:18px 0 0}.pagination>:last-child{justify-self:end}.pagination-now{font-size:13px;color:var(--ink-3)}.result-head{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.ring{position:relative;flex:none;width:112px;height:112px;display:grid;place-items:center}.ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.ring-track{stroke:var(--sunken)}[data-mode=dark] .ring-track{stroke:var(--line)}.ring-value{stroke:var(--ring, var(--accent));stroke-linecap:round;transition:stroke-dashoffset 1.2s var(--ease)}.ring-text{position:relative;text-align:center;line-height:1.1}.ring-num{display:block;font-size:28px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ring-unit{font-size:12px;color:var(--ink-3)}.result-meta{flex:1;min-width:200px}.graded{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:20px 0;border-top:1px solid var(--line)}.list>.graded:first-child{border-top:0;padding-top:4px}.graded-mark{display:grid;justify-items:center;align-content:start;gap:6px}.graded-num{font-size:13px;font-weight:700;color:var(--ink-3)}.graded-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1.5px solid}.graded-icon.is-right{color:var(--good)}.graded-icon.is-wrong{color:var(--bad)}.graded-icon .icon{stroke-width:2.6}.graded-body{min-width:0}.graded-meta{display:flex;flex-wrap:wrap;gap:2px 12px;margin:12px 0 0;font-size:12.5px;color:var(--ink-3)}.options--graded .option:hover{border-color:var(--line-2)}.options--graded .option.is-correct:hover{border-color:var(--good)}.options--graded .option.is-wrong:hover{border-color:var(--bad)}.knowledge-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:9px 0;border-top:1px solid var(--line);font-size:13.5px}.knowledge-row:first-child{border-top:0}.knowledge-row .progress{grid-column:1 / -1;height:3px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.theme-tile{display:grid;gap:8px;padding:8px;border-radius:14px;border:1px solid var(--line-2);background:transparent;cursor:pointer;text-align:left;font-size:13px;font-weight:600;color:inherit;transition:border-color .2s,transform .2s var(--ease)}.theme-tile:hover{border-color:var(--ink-3)}.theme-tile:active{transform:scale(.97)}.theme-tile[aria-checked=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.theme-tile[aria-checked=true] .icon{color:var(--accent-ink)}.theme-preview{position:relative;height:56px;border-radius:9px;overflow:hidden;border:1px solid rgba(128,128,128,.22)}.theme-preview span{position:absolute;border-radius:4px}.theme-name{display:flex;align-items:center;justify-content:space-between;gap:6px}.swatches{display:flex;flex-wrap:wrap;gap:12px}.swatch{position:relative;width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;transition:transform .3s var(--spring)}.swatch:hover{transform:scale(1.08)}.swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--ink)}.setting-block{padding:14px 0;border-top:1px solid var(--line)}.setting-block:first-child{border-top:0;padding-top:0}.setting-block-title{margin:0 0 10px;font-size:13.5px;font-weight:650;color:var(--ink-2)}.settings{display:grid;gap:16px}.settings-nav{display:flex;gap:6px;margin:0 -18px;padding:2px 18px 4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.settings-nav::-webkit-scrollbar{display:none}.settings-tab{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;background:none;color:var(--ink-2);font:650 13.5px/1 var(--font);cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s,background-color .2s}.settings-tab .icon{color:var(--ink-3);transition:color .2s}.settings-tab:hover{color:var(--ink);border-color:var(--ink-3)}.settings-tab[aria-current=true]{color:var(--accent-ink);border-color:var(--accent-line);background:color-mix(in srgb,var(--accent) 8%,transparent)}.settings-tab[aria-current=true] .icon{color:var(--accent-ink)}.settings-tab-meta{display:none}.settings-panel{min-width:0;outline:none}.settings-group-title{margin:6px 0 2px;font-size:20px;font-weight:750;letter-spacing:-.015em}.settings-group-sub{margin:0 0 18px;font-size:13.5px;color:var(--ink-3);line-height:1.6}.settings-panel>.setting-block:first-of-type{border-top:0;padding-top:0}@media(min-width:960px){.settings{grid-template-columns:208px minmax(0,1fr);gap:36px;align-items:start}.settings-nav{position:sticky;top:30px;flex-direction:column;gap:1px;margin:4px 0 0;padding:0;overflow:visible}.settings-tab{width:100%;justify-content:flex-start;min-height:44px;padding:0 12px;border:0;border-radius:var(--r-md);background:none}.settings-tab:hover{background:var(--surface-2)}.settings-tab[aria-current=true]{background:var(--surface-2);color:var(--ink)}.settings-tab-meta{display:block;margin-left:auto;padding-left:8px;max-width:88px;overflow:hidden;text-overflow:ellipsis;font-size:11.5px;font-weight:500;color:var(--ink-3)}.settings-group-title{margin-top:0;font-size:22px}}details.fold{margin:6px 0 0;border-top:1px solid var(--line)}details.fold>summary{display:flex;align-items:center;gap:8px;min-height:46px;list-style:none;cursor:pointer;font-size:13.5px;font-weight:650;color:var(--ink-2)}details.fold>summary::-webkit-details-marker{display:none}details.fold>summary:hover{color:var(--ink)}details.fold>summary .icon{margin-left:auto;color:var(--ink-3);transition:transform .3s var(--ease)}details.fold[open]>summary .icon{transform:rotate(180deg)}details.fold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.fold-body{padding:2px 0 14px}.fold-body>.setting-block:first-child{border-top:0;padding-top:0}.dialog{width:100%;max-width:100%;max-height:88vh;max-height:88dvh;margin:auto 0 0;padding:0 0 env(safe-area-inset-bottom);border:0;border-radius:22px 22px 0 0;overflow:auto;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-pop)}.dialog::backdrop{background:var(--scrim);animation:fade-in .3s var(--ease) both}.dialog[open]{animation:sheet-up .5s var(--spring) both}.dialog.is-closing{animation:sheet-down .26s var(--ease) both}.dialog.is-closing::backdrop{animation:fade-out .26s var(--ease) both}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-down{to{transform:translateY(100%)}}@keyframes fade-out{to{opacity:0}}.dialog-grip{width:40px;height:4px;margin:8px auto 0;border-radius:2px;background:var(--line-2)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 2px 22px}.dialog-title{margin:0;font-size:18px;font-weight:750}.dialog-body{padding:6px 22px 8px;color:var(--ink-2)}.dialog-body>*{animation:rise .45s var(--ease) both;animation-delay:calc(var(--i, 0) * 40ms + 80ms)}.dialog-body>p:last-child{margin-bottom:0}.dialog-error{margin:6px 22px 0;color:var(--bad);font-size:14px;animation:shake .4s var(--ease)}.dialog-actions{position:sticky;bottom:0;display:flex;gap:10px;padding:16px 22px 20px;background:var(--surface)}.dialog-actions .btn{flex:1}.dialog .qgrid{grid-template-columns:repeat(auto-fill,minmax(46px,1fr))}@media(min-width:960px){.dialog{width:min(480px,calc(100vw - 48px));max-height:80vh;margin:auto;padding:0;border-radius:20px;border:1px solid var(--line)}.dialog[open]{animation:dialog-in .42s var(--spring) both}.dialog.is-closing{animation:dialog-out .2s var(--ease) both}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px) scale(.96)}}@keyframes dialog-out{to{opacity:0;transform:translateY(6px) scale(.98)}}.dialog-grip{display:none}.dialog-head{padding-top:18px}.dialog-actions{justify-content:flex-end}.dialog-actions .btn{flex:0 0 auto;min-width:96px}}.login{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr;background:var(--surface)}.login-photo{position:relative;height:36vh;min-height:220px;overflow:hidden;background:#0e2a47}.login-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;animation:photo-in 1.8s var(--ease) both}.login-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#060e1ad1,#060e1a73 30%,#060e1a0f 62%);pointer-events:none}@keyframes photo-in{0%{opacity:0;transform:scale(1.12)}}.login-school{position:absolute;left:20px;right:20px;bottom:34px;z-index:1;color:#fff}.login-school img{position:static;width:132px;height:auto;animation:rise .8s var(--ease) both .5s}.login-school p{margin:8px 0 0;font-size:13.5px;line-height:1.6;color:#ffffffdb;max-width:30em;animation:rise .8s var(--ease) both .62s}.login-panel{position:relative;z-index:2;margin-top:-18px;padding:26px 22px calc(28px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--surface);animation:panel-up .8s var(--ease) both .15s}@keyframes panel-up{0%{transform:translateY(40px);opacity:0}}.login-inner{width:100%;max-width:380px;margin:0 auto}.login-brand{display:flex;align-items:center;gap:10px;margin:0 0 28px}.login-brand .brand-name{font-size:16px}.login-brand .icon-btn{margin-left:auto}.login-title{margin:0 0 6px;font-size:28px;font-weight:800;letter-spacing:-.02em}.login-lede{margin:0 0 24px;color:var(--ink-2);font-size:14.5px}.login-form>*{animation:rise .6s var(--ease) both;animation-delay:calc(var(--i, 0) * 70ms + .38s)}.login-form .btn--solid{min-height:48px;font-size:15px;margin-top:6px}.login-note{margin:18px 0 0;padding:12px 0 0;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3);line-height:1.65}.login-legal{margin:14px 0 0;font-size:12px;color:var(--ink-3);line-height:1.6}.login-legal a{margin-left:10px;white-space:nowrap}.password-wrap{position:relative}.password-wrap .input{padding-right:46px}.password-wrap .icon-btn{position:absolute;right:3px;top:3px}.brand-mark--intro .brand-arc{animation:arc-in .8s var(--ease) both .2s}.brand-mark--intro .brand-stem{animation:stem-in .6s var(--ease) both .55s}.brand-mark--intro .brand-dot{transform-box:fill-box;transform-origin:center;animation:dot-in .7s var(--spring) both .85s}@keyframes arc-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes stem-in{0%{opacity:0;transform:translateY(-8px)}}@keyframes dot-in{0%{opacity:0;transform:translateY(-14px) scale(.2)}}@media(min-width:960px){.login{grid-template-rows:none;grid-template-columns:minmax(0,1fr) 500px}.login-photo{height:auto;min-height:100vh}.login-school{left:56px;bottom:56px;right:56px}.login-school img{width:190px}.login-school p{font-size:15px}.login-panel{margin:0;border-radius:0;display:grid;align-items:center;padding:48px 56px;animation:fade-in .6s var(--ease) both}.login-title{font-size:32px}}.shell.is-new .sidebar-top,.shell.is-new .nav-item,.shell.is-new .sidebar-foot{animation:rise .6s var(--ease) both;animation-delay:calc(var(--i, 0) * 50ms)}@media(min-width:960px){.shell.is-new .stage{animation:enter-up .7s var(--ease) both .08s}}.boot{min-height:100vh;min-height:100dvh;display:grid;place-items:center}.boot img{animation:breathe 1.4s var(--ease) infinite alternate}@keyframes breathe{0%{opacity:.35;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.resume:hover .icon--nudge{transform:translate(3px)}.resume .btn--text{pointer-events:none}[data-theme=seasalt]{--bg: #E3EEF1;--surface: #FBFEFE;--surface-2: #F3F9FA;--sunken: #E6F0F2;--line: #D5E3E7;--line-2: #BACFD5;--ink: #0E2229;--ink-2: #44606A;--ink-3: #7E98A0;--scrim: rgba(14, 34, 41, .46);--shadow-pop: 0 30px 80px -30px rgba(14, 34, 41, .45), 0 2px 8px rgba(14, 34, 41, .06)}[data-theme=cocoa]{--bg: #050201;--surface: #17100C;--surface-2: #1F1712;--sunken: #0B0705;--line: #2C221B;--line-2: #3E3127;--ink: #EFE6DF;--ink-2: #BBA99B;--ink-3: #85736A;--scrim: rgba(0, 0, 0, .74);--shadow-pop: 0 30px 90px -30px #000, 0 0 0 1px rgba(255, 235, 215, .05)}[data-theme=glass]{--bg: #AFCAE6;--surface: rgba(255, 255, 255, .64);--surface-2: rgba(255, 255, 255, .44);--sunken: rgba(12, 27, 46, .07);--line: rgba(12, 27, 46, .11);--line-2: rgba(12, 27, 46, .22);--ink: #0C1B2E;--ink-2: #3B4E65;--ink-3: #64768B;--rim: rgba(255, 255, 255, .85);--rim-soft: rgba(255, 255, 255, .45);--scrim: rgba(10, 22, 40, .42);--shadow-pop: 0 30px 80px -28px rgba(8, 28, 60, .5), 0 2px 10px rgba(8, 28, 60, .08);--wall-tint: linear-gradient(170deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .04) 55%, rgba(120, 170, 220, .12))}[data-theme=glassnight]{--bg: #0B1526;--surface: rgba(20, 29, 48, .62);--surface-2: rgba(26, 36, 58, .42);--sunken: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .1);--line-2: rgba(255, 255, 255, .2);--ink: #EEF3FA;--ink-2: #B3C0D2;--ink-3: #7E8DA2;--rim: rgba(255, 255, 255, .24);--rim-soft: rgba(255, 255, 255, .12);--scrim: rgba(2, 8, 18, .62);--shadow-pop: 0 30px 90px -30px rgba(0, 0, 0, .85);--wall-tint: linear-gradient(170deg, rgba(8, 16, 34, .42), rgba(4, 10, 24, .66))}.wallpaper{display:none}[data-glass=on] .wallpaper{display:block;position:fixed;inset:-60px;z-index:-1;pointer-events:none;background-image:var(--wall, url(/teams/img/campus.jpg));background-size:cover;background-position:center;filter:blur(15px) saturate(1.3);animation:wall-in 1.2s var(--ease) both}[data-theme=glassnight] .wallpaper{background-image:var(--wall, url(/teams/img/campus-night.jpg))}[data-glass=on][data-mode=dark] .wallpaper{filter:blur(15px) saturate(1.2) brightness(.92)}[data-glass=on] .wallpaper:after{content:"";position:absolute;inset:0;background:var(--wall-tint)}@keyframes wall-in{0%{opacity:0;transform:scale(1.08)}}[data-theme=campfire]{--bg: #0B0705;--surface: rgba(30, 18, 12, .5);--surface-2: rgba(44, 28, 18, .36);--sunken: rgba(255, 220, 180, .06);--line: rgba(255, 206, 156, .12);--line-2: rgba(255, 206, 156, .24);--ink: #F8EEE3;--ink-2: #D6BFAA;--ink-3: #A08978;--good: #93C06B;--bad: #E4685A;--warn: #E8B15E;--signal: #FF8A3D;--rim: rgba(255, 214, 168, .26);--rim-soft: rgba(255, 214, 168, .12);--scrim: rgba(12, 6, 2, .6);--on-accent: #1B0C04;--shadow-pop: 0 30px 90px -30px rgba(0, 0, 0, .9);--wall-tint: linear-gradient(180deg, rgba(8, 5, 3, .62), rgba(16, 7, 3, .26) 52%, transparent 86%)}[data-theme=campfire][data-glass=on] .wallpaper{background-color:#080503;background-image:radial-gradient(30% 20% at 50% 100%,rgba(255,232,186,.95),rgba(255,188,96,.55) 55%,transparent 78%),radial-gradient(70% 50% at 50% 102%,rgba(255,158,54,.95),rgba(255,104,20,.5) 44%,transparent 76%),radial-gradient(130% 86% at 50% 120%,rgba(255,84,10,.4),transparent 62%),radial-gradient(86% 64% at 14% -8%,rgba(34,52,80,.5),transparent 64%);filter:blur(14px) saturate(1.06);animation:wall-in 1.2s var(--ease) both,fire-breathe 5.5s ease-in-out 1.2s infinite alternate}[data-theme=campfire] .wallpaper:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(2.5px 2.5px at 18% 88%,rgba(255,192,114,.95),transparent 70%),radial-gradient(2px 2px at 33% 97%,rgba(255,150,70,.85),transparent 70%),radial-gradient(3px 3px at 47% 91%,rgba(255,208,146,.9),transparent 70%),radial-gradient(2px 2px at 62% 99%,rgba(255,162,82,.8),transparent 70%),radial-gradient(2.5px 2.5px at 75% 90%,rgba(255,192,114,.85),transparent 70%),radial-gradient(2px 2px at 88% 96%,rgba(255,142,62,.75),transparent 70%);animation:embers 16s linear infinite}@keyframes fire-breathe{0%{opacity:.84}to{opacity:1}}@keyframes embers{0%{transform:translateY(8%) scale(1);opacity:0}14%{opacity:.9}85%{opacity:.25}to{transform:translateY(-92%) scale(.7);opacity:0}}.coderain{display:none}[data-theme=code] .coderain{display:block;position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.55;transition:opacity .5s var(--ease);animation:wall-in 1.4s var(--ease) both}[data-theme=code] body.is-immersive .coderain{opacity:0}[data-motion=reduced] .coderain{display:none}[data-theme=code] .stage{background:color-mix(in srgb,var(--surface) 92%,transparent)}[data-glass=on] body{background:transparent}[data-glass=on] .stage{border-color:var(--rim);box-shadow:inset 0 1px 0 var(--rim),inset 0 -1px 0 var(--rim-soft),inset 1px 0 0 var(--rim-soft),inset -1px 0 0 var(--rim-soft)}[data-glass=on] :is(.topbar,.room-bar,.tabbar,.dock,.dialog,.room-pop,.toast){backdrop-filter:blur(22px) saturate(1.7);-webkit-backdrop-filter:blur(22px) saturate(1.7);box-shadow:inset 0 1px 0 var(--rim),inset 0 -1px 0 var(--rim-soft),inset 1px 0 0 var(--rim-soft),inset -1px 0 0 var(--rim-soft),inset 0 0 14px var(--rim-soft)}@supports (backdrop-filter: url(#liquid-glass)){[data-glass=on] :is(.room-bar,.dock,.dialog,.room-pop,.sidebar){backdrop-filter:url(#liquid-glass) blur(11px) saturate(1.85)}}[data-glass=on] :is(.topbar,.tabbar){background:var(--surface)}[data-glass=on] .dock{background:var(--surface);border-color:var(--rim)}[data-glass=on] :is(.dialog,.room-pop){background:var(--surface);border-color:var(--rim)}[data-glass=on] :is(.chip,.dock-btn,.dock-count,.qcell:not(.is-answered):not(.is-right):not(.is-wrong),.option:not(.is-picked):not(.is-correct):not(.is-wrong),.goal-chip,.mark-toggle,.seg,.theme-tile,.input){background:#ffffff57;border-color:var(--rim-soft);box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #ffffff3d,inset 1px 0 #ffffff4d,inset -1px 0 #ffffff4d;backdrop-filter:blur(7px) saturate(1.4);-webkit-backdrop-filter:blur(7px) saturate(1.4)}[data-glass=on][data-mode=dark] :is(.chip,.dock-btn,.dock-count,.qcell:not(.is-answered):not(.is-right):not(.is-wrong),.option:not(.is-picked):not(.is-correct):not(.is-wrong),.goal-chip,.mark-toggle,.seg,.theme-tile,.input){background:#ffffff14;box-shadow:inset 0 1px #fff3,inset 0 -1px #ffffff12,inset 1px 0 #ffffff17,inset -1px 0 #ffffff17}[data-glass=on] .option.is-picked{background:color-mix(in srgb,var(--accent) 20%,transparent)}[data-glass=on] .btn--solid{background:color-mix(in srgb,var(--accent) 62%,transparent);backdrop-filter:blur(10px) saturate(1.7);-webkit-backdrop-filter:blur(10px) saturate(1.7);box-shadow:inset 0 1px #ffffff80,inset 0 -1px #fff3,inset 1px 0 #ffffff3d,inset -1px 0 #ffffff3d}[data-glass=on] .btn--solid:hover{background:color-mix(in srgb,var(--accent) 76%,transparent);filter:none;transform:none;box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #ffffff42,inset 1px 0 #ffffff4d,inset -1px 0 #ffffff4d}[data-glass=on] .btn--solid:active:not(:disabled){transform:scale(.985)}[data-glass=on] :is(.btn--solid,.btn--tinted,.room-corner){box-shadow:inset 0 1px #ffffff80,inset 0 -1px #fff3,inset 0 0 10px #ffffff38}[data-glass=on] :is(.btn--solid,.btn--tinted,.room-corner):hover{box-shadow:inset 0 1px #ffffffa8,inset 0 -1px #ffffff42,inset 0 0 14px #ffffff4d}[data-glass=on] .btn--tinted{background:color-mix(in srgb,var(--accent) 24%,rgba(255,255,255,.24));backdrop-filter:blur(8px) saturate(1.5);-webkit-backdrop-filter:blur(8px) saturate(1.5);box-shadow:inset 0 1px #ffffff80,inset 0 -1px #fff3}[data-glass=on] .dock-cell:not(.is-answered):not(.is-right):not(.is-wrong){background:#ffffff57;box-shadow:inset 0 1px #fff9,inset 0 -1px #ffffff38}[data-glass=on][data-mode=dark] .dock-cell:not(.is-answered):not(.is-right):not(.is-wrong){background:#ffffff1a;box-shadow:inset 0 1px #ffffff24}[data-glass=on] .dock-cell:is(.is-answered,.is-right,.is-wrong){box-shadow:inset 0 1px #ffffff73}[data-glass=on] .hero:before{opacity:.5}.theme-preview-glass{inset:0;border-radius:inherit;background:url(/teams/img/campus-900.jpg) center / cover;filter:blur(3px) saturate(1.2)}.theme-preview-glass.is-night{filter:blur(3px) saturate(1.1) brightness(.45)}.theme-preview-mesh{inset:0;border-radius:inherit;background:radial-gradient(70% 60% at 12% 6%,#7AB0FF,transparent 70%),radial-gradient(64% 54% at 90% 14%,#FFBAD6,transparent 72%),radial-gradient(84% 64% at 70% 96%,#8EE2D6,transparent 74%),linear-gradient(180deg,#e8f1ff,#cfe0f5)}.theme-preview-mesh.is-night{background:radial-gradient(70% 60% at 10% 4%,#2258BA,transparent 70%),radial-gradient(64% 54% at 92% 14%,#7A389E,transparent 72%),radial-gradient(86% 64% at 68% 96%,#0E6476,transparent 74%),linear-gradient(180deg,#060b16,#03060c)}@media(min-width:960px){[data-glass=on] .sidebar{height:calc(100vh - 20px);margin:10px 0 10px 10px;padding:18px 12px 16px;border:1px solid var(--rim);border-radius:20px;background:var(--surface-2);backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5)}[data-glass=on] .stage{margin-left:10px}}@media(prefers-reduced-transparency:reduce){[data-theme=glass]{--surface: rgba(255, 255, 255, .97);--surface-2: rgba(255, 255, 255, .94)}[data-theme=glassnight]{--surface: rgba(18, 25, 40, .97);--surface-2: rgba(22, 30, 48, .95)}[data-theme=campfire]{--surface: rgba(26, 16, 10, .97);--surface-2: rgba(36, 23, 15, .95)}[data-glass=on] .wallpaper{filter:blur(40px) saturate(1.1)}}[data-theme=paper]{--bg: #DCE3EA;--surface: #FFFFFF;--surface-2: #F6F8FB;--sunken: #EDF1F6;--line: #DCE3EC;--line-2: #BFCAD8;--ink: #1B2A4A;--ink-2: #4D5B78;--ink-3: #8591A8;--scrim: rgba(27, 42, 74, .45);--shadow-pop: 0 30px 80px -30px rgba(27, 42, 74, .45)}[data-theme=paper] .stage{position:relative;background-image:repeating-linear-gradient(to bottom,transparent 0 31px,rgba(60,100,190,.12) 31px 32px)}[data-theme=paper] .stage:before{content:"";position:absolute;top:0;bottom:0;left:8px;width:1.5px;background:#c8372d52;pointer-events:none}@media(min-width:960px){[data-theme=paper] .stage:before{left:26px}}[data-theme=chalk]{--bg: #3A2A1E;--surface: #22382C;--surface-2: #284134;--sunken: #1D3026;--line: rgba(241, 239, 230, .16);--line-2: rgba(241, 239, 230, .32);--ink: #F1EFE6;--ink-2: #CBD0C2;--ink-3: #97A497;--good: #9BE3A5;--bad: #FF9E8F;--warn: #F2D86B;--signal: #FFB37A;--scrim: rgba(10, 16, 12, .6);--shadow-pop: 0 30px 90px -30px rgba(0, 0, 0, .8)}[data-theme=chalk] .stage,[data-theme=chalk] .dialog,[data-theme=chalk] .login-panel{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23n)'/%3E%3C/svg%3E")}[data-theme=chalk] :is(.page-title,.panel-title,.sheet-num,.stat-num,.dialog-title){text-shadow:0 0 1px rgba(241,239,230,.55),0 0 6px rgba(241,239,230,.12);letter-spacing:.02em}@media(min-width:960px){[data-theme=chalk] .stage{border:10px solid #6B4F38;border-radius:10px;box-shadow:inset 0 0 50px #00000059}}[data-theme=pixel]{--bg: #07071A;--surface: #141537;--surface-2: #1B1D48;--sunken: #0E0F2A;--line: #2B2E6B;--line-2: #4A4FA6;--ink: #F4F4FF;--ink-2: #BDBFEC;--ink-3: #8084C4;--good: #3CFF8F;--bad: #FF4D6D;--warn: #FFCC00;--signal: #FF8A00;--on-accent: #07071A;--scrim: rgba(3, 3, 12, .72);--shadow-pop: 8px 8px 0 #000}[data-theme=pixel] *,[data-theme=pixel] *:before,[data-theme=pixel] *:after{border-radius:0!important}[data-theme=pixel] :is(.stat-num,.clock-num,.ring-num,.reward-count,.score-num,.dock-count-now,.today-num){font-family:"Press Start 2P",var(--font);font-size:.72em;letter-spacing:0;line-height:1.6}[data-theme=pixel] .stat-num{font-size:20px}[data-theme=pixel] .clock-num{font-size:22px}[data-theme=pixel] :is(.btn,.chip,.option,.qcell,.input,.seg){border-width:2px}[data-theme=pixel] .btn--solid{box-shadow:4px 4px #000}[data-theme=pixel] .btn--solid:active:not(:disabled){transform:translate(3px,3px);box-shadow:1px 1px #000}@media(min-width:960px){[data-theme=pixel] .stage{border:2px solid var(--line-2);box-shadow:8px 8px #000}}[data-theme=meme]{--bg: #FFE14D;--surface: #FFFFFF;--surface-2: #FFF8D6;--sunken: #F2F2F2;--line: #E2E2E2;--line-2: #111111;--ink: #000000;--ink-2: #2E2E2E;--ink-3: #6B6B6B;--scrim: rgba(0, 0, 0, .55);--shadow-pop: 6px 6px 0 #000}[data-theme=meme] :is(.page-title,.panel-title,.sheet-num,.stat-num,.dialog-title,.brand-name,.login-title){font-family:Anton,Noto Sans TC,Impact,sans-serif;font-weight:900;letter-spacing:.02em}[data-theme=meme] .page:not(.page--record) .page-title{color:#fff;-webkit-text-stroke:1.4px #000;paint-order:stroke fill;text-shadow:3px 3px 0 #000}[data-theme=meme] .btn--solid{border:2px solid #000;box-shadow:3px 3px #000}[data-theme=meme] .dialog{border:3px solid #000}@media(min-width:960px){[data-theme=meme] .stage{border:3px solid #000;box-shadow:6px 6px #000}}.meme{position:relative;width:100%;max-width:300px;margin:16px 0 0;border:3px solid #000;background:#000;box-shadow:4px 4px #000;container-type:inline-size;transform:rotate(-1deg)}.meme:not(.is-ready){display:none}.meme.is-ready{animation:meme-in .6s var(--spring) both}.meme--s{max-width:190px}.meme--l{max-width:380px}.meme img{display:block;width:100%;height:auto}.meme figcaption{position:absolute;left:4%;right:4%;text-align:center;color:#fff;font:900 clamp(14px,9cqi,30px)/1.15 "Anton","Noto Sans TC",Impact,sans-serif;-webkit-text-stroke:1.4px #000;paint-order:stroke fill;text-shadow:2px 2px 0 #000;overflow-wrap:anywhere}.meme-top{top:5%}.meme-bottom{bottom:5%}@keyframes meme-in{0%{opacity:0;transform:rotate(-8deg) scale(.85)}}.avatar-meme{width:100%;height:100%;object-fit:cover;border-radius:50%}[data-sketch=on] :is(.chip,.subject-pick,.theme-tile,.mark-toggle,.dock-count,.seg){position:relative;border-color:transparent!important;box-shadow:none!important;border-radius:6px}[data-sketch=on] .btn--tinted{border-radius:10px}[data-sketch=on] :is(.chip,.subject-pick,.theme-tile,.mark-toggle,.dock-count,.seg):before{content:"";position:absolute;inset:-1px;pointer-events:none;background:var(--sk, var(--line-2));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M9 2.8C55 1.6 146 3.8 191.5 2.4C196 2.6 197.8 5.6 197.6 10.5C197.2 24 198.4 37 197.8 50C197.5 55 195.2 57.4 190.2 57.3C132 56.4 69 58.5 9.2 57.5C4.6 57.4 2.3 54.6 2.6 49.7C3.2 37 1.7 24.3 2.5 10.9C2.8 5.4 4.9 2.9 9 2.8Z' fill='none' stroke='black' stroke-width='1.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M9 2.8C55 1.6 146 3.8 191.5 2.4C196 2.6 197.8 5.6 197.6 10.5C197.2 24 198.4 37 197.8 50C197.5 55 195.2 57.4 190.2 57.3C132 56.4 69 58.5 9.2 57.5C4.6 57.4 2.3 54.6 2.6 49.7C3.2 37 1.7 24.3 2.5 10.9C2.8 5.4 4.9 2.9 9 2.8Z' fill='none' stroke='black' stroke-width='1.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat;transition:background-color .2s var(--ease)}[data-sketch=on] :is(.chip,.subject-pick,.theme-tile,.mark-toggle,.dock-count):hover:before{background:var(--sk-hover, var(--ink-3));-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M8.2 3.4C60 2.2 140 1.9 192 3C196.3 3.2 197.4 6.2 197.8 11C198.6 23 197 38 197.9 49.4C198.2 54.8 195.8 57 191 57.6C130 58.2 72 56.3 8.6 57C4 57.1 2 54.9 2.2 50.3C2.8 36.5 2.6 23.6 2.1 11.5C1.9 6 4 3.5 8.2 3.4Z' fill='none' stroke='black' stroke-width='1.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M8.2 3.4C60 2.2 140 1.9 192 3C196.3 3.2 197.4 6.2 197.8 11C198.6 23 197 38 197.9 49.4C198.2 54.8 195.8 57 191 57.6C130 58.2 72 56.3 8.6 57C4 57.1 2 54.9 2.2 50.3C2.8 36.5 2.6 23.6 2.1 11.5C1.9 6 4 3.5 8.2 3.4Z' fill='none' stroke='black' stroke-width='1.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}[data-sketch=on] .btn--accent{--sk: var(--accent-line);--sk-hover: var(--accent)}[data-sketch=on] .btn--danger{--sk: color-mix(in srgb, var(--bad) 55%, transparent);--sk-hover: var(--bad)}[data-sketch=on] :is(.chip.is-on,.subject-pick[aria-checked=true],.theme-tile[aria-checked=true]){--sk: var(--accent);--sk-hover: var(--accent)}[data-sketch=on] :is(.chip.is-on,.subject-pick[aria-checked=true],.theme-tile[aria-checked=true]):before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M9 2.8C55 1.6 146 3.8 191.5 2.4C196 2.6 197.8 5.6 197.6 10.5C197.2 24 198.4 37 197.8 50C197.5 55 195.2 57.4 190.2 57.3C132 56.4 69 58.5 9.2 57.5C4.6 57.4 2.3 54.6 2.6 49.7C3.2 37 1.7 24.3 2.5 10.9C2.8 5.4 4.9 2.9 9 2.8Z' fill='none' stroke='black' stroke-width='2.4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M9 2.8C55 1.6 146 3.8 191.5 2.4C196 2.6 197.8 5.6 197.6 10.5C197.2 24 198.4 37 197.8 50C197.5 55 195.2 57.4 190.2 57.3C132 56.4 69 58.5 9.2 57.5C4.6 57.4 2.3 54.6 2.6 49.7C3.2 37 1.7 24.3 2.5 10.9C2.8 5.4 4.9 2.9 9 2.8Z' fill='none' stroke='black' stroke-width='2.4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}[data-sketch=on] :is(.chip.is-on,.subject-pick[aria-checked=true],.theme-tile[aria-checked=true]):hover:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M8.2 3.4C60 2.2 140 1.9 192 3C196.3 3.2 197.4 6.2 197.8 11C198.6 23 197 38 197.9 49.4C198.2 54.8 195.8 57 191 57.6C130 58.2 72 56.3 8.6 57C4 57.1 2 54.9 2.2 50.3C2.8 36.5 2.6 23.6 2.1 11.5C1.9 6 4 3.5 8.2 3.4Z' fill='none' stroke='black' stroke-width='2.4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M8.2 3.4C60 2.2 140 1.9 192 3C196.3 3.2 197.4 6.2 197.8 11C198.6 23 197 38 197.9 49.4C198.2 54.8 195.8 57 191 57.6C130 58.2 72 56.3 8.6 57C4 57.1 2 54.9 2.2 50.3C2.8 36.5 2.6 23.6 2.1 11.5C1.9 6 4 3.5 8.2 3.4Z' fill='none' stroke='black' stroke-width='2.4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}[data-sketch=on] .mark-toggle.is-on{--sk: var(--signal);--sk-hover: var(--signal)}[data-sketch=on] .seg-thumb{border:0}[data-sketch=on] .seg-thumb:before{content:"";position:absolute;inset:0;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M8.2 3.4C60 2.2 140 1.9 192 3C196.3 3.2 197.4 6.2 197.8 11C198.6 23 197 38 197.9 49.4C198.2 54.8 195.8 57 191 57.6C130 58.2 72 56.3 8.6 57C4 57.1 2 54.9 2.2 50.3C2.8 36.5 2.6 23.6 2.1 11.5C1.9 6 4 3.5 8.2 3.4Z' fill='none' stroke='black' stroke-width='2.4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M8.2 3.4C60 2.2 140 1.9 192 3C196.3 3.2 197.4 6.2 197.8 11C198.6 23 197 38 197.9 49.4C198.2 54.8 195.8 57 191 57.6C130 58.2 72 56.3 8.6 57C4 57.1 2 54.9 2.2 50.3C2.8 36.5 2.6 23.6 2.1 11.5C1.9 6 4 3.5 8.2 3.4Z' fill='none' stroke='black' stroke-width='2.4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat}[data-sketch=on] .btn--solid{border-radius:0;border-color:transparent;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M9 2.8C55 1.6 146 3.8 191.5 2.4C196 2.6 197.8 5.6 197.6 10.5C197.2 24 198.4 37 197.8 50C197.5 55 195.2 57.4 190.2 57.3C132 56.4 69 58.5 9.2 57.5C4.6 57.4 2.3 54.6 2.6 49.7C3.2 37 1.7 24.3 2.5 10.9C2.8 5.4 4.9 2.9 9 2.8Z' fill='black'/%3E%3C/svg%3E") center / 100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M9 2.8C55 1.6 146 3.8 191.5 2.4C196 2.6 197.8 5.6 197.6 10.5C197.2 24 198.4 37 197.8 50C197.5 55 195.2 57.4 190.2 57.3C132 56.4 69 58.5 9.2 57.5C4.6 57.4 2.3 54.6 2.6 49.7C3.2 37 1.7 24.3 2.5 10.9C2.8 5.4 4.9 2.9 9 2.8Z' fill='black'/%3E%3C/svg%3E") center / 100% 100% no-repeat}[data-sketch=on] .btn--solid:hover{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M8.2 3.4C60 2.2 140 1.9 192 3C196.3 3.2 197.4 6.2 197.8 11C198.6 23 197 38 197.9 49.4C198.2 54.8 195.8 57 191 57.6C130 58.2 72 56.3 8.6 57C4 57.1 2 54.9 2.2 50.3C2.8 36.5 2.6 23.6 2.1 11.5C1.9 6 4 3.5 8.2 3.4Z' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'%3E%3Cpath d='M8.2 3.4C60 2.2 140 1.9 192 3C196.3 3.2 197.4 6.2 197.8 11C198.6 23 197 38 197.9 49.4C198.2 54.8 195.8 57 191 57.6C130 58.2 72 56.3 8.6 57C4 57.1 2 54.9 2.2 50.3C2.8 36.5 2.6 23.6 2.1 11.5C1.9 6 4 3.5 8.2 3.4Z' fill='black'/%3E%3C/svg%3E")}[data-sketch=on] .btn--solid:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--on-accent)}[data-theme=pixel] .btn--solid,[data-theme=meme] .btn--solid{-webkit-mask:none;mask:none}.pen{display:block;overflow:visible;pointer-events:none}@keyframes pen-draw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.pen.draw path{stroke-dasharray:100;animation:pen-draw .6s var(--ease) both}.option-letter{position:relative}.option-letter .pen-ring{position:absolute;left:-9px;top:-9px;width:calc(100% + 18px);height:calc(100% + 18px);color:var(--accent);opacity:0}[data-sketch=on] .option-letter{border-color:transparent}[data-sketch=on] .option:not(.is-picked):not(.is-correct):not(.is-wrong) .option-letter{box-shadow:inset 0 0 0 1px var(--line-2)}[data-sketch=on] :is(.option.is-picked,.option.is-correct,.option.is-wrong) .option-letter{background:transparent!important;border-color:transparent!important}[data-sketch=on] .option.is-picked .option-letter{color:var(--accent-ink)}[data-sketch=on] .option.is-correct .option-letter{color:var(--good)!important}[data-sketch=on] .option.is-wrong .option-letter{color:var(--bad)!important}[data-sketch=on] :is(.option.is-picked,.option.is-correct,.option.is-wrong) .pen-ring{opacity:1}[data-sketch=on] .option.is-correct .pen-ring{color:var(--good)}[data-sketch=on] .option.is-wrong .pen-ring{color:var(--bad)}[data-sketch=on] .option.just-picked .option-letter{animation:none}[data-sketch=on] .option.just-picked .pen-ring path,[data-sketch=on] .sheet.just-graded .pen-ring path{stroke-dasharray:100;animation:pen-draw .5s var(--ease) both}.option-pick{position:relative}.option-pick .pen-strike{position:absolute;left:50px;right:10px;top:50%;width:auto;height:18px;transform:translateY(-50%);color:var(--ink-3);opacity:0}[data-sketch=on] .option.is-struck .option-body{text-decoration:none}[data-sketch=on] .option.is-struck .pen-strike,.option.is-removed .pen-strike{opacity:1}.option.just-struck .pen-strike path{stroke-dasharray:100;animation:pen-draw .35s var(--ease) both}.option.is-removed{border-style:dashed}.option.is-removed .option-pick{cursor:not-allowed}.option.is-removed .option-body,.option.is-removed .option-letter{opacity:.35}.option.is-removed .pen-strike{color:var(--bad)}.option.is-removed .option-strike{visibility:hidden}.graded-icon .pen{width:26px;height:26px}[data-sketch=on] .graded-icon{border:0}.graded-icon .pen path{stroke-dasharray:100;animation:pen-draw .5s var(--ease) both .2s}.ring .pen-score{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);color:var(--ring, var(--accent))}.ring .pen-score path{stroke-dasharray:100;animation:pen-draw 1.1s var(--ease) both .2s}.pen-underline{width:min(190px,70%);height:12px;margin:2px 0 0 -2px;color:var(--accent)}.pen-underline path{stroke-dasharray:100;animation:pen-draw .8s var(--ease) both .3s}[data-sketch=off] .pen-underline{display:none}.empty-state .doodle{color:var(--ink-3);margin:0 0 8px -4px}.empty-state .doodle path{stroke-dasharray:100;animation:pen-draw 1s var(--ease) both .15s}.single-unlock .btn+.btn{margin-left:0}[data-width=wide] .view{max-width:1440px}[data-homelayout=single] .page--home .two-col{grid-template-columns:minmax(0,1fr)}[data-homelayout=single] .page--home .two-col>aside{position:static}[data-homelayout=single] .page--home .two-col>aside>.panel:first-child{border-top:1px solid var(--line)}[data-qfont=serif] .rich{font-family:"Noto Serif TC",Songti TC,PMingLiU,serif}@media(min-width:600px){.options.is-two{grid-template-columns:1fr 1fr}}@media(min-width:960px){[data-navlayout=top] .shell{grid-template-columns:none;grid-template-rows:auto minmax(0,1fr)}[data-navlayout=top] .sidebar{position:sticky;top:0;z-index:40;height:auto;flex-direction:row;align-items:center;gap:22px;padding:10px 22px;background:var(--bg);overflow:visible}[data-navlayout=top] .sidebar-top{padding:0;min-height:0}[data-navlayout=top] .nav{display:flex;gap:2px}[data-navlayout=top] .nav-item{padding:0 12px;min-height:40px}[data-navlayout=top] .nav-indicator{top:auto;bottom:-1px;width:22px;height:3px}[data-navlayout=top] .sidebar-foot{margin:0 0 0 auto;display:flex;align-items:center;gap:10px}[data-navlayout=top] .sidebar-foot .nav-label{display:none}[data-navlayout=top] .sidebar-user{padding:5px 12px 5px 5px;border-radius:999px}[data-navlayout=top] .avatar{width:30px;height:30px}[data-navlayout=top] .stage{margin:0 10px 10px;min-height:calc(100vh - 72px)}[data-navlayout=top] .toasts{left:50%}}.hero{--hero-bg: color-mix(in srgb, var(--accent) 9%, var(--surface));--wave-back: color-mix(in srgb, var(--accent) 18%, var(--surface));--wave-mid: color-mix(in srgb, var(--accent) 40%, var(--surface));position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:8px 24px;margin:-18px -18px 20px;padding:24px 18px 54px;min-height:176px;background:var(--hero-bg)}[data-mode=dark] .hero{--hero-bg: color-mix(in srgb, var(--accent) 14%, var(--surface));--wave-back: color-mix(in srgb, var(--accent) 24%, var(--surface));--wave-mid: color-mix(in srgb, var(--accent) 42%, var(--surface))}[data-theme=paper] .hero{--hero-bg: #EEF3FA}[data-theme=meme] .hero{--hero-bg: #FFF4B8;--wave-back: #FFE14D;--wave-mid: #E0245E}[data-theme=pixel] .hero .hero-waves{display:none}[data-theme=pixel] .hero{border-bottom:2px solid var(--line-2);padding-bottom:28px}.hero-text{position:relative;z-index:2;flex:1;min-width:0}.hero .page-head-actions{margin-top:16px}.hero+.panel,.hero+*+.panel{border-top:0}.hero-pic{position:relative;z-index:1;flex:none;width:128px;align-self:flex-end;margin:0 -6px -14px 0}.hero-pic .art{display:block;width:100%;height:auto;overflow:visible;animation:art-pop .9s var(--spring) both .12s}.hero-waves{position:absolute;left:0;right:0;bottom:-1px;z-index:1;width:100%;height:40px;pointer-events:none}.hero-waves .wave{transform-box:view-box;transform-origin:center}.wave-back{fill:var(--wave-back);animation:wave-drift 16s ease-in-out infinite}.wave-mid{fill:var(--wave-mid);animation:wave-drift 11s ease-in-out infinite reverse}.wave-front{fill:var(--surface)}@keyframes wave-drift{0%,to{transform:translate(-3%) scaleX(1.1)}50%{transform:translate(3%) scaleX(1.1)}}@keyframes art-pop{0%{opacity:0;transform:translateY(18px) scale(.86) rotate(-4deg)}}@media(max-width:599px){.hero{flex-wrap:wrap}.hero .page-head-actions{width:100%}.hero-pic{position:absolute;right:8px;top:18px;width:118px;margin:0;opacity:.95}.hero-text .page-title,.hero-text .page-sub{max-width:calc(100% - 118px)}}@media(min-width:960px){.stage{overflow:clip}.hero{margin:-38px -48px 30px;padding:40px 48px 76px;min-height:250px}.hero-pic{width:290px;margin:-12px -8px -34px 0}.hero-waves{height:72px}}.art{overflow:visible}.art--notebook{--dash: -20}.art--planeStars{--dash: -36}.art--planeLoop{--dash: -32}.art--screen{--dash: -28}.art--chart{--dash: -20}.art .art-trail path,.art .art-deco path{animation:trail-march 1.6s linear infinite}@keyframes trail-march{to{stroke-dashoffset:var(--dash, -20)}}.art .art-plane{transform-box:fill-box;transform-origin:40% 60%;animation:plane-bob 5.2s ease-in-out infinite}@keyframes plane-bob{0%,to{transform:translate(0) rotate(0)}30%{transform:translate(6px,-8px) rotate(-5deg)}65%{transform:translate(-3px,-2px) rotate(2deg)}}.art .art-star{transform-box:fill-box;transform-origin:center;animation:twinkle 3.2s ease-in-out infinite}.art .art-star-b{animation-duration:3.8s;animation-delay:-1.6s}@keyframes twinkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.24) rotate(20deg)}}.art .art-pencil{transform-box:view-box;transform-origin:146px 181px;animation:pencil-write 2.4s ease-in-out infinite}@keyframes pencil-write{0%,to{transform:rotate(0)}20%{transform:rotate(-3deg) translate(2px,-1px)}45%{transform:rotate(1.5deg)}70%{transform:rotate(-2.5deg) translate(-1px,1px)}}.art .art-book{transform-box:fill-box;transform-origin:center;animation:float-y 6.5s ease-in-out infinite}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.art .art-lens{transform-box:view-box;transform-origin:222px 138px;animation:lens-swing 4.6s ease-in-out infinite}@keyframes lens-swing{0%,to{transform:rotate(0) translate(0)}50%{transform:rotate(-9deg) translate(-8px,-5px)}}.art .art-bar{transform-box:fill-box;transform-origin:bottom;animation:bar-grow 1.1s var(--spring) both .35s,float-y 5s ease-in-out infinite 1.5s}.art .art-bar-2{animation-delay:.5s,2s}@keyframes bar-grow{0%{transform:scaleY(0)}}.art .art-blob path{fill:color-mix(in srgb,var(--accent) 12%,var(--surface))}.art .art-play{transform-box:fill-box;transform-origin:center;animation:play-pulse 2.4s ease-in-out infinite}@keyframes play-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.art .art-rays{transform-box:fill-box;transform-origin:0% 100%;animation:rays 1.8s ease-in-out infinite}@keyframes rays{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.82)}}.art .art-monitor{transform-box:fill-box;transform-origin:center bottom;animation:float-y 7s ease-in-out infinite}.hero-pic:hover .art-plane{animation:plane-loop 1.2s var(--ease)}@keyframes plane-loop{0%{transform:none}40%{transform:translate(60px,-40px) rotate(-18deg);opacity:0}41%{transform:translate(-60px,20px) rotate(10deg);opacity:0}to{transform:none;opacity:1}}.empty-state .art{display:block;width:150px;height:auto;margin:0 0 4px -8px;animation:art-pop .8s var(--spring) both .1s}.view-loading{display:grid;justify-items:center;gap:6px;padding:12vh 0 0;color:var(--ink-3);font-size:14px}.view-loading .art{width:190px;height:auto}.view-loading .art-plane{animation-duration:1.8s}.view-loading .art-trail path{animation-duration:.8s}.paperballs{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:28px 0 -12px;pointer-events:none}.paperballs img{display:block;height:auto;opacity:.9;animation:ball-in .9s var(--spring) both .3s,float-y 6s ease-in-out infinite 1.3s}.paperballs img:first-child{width:min(34%,230px)}.paperballs img:last-child{width:min(52%,420px);animation-delay:.45s,2.2s}[data-mode=dark] .paperballs img{opacity:.55;filter:brightness(.8)}@keyframes ball-in{0%{opacity:0;transform:translateY(40px) rotate(-12deg)}}.streak-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;margin:0 0 24px;padding:14px 18px;border-radius:14px;background:color-mix(in srgb,var(--ink) 5%,transparent);animation:enter-up .6s var(--ease) both .1s}.streak-banner.is-live{background:color-mix(in srgb,var(--signal) 12%,transparent)}.streak-banner-title{margin:0;font-size:14.5px;color:var(--ink-2)}.streak-banner-title strong{color:var(--signal);font-size:16px;font-weight:750}.fx-ripple{position:absolute;border:2px solid;border-radius:50%;pointer-events:none}.fx-gain{position:absolute;padding:3px 10px;border-radius:999px;background:var(--signal);color:#fff;font-size:13px;font-weight:750;white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums}[data-points].is-bumped{animation:points-bump .7s var(--spring)}@keyframes points-bump{0%{transform:scale(1)}35%{transform:scale(1.18)}to{transform:scale(1)}}.fx-layer{position:fixed;inset:0;z-index:200;pointer-events:none;overflow:hidden}.fx-star,.fx-plane{position:absolute;will-change:transform,opacity}.fx-plane{filter:drop-shadow(0 6px 10px rgba(11,94,172,.25))}.login-photo .hero-waves{z-index:2;height:34px;--wave-back: rgba(255, 255, 255, .35);--wave-mid: color-mix(in srgb, var(--accent) 70%, #fff)}.login-photo .wave-front{fill:var(--surface)}.login-sticker{position:absolute;z-index:2;right:10px;top:calc(14px + env(safe-area-inset-top));width:120px;pointer-events:none;filter:drop-shadow(0 6px 14px rgba(6,14,26,.25))}.login-sticker .art{width:100%;height:auto;animation:art-pop .9s var(--spring) both .9s}.login-panel{position:relative}@media(min-width:960px){.login-photo .hero-waves{display:none}.login-sticker{right:48px;top:44px;width:220px}}.blank-math{position:relative;display:inline-flex;align-items:center;min-width:9em;min-height:44px;vertical-align:middle;border-bottom:1.5px solid var(--ink-3);transition:border-color .2s,box-shadow .2s}.blank-math:focus-within{border-bottom-color:var(--accent);box-shadow:0 1.5px 0 var(--accent)}.blank-math.is-loading{background:linear-gradient(90deg,transparent 0%,var(--sunken) 50%,transparent 100%) 0 0 / 200% 100%;animation:shimmer 1.4s linear infinite}.blank-math-ghost{padding:0 8px;font-size:calc(18px * var(--text-scale));color:var(--ink-2)}.blank-math-field{display:block;width:100%;min-width:9em;padding:4px 6px;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:calc(21px * var(--text-scale));--caret-color: var(--accent);--selection-background-color: color-mix(in srgb, var(--accent) 22%, transparent);--selection-color: var(--ink);--contains-highlight-background-color: color-mix(in srgb, var(--accent) 8%, transparent);--placeholder-color: var(--accent);--placeholder-opacity: .7;--smart-fence-color: var(--ink-3);--smart-fence-opacity: .7;--primary-color: var(--accent);--text-font-family: var(--font)}.blank-math-field:focus,.blank-math-field:focus-within{outline:none}.blank-math-field::part(menu-toggle),.blank-math-field::part(virtual-keyboard-toggle),.math-static::part(menu-toggle),.math-static::part(virtual-keyboard-toggle){display:none}.blank-math-hint{position:absolute;left:10px;top:50%;translate:0 -50%;font-size:13.5px;color:var(--ink-3);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s}.blank-math.is-empty .blank-math-hint{opacity:1}.blank-math.is-empty:focus-within .blank-math-hint{opacity:0}.blank-math.is-fallback{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-height:0;border-bottom:0;box-shadow:none}.blank-input--formula{width:12em;font-family:"Inter",var(--font);letter-spacing:.01em;text-align:left;padding:0 6px}.blank-preview{display:inline-block;padding:0 8px;border-left:2px solid var(--accent-line);color:var(--ink);font-size:calc(17px * var(--text-scale));line-height:1.6;animation:fade-in .2s var(--ease)}.math-view{display:inline-flex;align-items:center}.math-static{display:inline-block;min-width:0;padding:0;border:0;background:transparent;color:inherit;font-size:1.12em;pointer-events:none;--contains-highlight-background-color: transparent;--selection-background-color: transparent}.math-static::part(container){min-height:0;padding:0}.math-static::part(content){padding:0 1px}.mp{font-family:"Inter","Noto Serif TC",var(--font);font-style:normal;white-space:nowrap}.mp sup,.mp sub{font-size:.7em;line-height:0}.mp-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 2px;font-size:.9em;line-height:1.15}.mp-num{padding:0 3px;border-bottom:1.2px solid currentColor}.mp-den{padding:0 3px}.mp-sqrt{white-space:nowrap}.mp-rad{border-top:1.2px solid currentColor;padding:0 2px;margin-left:1px}.keypad{margin:16px 0 0}.keypad-keys{display:flex;flex-wrap:wrap;gap:10px 16px}.keypad-group{display:inline-flex;flex-wrap:wrap;gap:6px}.keypad-key{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:44px;min-height:44px;padding:4px 8px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color .2s,color .2s,transform .15s var(--ease)}.keypad-key--named{min-width:54px;padding:5px 8px 4px}.keypad-key--edit{color:var(--ink-2)}.keypad-key .key-glyph{width:24px;height:24px}.keypad-name{font-size:11px;line-height:1.1;color:var(--ink-3);letter-spacing:.04em;transition:color .2s}.keypad-sym{font:500 19px/1 "Inter",var(--font)}.keypad-key:hover{border-color:var(--accent);color:var(--accent-ink)}.keypad-key:hover .keypad-name{color:var(--accent-ink)}.keypad-key:hover .key-glyph rect{animation:slot-march .9s linear infinite}.keypad-key:active{transform:scale(.92)}.keypad-key:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}@keyframes slot-march{to{stroke-dashoffset:-8.6}}.keypad-hint{margin:10px 0 0;font-size:12.5px;line-height:1.6;color:var(--ink-3)}.keypad-hint-touch{display:none}@media(hover:none)and (pointer:coarse){.keypad-keys,.keypad-hint-desk{display:none}.keypad-hint-touch{display:inline}.keypad{margin-top:10px}.keypad-hint{margin:0}}body{--keyboard-background: var(--surface-2);--keyboard-border: var(--line);--keyboard-horizontal-rule: 1px solid var(--line);--keyboard-toolbar-text: var(--ink-3);--keyboard-toolbar-text-active: var(--accent-ink);--keyboard-toolbar-background: transparent;--keyboard-toolbar-background-hover: var(--sunken);--keyboard-toolbar-background-selected: transparent;--keyboard-accent-color: var(--accent);--keycap-background: var(--surface);--keycap-background-hover: var(--surface);--keycap-background-active: color-mix(in srgb, var(--accent) 16%, var(--surface));--keycap-background-pressed: color-mix(in srgb, var(--accent) 16%, var(--surface));--keycap-border: var(--line-2);--keycap-border-bottom: var(--line-2);--keycap-text: var(--ink);--keycap-text-active: var(--accent-ink);--keycap-text-hover: var(--ink);--keycap-text-pressed: var(--accent-ink);--keycap-secondary-background: var(--sunken);--keycap-secondary-background-hover: var(--sunken);--keycap-secondary-text: var(--ink);--keycap-secondary-border: var(--line-2);--keycap-secondary-border-bottom: var(--line-2);--keycap-primary-background: var(--accent);--keycap-primary-text: var(--on-accent);--keycap-primary-background-hover: var(--accent);--keycap-shift-color: var(--accent-ink);--keyboard-padding-bottom: 12px}.ML__keyboard .key-glyph rect{stroke:var(--accent-ink)}.worked{margin:12px 0 0;padding:10px 12px;border:1px dashed var(--line-2);border-radius:var(--r-md);font-size:calc(14.5px * var(--text-scale));color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere}.worked:before{content:"計算過程";display:block;margin:0 0 2px;font-size:12.5px;font-weight:650;color:var(--accent-ink)}.key .mp,.given .mp{font-size:1em}.key .math-static,.given .math-static{font-weight:400}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;overflow:hidden}.avatar.has-img{padding:0;background:var(--sunken)}.avatar.has-img{position:relative}.avatar.has-img img{display:block;width:100%;height:100%;object-fit:cover}.avatar.has-img img.is-cropped{position:absolute;max-width:none;object-fit:fill}.hero-avatar{width:58px;height:58px;margin:0 0 12px;font-size:24px;font-weight:800;border:3px solid var(--surface);background:var(--surface);color:var(--accent-ink);box-shadow:0 8px 22px -10px #0f1a2a80;animation:pop .55s var(--spring) both .1s}@media(min-width:960px){.hero-avatar{width:72px;height:72px;font-size:30px}}.hero-banner{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.hero-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 45%;animation:banner-in 1.1s var(--ease) both,banner-drift 38s ease-in-out 1.1s infinite alternate}.hero-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--hero-bg) 0%,color-mix(in srgb,var(--hero-bg) 90%,transparent) 32%,color-mix(in srgb,var(--hero-bg) 40%,transparent) 62%,transparent 88%)}.hero-banner--meme img{object-position:50% 30%}@media(max-width:599px){.hero-banner:after{background:linear-gradient(90deg,var(--hero-bg) 0%,color-mix(in srgb,var(--hero-bg) 82%,transparent) 58%,color-mix(in srgb,var(--hero-bg) 35%,transparent) 100%)}}@keyframes banner-in{0%{opacity:0;transform:scale(1.08)}}@keyframes banner-drift{0%{transform:scale(1) translate(0)}to{transform:scale(1.06) translate(-2%)}}.sticker{display:inline-block;line-height:0}.sticker img{display:block;width:100%;height:auto;-webkit-user-drag:none;user-select:none;filter:drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff) drop-shadow(0 8px 10px rgba(15,26,42,.16))}.sticker--paper img{filter:none;border:5px solid #fff;border-radius:10px;background:#fff;box-shadow:0 10px 22px -10px #0f1a2a73;transform:rotate(-3deg)}.hero-pic--companion{align-self:center}.hero-pic--companion .sticker:not(.sticker--teams){width:100%;transform-origin:50% 90%;animation:art-pop .9s var(--spring) both .12s,sticker-bob 5.5s ease-in-out 1s infinite}.hero-pic--companion .sticker--teams{width:100%}@keyframes sticker-bob{0%,to{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2.5deg) translateY(-6px)}}@media(max-width:599px){.hero-pic--companion{width:104px;top:14px}}@media(min-width:960px){.hero-pic--companion{width:220px;margin:-6px 12px -20px 0}.hero-pic--companion .sticker--teams{width:290px;margin-right:-24px}}.shop-balance{margin:0;font-size:14px;color:var(--ink-2)}.shop-balance strong{font-size:19px;color:var(--ink);font-variant-numeric:tabular-nums}.stamp-card{position:relative;margin:0 0 30px;padding:18px 20px 16px;border:1.5px solid var(--line-2);border-radius:18px;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.stamp-card:before,.stamp-card:after{content:"";position:absolute;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--surface);border:1.5px solid var(--line-2)}.stamp-card:before{left:-12px;clip-path:inset(0 0 0 50%)}.stamp-card:after{right:-12px;clip-path:inset(0 50% 0 0)}.stamp-card-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;padding:0 0 12px;border-bottom:1px dashed var(--line-2)}.stamp-card-title{margin:0;font-size:18px;font-weight:800;letter-spacing:.06em}.stamp-card-count{margin:0;font-size:14px;color:var(--ink-2)}.stamp-card-count .num{font-size:20px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}.stamps{list-style:none;margin:16px 0 8px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 6px}@media(min-width:1180px){.stamps{grid-template-columns:repeat(10,minmax(0,1fr))}}.stamp-hit{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;padding:2px 0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;border-radius:12px}.stamp-hit:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.stamp-slot{position:relative;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;border:1.5px dashed var(--line-2);transition:transform .3s var(--spring)}.stamp-hit:hover .stamp-slot{transform:scale(1.06) rotate(-4deg)}.stamp-prize{position:absolute;inset:7px;display:grid;place-items:center;overflow:hidden;border-radius:50%;opacity:.42;filter:grayscale(1);transition:opacity .3s,filter .3s}.stamp-prize .avatar,.stamp-prize .shelf-banner,.stamp-prize .shelf-memes{width:100%;height:100%}.stamp-prize .shelf-banner{border-radius:50%;aspect-ratio:auto}.stamp-prize .sticker{width:100%}.stamp-prize .sticker img{filter:none;border-width:2px;border-radius:4px}.stamp-prize .shelf-memes img{width:100%;height:100%;position:static;transform:none;border:0;box-shadow:none}.stamp-prize .shelf-memes img+img{display:none}.stamp-at{position:relative;padding:1px 5px;border-radius:6px;background:var(--surface);font-size:12px;font-weight:750;color:var(--ink-2);font-variant-numeric:tabular-nums}.stamp.is-stamped .stamp-slot{border-color:transparent}.stamp.is-stamped .stamp-prize{opacity:1;filter:none}.ink-stamp{position:absolute;inset:-5px;width:calc(100% + 10px);height:calc(100% + 10px);color:#cf3a2c;opacity:.9;transform:rotate(var(--tilt));font:700 25px/1 "Noto Serif TC",Songti TC,serif;mix-blend-mode:multiply;animation:stamp-press .55s var(--spring) both calc(var(--i) * 70ms + .25s);pointer-events:none}[data-mode=dark] .ink-stamp{color:#ff7466;mix-blend-mode:normal}.stamp.is-claimed .ink-stamp{opacity:.5}@keyframes stamp-press{0%{opacity:0;transform:rotate(var(--tilt)) scale(1.9)}55%{opacity:.95;transform:rotate(var(--tilt)) scale(.9)}to{transform:rotate(var(--tilt)) scale(1)}}.stamp.is-ready .stamp-slot{animation:ready-pulse 1.8s ease-out infinite}@keyframes ready-pulse{0%{box-shadow:0 0 0 0 var(--accent-ring)}to{box-shadow:0 0 0 14px transparent}}.stamp-name{max-width:7.5em;font-size:12px;line-height:1.3;text-align:center;color:var(--ink-2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.stamp-state{font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.stamp.is-ready .stamp-state{color:var(--accent-ink);font-weight:750}.stamp-card-foot{margin:6px 0 0;font-size:12.5px;line-height:1.7;color:var(--ink-3)}.shop-shelves{margin:0 0 24px}.shop-shelves-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 18px}.shelf{list-style:none;margin:0;padding:0;display:grid;gap:22px 12px}.shelf--avatar{grid-template-columns:repeat(auto-fill,minmax(98px,1fr))}.shelf--banner{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px 18px}.shelf--sticker{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));padding:18px 12px;border-radius:18px;background-color:var(--sunken);background-image:radial-gradient(color-mix(in srgb,var(--ink) 14%,transparent) 1px,transparent 1.3px);background-size:14px 14px}.shelf--memes{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.shelf--theme{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px 16px}.shelf--theme .shelf-hit{align-items:stretch;text-align:left}.shelf--theme .shelf-pic{width:100%}.shelf--theme .shelf-name{margin-top:2px}.shelf--theme .shelf-hit>.tag{align-self:flex-start}.is-worn .shelf-theme,.shelf-hit:focus-visible .shelf-theme{border-color:var(--accent-line)}.shelf-item{animation:rise .45s var(--ease) both calc(var(--i) * 28ms)}.shelf-hit{display:flex;flex-direction:column;align-items:center;gap:7px;width:100%;padding:6px 4px;border:0;border-radius:14px;background:none;color:inherit;font:inherit;text-align:center;cursor:pointer}.shelf-hit:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.shelf-pic{display:grid;place-items:center;transition:transform .35s var(--spring)}.shelf-hit:hover .shelf-pic{transform:translateY(-4px) rotate(-2deg)}.shelf-name{font-size:14px;font-weight:650;line-height:1.3}.shelf-avatar{width:78px;height:78px;font-size:30px;font-weight:800;color:var(--accent-ink);border:1.5px solid var(--line-2)}.is-worn .shelf-avatar{box-shadow:0 0 0 3px var(--surface),0 0 0 5.5px var(--accent)}.shelf--banner .shelf-hit{align-items:flex-start;text-align:left}.shelf--banner .shelf-pic{width:100%}.shelf-banner{position:relative;display:block;width:100%;aspect-ratio:2.6;overflow:hidden;border-radius:12px;background:var(--sunken)}.shelf-banner img{display:block;width:100%;height:100%;object-fit:cover}.shelf-banner--waves,.preview--banner{--wave-back: color-mix(in srgb, var(--accent) 18%, var(--surface));--wave-mid: color-mix(in srgb, var(--accent) 40%, var(--surface));background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.shelf-waves,.preview-waves{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:38%}.is-worn .shelf-banner{outline:2.5px solid var(--accent);outline-offset:3px}.shelf-sticker{display:grid;place-items:center;width:100px;height:100px}.shelf-sticker img{max-height:100px;width:auto;max-width:100%}.shelf-sticker.sticker--teams .art{width:110px;height:auto}.shelf--sticker .is-worn .shelf-pic{transform:rotate(-4deg) scale(1.04)}.shelf-memes{position:relative;display:block;width:172px;height:116px}.shelf-memes img{position:absolute;top:16px;width:96px;height:84px;object-fit:cover;border:3px solid #fff;border-radius:4px;box-shadow:0 6px 14px -6px #0f1a2a73;transition:transform .35s var(--spring)}.shelf-memes img:nth-child(1){left:2px;transform:rotate(-9deg)}.shelf-memes img:nth-child(2){left:38px;top:4px;z-index:1;transform:rotate(2deg)}.shelf-memes img:nth-child(3){left:74px;transform:rotate(10deg)}.shelf-hit:hover .shelf-memes img:nth-child(1){transform:rotate(-16deg) translate(-8px)}.shelf-hit:hover .shelf-memes img:nth-child(3){transform:rotate(17deg) translate(8px)}.shelf-memes--none{display:grid;place-items:center;width:116px;border:1.5px dashed var(--line-2);border-radius:14px;color:var(--ink-3)}.is-limited .shelf-pic{filter:saturate(.55)}.tag{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid var(--line-2);border-radius:7px;font-size:12.5px;line-height:1.1;color:var(--ink-2);white-space:nowrap}.tag .num{font-variant-numeric:tabular-nums}.tag--price{color:var(--ink);font-weight:650}.tag--worn{border-color:var(--accent-line);color:var(--accent-ink);font-weight:750}.tag--owned{border-color:transparent;color:var(--ink-3)}.tag--stamp{border-style:dashed}.tag--stamp.is-ready{border-style:solid;border-color:var(--accent);color:var(--accent-ink);font-weight:750}.credit{font-size:12px;line-height:1.6;color:var(--ink-3)}.credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}.credit-line{margin:12px 0 0;text-align:center}.shop-credits{margin:8px 0 0}.credit-list{list-style:none;margin:8px 0 0;padding:0}.credit-list li{padding:6px 0;border-top:1px solid var(--line)}.credit-list li:first-child{border-top:0}.preview{display:grid;place-items:center;gap:14px;padding:16px 0 4px}.preview-face{width:132px;height:132px;font-size:54px;font-weight:800;color:var(--accent-ink);border:1.5px solid var(--line-2);animation:pop .5s var(--spring) both}.preview-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;border:1px solid var(--line);border-radius:999px;font-size:14px;font-weight:650}.preview-chip .avatar{width:30px;height:30px;font-size:13px;border:1.5px solid var(--line-2)}.preview--banner{position:relative;overflow:hidden;width:100%;aspect-ratio:2.3;padding:0;margin-top:8px;border-radius:14px;place-items:start}.preview--banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:banner-in .9s var(--ease) both}.preview-hello{position:relative;margin:14px;padding:5px 11px;border-radius:9px;background:var(--surface);font-size:16px;font-weight:800}.preview-sticker{width:min(210px,60vw);animation:sticker-bob 4.5s ease-in-out infinite}.preview--memes{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;place-items:start center}.preview--memes .meme{margin:0;max-width:none}.preview--memes .note{grid-column:1 / -1;margin:4px 0 0;text-align:center}.reward-stamps{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:11px 0 0;border-top:1px dashed var(--line-2);font-size:13.5px;line-height:1.5;color:var(--ink-2);text-decoration:none}.reward-stamps>.icon{flex:none;color:#cf3a2c}[data-mode=dark] .reward-stamps>.icon{color:#ff7466}.reward-stamps-go{display:inline-flex;align-items:center;gap:2px;margin-left:auto;color:var(--accent-ink);font-weight:650;white-space:nowrap}.reward-stamps:hover .reward-stamps-go .icon{transform:translate(2px)}.page--weak .chips--subjects{margin:0 0 18px}.weak-book{margin:0;font-weight:650;font-size:15px}.weak-overall{margin:4px 0 18px;color:var(--ink-2);font-size:14px;font-variant-numeric:tabular-nums}.item--pick{cursor:pointer}.item--pick .pick{flex:none;width:19px;height:19px;margin:0;accent-color:var(--accent);cursor:pointer}.item--pick.is-on .item-title{color:var(--accent-ink)}.weak-rank{flex:none;font-size:12.5px;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}.pickbar{position:sticky;bottom:calc(var(--tabbar, 0px) + 12px);z-index:4;display:flex;align-items:center;gap:10px;margin-top:18px;padding:10px 14px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow-pop);animation:pickbar-in .28s var(--ease) both}.pickbar-count{flex:1;font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums}@keyframes pickbar-in{0%{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.pickbar{animation:none}}.save-toggle.is-on{color:var(--accent-ink)}.save-toggle.is-on .icon{fill:currentColor}.saved-list{display:grid;gap:22px}.saved-card{padding:18px 0 0;border-top:1px solid var(--line)}.saved-list>.saved-card:first-child{border-top:0;padding-top:0}.saved-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.saved-options{margin:10px 0 0;padding-left:20px;display:grid;gap:4px;font-size:14px;color:var(--ink-2)}.saved-options .is-correct{color:var(--good);font-weight:600}.saved-answer{margin:12px 0 0;font-weight:600;font-size:14.5px}.saved-answer-label{margin-right:10px;font-weight:500;color:var(--ink-3)}.note-wrap{display:flex;align-items:flex-start;gap:10px;margin-top:12px}.note-input{flex:1;min-height:46px;resize:vertical;font:inherit;font-size:14px;line-height:1.5}.note-status{flex:none;min-width:52px;padding-top:12px;font-size:12px;color:var(--ink-3)}.feedback-form{max-width:640px;margin:0 0 28px}.feedback-field{margin:16px 0 0}.feedback-input{min-height:150px;padding:12px 14px;resize:vertical;font:inherit;font-size:15px;line-height:1.6}.feedback-actions{display:flex;align-items:center;gap:14px;margin-top:14px}.feedback-count{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}.feedback-error{margin:10px 0 0;font-size:14px;color:var(--bad)}.feedback-list{list-style:none;margin:0;padding:0;display:grid;gap:18px;max-width:640px}.feedback-item{padding-top:18px;border-top:1px solid var(--line)}.feedback-item:first-child{padding-top:0;border-top:0}.feedback-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 0 6px;font-size:12.5px;color:var(--ink-3)}.feedback-text{margin:0;font-size:14.5px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.feedback-reply{margin-top:12px;padding-left:14px;border-left:2px solid var(--accent)}[data-corners=plain]{--r-lg: 10px;--r-md: 7px;--r-sm: 5px}[data-corners=plain] :is(.btn,.chip,.points-pill,.toast,.tag,.goal-chip,.dock-btn,.dock-count,.seg){border-radius:6px}[data-corners=plain] :is(.stage,.dialog,.sidebar-user,.dock-player){border-radius:10px}[data-corners=sharp]{--r-lg: 0px;--r-md: 0px;--r-sm: 0px}[data-corners=sharp] *,[data-corners=sharp] *:before,[data-corners=sharp] *:after{border-radius:0!important}[data-uifont=mono]{--font: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Noto Sans TC", monospace}[data-uifont=mono] :is(.page-title,.login-title){letter-spacing:-.03em}[data-uifont=mono] .brand-name{font-size:14px;letter-spacing:-.01em}[data-uifont=mono]{--sidebar: 272px}[data-uifont=serif]{--font: "Noto Serif TC", "Songti TC", "PMingLiU", Georgia, serif}[data-uifont=serif] :is(.page-title,.panel-title,.login-title){letter-spacing:0}[data-theme=neon]{--bg: #04010A;--surface: #140A26;--surface-2: #1C0F33;--sunken: #0A0416;--line: #2E1A4F;--line-2: #4A2A7A;--ink: #F6EEFF;--ink-2: #C7B2E9;--ink-3: #9079BB;--good: #3CFFC8;--bad: #FF4D8D;--warn: #FFD24D;--signal: #00E5FF;--on-accent: #0A0014;--scrim: rgba(4, 1, 10, .78);--shadow-pop: 0 0 0 1px rgba(255, 61, 154, .3), 0 30px 90px -34px rgba(255, 61, 154, .45);--tube: #FF3D9A;--tube-cool: #00E5FF}[data-theme=neon] :is(.page-title,.panel-title,.stat-num,.dialog-title,.brand-name,.login-title,.sheet-num,.ring-num,.score-num){text-shadow:0 0 14px color-mix(in srgb,var(--accent) 45%,transparent)}[data-theme=neon] .btn--solid{box-shadow:0 0 0 1px color-mix(in srgb,var(--tube) 70%,transparent),inset 0 0 12px -4px color-mix(in srgb,var(--tube) 60%,transparent),0 0 24px -6px color-mix(in srgb,var(--tube) 65%,transparent)}[data-theme=neon] :is(.nav-indicator,.tab-indicator){box-shadow:0 0 12px var(--accent)}[data-theme=neon] .option.is-picked{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent),0 0 22px -10px var(--accent)}[data-theme=neon] .page-title{position:relative}[data-theme=neon] .page-title:after{content:"";position:absolute;left:0;bottom:-7px;width:min(100%,118px);height:2px;border-radius:2px;background:linear-gradient(90deg,var(--tube),var(--tube-cool));box-shadow:0 0 10px color-mix(in srgb,var(--tube) 70%,transparent)}[data-theme=neon] .avatar{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--tube) 75%,transparent),0 0 16px -4px var(--tube)}[data-theme=neon] .sidebar-user:hover .avatar{box-shadow:0 0 0 1.5px var(--tube-cool),0 0 20px -3px var(--tube-cool)}[data-theme=neon] ::selection{background:color-mix(in srgb,var(--tube) 55%,transparent)}@media(min-width:960px){[data-theme=neon] .stage{border-color:#2e1a4f;box-shadow:inset 0 1px #ffffff0d,0 0 0 1px #ff3d9a24,0 40px 120px -60px #ff3d9a80}}[data-theme=neon] .stage{background:color-mix(in srgb,var(--surface) 92%,transparent)}[data-theme=neon] .sidebar{background:none}.neon-city{display:none}[data-theme=neon] .neon-city{display:block;position:fixed;inset:0;z-index:-1;pointer-events:none;transition:opacity .5s var(--ease)}[data-theme=neon] body.is-immersive .neon-city{opacity:0}.neon-sky{position:absolute;left:0;right:0;bottom:0;width:100%;height:min(38vh,240px)}.neon-sky-far{fill:#150b28}.neon-sky-near{fill:#0b0518}.neon-sky-lights{fill:#ffd98a;opacity:.5}.neon-road{position:absolute;left:0;right:0;bottom:0;height:min(20vh,130px);background:linear-gradient(to top,rgba(255,61,154,.16),transparent 62%),radial-gradient(60% 100% at 22% 100%,rgba(0,229,255,.14),transparent 70%),radial-gradient(50% 100% at 78% 100%,rgba(255,61,154,.18),transparent 72%);filter:blur(6px)}.neon-sign{position:absolute;display:grid;gap:6px;justify-items:center}.neon-sign--hang{top:0;right:clamp(10px,3vw,40px)}.neon-pole{width:1px;height:clamp(26px,6vh,58px);background:linear-gradient(to bottom,#3a2555,#6b4790)}.neon-tube{font-family:Noto Sans TC,sans-serif;font-weight:900;font-size:clamp(20px,3.4vw,34px);writing-mode:vertical-rl;letter-spacing:.14em;line-height:1;color:#ffe9f5;text-shadow:0 0 4px #fff,0 0 12px var(--tube),0 0 30px var(--tube),0 0 62px color-mix(in srgb,var(--tube) 60%,transparent)}.neon-tube--small{font-size:clamp(13px,2vw,18px);color:#e6fbff;letter-spacing:.2em;text-shadow:0 0 4px #fff,0 0 10px var(--tube-cool),0 0 26px var(--tube-cool)}.neon-sign--tea{bottom:clamp(70px,22vh,190px);right:clamp(10px,3vw,44px);gap:4px}.neon-cup{width:clamp(34px,4.4vw,52px);height:auto}.neon-cup-line,.neon-cup-pearls circle{fill:none;stroke:var(--tube);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px var(--tube)) drop-shadow(0 0 14px color-mix(in srgb,var(--tube) 70%,transparent))}.neon-cup-straw{stroke:var(--tube-cool);filter:drop-shadow(0 0 5px var(--tube-cool))}.neon-cup-pearls circle{stroke-width:2.4}.neon-sign--box{bottom:clamp(56px,16vh,120px);left:clamp(12px,4vw,48px);gap:10px}.neon-box{display:grid;gap:2px;justify-items:center;padding:8px 12px;border:1.5px solid color-mix(in srgb,var(--tube-cool) 70%,transparent);border-radius:4px;background:#06021099;box-shadow:0 0 18px -6px var(--tube-cool),inset 0 0 14px -8px var(--tube-cool)}.neon-box-top{font:700 10px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.24em;color:#9ff2ff}.neon-box-word{font:900 clamp(14px,1.8vw,19px)/1 "Noto Sans TC",sans-serif;letter-spacing:.1em;color:#fff0f8;text-shadow:0 0 4px #fff,0 0 14px var(--tube),0 0 34px var(--tube)}.neon-arrow{width:clamp(40px,5vw,58px);height:auto}.neon-arrow path{fill:none;stroke:var(--tube-cool);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px var(--tube-cool))}@keyframes neon-flicker{0%,92%,96%,to{opacity:1}93%{opacity:.32}95%{opacity:.58}}[data-theme=neon] .neon-tube--flicker{animation:neon-flicker 5.2s steps(1,end) 1.4s infinite}[data-motion=reduced] .neon-tube--flicker{animation:none}@media(max-width:720px){.neon-sign{display:none}}[data-theme=code]{--bg: #01040A;--surface: #0E141C;--surface-2: #141C26;--sunken: #070C12;--line: #1F2733;--line-2: #303C4C;--ink: #E6EDF3;--ink-2: #A8B4C4;--ink-3: #6E7E92;--good: #3FB950;--bad: #F85149;--warn: #D29922;--signal: #DB6D28;--on-accent: #01040A;--scrim: rgba(1, 4, 10, .76);--shadow-pop: 0 30px 90px -30px #000, 0 0 0 1px rgba(88, 166, 255, .12);--code-key: #FF7B72;--code-str: #A5D6FF;--code-num: #79C0FF;--code-cmt: #6E7E92;--ed-line: 27px}[data-theme=code] .panel-title:before{content:"// ";color:var(--code-cmt);font-weight:400}[data-theme=code] .panel-meta{color:var(--code-cmt)}[data-theme=code] :is(.stat-num,.today-num,.ring-num,.score-num,.clock-num,.reward-count,.points-pill .num){color:var(--code-num)}[data-theme=code] .item-title{font-weight:500}[data-theme=code] ::selection{background:#58a6ff4d}[data-theme=code] .panel,[data-theme=code] .panel-title{position:relative}[data-theme=code] .section-head:after,[data-theme=code] details.fold>summary:after{color:var(--code-cmt)}[data-theme=code] .avatar{border-radius:0;box-shadow:0 0 0 1px var(--line-2),-3px 0 0 var(--accent)}.ed-bar,.ed-crumbs,.ed-gutter,.ed-map,.ed-status{display:none}[data-theme=code] .ed-bar{display:flex;align-items:center;gap:12px;height:34px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--sunken);overflow:hidden}.ed-dots{display:flex;gap:6px;flex:none}.ed-dots i{width:9px;height:9px;border-radius:0;background:var(--line-2)}.ed-dots i:first-child{background:#f85149}.ed-dots i:nth-child(2){background:#d29922}.ed-dots i:last-child{background:#3fb950}.ed-tabs{display:flex;align-items:stretch;gap:0;min-width:0;overflow:hidden}.ed-tab{display:flex;align-items:center;gap:6px;padding:0 12px;flex:none;border-right:1px solid var(--line);color:var(--ink-3);font:400 11.5px/34px JetBrains Mono,ui-monospace,monospace;white-space:nowrap}.ed-tab.is-on{background:var(--surface);color:var(--ink);box-shadow:inset 0 1.5px 0 var(--accent)}.ed-tab-dot{width:7px;height:7px;flex:none;background:var(--code-cmt)}.ed-tab[data-ext=tsx] .ed-tab-dot,.ed-tab[data-ext=ts] .ed-tab-dot{background:var(--code-num)}.ed-tab[data-ext=json] .ed-tab-dot{background:var(--warn)}.ed-tab[data-ext=css] .ed-tab-dot{background:#c792ea}.ed-tab[data-ext=md] .ed-tab-dot{background:var(--ink-2)}.ed-tab-x{margin-left:2px;color:var(--ink-3);font-style:normal}[data-theme=code] .ed-crumbs{display:flex;align-items:center;gap:6px;height:24px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--surface);font:400 11px/24px JetBrains Mono,ui-monospace,monospace;color:var(--ink-3);white-space:nowrap;overflow:hidden}.ed-crumb.is-file{color:var(--ink-2)}.ed-crumb-sep{color:var(--line-2)}[data-theme=code] .ed-gutter{display:none;position:absolute;top:58px;bottom:22px;left:0;width:46px;border-right:1px solid var(--line);background:var(--sunken);overflow:hidden;font:400 12px/var(--ed-line) JetBrains Mono,ui-monospace,monospace;text-align:right;color:var(--ink-3);pointer-events:none}.ed-line{display:block;padding-right:10px;opacity:.5;counter-increment:ed-ln}.ed-line:before{content:counter(ed-ln)}[data-theme=code] .ed-gutter{counter-reset:ed-ln var(--first, 0);padding-top:calc(10px + var(--shift, 0px))}[data-theme=code] .ed-map{position:absolute;top:58px;right:0;bottom:22px;width:54px;padding:14px 6px;background:var(--sunken);border-left:1px solid var(--line);flex-direction:column;gap:5px;pointer-events:none;overflow:hidden}.ed-map-row{height:2px;background:var(--ink-3);opacity:.3}.ed-map-row.is-cmt{background:var(--code-cmt);opacity:.2}.ed-map-view{position:absolute;left:0;right:0;height:22%;top:calc(var(--at, 0) * (100% - 22%) / 100);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent);transition:top .18s linear}[data-motion=reduced] .ed-map-view{transition:none}[data-theme=code] .ed-status{display:flex;align-items:center;gap:14px;position:sticky;bottom:0;z-index:3;height:22px;padding:0 12px;border-top:1px solid var(--line);background:var(--sunken);font:400 11px/22px JetBrains Mono,ui-monospace,monospace;color:var(--ink-3);white-space:nowrap;overflow:hidden;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom))}@media(min-width:960px){[data-theme=code] .ed-status{bottom:0}}.ed-gap{flex:1 1 auto}.ed-stat{flex:none}.ed-stat--branch{color:var(--accent)}.ed-stat--ok{color:var(--good)}@media(min-width:960px){[data-theme=code] .stage{position:relative}[data-theme=code] :is(.ed-gutter,.ed-map){display:flex}[data-theme=code] .ed-gutter{display:block}[data-theme=code] .view{padding-left:74px;padding-right:76px}[data-theme=code] .reconnect{margin-left:74px;margin-right:76px}[data-theme=code] .topbar{padding-left:60px}}[data-theme=code] body.is-immersive :is(.ed-gutter,.ed-map,.ed-status){display:none}[data-theme=code] body.is-immersive .view{padding-left:0;padding-right:0}@media(max-width:719px){[data-theme=code] .ed-tabs .ed-tab:not(.is-on){display:none}}[data-theme=terminal]{--bg: #000000;--surface: #020602;--surface-2: #050D06;--sunken: #000000;--line: #123A1C;--line-2: #1E5E2E;--ink: #CFF7CB;--ink-2: #7FD98C;--ink-3: #4E9E5C;--good: #3CFF8F;--bad: #FF6060;--warn: #FFD24D;--signal: #3CFF8F;--on-accent: #001A06;--scrim: rgba(0, 0, 0, .82);--shadow-pop: 0 0 0 1px var(--line-2)}[data-theme=terminal] body{text-rendering:optimizeSpeed}[data-theme=terminal] .panel{border-top:1px dashed var(--line)}[data-theme=terminal] .panel-title:before{content:"── ";color:var(--ink-3)}[data-theme=terminal] .panel-title:after{content:" ──────────────────";color:var(--line-2);font-weight:400}[data-theme=terminal] .panel-meta:before{content:"["}[data-theme=terminal] .panel-meta:after{content:"]"}[data-theme=terminal] .btn:not(.icon-btn):not(.btn--text):before{content:"[";margin-right:2px;color:var(--ink-3)}[data-theme=terminal] .btn:not(.icon-btn):not(.btn--text):after{content:"]";margin-left:2px;color:var(--ink-3)}[data-theme=terminal] .btn--text:before{content:"› ";color:var(--ink-3)}[data-theme=terminal] .nav-item:before{content:"$";color:var(--ink-3);font-weight:400}[data-theme=terminal] .nav-item[aria-current=page]:before{color:var(--accent)}[data-theme=terminal] .tab:before{content:none}[data-theme=terminal] :is(.stat-num,.today-num,.ring-num,.score-num,.clock-num,.reward-count){color:var(--accent)}[data-theme=terminal] .page-sub,[data-theme=terminal] .note{color:var(--ink-3)}[data-theme=terminal] .page-sub:before,[data-theme=terminal] .note:before{content:"# "}[data-theme=terminal] ::selection{background:var(--accent);color:#000}[data-theme=terminal] :is(.avatar,.hero-pic,.art,.sticker,.view-loading,.brand-mark){filter:grayscale(1) brightness(1.1) sepia(1) hue-rotate(72deg) saturate(2.6)}[data-theme=terminal] :is(.hero-waves,.hero-banner){display:none}[data-theme=terminal] .hero{border-bottom:1px dashed var(--line)}[data-theme=terminal] .avatar{border-radius:0;box-shadow:0 0 0 1px var(--line-2)}[data-theme=terminal] .sidebar-user:before{content:"[";color:var(--ink-3)}[data-theme=terminal] .sidebar-user:after{content:"]";color:var(--ink-3)}.term-top,.term-status{display:none}[data-theme=terminal] .term-top{display:flex;align-items:center;gap:10px;height:26px;padding:0 10px;border-bottom:1px solid var(--line-2);background:var(--surface-2);overflow:hidden}.term-btns{display:flex;gap:5px;flex:none}.term-btns i{width:9px;height:9px;border:1px solid var(--line-2)}.term-btns i:last-child{border-color:var(--bad)}.term-name{font:400 11px/26px JetBrains Mono,ui-monospace,monospace;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.termline{display:none}[data-theme=terminal] .termline{display:flex;align-items:center;gap:0;padding:7px 14px;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:400 12.5px/1.5 JetBrains Mono,ui-monospace,monospace;white-space:nowrap;overflow:hidden}.termline-who{color:var(--accent)}.termline-sep,.termline-sign{color:var(--ink-3)}.termline-path{color:var(--signal)}.termline-cmd{margin-left:8px;color:var(--ink);overflow:hidden}.termline-cmd.is-typing{display:inline-block;max-width:calc(var(--ch, 10) * 1ch);animation:term-type calc(var(--ch, 10) * 42ms) steps(var(--ch, 10),end) both}@keyframes term-type{0%{max-width:0}}[data-theme=terminal] .termline:after{content:"▋";margin-left:6px;color:var(--accent);animation:term-blink 1.1s steps(1) infinite}@keyframes term-blink{50%{opacity:0}}[data-motion=reduced] .termline:after{animation:none}[data-motion=reduced] .termline-cmd.is-typing{animation:none;max-width:none}[data-theme=terminal] .term-status{display:flex;align-items:center;gap:10px;position:sticky;bottom:0;z-index:3;height:22px;padding:0 8px;background:var(--accent);color:#001a06;font:500 11.5px/22px JetBrains Mono,ui-monospace,monospace;white-space:nowrap;overflow:hidden;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom))}@media(min-width:960px){[data-theme=terminal] .term-status{bottom:0}}[data-theme=terminal] body.is-immersive .term-status{display:none}.term-session{font-weight:700;flex:none}.term-windows{display:flex;gap:10px;min-width:0;overflow:hidden}.term-window{flex:none;opacity:.66}.term-window.is-on{opacity:1;background:#001a06;color:var(--accent);padding:0 5px}.term-clock{flex:none;font-variant-numeric:tabular-nums}.crt{display:none}[data-theme=terminal] .crt{display:block;position:fixed;inset:0;z-index:300;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.18) 0 1px,transparent 1px 3px),radial-gradient(120% 100% at 50% 50%,transparent 62%,rgba(0,0,0,.42) 100%);mix-blend-mode:multiply}[data-theme=terminal] .crt:after{content:"";position:absolute;inset:0;background:radial-gradient(90% 60% at 50% 0%,rgba(60,255,143,.05),transparent 70%);mix-blend-mode:screen;animation:crt-breathe 7s ease-in-out infinite alternate}@keyframes crt-breathe{to{opacity:.45}}[data-motion=reduced] .crt:after{animation:none}@media(min-width:960px){[data-theme=terminal] .stage{border:1px solid var(--line-2);box-shadow:none}[data-theme=terminal] .sidebar{border-bottom:1px solid var(--line)}}[data-theme=starship]{--bg: #02050E;--surface: rgba(6, 14, 28, .88);--surface-2: rgba(10, 24, 48, .92);--sunken: #010309;--line: rgba(0, 240, 255, .22);--line-2: rgba(0, 240, 255, .45);--ink: #E0F7FF;--ink-2: #80D0E8;--ink-3: #4088A8;--accent: #00F0FF;--accent-ink: #00F0FF;--accent-line: rgba(0, 240, 255, .6);--accent-ring: rgba(0, 240, 255, .3);--on-accent: #020914;--good: #00FFA3;--bad: #FF2A6D;--warn: #FFB300;--signal: #FFB300;--scrim: rgba(2, 5, 14, .85);--shadow-pop: 0 0 0 1px rgba(0, 240, 255, .35), 0 20px 60px -15px rgba(0, 240, 255, .3);--hud-h: 38px}[data-theme=starship] body{background:#02050e;text-rendering:optimizeLegibility}.starship-canvas{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none}.starship-hud{display:none}[data-theme=starship] .starship-hud{display:block;position:fixed;top:0;left:0;right:0;height:var(--hud-h);z-index:85;background:#020610eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,240,255,.35);box-shadow:0 4px 24px #00f0ff26;color:#80d0e8;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px}[data-theme=starship] .shell{padding-top:var(--hud-h)}@media(min-width:960px){[data-theme=starship] [data-navlayout=side] .sidebar{top:var(--hud-h);height:calc(100vh - var(--hud-h))}}@media(max-width:959px){[data-theme=starship] .topbar{top:var(--hud-h)}[data-theme=starship] [data-drawer=open] .sidebar{top:var(--hud-h);height:calc(100vh - var(--hud-h))}}[data-theme=starship] .starship-hud-in{max-width:1600px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:12px}[data-theme=starship] .starship-hud-left,[data-theme=starship] .starship-hud-center,[data-theme=starship] .starship-hud-right{display:flex;align-items:center;gap:10px}[data-theme=starship] .starship-reactor .reactor-rotor{transform-origin:20px 20px;animation:starship-spin 6s linear infinite}[data-theme=starship] .starship-reactor .reactor-core{animation:starship-pulse 2s ease-in-out infinite alternate}@keyframes starship-spin{to{transform:rotate(360deg)}}@keyframes starship-pulse{0%{r:5px;opacity:.7}to{r:7.5px;opacity:1;filter:drop-shadow(0 0 6px #00F0FF)}}[data-theme=starship] .starship-ship-tag{color:#00f0ff;font-weight:700;letter-spacing:.08em}[data-theme=starship] .starship-clock{color:#ffb300;font-variant-numeric:tabular-nums;margin-left:6px}[data-theme=starship] .starship-mission-tag{color:#e0f7ff;font-weight:700;letter-spacing:.06em;text-shadow:0 0 8px rgba(0,240,255,.6)}[data-theme=starship] .starship-reticle-decor{color:#00f0ff80;font-weight:900}[data-theme=starship] .starship-warp-btn{padding:2px 8px;border-radius:3px;background:#00f0ff26;border:1px solid rgba(0,240,255,.45);color:#00f0ff;font-family:inherit;font-size:11px;font-weight:750;cursor:pointer;letter-spacing:.04em;transition:all .2s ease;box-shadow:0 0 10px #00f0ff33}[data-theme=starship] .starship-warp-btn:hover{background:#00f0ff4d;box-shadow:0 0 16px #00f0ff99;transform:scale(1.04)}[data-theme=starship] .starship-hud-btn{background:#00f0ff14;border:1px solid rgba(0,240,255,.32);color:#80d0e8;font-family:inherit;font-size:10.5px;font-weight:700;padding:2px 7px;cursor:pointer;border-radius:3px;transition:all .2s ease}[data-theme=starship] .starship-hud-btn:hover{background:#00f0ff38;color:#00f0ff;box-shadow:0 0 10px #00f0ff59}[data-theme=starship] .starship-hud-btn.is-active{background:#00f0ff38;border-color:#00f0ff;color:#00f0ff;box-shadow:0 0 12px #00f0ff66}[data-theme=starship] .starship-sfx-toggle{background:#00f0ff1a;border:1px solid rgba(0,240,255,.4);color:#00f0ff;font-size:10.5px;font-weight:700;padding:2px 8px;cursor:pointer;border-radius:3px;transition:all .2s ease}[data-theme=starship] .starship-sfx-toggle:hover{background:#00f0ff40;box-shadow:0 0 10px #00f0ff66}[data-theme=starship] .starship-sfx-toggle.is-muted{background:#ff2a6d26;border-color:#ff2a6d80;color:#ff2a6d}.starship-reticle{display:none}[data-theme=starship] .starship-reticle{display:block;position:fixed;top:0;left:0;width:32px;height:32px;pointer-events:none;z-index:999;transition:transform .08s ease-out,width .15s ease,height .15s ease,opacity .15s ease;opacity:.65}[data-theme=starship] .starship-reticle.is-locked{width:44px;height:44px;opacity:1;filter:drop-shadow(0 0 8px #00F0FF)}[data-theme=starship] .starship-reticle span{position:absolute;width:8px;height:8px;border:1.5px solid #00F0FF}[data-theme=starship] .reticle-tl{top:0;left:0;border-right:0!important;border-bottom:0!important}[data-theme=starship] .reticle-tr{top:0;right:0;border-left:0!important;border-bottom:0!important}[data-theme=starship] .reticle-bl{bottom:0;left:0;border-right:0!important;border-top:0!important}[data-theme=starship] .reticle-br{bottom:0;right:0;border-left:0!important;border-top:0!important}[data-theme=starship] .stage{position:relative;background:#040a16d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,240,255,.28);box-shadow:0 0 40px #00f0ff14,inset 0 1px #00f0ff4d}[data-theme=starship] .sidebar{background:#020610eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid rgba(0,240,255,.25)}[data-theme=starship] .panel{background:#081224b8;border:1px solid rgba(0,240,255,.22);border-left:3px solid #00F0FF;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));box-shadow:0 8px 32px -10px #000000b3,inset 0 0 20px #00f0ff08}[data-theme=starship] .panel-title{color:#e0f7ff;text-shadow:0 0 12px rgba(0,240,255,.4);letter-spacing:.04em}[data-theme=starship] .panel-title:before{content:"▰ ";color:#00f0ff}[data-theme=starship] .hero{border:1px solid rgba(0,240,255,.3);background:linear-gradient(135deg,#00f0ff14,#061226cc);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));box-shadow:0 0 30px #00f0ff1f}[data-theme=starship] .hero .page-title{color:#fff;text-shadow:0 0 18px rgba(0,240,255,.7),0 0 35px rgba(0,240,255,.35)}[data-theme=starship] .btn{font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;letter-spacing:.05em;text-transform:uppercase;border-radius:0;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));border:1px solid rgba(0,240,255,.35);transition:all .2s cubic-bezier(.2,.8,.2,1)}[data-theme=starship] .btn:hover{background:#00f0ff26;border-color:#00f0ff;box-shadow:0 0 14px #00f0ff59}[data-theme=starship] .btn--solid{background:#00f0ff;border-color:#00f0ff;color:#020914;font-weight:750;box-shadow:0 0 18px #00f0ff80,inset 0 0 10px #fff6}[data-theme=starship] .btn--solid:hover{background:#5cf5ff;border-color:#5cf5ff;box-shadow:0 0 28px #00f0ffcc;transform:translateY(-1px)}[data-theme=starship] .option{border-radius:0;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));border:1px solid rgba(0,240,255,.22);background:#06102099;transition:all .2s ease}[data-theme=starship] .option:hover{border-color:#00f0ff80;background:#00f0ff14}[data-theme=starship] .option.is-picked{border-color:#00f0ff;background:#00f0ff2e;box-shadow:0 0 24px #00f0ff47,inset 0 0 12px #00f0ff1a}[data-theme=starship] :is(.stat-num,.today-num,.ring-num,.score-num,.clock-num,.reward-count,.points-pill .num){color:#00f0ff;text-shadow:0 0 12px rgba(0,240,255,.6);font-family:JetBrains Mono,monospace}[data-theme=starship] .nav-item{font-family:JetBrains Mono,ui-monospace,monospace;border-radius:0;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px))}[data-theme=starship] .nav-item[aria-current=page]{background:#00f0ff24;color:#00f0ff;border-left:3px solid #00F0FF;box-shadow:inset 0 0 14px #00f0ff14}[data-theme=starship] .avatar{border-radius:2px;border-color:#00f0ff;box-shadow:0 0 16px #00f0ff66}[data-theme=starship] ::selection{background:#00f0ff73;color:#fff}[data-theme=starship] body.is-immersive .starship-reticle{display:none}@media(max-width:720px){[data-theme=starship] .starship-hud .starship-hud-left .starship-clock,[data-theme=starship] .starship-hud .starship-hud-right .starship-shield-meter,[data-theme=starship] .starship-reticle{display:none}}.starship-photon-ripple{position:fixed;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid #00F0FF;box-shadow:0 0 16px #00f0ff,inset 0 0 10px #00f0ff;pointer-events:none;z-index:1001;animation:photon-ripple-expand .55s cubic-bezier(.1,.8,.3,1) forwards}@keyframes photon-ripple-expand{0%{transform:scale(1);opacity:1}to{transform:scale(16);opacity:0}}.starship-radar-modal{display:none}[data-theme=starship] .starship-radar-modal.is-open{display:grid;place-items:center;position:fixed;inset:0;z-index:150;background:#02050ed6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:fade-in .22s ease both;padding:16px}[data-theme=starship] .starship-radar-box{width:min(680px,94vw);background:#040c1af2;border:1px solid rgba(0,240,255,.45);box-shadow:0 0 50px #00f0ff40,inset 0 0 30px #00f0ff0d;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));color:#e0f7ff;font-family:JetBrains Mono,ui-monospace,monospace}[data-theme=starship] .radar-box-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid rgba(0,240,255,.3);background:#00f0ff14}[data-theme=starship] .radar-box-title{color:#00f0ff;font-weight:750;font-size:12.5px;letter-spacing:.06em}[data-theme=starship] .radar-close-btn{background:#ff2a6d26;border:1px solid rgba(255,42,109,.5);color:#ff2a6d;font-size:11px;font-weight:700;padding:3px 8px;cursor:pointer;border-radius:2px;transition:all .2s ease}[data-theme=starship] .radar-close-btn:hover{background:#ff2a6d4d;box-shadow:0 0 10px #ff2a6d80}[data-theme=starship] .radar-box-body{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:20px}@media(max-width:640px){[data-theme=starship] .radar-box-body{grid-template-columns:1fr}}[data-theme=starship] .radar-scope-col{display:flex;flex-direction:column;align-items:center;gap:12px}[data-theme=starship] .radar-circle{position:relative;width:190px;height:190px;border-radius:50%;border:1.5px solid rgba(0,240,255,.6);background:radial-gradient(circle,#00f0ff1a,#020612f2 75%);box-shadow:0 0 20px #00f0ff40,inset 0 0 20px #00f0ff26;overflow:hidden}[data-theme=starship] .radar-ring{position:absolute;border-radius:50%;border:1px dashed rgba(0,240,255,.3);inset:0;margin:auto}[data-theme=starship] .radar-ring.r1{width:60px;height:60px}[data-theme=starship] .radar-ring.r2{width:110px;height:110px}[data-theme=starship] .radar-ring.r3{width:155px;height:155px}[data-theme=starship] .radar-axis-x{position:absolute;left:0;right:0;top:50%;height:1px;background:#00f0ff40}[data-theme=starship] .radar-axis-y{position:absolute;top:0;bottom:0;left:50%;width:1px;background:#00f0ff40}[data-theme=starship] .radar-sweep{position:absolute;top:50%;left:50%;width:95px;height:95px;transform-origin:0 0;background:conic-gradient(from 0deg,#00f0ff80,#00f0ff00 65deg);animation:radar-sweep-spin 4s linear infinite;pointer-events:none}@keyframes radar-sweep-spin{to{transform:rotate(360deg)}}[data-theme=starship] .radar-blip{position:absolute;width:6px;height:6px;border-radius:50%;background:#00ffa3;box-shadow:0 0 8px #00ffa3;animation:radar-blip-pulse 1.8s ease-in-out infinite}[data-theme=starship] .radar-blip.b1{top:35%;left:65%}[data-theme=starship] .radar-blip.b2{top:70%;left:30%;background:#ffb300;box-shadow:0 0 8px #ffb300}[data-theme=starship] .radar-blip.b3{top:25%;left:30%}@keyframes radar-blip-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.4)}}[data-theme=starship] .radar-ping-btn{background:#00f0ff26;border:1px solid rgba(0,240,255,.5);color:#00f0ff;font-family:inherit;font-size:11px;font-weight:750;padding:5px 12px;cursor:pointer;border-radius:3px;transition:all .2s ease;width:100%}[data-theme=starship] .radar-ping-btn:hover{background:#00f0ff4d;box-shadow:0 0 14px #00f0ff80}[data-theme=starship] .radar-subhead{margin:0 0 8px;font-size:12px;color:#00f0ff;letter-spacing:.05em}[data-theme=starship] .radar-telemetry-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}[data-theme=starship] .radar-stat-cell{background:#00f0ff0d;border:1px solid rgba(0,240,255,.2);padding:6px 8px;border-radius:2px;display:grid;gap:2px}[data-theme=starship] .radar-stat-cell .label{font-size:10px;color:#80d0e8}[data-theme=starship] .radar-stat-cell .val{font-size:11.5px;font-weight:700;color:#e0f7ff}[data-theme=starship] .radar-stat-cell .val.good{color:#00ffa3}[data-theme=starship] .radar-note{font-size:12px;line-height:1.6;color:#80d0e8;margin:0}[data-theme=starship] body.is-immersive .stage{border-color:#00f0ff66}[data-theme=starship] .room-bar{background:#020610f2;border-bottom:1px solid rgba(0,240,255,.35);backdrop-filter:blur(12px)}[data-theme=starship] .room-bar .btn--solid{background:#00f0ff;border-color:#00f0ff;color:#020914;font-weight:800;box-shadow:0 0 16px #00f0ff99;letter-spacing:.08em}[data-theme=starship] .dock{background:#020610f2;border-top:1px solid rgba(0,240,255,.35);backdrop-filter:blur(12px)}[data-theme=starship] .dock-cell{border-radius:2px;font-family:JetBrains Mono,monospace;font-weight:700;border:1px solid rgba(0,240,255,.3);transition:all .2s ease}[data-theme=starship] .dock-cell.is-answered{background:#00ffa32e;border-color:#00ffa3;color:#00ffa3;box-shadow:0 0 10px #00ffa366}[data-theme=starship] .dock-cell.is-marked{background:#ffb3002e;border-color:#ffb300;color:#ffb300;box-shadow:0 0 10px #ffb30066}[data-theme=starship] .dock-cell.is-current{border-color:#00f0ff;background:#00f0ff47;color:#00f0ff;box-shadow:0 0 14px #00f0ff99}[data-theme=starship] .option-index{font-family:JetBrains Mono,monospace;font-weight:800;color:#00f0ff}[data-theme=starship] .option.is-picked .option-index{color:#020914;background:#00f0ff;border-radius:2px;padding:0 4px}.drawer-scrim{position:fixed;inset:0;z-index:45;background:color-mix(in srgb,var(--scrim) 55%,transparent);opacity:0;pointer-events:none;transition:opacity .32s var(--ease)}[data-mode=dark] .drawer-scrim{background:color-mix(in srgb,var(--scrim) 26%,transparent)}[data-drawer=open] .drawer-scrim{opacity:1;pointer-events:auto}:is(.stage,.tabbar){transition:filter .34s var(--ease)}[data-drawer=open] :is(.stage,.tabbar){filter:blur(10px) saturate(.82);pointer-events:none}[data-motion=reduced] :is(.stage,.tabbar){transition:none}[data-motion=reduced][data-drawer=open] :is(.stage,.tabbar){filter:none}.nav-more-group{position:relative;display:grid;gap:2px}.nav-more .nav-chevron{margin-left:auto;color:var(--ink-3);transition:transform .3s var(--ease)}.nav-more[aria-expanded=true] .nav-chevron{transform:rotate(180deg)}.nav-more[aria-expanded=true]{color:var(--ink)}.nav-sub{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .34s var(--ease),opacity .26s var(--ease)}.nav-sub>div{overflow:hidden;display:grid;gap:2px}.nav-sub.is-open{grid-template-rows:1fr;opacity:1}.nav-sub>div{margin:2px 0 2px 21px;padding-left:8px;border-left:1px solid var(--line)}.nav-sub .nav-item .icon{color:var(--ink-3)}.nav-sub:not(.is-open){pointer-events:none}[data-navlayout=side] .shell.is-collapsed .nav-chevron{display:none}@media(min-width:960px){[data-navlayout=top] .nav-sub{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:190px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}[data-navlayout=top] .nav-sub:not(.is-open){border-color:transparent;box-shadow:none}[data-navlayout=top] .nav-sub>div{margin:0;padding:0;border-left:0}}@media(max-width:959px){:is([data-drawer=open],[data-drawer=closing]) .sidebar{display:flex;flex-direction:column;gap:4px;position:fixed;top:0;left:0;bottom:0;z-index:50;width:min(320px,86vw);padding:calc(18px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom));background:var(--surface);border-right:1px solid var(--line);box-shadow:var(--shadow-pop);overflow-y:auto;overscroll-behavior:contain;animation:drawer-in .34s var(--ease) both}[data-drawer=closing] .sidebar{animation:drawer-out .3s var(--ease) both}:is([data-drawer=open],[data-drawer=closing]) .sidebar .nav{position:relative;display:grid;gap:2px}:is([data-drawer=open],[data-drawer=closing]) .sidebar .nav-item{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 12px;border-radius:var(--r-md);color:var(--ink-2);font-weight:600;font-size:15px;text-decoration:none}:is([data-drawer=open],[data-drawer=closing]) .sidebar .nav-item[aria-current=page]{color:var(--ink);background:var(--surface-2)}:is([data-drawer=open],[data-drawer=closing]) .sidebar .nav-item[aria-current=page] .icon{color:var(--accent-ink)}:is([data-drawer=open],[data-drawer=closing]) .sidebar .nav-indicator{display:none}:is([data-drawer=open],[data-drawer=closing]) .sidebar-top{display:flex;align-items:center;gap:8px;padding:0 6px 14px}:is([data-drawer=open],[data-drawer=closing]) .sidebar-foot{margin-top:auto;display:grid;gap:6px;padding-top:12px}:is([data-drawer=open],[data-drawer=closing]) .sidebar-user{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;text-decoration:none;min-width:0}:is([data-drawer=open],[data-drawer=closing]) .sidebar-user-text{min-width:0;display:grid;line-height:1.35}:is([data-drawer=open],[data-drawer=closing]) .sidebar-user-name{font-weight:650;font-size:13.5px;overflow:hidden;text-overflow:ellipsis}:is([data-drawer=open],[data-drawer=closing]) .sidebar-user-points{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}:is([data-drawer=open],[data-drawer=closing]) .avatar{display:inline-grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line-2);font-weight:700;font-size:14px}.drawer-btn{margin-left:-4px}}@keyframes drawer-in{0%{transform:translate(-102%)}}@keyframes drawer-out{to{transform:translate(-102%)}}[data-motion=reduced] .sidebar{animation:none!important}button.nav-item{width:100%;display:flex;align-items:center;gap:12px;border:0;background:none;font:inherit;text-align:left;cursor:pointer}.sidebar.is-spreading .nav-item,.sidebar.is-squeezing .nav-item{transform-origin:left center}@keyframes nav-push-out{0%{opacity:0;transform:translate(-9px,calc(var(--i, 0) * -11px)) scale(.9)}}@keyframes nav-squeeze{50%{transform:translateY(calc(var(--i, 0) * -4px)) scale(.93)}}@keyframes nav-label-in{0%{opacity:0;transform:translate(-7px)}}.sidebar.is-spreading .nav-item{animation:nav-push-out .46s var(--spring) both;animation-delay:calc(var(--i, 0) * 34ms)}.sidebar.is-spreading .nav-label{animation:nav-label-in .4s var(--ease) both;animation-delay:calc(var(--i, 0) * 34ms + 50ms)}.sidebar.is-squeezing .nav-item{animation:nav-squeeze .34s var(--ease) both;animation-delay:calc(var(--i, 0) * 15ms)}@media(min-width:960px){[data-drawer=open] .sidebar{position:fixed;top:0;bottom:0;left:0;z-index:50;width:324px;padding:22px 16px 18px;background:var(--surface);border-right:1px solid var(--line);box-shadow:var(--shadow-pop);overflow-y:auto;transition:width .36s var(--ease)}[data-drawer=open] .shell.is-collapsed .brand-name,[data-drawer=open] .shell.is-collapsed .nav-label,[data-drawer=open] .shell.is-collapsed .sidebar-user-text{display:revert}[data-drawer=open] .shell.is-collapsed .sidebar-top{flex-direction:row;padding-bottom:26px}[data-drawer=open] .shell.is-collapsed .nav-item{justify-content:flex-start;padding:0 12px 0 16px}[data-drawer=open] .shell.is-collapsed .sidebar-user{justify-content:flex-start;padding:12px;border:1px solid var(--line)}[data-navlayout=top][data-drawer=open] .sidebar{flex-direction:column;align-items:stretch;height:auto}}.palette{position:fixed;inset:0;z-index:95;display:grid;align-items:start;justify-items:center;padding:12vh 16px 16px;background:var(--scrim)}.palette[hidden]{display:none}.palette-panel{width:min(560px,100%);max-height:min(70vh,560px);display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);animation:palette-in .28s var(--ease) both}@keyframes palette-in{0%{opacity:0;transform:translateY(-10px) scale(.985)}}[data-motion=reduced] .palette-panel{animation:none}.palette-row{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}.palette-sign{flex:none;color:var(--accent-ink);font-weight:700}.palette-input{flex:1;min-width:0;border:0;background:none;color:var(--ink);font:inherit;font-size:15.5px;outline:none}.palette-list{list-style:none;margin:0;padding:6px;overflow-y:auto;overscroll-behavior:contain}.palette-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--r-sm);color:var(--ink-2);font-size:14px;cursor:pointer}.palette-item .icon{flex:none;color:var(--ink-3)}.palette-item.is-active{background:var(--surface-2);color:var(--ink)}.palette-item.is-active .icon{color:var(--accent-ink)}.palette-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-hint{flex:none;font-size:12px;color:var(--ink-3)}.palette-empty{padding:18px 12px;color:var(--ink-3);font-size:14px;text-align:center}.palette-foot{margin:0;padding:8px 14px;border-top:1px solid var(--line);color:var(--ink-3);font-size:11.5px}.palette-foot kbd{margin:0 3px}[data-theme=terminal] .palette{align-items:end;padding:0;background:none;backdrop-filter:none}[data-theme=terminal] .palette-panel{width:100%;max-width:none;max-height:58vh;border:0;border-top:1px solid var(--line-2);animation:none}[data-theme=terminal] .palette-row{border-bottom:0;border-top:1px solid var(--line);order:2}[data-theme=terminal] .palette-sign:after{content:" student@nssh:~$";color:var(--ink-3);font-weight:400}[data-theme=terminal] .palette-list{order:1}[data-theme=terminal] .palette-foot{order:3;border-top:0}.dock-player{position:fixed;left:0;top:0;z-index:70;width:min(312px,calc(100vw - 24px));display:grid;gap:9px;padding:11px;background:var(--surface);border:1px solid var(--line-2);border-radius:18px;box-shadow:0 30px 64px -30px #08122499,0 3px 10px #08122412;transform:translate(var(--x, 0px),var(--y, 0px));transition:transform .44s var(--spring),width .28s var(--ease),box-shadow .3s var(--ease);animation:dock-player-in .3s var(--ease) both;touch-action:none}.dock-player[hidden]{display:none}@keyframes dock-player-in{0%{opacity:0}}[data-mode=dark] .dock-player{box-shadow:0 30px 64px -26px #000000b8,inset 0 1px #ffffff0d}.dock-player.is-dragging{transition:width .28s var(--ease);box-shadow:0 44px 80px -30px #081224b3}.dock-player-grip{display:flex;align-items:center;gap:10px;min-width:0;cursor:grab}.dock-player.is-dragging .dock-player-grip{cursor:grabbing}.dock-player-body{display:grid;gap:8px}.dock-player.is-mini{width:auto;gap:0;padding:8px}.dock-player.is-mini :is(.dock-player-body,.player-text,.player-btn--close){display:none}.dock-player.is-mini .player-cover{width:38px;height:38px}.player-cover{position:relative;flex:none;width:42px;height:42px;padding:0;border:0;border-radius:12px;background:none;cursor:pointer;overflow:hidden}.player-art{display:grid;place-items:center;width:100%;height:100%;border-radius:12px;border:1px solid var(--line);background:var(--sunken);color:var(--ink-3);overflow:hidden}.player-art img{width:100%;height:100%;object-fit:cover;display:block}.player-cover-icon{position:absolute;inset:0;display:grid;place-items:center;border-radius:12px;background:#00000073;color:#fff;opacity:0;transition:opacity .2s}.player-cover:hover .player-cover-icon,.player-cover:focus-visible .player-cover-icon{opacity:1}.dock-player:not(.is-playing) .player-cover-icon{opacity:1}.player-text{min-width:0;flex:1;display:grid;line-height:1.3}.player-title{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-artist{font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-wave{flex:none;width:40px;height:18px;color:var(--accent);opacity:.85}.player-wave[hidden]{display:none}.dock-player:not(.is-playing) .player-wave{opacity:.35}.player-line{display:flex;align-items:center;gap:8px}.player-time{flex:none;font-size:10.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.player-controls{display:flex;align-items:center;gap:2px}.player-btn{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:none;color:var(--ink-2);cursor:pointer;transition:color .2s,background-color .2s,transform .2s var(--ease)}.player-btn:hover:not(:disabled){color:var(--ink);background:var(--surface-2)}.player-btn:active:not(:disabled){transform:scale(.9)}.player-btn:disabled{color:var(--ink-3);cursor:default}.player-btn--play{width:34px;height:34px;border:1px solid var(--line-2);color:var(--ink)}.player-btn--play:hover:not(:disabled){background:var(--sunken)}.player-btn--small{width:26px;height:26px}.player-btn .icon{transition:transform .3s var(--ease)}.player-btn.is-folded .icon{transform:rotate(180deg)}.player-btn--small.is-off{color:var(--ink-3)}.player-vol{display:flex;align-items:center;gap:2px;margin-left:auto;min-width:0}.player-range{-webkit-appearance:none;appearance:none;flex:1;min-width:0;height:14px;background:none;cursor:pointer}.player-range::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(to right,var(--accent) var(--fill, 0%),var(--line-2) var(--fill, 0%))}.player-range::-moz-range-track{height:3px;border-radius:3px;background:linear-gradient(to right,var(--accent) var(--fill, 0%),var(--line-2) var(--fill, 0%))}.player-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;margin-top:-3.5px;border:0;border-radius:50%;background:var(--accent);opacity:0;transition:opacity .2s}.player-range::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:var(--accent);opacity:0;transition:opacity .2s}.dock-player:hover .player-range::-webkit-slider-thumb,.player-range:focus-visible::-webkit-slider-thumb{opacity:1}.dock-player:hover .player-range::-moz-range-thumb,.player-range:focus-visible::-moz-range-thumb{opacity:1}.player-range:focus-visible{outline:2px solid var(--accent-ring);outline-offset:3px;border-radius:3px}.player-range--vol{width:52px;flex:none}.tracks{list-style:none;margin:0;padding:0;max-height:46vh;overflow-y:auto;overscroll-behavior:contain}.track{display:flex;align-items:center;gap:12px;width:100%;padding:9px 4px;border:0;border-top:1px solid var(--line);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.tracks>li:first-child .track{border-top:0}.track:hover{background:var(--surface-2)}.track.is-now{color:var(--accent-ink)}.track-art{flex:none;width:34px;height:34px;border-radius:7px;border:1px solid var(--line);background:var(--sunken);overflow:hidden}.track-art img{width:100%;height:100%;object-fit:cover;display:block}.track-text{flex:1;min-width:0;display:grid;line-height:1.35}.track-title{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-artist{font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-time{flex:none;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}.music-search{display:flex;gap:8px;margin:0 0 12px}.music-search .input{flex:1}.music-vol{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:var(--ink-2)}.music-vol input[type=range]{flex:1;accent-color:var(--accent)}.maker{display:grid;gap:14px}.maker-colours{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px}.maker-colour{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-md)}.maker-colour input[type=color]{flex:none;width:34px;height:34px;padding:0;border:1px solid var(--line-2);border-radius:8px;background:none;cursor:pointer}.maker-colour-text{display:grid;line-height:1.3;min-width:0}.maker-colour-name{font-size:13px;font-weight:600}.maker-colour-hex{font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;text-transform:uppercase}.maker-warn{margin:0;color:var(--warn);font-size:13px}.theme-tile--mine{position:relative}.theme-tile-lock{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;background:var(--scrim);color:#fff;font-size:11px;font-weight:650}.theme-tile.is-locked .theme-preview{opacity:.55}.theme-tile.is-locked .theme-name{color:var(--ink-3)}.shelf-theme{position:relative;display:block;width:100%;aspect-ratio:16 / 10;border-radius:10px;border:1px solid var(--line);overflow:hidden}.shelf-theme>span{position:absolute;border-radius:2px}.shelf-theme>.shelf-theme-drawing{inset:0;border-radius:0}.shelf-theme-drawing span{position:absolute;border-radius:4px}.shelf-theme-surface{left:6%;top:12%;width:30%;height:62%;border-radius:4px}.shelf-theme-line{left:42%;top:20%;width:46%;height:8%;opacity:.8}.shelf-theme-line--short{top:38%;width:28%;opacity:.4}.shelf-theme-accent{left:42%;top:56%;width:22%;height:10%;border-radius:99px}.shelf-theme-fire{inset:38% 0 -30%;border-radius:0;background:radial-gradient(52% 100% at 50% 100%,rgba(255,226,170,.95),rgba(255,140,46,.6) 42%,transparent 74%)}.shelf-theme-sky{left:0;right:0;bottom:0;height:26%;border-radius:0;background:linear-gradient(to top,rgba(255,61,154,.3),transparent),repeating-linear-gradient(90deg,#150B28 0 9%,transparent 9% 12%,#0B0518 12% 19%,transparent 19% 23%)}.shelf-theme-tube{right:9%;top:10%;width:4%;height:34%;border-radius:99px}.shelf-theme-tabs{left:0;right:0;top:0;height:13%;border-radius:0;opacity:.9}.shelf-theme-tab{left:6%;top:0;width:20%;height:2.5%;border-radius:0}.shelf-theme-gutter{left:0;top:13%;bottom:11%;width:7%;border-radius:0;opacity:.85}.shelf-theme-bar{left:0;right:0;bottom:0;height:11%;border-radius:0}.shelf-theme-starfield{inset:0;border-radius:0;background:radial-gradient(circle at 50% 50%,#00f0ff4d,#02050e 80%)}.shelf-theme-reactor{left:12%;top:20%;width:20%;aspect-ratio:1;border-radius:50%!important;border:1.5px solid #00F0FF;box-shadow:0 0 8px #00f0ff}.shelf-theme-reticle{right:12%;bottom:20%;width:18%;aspect-ratio:1;border:1px dashed #00F0FF;border-radius:0}.shelf-theme--code>span,.shelf-theme--terminal>span,.shelf-theme--starship>span{border-radius:0}.shelf-theme--code .shelf-theme-accent,.shelf-theme--terminal .shelf-theme-accent,.shelf-theme--starship .shelf-theme-accent{border-radius:0;box-shadow:0 0 8px #00f0ff}.shelf-theme--tool{display:block;color:var(--ink-2);background:radial-gradient(120% 90% at 20% 0%,color-mix(in srgb,var(--accent) 14%,var(--surface)),var(--sunken))}.shelf-theme--tool>.shelf-chip{left:calc(20% + var(--k) * 13%);top:18%;width:24%;height:64%;border-radius:5px;box-shadow:0 6px 14px -8px #0a101e8c,inset 0 0 0 1px #ffffff1f;transform-origin:50% 120%;transform:rotate(calc((var(--k) - 1.5) * 11deg));transition:transform .45s var(--spring)}.shelf-hit:hover .shelf-theme--tool>.shelf-chip{transform:rotate(calc((var(--k) - 1.5) * 17deg)) translateY(-3%)}.shelf-theme--tool>.shelf-chip-icon{left:auto;right:6%;bottom:8%;display:grid;place-items:center;width:26%;aspect-ratio:1;border-radius:50%;background:var(--surface);color:var(--accent-ink);box-shadow:0 4px 10px -6px #0a101e80}.shelf-theme--tool>.shelf-chip-icon .icon{width:58%;height:58%}.shelf-theme--big{border-radius:var(--r-md)}.preview--theme{display:grid;gap:10px}.preview-extras{max-width:42ch;margin:0 auto;color:var(--ink-2);font-size:13.5px;line-height:1.75;text-align:center}.preview-extras-lead{color:var(--ink);font-weight:650}.preview-extras-lead:after{content:"："}.preview--theme .shelf-theme{max-width:320px;margin:0 auto}[data-tty=on] .wallpaper,[data-tty=on] .music-window,[data-tty=on] .toasts,[data-tty=on] .term-top,[data-tty=on] .termline,[data-tty=on] .term-status{display:none!important}[data-tty=on],[data-tty=on] body{overflow:hidden;height:100%}[data-tty=boot] .shell,[data-tty=boot] .boot{display:none!important}.tty{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,Noto Sans TC,monospace;font-size:14px;line-height:1.45;letter-spacing:0;font-variant-ligatures:none;font-feature-settings:"tnum" 0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.tty:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.16) 0 1px,transparent 1px 3px),radial-gradient(120% 90% at 50% 0%,rgba(60,255,143,.07),transparent 60%);mix-blend-mode:screen}[data-motion=reduced] .tty:after{background:radial-gradient(120% 90% at 50% 0%,rgba(60,255,143,.05),transparent 60%)}.tty-panes{flex:1 1 auto;display:flex;min-height:0}.tty-panes[data-split=v]{flex-direction:column}.tty-pane{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;padding:6px 8px 8px;outline:0}.tty-panes[data-split=h] .tty-pane+.tty-pane{border-left:1px solid var(--line-2)}.tty-panes[data-split=v] .tty-pane+.tty-pane{border-top:1px solid var(--line-2)}.tty-panes[data-split] .tty-pane.is-active{box-shadow:inset 0 0 0 1px #3cff8f59}.tty-pane.is-copy{box-shadow:inset 0 0 0 1px var(--signal)}.tty-out{flex:1 0 auto;display:flex;flex-direction:column}.tty-row{white-space:pre;min-height:1.45em;flex:none}.tty-echo,.tty-dim{color:var(--ink-3)}.tty-on{color:var(--accent)}.tty-bad{color:var(--bad)}.tty-dir{color:#7fd4ff}.tty-promptline{position:relative;flex:none;display:flex;align-items:baseline;white-space:pre}.tty-sign{flex:none;color:var(--accent)}.tty-field{flex:1 1 auto;min-width:0}.tty-input{width:100%;padding:0;border:0;outline:0;background:transparent;font:inherit;color:inherit;caret-color:transparent}.tty-cursor{position:absolute;top:0;left:calc(var(--x, 0) * 1ch);width:1ch;height:1.45em;background:var(--accent);color:var(--bg);white-space:pre;animation:tty-blink 1.1s steps(1) infinite}.tty-cursor.is-wide{width:2ch}@keyframes tty-blink{0%,55%{opacity:1}56%,to{opacity:0}}[data-motion=reduced] .tty-cursor{animation:none}.tty-appstatus{position:sticky;bottom:-8px;z-index:1;margin:4px -8px -8px;padding:2px 8px;background:var(--accent);color:var(--bg);font-weight:600}.tty-appstatus.tty-bad{background:var(--bad);color:#fff}.tty-status{flex:none;display:flex;align-items:center;gap:8px;padding:2px 8px;border-top:1px solid var(--line-2);background:#07120b;color:var(--ink-2);white-space:pre}.tty-session{color:var(--bg);background:var(--accent);padding:0 6px;font-weight:700}.tty-wins{display:flex;gap:8px;min-width:0;overflow:hidden}.tty-win{color:var(--ink-2)}.tty-win.is-on{color:var(--bg);background:var(--accent);padding:0 4px}.tty-gap{flex:1 1 auto}.tty-prefix{color:var(--bg);background:var(--signal);padding:0 5px;font-weight:700}.tty-zoom{color:var(--signal)}.tty-clock{color:var(--ink-3)}.tty-probe{position:absolute;visibility:hidden;white-space:pre;font:inherit}.tty-image{position:fixed;inset:0;z-index:60;display:grid;place-items:center;gap:12px;padding:24px;background:#000000e0;cursor:zoom-out}.tty-image img{max-width:min(92vw,900px);max-height:78vh;background:#fff;padding:8px}.tty-image p{margin:0;color:var(--ink-3);font-size:13px}@media(max-width:720px){.tty{font-size:13px}.tty-pane{padding:5px 6px 6px}.tty-status{font-size:12px}}.hero-date:after{content:"・"}.hero .page-head-actions{gap:10px}.hero-timer{border-color:var(--line-2);background:color-mix(in srgb,var(--surface) 72%,transparent)}.hero-timer:hover{background:var(--surface);border-color:var(--ink-3)}[data-timer=focus] .hero-timer,[data-timer=break] .hero-timer{color:var(--accent-ink);border-color:var(--accent-line)}.hero{margin-bottom:14px}@media(min-width:960px){.hero{margin-bottom:20px}}:root{--art-deep: color-mix(in oklab, var(--accent) 90%, #000);--art-mid: color-mix(in oklab, var(--accent) 64%, #fff);--art-light: color-mix(in oklab, var(--accent) 36%, #fff)}.art :is([fill="#0B5EAC"],[fill="#006ACD"],[fill="#3167B7"]){fill:var(--art-deep)}.art :is([fill="#4492D0"],[fill="#518BDB"],[fill="#65A4D9"],[fill="#70A5E3"],[fill="#72A0CB"]){fill:var(--art-mid)}.art [fill="#99C1EC"]{fill:var(--art-light)}.art [stroke="#0B5EAC"]{stroke:var(--art-deep)}.art [stroke="#8FB3DA"]{stroke:var(--art-light)}.cal{--cal-gap: 3px}.cal-months{position:relative;display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:var(--cal-gap);height:15px;margin:0 0 4px;font-size:10.5px;font-weight:600;color:var(--ink-3)}.cal-month{grid-row:1;white-space:nowrap;overflow:visible}.cal-grid{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));grid-template-rows:repeat(7,auto);grid-auto-flow:column;gap:var(--cal-gap)}.cal-day{display:block;aspect-ratio:1;border-radius:3.5px;background:color-mix(in srgb,var(--ink) 7%,transparent);animation:cal-in .45s var(--ease) both;animation-delay:calc(var(--i, 0) * 16ms + 60ms)}.cal-day[data-level="1"]{background:color-mix(in srgb,var(--accent) 26%,transparent)}.cal-day[data-level="2"]{background:color-mix(in srgb,var(--accent) 48%,transparent)}.cal-day[data-level="3"]{background:color-mix(in srgb,var(--accent) 74%,transparent)}.cal-day[data-level="4"]{background:var(--accent)}.cal-day.is-future{background:none}.cal-day.is-today{box-shadow:0 0 0 1.5px var(--surface),0 0 0 3px var(--ink)}.cal-grid .cal-day:hover{transform:scale(1.35);position:relative;z-index:1;transition:transform .15s var(--spring)}@keyframes cal-in{0%{opacity:0;transform:scale(.4)}}.cal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:12.5px;color:var(--ink-3)}.cal-sum strong{color:var(--ink);font-weight:750;font-size:14px}.cal-legend{display:inline-flex;align-items:center;gap:3px}.cal-legend .cal-day{width:10px;animation:none}[data-theme=pixel] .cal-day{border-radius:0}.focus-pill{position:fixed;z-index:70;top:calc(env(safe-area-inset-top) + 64px);right:12px;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px 0 7px;border:1px solid var(--line-2);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 14px 34px -18px #081224b3,0 1px 3px #0812240f;color:var(--ink);font:650 13px/1 var(--font);cursor:pointer;animation:pill-in .55s var(--spring) both;transition:transform .2s var(--spring),border-color .2s;-webkit-tap-highlight-color:transparent}.focus-pill[hidden]{display:none}.focus-pill:hover{border-color:var(--ink-3)}.focus-pill:active{transform:scale(.95)}.focus-pill svg{width:22px;height:22px;flex:none}.focus-pill-label{color:var(--ink-3);font-weight:600;font-size:12px}.focus-pill-time{font-variant-numeric:tabular-nums;letter-spacing:.02em}.focus-pill.is-paused .focus-pill-time{animation:blink 1.6s steps(2,jump-none) infinite}@keyframes blink{50%{opacity:.35}}@keyframes pill-in{0%{opacity:0;transform:translateY(-10px) scale(.85)}}.timer-track{stroke:color-mix(in srgb,var(--ink) 11%,transparent)}.timer-value{stroke:var(--accent);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1s linear}:is(.focus-pill,.timer-face)[data-phase=break] .timer-value{stroke:var(--good)}body.is-immersive .focus-pill{top:calc(env(safe-area-inset-top) + 60px);right:10px}@media(min-width:960px){.focus-pill{top:20px;right:26px;height:38px}body.is-immersive .focus-pill{top:84px;right:30px}body.is-immersive.is-focus .focus-pill{top:74px}body.has-scratch .focus-pill{right:calc(min(440px,38vw) + 40px)}}.timer{display:grid;justify-items:center;gap:16px;padding:4px 0 6px}.timer-face{position:relative;width:208px;height:208px}.timer-face svg{width:100%;height:100%;overflow:visible}.timer-face[data-phase=focus] .timer-value{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 45%,transparent))}.timer-text{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:4px}.timer-time{font-size:46px;font-weight:760;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.timer-phase{font-size:13px;font-weight:650;color:var(--ink-3)}.timer-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.timer-today{margin:0;font-size:13px;color:var(--ink-3)}.timer-settings{display:grid;gap:6px;width:100%;padding-top:14px;border-top:1px solid var(--line)}.timer-settings .seg{width:100%}.timer-settings .seg-item{flex:1}[data-theme=pixel] .timer-time{font-family:"Press Start 2P",var(--font);font-size:26px}.room-scratch[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-ink)}.scratch{--scratch-rule: color-mix(in srgb, var(--accent) 15%, transparent);position:fixed;z-index:45;left:0;right:0;bottom:0;height:54vh;height:54dvh;display:flex;flex-direction:column;border:1px solid var(--line-2);border-bottom:0;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-pop);overflow:hidden;animation:scratch-up .45s var(--spring) both;transition:height .35s var(--ease)}.scratch[hidden]{display:none}.scratch.is-tall{height:calc(100dvh - 58px - env(safe-area-inset-top))}.scratch.is-closing{animation:scratch-down .22s var(--ease) both}@keyframes scratch-up{0%{transform:translateY(100%)}}@keyframes scratch-down{to{transform:translateY(100%)}}body.has-scratch .room-body{padding-bottom:calc(54dvh + 24px)}.scratch-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 2px 16px}.scratch-title{display:flex;align-items:center;gap:7px;margin:0;font-size:14.5px;font-weight:720}.scratch-title .icon{color:var(--accent-ink)}.scratch-count{margin-left:2px;font-size:12px;font-weight:600;color:var(--ink-3)}.scratch-head-actions{display:flex;align-items:center;gap:2px}.scratch-tools{display:flex;align-items:center;gap:3px;padding:4px 10px 8px;overflow-x:auto;scrollbar-width:none}.scratch-tools::-webkit-scrollbar{display:none}.scratch-tool{position:relative;display:inline-grid;grid-auto-flow:column;place-items:center;gap:5px;flex:none;min-width:38px;height:38px;padding:0 8px;border:0;border-radius:11px;background:none;color:var(--ink-2);font:600 12.5px/1 var(--font);cursor:pointer;transition:background-color .18s,color .18s,transform .2s var(--spring);-webkit-tap-highlight-color:transparent}.scratch-tool:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink)}.scratch-tool:active:not(:disabled){transform:scale(.9)}.scratch-tool:disabled{opacity:.32;cursor:default}.scratch-tool[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent-ink)}.scratch-dot{position:absolute;right:5px;bottom:5px;width:8px;height:8px;border-radius:50%;background:var(--pen);box-shadow:0 0 0 2px var(--surface)}.scratch-sep{flex:none;width:1px;height:22px;margin:0 5px;background:var(--line-2)}.scratch-body{position:relative;flex:1;min-height:0;margin:0 10px 10px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--surface-2)}.scratch-sheet{position:absolute;inset:0}.scratch-sheet[data-paper=grid]{background-image:linear-gradient(var(--scratch-rule) 1px,transparent 1px),linear-gradient(90deg,var(--scratch-rule) 1px,transparent 1px);background-size:22px 22px;background-position:-1px -1px}.scratch-sheet[data-paper=lines]{background-image:linear-gradient(transparent 29px,var(--scratch-rule) 29px);background-size:100% 30px}.scratch-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.scratch-live{cursor:crosshair}.scratch[data-tool=eraser] .scratch-live{cursor:cell}.scratch-empty{position:absolute;left:0;right:0;top:42%;margin:0;padding:0 28px;text-align:center;font-size:13px;line-height:1.6;color:var(--ink-3);pointer-events:none}@media(max-width:599px){.scratch-paper>span{display:none}.scratch-tools{gap:1px;padding-inline:6px}.scratch-tool{min-width:36px;padding:0 6px}}@media(min-width:960px){.scratch{inset:12px 12px 12px auto;height:auto;width:min(440px,38vw);border-bottom:1px solid var(--line-2);border-radius:22px;padding-bottom:0;animation-name:scratch-in}.scratch.is-closing{animation-name:scratch-out}.scratch .scratch-size{display:none}@keyframes scratch-in{0%{opacity:0;transform:translate(40px) scale(.98)}}@keyframes scratch-out{to{opacity:0;transform:translate(40px) scale(.98)}}body.has-scratch .room{padding-right:calc(min(440px,38vw) + 14px);transition:padding-right .35s var(--ease)}body.has-scratch .room-body{padding-bottom:30px}}.trend{margin:4px 0 20px;padding:16px 18px 8px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);animation:rise .5s var(--ease) both}.trend-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 16px}.trend-title{margin:0;font-size:15px;font-weight:720}.trend-sum{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;font-size:13px;color:var(--ink-3)}.trend-sum strong{color:var(--ink);font-size:15px;font-weight:760}.trend-delta{font-weight:650}.trend-delta.is-up{color:var(--good)}.trend-delta.is-down{color:var(--bad)}.trend-svg{display:block;width:100%;height:auto;margin-top:6px;overflow:visible}.trend-grid{stroke:var(--line);stroke-width:1}.trend-axis{fill:var(--ink-3);font:600 11px var(--font)}.trend-avg{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 4;opacity:.7}.trend-fill-top{stop-color:var(--accent);stop-opacity:.22}.trend-fill-bottom{stop-color:var(--accent);stop-opacity:0}.trend-area{animation:fade-in 1s var(--ease) both .4s}.trend-line{fill:none;stroke:var(--accent);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;animation:trend-draw 1.1s var(--ease) both .15s}@keyframes trend-draw{0%{stroke-dashoffset:1}}.trend-hit{fill:transparent}.trend-point{fill:var(--surface);stroke:var(--accent);stroke-width:2.4;transform-box:fill-box;transform-origin:center;animation:pop .45s var(--spring) both;animation-delay:calc(var(--i, 0) * 50ms + .5s);transition:r .15s}.trend-dot.is-high .trend-point{stroke:var(--good)}.trend-dot.is-low .trend-point{stroke:var(--bad)}.trend-dot:hover .trend-point,.trend-dot:focus-visible .trend-point{fill:var(--accent);r:6.5}.trend-dot.is-high:hover .trend-point{fill:var(--good)}.trend-dot.is-low:hover .trend-point{fill:var(--bad)}@media(max-width:599px){.trend{padding:12px 12px 6px}}.shortcuts{display:grid;gap:18px;padding-bottom:8px}.shortcut-title{margin:0 0 4px;font-size:13px;font-weight:700;color:var(--ink-3)}.shortcut-list{display:grid;margin:0}.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--line)}.shortcut-row:last-child{border-bottom:0}.shortcut-row dd{margin:0;font-size:14px;color:var(--ink)}.shortcut-row dt{display:inline-flex;align-items:center;gap:4px;flex:none;order:2}.shortcut-row kbd{min-width:24px;padding:0 7px;font-size:12px;line-height:22px;background:var(--surface-2);box-shadow:0 1px 0 var(--line-2)}.shortcut-to{font-size:12px;color:var(--ink-3)}.range-row{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:13px;color:var(--ink-2)}.range-row input[type=range]{flex:1;accent-color:var(--accent)}html[data-warm=on]:after{content:"";position:fixed;inset:0;z-index:2147483000;pointer-events:none;background:#ff9632;mix-blend-mode:multiply;opacity:calc(var(--warm-level, .5) * .28);animation:warm-in 1.2s var(--ease) both}@keyframes warm-in{0%{opacity:0}}[data-theme=pixel] .room-clock .clock-num{font-size:9px}[data-theme=liquidglass]{--bg: #C9D8EE;--surface: rgba(255, 255, 255, .9);--pane: transparent;--surface-2: rgba(255, 255, 255, .14);--sunken: rgba(255, 255, 255, .1);--line: rgba(11, 21, 36, .1);--line-2: rgba(11, 21, 36, .16);--ink: #060D18;--ink-2: #142033;--ink-3: #26364C;--rim: rgba(255, 255, 255, .8);--rim-soft: rgba(255, 255, 255, .38);--scrim: rgba(10, 22, 40, .22);--glow: 255, 255, 255;--lq-shade: 20, 30, 50;--lq-sun: .4;--lq-halo: 0 0 1px rgba(255, 255, 255, .95), 0 0 6px rgba(255, 255, 255, .85), 0 0 14px rgba(255, 255, 255, .6);--lq-drop-shadow: 0 10px 22px -12px rgba(8, 20, 40, .45), 0 1px 3px rgba(8, 20, 40, .14);--lq-card-shadow: 0 24px 50px -30px rgba(8, 20, 40, .5), 0 2px 8px -4px rgba(8, 20, 40, .14);--shadow-pop: 0 44px 96px -36px rgba(9, 21, 42, .46), 0 2px 10px rgba(9, 21, 42, .06);--r-lg: 28px;--r-md: 16px;--r-sm: 10px;--wall-tint: none}[data-theme=liquidglass] .wallpaper{filter:none;transform:translate3d(var(--lq-wall-x, 0px),var(--lq-wall-y, 0px),0) scale(1.05);will-change:transform}[data-theme=liquidglass] .stage{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none}[data-liquid=on] :is(.lq,.lq-card){--lq-bw: 0px;isolation:isolate;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset calc(var(--lq-lx, 0) * -1.5px) calc(var(--lq-ly, 1) * -1.5px) 0 rgba(var(--glow),calc(.7 * var(--lq-hi, 1))),inset calc(var(--lq-lx, 0) * 1px) calc(var(--lq-ly, 1) * 1px) 0 rgba(var(--glow),.25),inset 0 0 0 1px rgba(var(--glow),.16),var(--lq-card-shadow)}[data-liquid=on] .lq{--lq-bw: 1px;border:1px solid transparent;transform:translateY(calc((1 - var(--lq-in, 1)) * 8px))}:where([data-liquid=on] :is(.lq-card,.lq):not(dialog)){position:relative}[data-liquid=on] .lq-card{border:0;border-radius:var(--r-lg);padding:18px 20px;text-shadow:var(--lq-halo)}[data-liquid=on] :is(.lq,.lq-card):before,[data-liquid=on] :is(.lq,.lq-card):after{width:auto;height:auto;margin:0;border:0;clip-path:none;transform:none;opacity:1}[data-liquid=on] :is(.lq,.lq-card):before{content:"";position:absolute;inset:calc(-1 * var(--lq-bw));z-index:-1;border-radius:inherit;pointer-events:none;backdrop-filter:var(--lq-lens, none)}[data-liquid=on] .lq-card:before{backdrop-filter:none;-webkit-backdrop-filter:none}[data-liquid=on] .lq:after{content:"";position:absolute;inset:calc(-1 * var(--lq-bw));z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(var(--lq-core, 70px 22px) at calc(50% - var(--lq-lx, 0) * 47%) calc(50% - var(--lq-ly, 1) * 47%),rgba(var(--glow),calc(var(--lq-sun) * var(--lq-hi, 1))),rgba(var(--glow),0) 100%)}[data-liquid=on] .lq-card:after{content:none}[data-liquid=on] .lq{--lq-core: 60px 14px;--lq-spot: 200px 46px;--lq-spot-2: 120px 30px}[data-liquid=on] .sidebar.lq{--lq-core: 70px 40px;--lq-spot: 220px 150px;--lq-spot-2: 150px 110px}[data-liquid=on] .lq{text-shadow:var(--lq-halo)}[data-liquid=on] .lq .icon{filter:drop-shadow(0 0 3px rgba(var(--glow),.8))}[data-theme=liquidglass] .page:not(.room)>.page-head{padding:0 6px}[data-theme=liquidglass] .page-head :is(.page-title,.page-sub,.crumb){text-shadow:var(--lq-halo)}[data-theme=liquidglass] .hero{--hero-bg: transparent;--wave-back: rgba(var(--glow), .22);--wave-mid: color-mix(in srgb, var(--accent) 38%, transparent)}[data-theme=liquidglass] .page>.hero.lq-card{margin:0 0 16px;padding:24px 22px 54px}[data-theme=liquidglass] .hero-banner:after{background:none}[data-theme=liquidglass] .page>:is(.stats,.today){border-top:0;border-bottom:0}[data-theme=liquidglass] .page>.stats.lq-card{padding:4px 20px}[data-theme=liquidglass] .page--bare{padding-left:6px;padding-right:6px}[data-theme=liquidglass] .page.room.lq-card{padding:0}[data-theme=liquidglass] .topbar{top:10px;margin:10px 12px 12px;padding:calc(6px + env(safe-area-inset-top)) 8px 6px 14px;border-radius:999px;border-bottom:1px solid transparent}[data-theme=liquidglass] .tabbar{left:14px;right:14px;bottom:calc(10px + env(safe-area-inset-bottom));padding:0 4px;border-radius:999px;border-top:1px solid transparent}[data-theme=liquidglass] .tab{height:calc(var(--tabbar) - 4px)}[data-theme=liquidglass] .dock{border-radius:999px}[data-theme=liquidglass] .room-bar{border-radius:0 0 24px 24px}[data-theme=liquidglass] .dialog{border-radius:30px 30px 0 0}[data-theme=liquidglass] .room-pop{border-radius:24px}[data-theme=liquidglass] .actionbar{border-radius:24px 24px 0 0;border-top:1px solid transparent}[data-theme=liquidglass] .palette-panel{border-radius:26px}[data-theme=liquidglass] :is(.btn,.chip,.seg,.points-pill,.mark-toggle,.goal-chip,.dock-btn,.icon-btn){border-radius:999px}[data-theme=liquidglass] .nav-item{border-radius:999px}@media(min-width:960px){[data-theme=liquidglass] .stage{margin:0;border-radius:0;min-height:100dvh}[data-theme=liquidglass] .view{padding-top:22px}[data-theme=liquidglass] .sidebar{border-radius:30px;border-color:transparent}[data-theme=liquidglass][data-navlayout=side] .sidebar{top:10px;left:10px;bottom:10px}[data-theme=liquidglass] .topbar{margin:0 10px 2px;border-radius:20px}}[data-liquid=on] :is(.dialog,.room-pop,.palette-panel).lq{background:#ffffff1a}@media(max-width:959px){[data-theme=liquidglass] body.is-immersive .stage:before,[data-theme=liquidglass] body.is-immersive .stage:after{content:none}[data-theme=liquidglass] .stage:before,[data-theme=liquidglass] .stage:after{content:"";position:fixed;left:0;right:0;z-index:25;pointer-events:none}[data-theme=liquidglass] .stage:before{top:0;height:calc(96px + env(safe-area-inset-top));background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 80%,transparent),color-mix(in srgb,var(--bg) 60%,transparent) calc(64px + env(safe-area-inset-top)),transparent)}[data-theme=liquidglass] .stage:after{bottom:0;height:calc(var(--tabbar) + 56px + env(safe-area-inset-bottom));background:linear-gradient(to top,color-mix(in srgb,var(--bg) 96%,transparent),color-mix(in srgb,var(--bg) 88%,transparent) calc(var(--tabbar) + 12px + env(safe-area-inset-bottom)),transparent)}}[data-liquid=on] .lq-drop{backdrop-filter:var(--lq-lens, none);background-image:radial-gradient(circle at var(--lq-tx, 50%) var(--lq-ty, 50%),rgba(var(--glow),calc(.5 * var(--lq-press, 0))),rgba(var(--glow),0) calc(40% + 80% * var(--lq-press, 0))),radial-gradient(40% 30% at calc(50% - var(--lq-lx, 0) * 30%) calc(50% - var(--lq-ly, 1) * 38%),rgba(var(--glow),calc(var(--lq-sun) * .8 * var(--lq-hi, 1))),rgba(var(--glow),0) 75%);box-shadow:inset calc(var(--lq-lx, 0) * -1.5px) calc(var(--lq-ly, 1) * -1.5px) 0 rgba(var(--glow),calc(.75 * var(--lq-hi, 1))),inset calc(var(--lq-lx, 0) * 1px) calc(var(--lq-ly, 1) * 1px) 0 rgba(var(--glow),.3),inset 0 0 0 1px rgba(var(--glow),.22),var(--lq-drop-shadow);text-shadow:none}[data-liquid=on] :is(.btn:not(.btn--text):not(.btn--quiet):not(.btn--solid):not(.btn--tinted):not(.btn--accent),.chip:not(.is-on):not([aria-pressed=true]):not(.is-active),.seg,.dock-btn,.dock-count,.qcell:not(.is-answered):not(.is-right):not(.is-wrong),.dock-cell:not(.is-answered):not(.is-right):not(.is-wrong),.option:not(.is-picked):not(.is-correct):not(.is-wrong),.goal-chip,.mark-toggle,.theme-tile,.points-pill,.icon-btn,.focus-pill){background-color:transparent;border-color:transparent}[data-liquid=on] .lq-drop.btn--solid{background-color:color-mix(in srgb,var(--accent) 66%,transparent);color:#fff}[data-liquid=on] .lq-drop.btn--tinted{background-color:color-mix(in srgb,var(--accent) 16%,transparent)}[data-liquid=on] .lq-drop:is(.is-answered,.is-picked){background-color:color-mix(in srgb,var(--accent) 62%,transparent)}[data-liquid=on] .lq-drop.is-right{background-color:color-mix(in srgb,var(--good) 62%,transparent)}[data-liquid=on] .lq-drop.is-wrong{background-color:color-mix(in srgb,var(--bad) 62%,transparent)}[data-liquid=on] .option.lq-drop.is-picked{background-color:color-mix(in srgb,var(--accent) 16%,transparent)}[data-liquid=on] .option.lq-drop.is-correct{background-color:color-mix(in srgb,var(--good) 16%,transparent)}[data-liquid=on] .option.lq-drop.is-wrong{background-color:color-mix(in srgb,var(--bad) 16%,transparent)}[data-liquid=on] .lq-drop:hover{--lq-hi: 1}[data-liquid=on] .input{background:var(--sunken);border-color:rgba(var(--glow),.3);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}[data-lq-lens=off] :is(.lq,.lq-card):before{padding:1.5px;background:linear-gradient(var(--lq-angle, 180deg),rgba(var(--glow),calc(.95 * var(--lq-hi, 1))),rgba(var(--glow),calc(.16 * var(--lq-hi, 1))) 32%,rgba(var(--glow),calc(.08 * var(--lq-hi, 1))) 62%,rgba(var(--glow),calc(.55 * var(--lq-hi, 1))));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}[data-lq-lens=off] :is(.lq,.lq-card){box-shadow:inset 0 0 3px rgba(var(--glow),.4),var(--lq-card-shadow)}[data-lq-lens=off] .lq-drop{box-shadow:inset 0 0 0 1px rgba(var(--glow),.5),inset 0 1px 1px rgba(var(--glow),.7),var(--lq-drop-shadow)}[data-liquid=on] .lq-slider{-webkit-appearance:none;appearance:none;height:22px;background:none;cursor:pointer}[data-liquid=on] .lq-slider::-webkit-slider-runnable-track{height:12px;border-radius:999px;border:1px solid transparent;background:linear-gradient(to right,color-mix(in srgb,var(--accent) 70%,transparent) var(--fill, 0%),rgba(var(--glow),.1) var(--fill, 0%)) padding-box,linear-gradient(rgba(var(--glow),.3),rgba(var(--glow),.3)) border-box;backdrop-filter:var(--lq-track-lens, none)}[data-liquid=on] .lq-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;margin-top:-5px;opacity:1;border:1px solid transparent;border-radius:50%;background:radial-gradient(60% 44% at 40% 26%,rgba(var(--glow),.9),rgba(var(--glow),0) 75%) padding-box,linear-gradient(rgba(var(--glow),.55),rgba(var(--glow),.55)) border-box;background-clip:padding-box,border-box;backdrop-filter:var(--lq-thumb-lens, none);box-shadow:inset 0 0 6px rgba(var(--glow),.4),0 5px 12px -6px #08142899,0 1px 2px #0814282e}[data-liquid=on] .lq-slider::-moz-range-track{height:12px;border-radius:999px;border:1px solid rgba(var(--glow),.34);background:linear-gradient(to right,color-mix(in srgb,var(--accent) 70%,transparent) var(--fill, 0%),rgba(var(--glow),.1) var(--fill, 0%))}[data-liquid=on] .lq-slider::-moz-range-thumb{width:18px;height:18px;opacity:1;border:1px solid rgba(var(--glow),.6);border-radius:50%;background:radial-gradient(60% 44% at 40% 26%,rgba(var(--glow),.9),rgba(var(--glow),.1) 75%);box-shadow:inset 0 0 6px rgba(var(--glow),.5),0 5px 12px -6px #08142899}[data-liquid=on] .player-range::-webkit-slider-thumb{opacity:1}[data-liquid=on] .player-range::-moz-range-thumb{opacity:1}[data-liquid=on] :is(.btn,.chip,.tab,.nav-item,.dock-btn,.dock-cell,.option,.qcell,.theme-tile,.points-pill,.mark-toggle,.goal-chip,.seg button,.icon-btn){transform:scale(calc(1 + .05 * var(--lq-press, 0)))}[data-liquid=on] :is(.tab,.nav-item,.seg button){background-image:radial-gradient(circle at var(--lq-tx, 50%) var(--lq-ty, 50%),rgba(var(--glow),calc(.55 * var(--lq-press, 0))),rgba(var(--glow),calc(.18 * var(--lq-press, 0))) calc(30% + 50% * var(--lq-press, 0)),rgba(var(--glow),0) calc(40% + 80% * var(--lq-press, 0)))}[data-liquid=on] :is(.btn,.chip,.dock-btn):active:not(:disabled){transform:scale(calc(1 + .05 * var(--lq-press, 0)))}[data-liquid=on] .tab:active .icon{transform:none}[data-liquid=on] :is(.nav-indicator,.tab-indicator){transition:opacity .2s;border-radius:999px;background:radial-gradient(60% 50% at 50% 12%,rgba(var(--glow),calc(var(--lq-sun) * .9)),rgba(var(--glow),0) 75%),rgba(var(--glow),.26);box-shadow:inset 0 0 0 1px rgba(var(--glow),.4),inset 0 1px 1px rgba(var(--glow),.8),inset 0 0 10px rgba(var(--glow),.3),0 4px 12px -6px #0814284d}[data-liquid=on] .tab-indicator{top:4px;width:64px;height:calc(var(--tabbar) - 12px);z-index:0}[data-liquid=on] .tab>*{position:relative;z-index:1}@media(min-width:960px){[data-liquid=on] .nav-indicator{width:100%;height:42px;z-index:0}[data-liquid=on] .nav-item{z-index:1}[data-liquid=on][data-navlayout=top] .nav-indicator{top:0;bottom:auto;width:96px;height:38px}}@media(prefers-reduced-transparency:reduce){[data-liquid=on] :is(.lq,.lq-card){background:var(--surface)}[data-theme=liquidglass] .wallpaper{filter:blur(30px) saturate(1.1)}}:root{--font-num: "Archivo", "Inter", "Noto Sans TC", system-ui, sans-serif;--num-width: 84%}[data-uifont=mono],[data-uifont=serif]{--font-num: var(--font);--num-width: 100%}.stat-num,.today-num,.mock-sec-score,.stats-rate,.sheet-over,.score-num,.dock-count-now,.clock-num,.reward-count .num{font-family:var(--font-num);font-stretch:var(--num-width)}.stat-num{font-size:clamp(30px,3.2vw,40px);font-weight:800;letter-spacing:-.005em;line-height:1.05;margin-bottom:4px}.stat-num.is-good{color:var(--good)}.stat-num.is-bad{color:var(--bad)}.today{display:block;padding:18px 0 22px;position:relative}.today-head{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap}.today-count{display:inline-flex;align-items:baseline;gap:6px;padding:0;border:0;background:none;color:var(--ink);cursor:pointer;font:inherit;transition:transform .35s var(--spring)}.today-count:hover{transform:translateY(-1px)}.today-count:active{transform:scale(.97)}.today-count:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}.today-num{font-size:clamp(44px,5vw,58px);font-weight:850;line-height:.95;letter-spacing:-.01em}.today-count.is-met .today-num{color:var(--good)}.today-goal{font-size:13px;color:var(--ink-3);font-weight:600}.today-head .today-text{flex:1;min-width:190px}.today-head .streak-week{margin-left:auto}.sheet-line{display:flex;align-items:center;gap:12px;margin-top:16px}.sheet-row{--bw: 22px;--bg: 7px;--pitch: calc(var(--bw) + var(--bg));display:grid;grid-template-columns:repeat(auto-fill,var(--bw));gap:8px var(--bg);width:fit-content;max-width:100%;min-width:0;padding:11px 13px 19px;border:1px solid var(--line-2);border-radius:10px;background:repeating-linear-gradient(90deg,var(--ink) 0 calc(var(--bw) * .55),transparent 0 var(--pitch)) left calc(13px + var(--bw) * .225) bottom 7px / calc(100% - 26px) 4px no-repeat}.sheet-row{grid-template-columns:repeat(var(--n, 20),var(--bw))}.bubble{width:var(--bw);aspect-ratio:1.5;border-radius:50%;border:1.3px solid color-mix(in srgb,var(--ink) 38%,transparent);position:relative;overflow:hidden}.bubble:after{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--ink);transform:scaleX(0);transform-origin:left center}.bubble.is-filled{border-color:var(--ink)}.bubble.is-filled:after{transform:none}.today.is-met .bubble.is-filled{border-color:var(--good)}.bubble.is-marking:after{animation:pencil .3s cubic-bezier(.5,0,.3,1) both;animation-delay:calc(.26s + var(--i) * 32ms)}@keyframes pencil{0%{transform:scaleX(0)}to{transform:none}}.sheet-over{font-size:24px;font-weight:850;color:var(--good)}.today-action{margin-top:14px}@media(max-width:959px){.sheet-row{--bw: 16px;--bg: 5px;grid-template-columns:repeat(auto-fill,var(--bw));width:auto;padding:9px 10px 17px;background-position:left calc(10px + var(--bw) * .225) bottom 6px;background-size:calc(100% - 20px) 4px}.sheet-line{align-items:flex-end}.today-head .streak-week{margin-left:0;width:100%}}.nav-item.nav-gap{margin-top:14px}.nav-item.nav-gap:before{content:"";position:absolute;left:12px;right:12px;top:-8px;height:1px;background:var(--line)}.nav-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:99px;display:inline-grid;place-items:center;font:750 11.5px/1 var(--font-num);font-stretch:var(--num-width);background:var(--signal);color:#fff;font-variant-numeric:tabular-nums}.nav-count[hidden]{display:none}.is-collapsed .nav-count{position:absolute;top:4px;right:4px;min-width:16px;height:16px;font-size:10px;padding:0 4px}.tab-icon{position:relative;display:grid;place-items:center}.tab .nav-count{position:absolute;top:-6px;left:14px;margin:0;min-width:17px;height:17px;font-size:10.5px;padding:0 5px}.tab--main{color:var(--ink-2)}.tab--main .tab-icon{width:46px;height:46px;margin-top:-20px;border-radius:50%;background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 4px var(--surface),0 6px 16px -6px color-mix(in srgb,var(--accent) 70%,transparent);transition:transform .4s var(--spring)}.tab--main:active .tab-icon{transform:scale(.92)}.tab--main[aria-current=page]{color:var(--accent-ink)}.tab--main[aria-current=page] .icon{transform:none}.stats-sync{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:13.5px}@keyframes grow-up{0%{transform:scaleY(0)}}.stats-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 20px;min-width:0;max-width:100%}.stats-filters>*{min-width:0;max-width:100%}.stats-filters .seg{flex:none}.stats-filters .seg-item{min-width:64px}.stats-filters .chips{flex:1;min-width:0}.stats-body{transition:opacity .25s var(--ease)}@media(max-width:599px){.stats-filters{flex-direction:column;align-items:stretch}.stats-filters .seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.stats-filters .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.stats-filters .chip{flex:none}}.stats-body.is-loading{opacity:.45;pointer-events:none}.chart-wrap{position:relative}.chart-svg{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y}.chart-grid{stroke:var(--line);stroke-width:1}.chart-axis{fill:var(--ink-3);font:500 11px var(--font-num);font-stretch:var(--num-width)}.chart-label{fill:var(--ink-2);font:650 11.5px var(--font)}.chart-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:draw 1s var(--ease) both;animation-delay:calc(var(--i, 0) * .12s)}.chart-point{stroke:var(--surface);stroke-width:2}.chart-rule{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 3}@keyframes draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.chart-tip{position:absolute;top:4px;min-width:140px;padding:8px 10px;border-radius:10px;pointer-events:none;background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--shadow-pop);font-size:12.5px;z-index:3}.chart-tip-head{margin:0 0 4px;font-weight:700;color:var(--ink)}.chart-tip-row{display:flex;align-items:center;gap:6px;margin:2px 0;color:var(--ink-2)}.chart-tip-row strong{margin-left:auto;color:var(--ink)}.chart-swatch{width:8px;height:8px;border-radius:2px;flex:none}.chart-table{margin-top:10px;font-size:13px}.chart-table summary{cursor:pointer;color:var(--ink-3)}.chart-table table{width:100%;margin-top:8px;border-collapse:collapse}.chart-table :is(th,td){padding:5px 8px;border-bottom:1px solid var(--line);text-align:right}.chart-table :is(th,td):first-child{text-align:left}.meter{display:block;height:6px;border-radius:3px;background:var(--sunken);position:relative;overflow:hidden;margin-top:7px}.meter:after{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--v, 0) * 100%);border-radius:3px;background:var(--c, var(--accent));transform-origin:left;animation:grow-right .7s var(--ease) both}.meter--quiet:after{background:var(--line-2)}.meter--bad:after{background:var(--bad)}@keyframes grow-right{0%{transform:scaleX(0)}}.stats-rate{font-size:17px;font-weight:800}.stats-rate small{font:500 12px var(--font);color:var(--ink-3)}.page--stats button.item{width:100%;background:none;border-left:0;border-right:0;border-bottom:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.kinds{display:grid;gap:18px}.kind-name{margin:0 0 6px;font-weight:700}.kind-bars{display:grid;gap:6px}.kind-bar{display:grid;grid-template-columns:5em 1fr 3em;align-items:center;gap:10px;font-size:13px;color:var(--ink-3)}.kind-bar .meter{margin:0}.kind-bar strong{text-align:right;color:var(--ink);font:750 14px var(--font-num);font-stretch:var(--num-width)}.weakest{list-style:none;margin:0 0 10px;padding:0;counter-reset:weak}.weakest-row{display:grid;grid-template-columns:1fr 70px 3.2em;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}.weakest-row:first-child{border-top:0}.weakest-row .meter{margin:0}.weakest-name{min-width:0;overflow-wrap:anywhere}.weakest-rate{text-align:right;color:var(--ink-2);font-weight:650}.hours{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:2px;align-items:end;height:72px}.hour{display:block;height:calc(max(var(--h),.03)*100%);border-radius:2px 2px 0 0;background:var(--line-2)}.hour.is-thin{opacity:.5}.hour.is-best{background:var(--accent)}.hours-axis{display:flex;justify-content:space-between;margin-top:4px;font:500 11px var(--font-num)}.hours-note{font-size:13px;margin:10px 0 0}.mock-secs{list-style:none;margin:0;padding:0;counter-reset:sec}.mock-sec{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.mock-sec:first-child{border-top:0}.mock-sec-n{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;border:1.4px solid var(--ink);font:800 13px/1 var(--font-num);font-stretch:var(--num-width)}.mock-sec.is-done .mock-sec-n{background:var(--ink);color:var(--surface)}.mock-sec.is-next .mock-sec-n{border-color:var(--accent);color:var(--accent-ink)}.mock-sec.is-later{color:var(--ink-3)}.mock-sec-main{flex:1;min-width:0}.mock-sec-main .item-title{font-size:14.5px}.mock-sec-time{display:inline-flex;align-items:center;gap:4px;flex:none}.mock-sec-min{min-width:3.4em;text-align:center;font:750 14px var(--font-num);font-stretch:var(--num-width)}.mock-sec-tools{display:inline-flex;gap:2px;flex:none}.icon-btn--small{width:30px;height:30px;font-size:16px;font-weight:700}.icon-btn--small:disabled{opacity:.3;cursor:default}.mock-sec-score{flex:none;font-size:24px;font-weight:850;text-decoration:none;color:var(--ink)}.mock-sec-score small{font:500 12px var(--font);color:var(--ink-3)}.mock-sec-score:hover{color:var(--accent-ink)}.mock-empty{margin:0;padding:6px 0 4px}.mock-add{margin-top:14px}.mock-recent{margin-top:16px}.mock-recent p{margin:0 0 8px;font-size:13px}.mock-foot{display:grid;gap:14px}.mock-foot .field{display:grid;gap:6px}.mock-foot .field-label{font-size:13px;color:var(--ink-2);font-weight:600}.mock-past-subjects{display:inline-flex;gap:2px;flex:none}.mock-score{margin-top:4px}.pace-list{display:grid;gap:22px}.pace{margin:0}.pace-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-weight:650;font-size:14px}.pace-head .faint{margin-left:auto;font-weight:500;font-size:12.5px}.pace-budget{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:4 4}.pace-line{stroke:var(--accent)}.pace-dot{fill:var(--accent);stroke:var(--surface);stroke-width:1.5}.pace-dot.is-wrong{fill:var(--bad)}.pace-dot.is-marked{stroke:var(--signal);stroke-width:2.5}.pace-note{font-size:12.5px;margin:6px 0 0}@media(max-width:599px){.mock-secs:not(.mock-secs--exam) .mock-sec{flex-wrap:wrap}.mock-secs:not(.mock-secs--exam) .mock-sec-main{flex-basis:calc(100% - 80px)}.mock-sec-score{font-size:20px}.mock-sec-time{margin-left:38px}.mock-sec-tools{margin-left:auto}}@media(prefers-reduced-motion:reduce){.bubble.is-marking:after,.meter:after,.chart-line{animation:none!important}}[data-motion=reduced] .bubble.is-marking:after,[data-motion=reduced] .meter:after,[data-motion=reduced] :is(.chart-line){animation:none!important}.offline-bar{display:flex;align-items:center;gap:10px;margin:12px 18px 0;padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--line-2);color:var(--ink-2);font-size:13.5px}.offline-bar .icon{flex:none;color:var(--warn)}.install-row{display:grid;gap:8px;justify-items:start;margin-bottom:12px}.install-row .note{display:flex;gap:8px;align-items:flex-start;margin:0}.install-row .note .icon{flex:none;margin-top:2px}[data-navlayout=top] .nav-item.nav-gap{margin-top:0}[data-navlayout=top] .nav-item.nav-gap:before{display:none}[data-navlayout=top] .brand-name{flex:none}@media(min-width:960px)and (max-width:1480px){[data-navlayout=top] .sidebar .nav .nav-item:not([aria-current=page]) .nav-label{display:none}}@supports (transition-timing-function: linear(0,1)){:root{--spring: linear(0, .0336, .1191, .236, .3677, .5017, .6286, .7426, .84, .9194, .9811, 1.0261, 1.0564, 1.0744, 1.0825, 1.083, 1.078, 1.0695, 1.0591, 1.0479, 1.0369, 1.0267, 1.0177, 1.0103, 1.0043, .9998, .9966, .9945, .9934, .993, .9932, .9938, .9946, .9955, .9964, .9973, .9981, .9988, .9994, .9998, 1);--spring-soft: linear(0, .0273, .0955, .1875, .2909, .3965, .4982, .5921, .6759, .7488, .8104, .8615, .9028, .9355, .9607, .9796, .9933, 1.0029, 1.0091, 1.0129, 1.0147, 1.0152, 1.0147, 1.0136, 1.0122, 1.0107, 1.0091, 1.0075, 1.0061, 1.0048, 1.0038, 1.0028, 1.0021, 1.0014, 1.001, 1.0006, 1.0003, 1.0001, 1)}}:root{--spring-soft: var(--ease)}html[data-vt] .view{view-transition-name:view}:root::view-transition-group(root){animation-duration:.28s}::view-transition-old(view){animation:vt-out .22s var(--ease) both}::view-transition-new(view){animation:vt-in .42s var(--spring-soft) both}html[data-vt=right]::view-transition-new(view){--vt-x: 28px}html[data-vt=left]::view-transition-new(view){--vt-x: -28px}html[data-vt=right]::view-transition-old(view){--vt-x-out: -14px}html[data-vt=left]::view-transition-old(view){--vt-x-out: 14px}@keyframes vt-in{0%{opacity:0;transform:translate(var(--vt-x, 0),var(--vt-y, 10px))}}@keyframes vt-out{to{opacity:0;transform:translate(var(--vt-x-out, 0))}}html[data-vt] .view .hero .page-title{view-transition-name:page-title}::view-transition-group(page-title){animation-duration:.4s;animation-timing-function:var(--spring-soft)}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.view-skeleton{display:grid;gap:22px;padding-top:6px;animation:rise .4s var(--ease) both .1s}.skel{border-radius:8px;background:linear-gradient(90deg,var(--sunken) 0 40%,color-mix(in srgb,var(--sunken) 55%,var(--surface)) 50%,var(--sunken) 60% 100%) 0 0 / 300% 100%;animation:shimmer 1.4s linear infinite}.skel--hero{height:190px;border-radius:14px}.skel-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.skel--stat{height:64px}.skel--line{height:16px;width:70%}.skel--line:nth-child(2n){width:52%}.view-skeleton .view-skeleton-lines{display:grid;gap:14px}.view-skeleton-note{font-size:13px;color:var(--ink-3)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media(max-width:599px){.skel-row{grid-template-columns:repeat(2,1fr)}.skel--hero{height:150px}}[data-motion=reduced] .skel{animation:none}:is(.page--records,.page--saved) .list>li{content-visibility:auto;contain-intrinsic-size:auto 72px}.nav-search{display:flex;align-items:center;gap:10px;width:100%;margin:6px 0 10px;padding:8px 10px;flex:none;border:1px solid var(--line-2);border-radius:var(--r-sm);background:none;color:var(--ink-3);font:inherit;font-size:13px;cursor:pointer;text-align:left;transition:border-color .2s var(--ease),color .2s var(--ease)}.nav-search:hover{border-color:var(--ink-3);color:var(--ink-2)}.nav-search .nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-search-key{font:600 11px var(--font);padding:1px 6px;border:1px solid var(--line-2);border-radius:5px;color:var(--ink-3)}.is-collapsed .nav-search{width:40px;margin:4px auto 10px;justify-content:center;padding:8px 0}.is-collapsed .nav-search :is(.nav-label,.nav-search-key){display:none}[data-navlayout=top] .nav-search{width:auto;margin:0 8px}[data-navlayout=top] .nav-search :is(.nav-label){display:none}@media(max-width:959px){.nav-search-key{display:none}}.panel-toggle,.panel-head--static .panel-title,.panel-toggle .panel-title{min-width:0}[data-theme=terminal] .panel-title{overflow:hidden;white-space:nowrap;text-overflow:clip}@media(max-width:599px){[data-theme=terminal] .room-bar .btn:not(.icon-btn):not(.btn--text):before,[data-theme=terminal] .room-bar .btn:not(.icon-btn):not(.btn--text):after{content:none}.room-bar{min-width:0;max-width:100%}}.invite-card{display:flex;flex-direction:column;gap:14px;margin-top:8px}.invite-claim-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:var(--r-md, 12px);background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid var(--accent)}.invite-claim-text{display:flex;flex-direction:column;gap:2px;font-size:13.5px}.invite-claim-text strong{color:var(--accent);font-weight:700}.invite-claim-btn{flex-shrink:0;font-weight:700}.invite-share-block{display:flex;flex-direction:column;gap:6px}.invite-share-title{margin:0;font-size:13px;font-weight:600;color:var(--ink-2)}.invite-input-row{display:flex;gap:8px;align-items:center}.invite-url-input{flex:1;min-width:0;font-size:13px;padding:8px 12px}.invite-copy-btn{flex-shrink:0;white-space:nowrap;padding:8px 14px;font-size:13.5px}.invite-code-row{display:flex;gap:8px;align-items:center;margin-top:2px}.invite-code-btn{font-size:12.5px;padding:4px 10px;border-radius:var(--r-sm, 8px)}.invite-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.invite-stat-box{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 8px;border-radius:var(--r-sm, 8px);background:var(--surface-2, var(--sunken));border:1px solid var(--line)}.invite-stat-label{font-size:12px;color:var(--ink-3);margin-bottom:4px}.invite-stat-val{font-size:16px;font-weight:750;color:var(--ink)}.invite-stat-val.highlight{color:var(--accent)}.invite-history-section{display:flex;flex-direction:column;gap:6px;margin-top:4px}.invite-section-title{margin:0;font-size:13px;font-weight:600;color:var(--ink-2)}.invite-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.invite-history-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:var(--r-sm, 8px);background:var(--surface-2, var(--sunken));border:1px solid var(--line);font-size:13px}.invite-history-acc{font-family:ui-monospace,monospace;font-weight:600}.invite-history-reward{color:var(--accent);font-weight:700;margin:0 8px}.invite-history-status{font-size:11.5px;font-weight:700}.invite-history-status.is-claimed{color:var(--accent-ink)}.invite-history-status.is-pending{color:var(--warn)}.invite-rules{padding:10px 14px;border-radius:var(--r-sm, 8px);background:var(--surface-2, var(--sunken));border:1px dashed var(--line-2);font-size:12.5px;color:var(--ink-2);line-height:1.6}.invite-rules-title{margin:0 0 4px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:4px}.invite-rules-list{margin:0;padding-left:18px}.invite-rules-list li{margin-bottom:2px}.login-invite-pill{display:flex;align-items:center;gap:8px;padding:8px 12px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px solid var(--accent);border-radius:99px;font-size:13px;font-weight:600;color:var(--accent);margin-bottom:8px;animation:rise .4s var(--spring) both}.warmup .icon{color:var(--signal)}.warmup{animation:warm-breathe 1.6s var(--ease) .9s 2 both}@keyframes warm-breathe{0%,to{box-shadow:0 0 color-mix(in srgb,var(--signal) 0%,transparent)}45%{box-shadow:0 0 0 6px color-mix(in srgb,var(--signal) 16%,transparent)}}.hero-fresh{color:var(--ink);font-weight:650}.flame{display:inline-grid;place-items:center;vertical-align:-3px;margin-right:4px;color:var(--signal)}.flame .icon{transform-origin:50% 90%;animation:flicker 3.2s ease-in-out infinite}.flame--m .icon{width:18px;height:18px}.flame--l .icon{width:21px;height:21px;fill:color-mix(in srgb,var(--signal) 30%,transparent)}@keyframes flicker{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.06,.96) rotate(-2deg)}55%{transform:scale(.97,1.05) rotate(2deg)}75%{transform:scale(1.03) rotate(-1deg)}}.freeze-chip{display:inline-flex;align-items:center;gap:5px;margin-left:10px;padding:1px 9px 1px 7px;vertical-align:1px;border:1px dashed var(--line-2);border-radius:999px;font-size:12.5px;font-weight:600;color:var(--ink-3);white-space:nowrap}.freeze-chip.is-held{border:0;border-radius:4px;padding:2px 11px 2px 10px;background:var(--accent);color:var(--on-accent);-webkit-mask:radial-gradient(circle 4px at 0 50%,#0000 96%,#000) left / 51% 100% no-repeat,radial-gradient(circle 4px at 100% 50%,#0000 96%,#000) right / 51% 100% no-repeat;mask:radial-gradient(circle 4px at 0 50%,#0000 96%,#000) left / 51% 100% no-repeat,radial-gradient(circle 4px at 100% 50%,#0000 96%,#000) right / 51% 100% no-repeat;animation:ticket-in .6s var(--spring) .5s both}@keyframes ticket-in{0%{transform:rotate(-8deg) scale(.7);opacity:0}}.streak-day.is-frozen .streak-bar{background:repeating-linear-gradient(-45deg,var(--accent) 0 2px,color-mix(in srgb,var(--accent) 25%,transparent) 2px 4px);animation:freeze-flip .7s var(--spring) both;animation-delay:calc(var(--i, 0) * 45ms + .3s)}@keyframes freeze-flip{0%{transform:rotateX(90deg)}}.cal-day.is-frozen{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--accent) 55%,transparent) 0 1.5px,transparent 1.5px 3.5px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.together,.today-plan{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin:14px 0 0;font-size:13.5px;color:var(--ink-2)}.together .icon,.today-plan>.icon{color:var(--ink-3);flex:none}.together strong,.today-plan strong{color:var(--ink);font-weight:700}.today-plan .btn--small{margin-left:2px}.today-plan[hidden]{display:none}.plan-sentence{margin:0 0 18px;font-size:18px;line-height:1.6;color:var(--ink-2)}.plan-sentence strong{color:var(--ink);font-weight:750;border-bottom:2px solid color-mix(in srgb,var(--signal) 55%,transparent)}.plan-field{margin:0 0 16px}.plan-label{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--ink-3)}.plan-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:360px}.plan-day{height:40px;border:1px solid var(--line-2);border-radius:10px;background:transparent;color:var(--ink-2);font:inherit;font-weight:650;cursor:pointer;transition:border-color .15s,color .15s,transform .4s var(--spring)}.plan-day:active{transform:scale(.92)}.plan-day[aria-pressed=true]{border-color:var(--ink);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.plan-row{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}.plan-time{width:8.5em}.plan-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.plan-row .plan-chips{margin-top:0}.plan-push{display:flex;align-items:center;gap:6px}.bonus-banner{display:grid;gap:16px;margin:0 0 18px;padding:16px 0;border-bottom:1px solid var(--line)}.bonus-row{display:grid;gap:4px}.bonus-row .muted{margin:0;font-size:14px}.bonus-title{display:flex;align-items:center;gap:8px;margin:0;font-weight:750;font-size:16px}.bonus-title .icon{color:var(--signal)}.bonus-row--drop{grid-template-columns:auto 1fr;align-items:center;gap:16px}.bonus-row--drop .btn{margin-top:8px}.drop-card{position:relative;width:92px;height:116px;padding:0;border:0;background:none;cursor:pointer;perspective:600px;animation:drop-in .8s var(--spring) .3s both}@keyframes drop-in{0%{transform:translateY(-40px) rotate(-12deg);opacity:0}}.drop-face{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:6px;border-radius:14px;backface-visibility:hidden;transition:transform .8s var(--spring)}.drop-face--back{border:1.5px solid var(--line-2);color:var(--signal);font-size:12.5px;font-weight:700;background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--signal) 10%,transparent) 0 6px,transparent 6px 12px)}.drop-face--back span{color:var(--ink-2)}.drop-face--front{transform:rotateY(180deg);border:1.5px solid color-mix(in srgb,var(--signal) 55%,transparent);background:color-mix(in srgb,var(--signal) 10%,var(--surface, var(--bg)))}.drop-card.is-open .drop-face--back{transform:rotateY(-180deg)}.drop-card.is-open .drop-face--front{transform:rotateY(0)}.drop-card:not(.is-open):hover .drop-face--back{transform:rotateY(-12deg)}.drop-avatar{width:64px;height:64px}.milestone{display:flex;align-items:center;gap:8px;margin:0 0 18px;font-size:14.5px;color:var(--ink-2)}.milestone .icon{color:var(--signal);flex:none}.milestone strong{font-size:1.25em;color:var(--ink)}.warm-next{display:flex;align-items:center;justify-content:space-between;gap:10px 18px;flex-wrap:wrap;margin:0 0 18px;padding:14px 0;border-bottom:1px solid var(--line)}.warm-next p{margin:0;font-size:15px}.warm-next strong{color:var(--good)}.growth{display:grid;gap:14px}.growth-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;animation:rise .5s var(--ease) both;animation-delay:calc(var(--i) * 90ms + .2s)}.growth-name{margin:0;font-size:14px;font-weight:650;grid-column:1 / -1}.growth-bar{position:relative;height:8px;border-radius:4px;background:var(--sunken, color-mix(in srgb, var(--ink) 8%, transparent))}.growth-now{position:absolute;inset:0 auto 0 0;width:calc(var(--now) * 100%);border-radius:4px;background:var(--good);transform-origin:left;animation:grow-from-before 1s var(--ease) .5s both}@keyframes grow-from-before{0%{transform:scaleX(calc(var(--before) / var(--now)))}}.growth-before{position:absolute;top:-3px;bottom:-3px;left:calc(var(--before) * 100%);width:2px;border-radius:1px;background:var(--ink-3)}.growth-nums{display:flex;align-items:center;gap:5px;margin:0;font-size:14px}.growth-nums strong{color:var(--good);font-weight:800}.stamps--endowed{grid-template-columns:repeat(4,minmax(0,1fr))}@media(min-width:560px){.stamps--endowed{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(min-width:1180px){.stamps--endowed{grid-template-columns:repeat(12,minmax(0,1fr))}}.stamp.is-gift .stamp-hit{cursor:default}.stamp.is-gift .stamp-prize{color:var(--signal)}.stamp.is-gift .stamp-state{color:var(--signal);font-weight:700}.is-mystery .shelf-pic,.is-mystery .shelf-avatar{filter:brightness(0) opacity(.18)}[data-mode=dark] .is-mystery .shelf-pic,[data-mode=dark] .is-mystery .shelf-avatar{filter:brightness(0) invert(1) opacity(.16)}.combo{display:inline-flex;align-items:center;gap:3px;margin-left:10px;padding:0 8px 0 6px;border-radius:999px;font-size:12.5px;font-weight:750;color:var(--surface);background:var(--signal)}.combo[hidden]{display:none}.combo-num{font-size:1.15em;min-width:1ch;text-align:center}.combo.is-pop{animation:combo-pop .5s var(--spring)}.combo.is-big{animation:combo-big .7s var(--spring)}.combo.is-leaving{animation:combo-out .26s ease forwards}@keyframes combo-pop{0%{transform:scale(.7)}60%{transform:scale(1.15)}to{transform:none}}@keyframes combo-big{0%{transform:scale(.6) rotate(-6deg)}50%{transform:scale(1.35) rotate(3deg)}to{transform:none}}@keyframes combo-out{to{opacity:0;transform:scale(.8)}}@media(display-mode:standalone){html,body{overscroll-behavior-y:none}body{-webkit-tap-highlight-color:transparent}.sidebar,.tabbar,.room-bar,.dock,.btn,.tab,.chip,.seg{-webkit-user-select:none;user-select:none}.tab .icon{transition:transform .45s var(--spring)}.tab:active .icon{transform:scale(.84)}.btn:active{transform:scale(.97)}}.update-bar{display:flex;align-items:center;gap:10px;margin:12px 18px 0;padding:8px 8px 8px 14px;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line-2));color:var(--ink-2);font-size:13.5px;animation:rise .5s var(--ease) both}.update-bar .icon{flex:none;color:var(--accent)}.update-bar span{flex:1}.install-hero{display:flex;align-items:center;gap:14px;margin:0 0 16px}.install-hero img{border-radius:16px;box-shadow:0 6px 18px #0f1a2a29;animation:install-pop .7s var(--spring) .1s both}@keyframes install-pop{0%{transform:scale(.6) rotate(-8deg);opacity:0}}.install-name{margin:0;font-size:17px;font-weight:800}.install-sub{margin:2px 0 0;font-size:13px;color:var(--ink-3)}.install-perks{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}.install-perks li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-2)}.install-perks .icon{flex:none;margin-top:2px;color:var(--accent)}.install-steps{margin:0;padding:12px 14px 12px 34px;border:1px dashed var(--line-2);border-radius:var(--r-md);display:grid;gap:6px;font-size:14px}.ios-share{display:inline-grid;place-items:center;vertical-align:-4px;color:#0a84ff}.size-controls{display:grid;gap:10px}.room-pop .size-controls,.sheet-tools .size-controls{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.size-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.size-name{font-size:14px;font-weight:600;color:var(--ink-2)}.size-stepper{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--line-2);border-radius:999px}.size-btn{width:34px;height:34px;border-radius:50%;transition:transform .4s var(--spring),background .15s}.size-btn:active:not(:disabled){transform:scale(.88)}.size-btn:disabled{opacity:.35}.size-a{font-weight:800;line-height:1;font-family:var(--font)}.size-a--s{font-size:12px}.size-a--l{font-size:19px}.size-mid{display:grid;justify-items:center;gap:3px;min-width:4.2em}.size-value{font-size:13.5px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.size-meter{display:flex;gap:3px}.size-meter i{width:5px;height:5px;border-radius:50%;background:var(--line-2);transition:background .2s,transform .3s var(--spring)}.size-meter i.is-on{background:var(--accent)}.size-meter i.is-at{transform:scale(1.35)}.size-controls.is-compact .size-btn{width:30px;height:30px}.rich img{cursor:zoom-in}.option .rich img,button .rich img{cursor:inherit}.zoom-view{position:fixed;inset:0;z-index:400;overflow:hidden;touch-action:none;outline:none;background:#080c12d1;animation:fade-in .2s ease both;-webkit-user-select:none;user-select:none;cursor:grab}.zoom-view:active{cursor:grabbing}.zoom-view.is-closing{animation:zoom-out .22s ease forwards}@keyframes zoom-out{to{opacity:0}}.zoom-card{position:absolute;left:50%;top:calc((100% - 64px)/2);transform-origin:center;background:#fff;border-radius:6px;box-shadow:0 20px 60px #00000073;will-change:transform}.zoom-card.is-animating{transition:transform .38s var(--ease)}.zoom-img{display:block;width:100%;height:100%;pointer-events:none;image-rendering:auto}.zoom-bar{position:absolute;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:5px;border-radius:999px;background:#141a22e0;color:#fff;box-shadow:0 8px 24px #00000059;cursor:default}.zoom-bar .icon-btn{color:#fff}.zoom-bar .btn{color:#fff;border-color:#ffffff4d}.zoom-level{min-width:3.6em;text-align:center;font-size:13px;font-weight:700}.reveal-one{display:none}.is-hiding .graded:not(.is-revealed) .reveal-one{display:inline-flex}.is-hiding .graded:not(.is-revealed) :is(.key,.solution,.worked,.option-rate){display:none!important}.is-hiding .graded:not(.is-revealed) .option:is(.is-correct,.is-wrong){border-color:var(--line-2);box-shadow:none;background:transparent}.is-hiding .graded:not(.is-revealed) .option:is(.is-correct,.is-wrong) .option-letter{background:transparent!important;border-color:var(--line-2)!important;color:var(--ink-2)!important}.is-hiding .graded:not(.is-revealed) .given{color:var(--ink);background:none;text-decoration:none}.is-hiding .graded:not(.is-revealed) .option:is(.is-correct,.is-wrong) [class*=pen-]{display:none}.graded.is-revealed .graded-body{animation:fade-in .3s ease}.pick-box{display:none;width:20px;height:20px;margin:0;accent-color:var(--accent);cursor:pointer}.is-picking .pick-box{display:block}.is-picking .graded:has(.pick-box:not(:checked)){opacity:.55}.pick-bar{position:sticky;bottom:calc(var(--tabbar, 0px) + 12px + env(safe-area-inset-bottom));z-index:5;display:flex;align-items:center;gap:10px;margin:14px 0 0;padding:8px 8px 8px 16px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-2, 0 10px 30px rgba(0, 0, 0, .14));animation:rise .4s var(--spring) both}.pick-bar[hidden]{display:none}.pick-bar>span{flex:1;font-size:14px}[data-theme=hand]{--bg: #F6F1E6;--surface: #FFFDF6;--surface-2: #FBF7EC;--sunken: #F0EADB;--line: rgba(38, 42, 51, .16);--line-2: rgba(38, 42, 51, .32);--ink: #23272F;--ink-2: #444A56;--ink-3: #6E7482;--scrim: rgba(35, 39, 47, .35);--shadow-pop: 3px 4px 0 rgba(35, 39, 47, .18);--font: "LXGW WenKai TC", "Kaiti TC", "BiauKai", "DFKai-SB", "Noto Sans TC", system-ui, sans-serif;--font-num: "Caveat", "LXGW WenKai TC", cursive;--num-width: 100%;--hand-display: "Caveat", "LXGW WenKai TC", cursive;--hand-frame-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M1.8666627498274921 5.095635817728794 C33.393684672189835 3.9038201962793653 70.06273018449816 6.244677520779711 97.11704896279366 4.519053822466889 M95.70781235234688 2.8203352430558675 C94.8635456774418 28.427210100996206 93.35387750497715 72.47715627493741 95.80950157206598 96.71726494183557 M99.35014157823657 95.7436124498009 C71.23138026827073 96.32357557282 27.259952761121298 92.64200206345889 2.079467545277341 94.79528176827017 M4.004333220476687 97.2774404382626 C3.6842312498294083 69.71147568978628 3.333487126638639 32.73941702814825 5.030598583622523 2.392816782173696' fill='none' stroke='%23262A33' stroke-width='2.1' stroke-linecap='round' stroke-opacity='.72'/%3E%3C/svg%3E");--hand-frame-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M3.1896227045526464 5.717769244789084 C33.139466752388635 2.833941895125914 70.73621781508588 5.786492743057892 98.08424642833042 3.908484705995969 M95.00719545206287 1.8448060068444363 C95.21890968484021 29.64026367078173 93.16934750897079 66.68619269021 95.83601312039185 97.77949541251974 M98.0353749882986 95.37473452605359 C68.8719708782896 94.76115268301781 32.26481884928403 94.24954575176162 2.4421555882797072 95.6935863282209 M5.253176364126332 97.6158190517387 C5.727402514281886 68.94947051814566 3.7017309873369864 31.284256874002544 4.703025777017898 0.8400611481068399' fill='none' stroke='%23262A33' stroke-width='2.1' stroke-linecap='round' stroke-opacity='.72'/%3E%3C/svg%3E");--hand-frame-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M2.509612769646338 4.346564172927302 C30.94253079089122 4.957375732742678 72.67640230860871 6.042049632215779 98.3669063028279 4.29076773450067 M95.54482979523075 0.9019987132476495 C96.51225981473323 30.80534689399824 93.88938866399793 69.02858275014559 95.87781045941388 97.8428568452918 M99.28692497790234 95.75400954369198 C72.70690083798834 94.85487700370476 26.60122105739528 93.40804075154041 1.611099778227853 95.82792462625922 M5.023018343303097 98.17534816730954 C5.3897349862345365 70.58463811698137 2.1953584660579235 30.213307000362835 4.541190105738602 1.7674959523712197' fill='none' stroke='%23262A33' stroke-width='2.1' stroke-linecap='round' stroke-opacity='.72'/%3E%3C/svg%3E");--hand-frame-ink-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M1.8666627498274921 5.095635817728794 C33.393684672189835 3.9038201962793653 70.06273018449816 6.244677520779711 97.11704896279366 4.519053822466889 M95.70781235234688 2.8203352430558675 C94.8635456774418 28.427210100996206 93.35387750497715 72.47715627493741 95.80950157206598 96.71726494183557 M99.35014157823657 95.7436124498009 C71.23138026827073 96.32357557282 27.259952761121298 92.64200206345889 2.079467545277341 94.79528176827017 M4.004333220476687 97.2774404382626 C3.6842312498294083 69.71147568978628 3.333487126638639 32.73941702814825 5.030598583622523 2.392816782173696' fill='none' stroke='%232B54C4' stroke-width='2.3' stroke-linecap='round' stroke-opacity='.72'/%3E%3C/svg%3E");--hand-frame-ink-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M3.1896227045526464 5.717769244789084 C33.139466752388635 2.833941895125914 70.73621781508588 5.786492743057892 98.08424642833042 3.908484705995969 M95.00719545206287 1.8448060068444363 C95.21890968484021 29.64026367078173 93.16934750897079 66.68619269021 95.83601312039185 97.77949541251974 M98.0353749882986 95.37473452605359 C68.8719708782896 94.76115268301781 32.26481884928403 94.24954575176162 2.4421555882797072 95.6935863282209 M5.253176364126332 97.6158190517387 C5.727402514281886 68.94947051814566 3.7017309873369864 31.284256874002544 4.703025777017898 0.8400611481068399' fill='none' stroke='%232B54C4' stroke-width='2.3' stroke-linecap='round' stroke-opacity='.72'/%3E%3C/svg%3E");--hand-frame-ink-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M2.509612769646338 4.346564172927302 C30.94253079089122 4.957375732742678 72.67640230860871 6.042049632215779 98.3669063028279 4.29076773450067 M95.54482979523075 0.9019987132476495 C96.51225981473323 30.80534689399824 93.88938866399793 69.02858275014559 95.87781045941388 97.8428568452918 M99.28692497790234 95.75400954369198 C72.70690083798834 94.85487700370476 26.60122105739528 93.40804075154041 1.611099778227853 95.82792462625922 M5.023018343303097 98.17534816730954 C5.3897349862345365 70.58463811698137 2.1953584660579235 30.213307000362835 4.541190105738602 1.7674959523712197' fill='none' stroke='%232B54C4' stroke-width='2.3' stroke-linecap='round' stroke-opacity='.72'/%3E%3C/svg%3E");--hand-line-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='6' viewBox='0 0 400 6' preserveAspectRatio='none'%3E%3Cpath d='M1 3.196642711823523 C89.67147957042917 3.944619409810229 177.69801135108202 3.7676754391677783 256.89299986661666 1.6812146391941214 S358.62490617512424 4.418741494394604 399 3.2383592850190785' fill='none' stroke='%23262A33' stroke-width='1.6' stroke-linecap='round' stroke-opacity='.55' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");--hand-line-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='6' viewBox='0 0 400 6' preserveAspectRatio='none'%3E%3Cpath d='M1 2.940811772504034 C74.93247725580169 1.8433261200462567 174.66247399945365 1.4205921730595945 240.11128320208834 4.115234316089427 S343.23258588732006 3.1736654981705152 399 3.1866400682937894' fill='none' stroke='%23262A33' stroke-width='1.6' stroke-linecap='round' stroke-opacity='.55' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");--hand-line-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='6' viewBox='0 0 400 6' preserveAspectRatio='none'%3E%3Cpath d='M1 2.370925660322649 C88.10342095947422 3.4865344650056813 177.61409558264472 2.2675687249930343 230.23102053732157 3.655366219605151 S366.33800072960304 2.369561516442736 399 3.2947730049231287' fill='none' stroke='%23262A33' stroke-width='1.6' stroke-linecap='round' stroke-opacity='.55' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}[data-theme=hand] body{background-color:var(--bg);background-image:radial-gradient(rgba(38,42,51,.13) 1px,transparent 1.3px);background-size:22px 22px}[data-theme=hand] .stage{background-color:transparent}@media(min-width:960px){[data-theme=hand] .stage{background:var(--surface);border:0;box-shadow:var(--shadow-pop)}}[data-theme=hand] :is(.page-title,.panel-title,.dialog-title,.brand-name,.hero h1,.login-title,.stamp-card-title){font-family:var(--hand-display);font-weight:700;letter-spacing:.01em}[data-theme=hand] :is(.page-title,.hero h1){font-size:1.18em}[data-theme=hand] :is(.stat-num,.today-num,.score-num,.ring-num,.dock-count-now,.clock-num,.reward-count .num,.points-pill){font-family:var(--font-num);font-weight:700}[data-theme=hand] .btn{font-family:var(--hand-display);font-size:1.12em;font-weight:700;letter-spacing:.02em}[data-theme=hand] :is(.btn:not(.btn--text):not(.btn--quiet),.input,.option,.keypad-key,.formula-key,.qcell,.resume,.dialog,.room-pop,.sheet-row,.stamp-card,.points-pill,.icon-btn,.dock,.palette-panel,.pick-bar,.size-stepper,.update-bar,.offline-bar){border-style:solid!important;border-width:1.5px!important;border-color:transparent!important;border-image:var(--hand-frame-1) 14 / 11px / 2px stretch;border-radius:7px;box-shadow:none;animation:hand-boil .75s steps(1,end) infinite;animation-delay:calc(var(--i, 0) * -.13s)}[data-theme=hand] :is(.btn--solid,.option.is-picked,.qcell.is-current,.chip.is-on){border-image-source:var(--hand-frame-ink-1);animation-name:hand-boil-ink}[data-theme=hand] .btn--solid{background:color-mix(in srgb,var(--accent) 90%,#000);color:#fff}[data-theme=hand] .icon-btn{border-radius:50%}@keyframes hand-boil{0%{border-image-slice:14;border-image-outset:2px}33%{border-image-slice:11 16 13 12;border-image-outset:2.6px 1.6px 2.2px 2.4px}66%{border-image-slice:16 12 15 14;border-image-outset:1.6px 2.4px 1.8px 2px}}@keyframes hand-boil-ink{0%,to{border-image-source:var(--hand-frame-ink-1)}0%{border-image-slice:14;border-image-outset:2px}33%{border-image-slice:11 16 13 12;border-image-outset:2.6px 1.6px 2.2px 2.4px}66%{border-image-slice:16 12 15 14;border-image-outset:1.6px 2.4px 1.8px 2px}}[data-theme=hand] :is(.panel,.today,.stats-panel,.bonus-banner,.warm-next,.line){border-color:transparent!important}[data-theme=hand] :is(.panel+.panel,.today,.bonus-banner,.warm-next){background-image:var(--hand-line-1);background-repeat:no-repeat;background-size:100% 6px;background-position:left bottom;animation:hand-line .75s steps(1,end) infinite}[data-theme=hand] .panel+.panel{background-position:left top}[data-theme=hand] :is(.topbar,.room-bar){border-bottom-color:transparent!important;background-image:var(--hand-line-2);background-repeat:no-repeat;background-size:100% 6px;background-position:left bottom}[data-theme=hand] .tabbar{border-top-color:transparent!important;background-image:var(--hand-line-3);background-repeat:no-repeat;background-size:100% 6px;background-position:left top}@keyframes hand-line{0%{background-size:100% 6px;background-position-y:100%}33%{background-size:100.6% 7px;background-position-y:calc(100% + 1px)}66%{background-size:99.5% 5px;background-position-y:calc(100% - 1px)}}[data-theme=hand] .page-head .page-title{display:inline-block;background-image:var(--hand-line-2);background-repeat:no-repeat;background-size:100% 6px;background-position:left bottom;padding-bottom:6px}[data-theme=hand] :is(.page-title,.panel-title,.brand-name,.stat-num,.today-num,.hero h1,.dialog-title,.score-num){animation:hand-shiver .6s steps(1,end) infinite}[data-theme=hand] :is(.btn,.chip,.nav-label,.tab-label,.qcell){animation-name:hand-boil,hand-shiver-soft;animation-duration:.75s,.9s;animation-timing-function:steps(1,end);animation-iteration-count:infinite}[data-theme=hand] :is(.chip,.nav-label,.tab-label){animation-name:hand-shiver-soft;animation-duration:.9s}[data-theme=hand] :is(.btn--solid,.qcell.is-current){animation-name:hand-boil-ink,hand-shiver-soft}[data-theme=hand] :is(.page-title,.panel-title):nth-of-type(2n){animation-delay:-.2s}[data-theme=hand] .btn:nth-child(2n){animation-delay:-.3s,-.45s}@keyframes hand-shiver{0%{translate:0 0;rotate:0deg}25%{translate:.6px -.4px;rotate:-.35deg}50%{translate:-.4px .5px;rotate:.3deg}75%{translate:.3px .3px;rotate:-.15deg}}@keyframes hand-shiver-soft{0%{translate:0 0;rotate:0deg}33%{translate:.4px -.3px;rotate:-.25deg}66%{translate:-.3px .3px;rotate:.2deg}}[data-theme=hand] :is(.rich,.option-body,.blank-input,.stem,.preamble){animation:none!important;translate:none;rotate:none}[data-theme=hand] .option{animation-name:hand-boil}[data-theme=hand] :is(.today.is-met .today-title,.streak-banner-title strong,.reward-gain){background:linear-gradient(transparent 55%,rgba(255,214,64,.75) 55%,rgba(255,214,64,.75) 92%,transparent 92%);padding:0 3px}[data-motion=reduced] [data-theme=hand] *,[data-theme=hand][data-motion=reduced] *{animation:none!important;translate:none!important;rotate:none!important}@media(prefers-reduced-motion:reduce){[data-theme=hand] *{animation:none!important;translate:none!important;rotate:none!important}}[data-theme=hand] :is(.btn--text,.btn--quiet){animation-name:hand-shiver-soft;animation-duration:.9s}[data-theme=hand] :is(.btn:not(.btn--text):not(.btn--quiet),.qcell:not(.x):not(.y),.icon-btn:not(.x):not(.y)){animation:hand-boil .75s steps(1,end) infinite,hand-shiver-soft .9s steps(1,end) infinite}[data-theme=hand] :is(.btn--solid:not(.btn--text):not(.btn--quiet),.qcell.is-current:not(.x)){animation:hand-boil-ink .75s steps(1,end) infinite,hand-shiver-soft .9s steps(1,end) infinite}[data-theme=hand] :is(.btn:not(.btn--text):not(.btn--quiet)):nth-child(2n){animation-delay:-.3s,-.45s}[data-theme=hand] .panel+.panel{animation-name:hand-line-top}@keyframes hand-line-top{0%{background-size:100% 6px;background-position-y:0}33%{background-size:100.6% 7px;background-position-y:1px}66%{background-size:99.5% 5px;background-position-y:-1px}}.level-chip{display:inline-flex;align-items:baseline;gap:6px;font-size:14px}.level-num{font-family:var(--font-num);font-stretch:var(--num-width);font-weight:850;font-size:1.15em;color:var(--accent-ink)}.level-title{font-weight:700;color:var(--ink)}.level-block{display:grid;gap:6px;min-width:0}.level-bar{position:relative;height:8px;border-radius:999px;background:var(--sunken);overflow:hidden}.level-fill{position:absolute;inset:0 auto 0 0;width:calc(var(--v) * 100%);border-radius:inherit;background:var(--accent);transform-origin:left;animation:grow-x-lv 1.1s var(--ease) .2s both}.level-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);background-size:220% 100%;animation:level-sheen 2.6s ease-in-out 1.4s infinite}@keyframes grow-x-lv{0%{transform:scaleX(0)}}@keyframes level-sheen{0%{background-position:120% 0}60%,to{background-position:-120% 0}}.level-next{margin:0;font-size:12.5px;color:var(--ink-3)}.sidebar-user-level{margin-left:6px;font:800 11px/1 var(--font-num);color:var(--accent-ink);letter-spacing:.02em}.levelup{position:fixed;left:50%;top:38%;z-index:500;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:2px;padding:22px 34px 20px;border-radius:22px;background:var(--surface);box-shadow:0 30px 80px -20px #0a142873,0 0 0 1px var(--line);animation:levelup-in .8s var(--spring) both;pointer-events:none}.levelup.is-leaving{animation:levelup-out .45s var(--ease) forwards}.levelup{view-transition-name:levelup}.toasts{view-transition-name:toasts}.levelup-label{margin:0;font-size:13px;font-weight:700;color:var(--signal);letter-spacing:.2em}.levelup-num{margin:0;font:900 56px/1 var(--font-num);font-stretch:var(--num-width);color:var(--accent-ink)}.levelup-title{margin:0;font-size:18px;font-weight:800}@keyframes levelup-in{0%{opacity:0;transform:translate(-50%,-30%) scale(.6) rotate(-6deg)}60%{opacity:1}}@keyframes levelup-out{to{opacity:0;transform:translate(-50%,-70%) scale(.9)}}.boost{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px 22px;margin:0 0 22px;padding:0 0 20px;border-bottom:1px solid var(--line)}@media(max-width:720px){.boost{grid-template-columns:1fr}}.boost-challenge{display:grid;gap:8px;padding:14px 16px;border:1px dashed var(--line-2);border-radius:var(--r-md);animation:rise .5s var(--ease) both .1s}.boost-challenge.is-done{border-style:solid;border-color:color-mix(in srgb,var(--good) 45%,transparent);background:color-mix(in srgb,var(--good) 9%,transparent)}.boost-head{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:700;color:var(--ink-2)}.boost-head .icon{color:var(--signal)}.boost-challenge.is-done .boost-head .icon{color:var(--good)}.boost-xp{margin-left:auto;font-size:12px;font-weight:700;color:var(--accent-ink)}.boost-text{margin:0;font-size:17px;font-weight:750}.boost-meter{display:flex;align-items:center;gap:10px}.boost-meter .progress{flex:1}.boost-count{font-size:13px;font-weight:800;color:var(--ink-2)}.boost-week{display:flex;gap:6px}.boost-day{display:grid;justify-items:center;gap:3px;font-size:11px;color:var(--ink-3)}.boost-day.is-today{color:var(--ink);font-weight:800}.boost-stamp{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px dashed var(--line-2);color:#fff}.boost-day.is-done .boost-stamp{border:0;background:var(--good);animation:stamp-in .5s var(--spring) both;animation-delay:calc(var(--i) * 60ms + .3s)}@keyframes stamp-in{0%{transform:scale(1.8) rotate(-20deg);opacity:0}}.boost-challenge .btn{justify-self:start}.boost-level{display:grid;align-content:start;gap:10px;padding:14px 4px}.boost-level .btn{justify-self:start}.hero-sky{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}.sky-band-stop{stop-color:#ff9a62;stop-opacity:.22}.sky-band-stop--top{stop-opacity:0}.hero-sky--dawn .sky-band-stop{stop-color:#ffb36b;stop-opacity:.26}.hero-sky--dawn .sky-band-stop--top,.hero-sky--dusk .sky-band-stop--top{stop-opacity:0}[data-mode=dark] .sky-band-stop:not(.sky-band-stop--top){stop-opacity:.16}.sky-sun circle{fill:color-mix(in srgb,#FFC24D 55%,transparent)}.sky-sun--dusk circle{fill:color-mix(in srgb,#FF8A55 45%,transparent)}.sky-sun--dawn,.sky-sun--dusk{animation:sun-drift 40s ease-in-out infinite alternate}.sky-sun--day{transform-origin:342px 34px;animation:sun-turn 60s linear infinite}.sky-ray{stroke:color-mix(in srgb,#FFC24D 60%,transparent);stroke-width:3;stroke-linecap:round}@keyframes sun-turn{to{transform:rotate(360deg)}}@keyframes sun-drift{to{transform:translateY(-8px)}}.sky-cloud path{fill:color-mix(in srgb,var(--surface) 75%,transparent)}[data-mode=dark] .sky-cloud{display:none}[data-mode=dark] .sky-sun circle{opacity:.6}.sky-cloud{animation:cloud-drift var(--d) ease-in-out infinite alternate}@keyframes cloud-drift{to{transform:translate(var(--x))}}.sky-moon circle{fill:color-mix(in srgb,#FFE6A0 60%,transparent)}.sky-moon .sky-moon-cut{fill:var(--hero-bg)}.sky-moon.is-full circle{fill:color-mix(in srgb,#FFD970 55%,transparent);filter:drop-shadow(0 0 10px rgba(255,214,110,.6))}.sky-star{fill:color-mix(in srgb,var(--accent) 45%,#FFD970);animation:twinkle 2.8s ease-in-out infinite;animation-delay:var(--d)}@keyframes twinkle{50%{opacity:.15}}.sky-lantern line{stroke:color-mix(in srgb,#B8322A 70%,transparent);stroke-width:1.4}.sky-lantern ellipse{fill:color-mix(in srgb,#E0453A 70%,transparent)}.sky-lantern{transform-origin:top;animation:lantern-sway 3.4s ease-in-out infinite;animation-delay:var(--d)}@keyframes lantern-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.sky-snow{fill:color-mix(in srgb,var(--surface) 90%,#fff);animation:snow-fall 6s linear infinite;animation-delay:var(--d)}@keyframes snow-fall{0%{transform:translateY(-20px)}to{transform:translateY(40px);opacity:0}}.sky-spark{fill:color-mix(in srgb,#FFD34D 80%,transparent);animation:twinkle 1.4s ease-in-out infinite;animation-delay:var(--d)}.hero-fest{display:flex;flex-wrap:wrap;gap:0 1px;margin:4px 0 6px;font:700 clamp(22px,3.2vw,28px)/1.25 "LXGW WenKai TC","Kaiti TC","BiauKai","DFKai-SB",serif;letter-spacing:.12em;color:#b5781e;text-shadow:0 1px 0 rgba(255,255,255,.6),0 0 14px rgba(255,200,90,.55)}[data-mode=dark] .hero-fest{color:#f2c66b;text-shadow:0 0 16px rgba(255,196,90,.45)}.hero--banner .hero-fest{color:#ffe3a3;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 18px rgba(255,196,90,.5)}.hero-fest--lantern{color:#c8372d;text-shadow:0 1px 0 rgba(255,255,255,.6),0 0 14px rgba(255,120,90,.4)}.hero-fest span{display:inline-block;animation:fest-in .7s var(--spring) both,fest-glow 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * 90ms + .3s),calc(var(--i) * .18s + 1.2s)}@keyframes fest-in{0%{opacity:0;transform:translateY(10px) rotate(-8deg) scale(.8);filter:blur(3px)}}@keyframes fest-glow{50%{text-shadow:0 1px 0 rgba(255,255,255,.6),0 0 22px rgba(255,200,90,.85)}}.sky-moon.is-rising{opacity:.7;animation:moon-rise 30s ease-out both}@keyframes moon-rise{0%{transform:translateY(18px);opacity:0}}[data-theme=pixel] .hero-sky,[data-theme=terminal] .hero-sky,[data-theme=code] .hero-sky{display:none}.page--sprint{max-width:760px;margin:0 auto}.sprint-intro{display:grid;justify-items:center;gap:10px;text-align:center;padding:30px 0 40px}.sprint-badge{display:grid;place-items:center;width:84px;height:84px;border-radius:26px;color:#fff;background:var(--signal);box-shadow:0 16px 36px -14px color-mix(in srgb,var(--signal) 80%,transparent);animation:badge-bob 2.4s ease-in-out infinite}@keyframes badge-bob{50%{transform:translateY(-6px) rotate(-4deg)}}.sprint-title{margin:8px 0 0;font-size:32px;font-weight:900}.sprint-lede{margin:0;font-size:16px;color:var(--ink-2);max-width:26em}.sprint-rules{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;font-size:13.5px;color:var(--ink-3)}.sprint-best{margin:6px 0 0;font-size:15px}.sprint-best strong{font-size:1.4em;color:var(--accent-ink)}.sprint-best .faint{margin-left:6px;font-size:13px}.sprint-go{margin-top:12px;min-width:180px;height:52px;font-size:18px}.sprint-countdown{display:grid;place-items:center;min-height:60vh}.sprint-count{font:900 140px/1 var(--font-num);font-stretch:var(--num-width);color:var(--accent-ink)}.sprint-count.is-tick{animation:count-tick .9s var(--spring)}@keyframes count-tick{0%{transform:scale(2.2);opacity:0}40%{opacity:1}to{transform:scale(1);opacity:.9}}.sprint-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;padding:10px 0 12px;background:var(--bg)}.sprint-timer{position:relative;display:grid;place-items:center;width:58px;height:58px}.sprint-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--left, 1) * 360deg),var(--sunken) 0);-webkit-mask:radial-gradient(circle,transparent 60%,#000 61%);mask:radial-gradient(circle,transparent 60%,#000 61%)}.sprint-clock{font:900 22px/1 var(--font-num)}.page--sprint.is-hurry .sprint-ring{background:conic-gradient(var(--bad) calc(var(--left, 1) * 360deg),var(--sunken) 0)}.page--sprint.is-hurry .sprint-clock{color:var(--bad);animation:hurry .5s ease-in-out infinite alternate}@keyframes hurry{to{transform:scale(1.15)}}.sprint-scorebox{position:relative;display:grid}.sprint-score-label{font-size:12px;color:var(--ink-3)}.sprint-score{font:900 34px/1 var(--font-num);font-stretch:var(--num-width)}.sprint-gain{position:absolute;left:100%;top:4px;margin-left:6px;font:900 20px/1 var(--font-num);color:var(--good);animation:gain-up .8s var(--ease) forwards}@keyframes gain-up{to{transform:translateY(-26px);opacity:0}}.sprint-combo{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;margin-left:auto;font-weight:800;color:var(--surface);background:var(--signal)}.sprint-combo[hidden]{display:none}.sprint-combo.is-pop{animation:combo-pop .45s var(--spring)}.sprint-combo strong{color:inherit}.sprint-bar .btn--text{margin-left:auto}.sprint-combo:not([hidden])+.btn--text{margin-left:0}.sprint-card{padding:18px 0;animation:card-in .35s var(--ease) both}@keyframes card-in{0%{opacity:0;transform:translate(26px)}}.sprint-card.is-wrong{animation:shake .45s var(--ease)}.sprint-qnum{margin:0 0 6px;font-size:13px}.sprint-stem{margin-bottom:16px}.sprint-options{list-style:none;margin:0;padding:0;display:grid;gap:10px}.sprint-option{display:flex;align-items:center;gap:14px;width:100%;min-height:58px;padding:10px 16px;text-align:left;border:1.5px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;transition:transform .35s var(--spring),border-color .15s,background .15s}.sprint-option:hover{border-color:var(--accent)}.sprint-option:active{transform:scale(.98)}.sprint-letter{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line-2);font-weight:800}.sprint-option.is-correct{border-color:var(--good);background:color-mix(in srgb,var(--good) 14%,var(--surface))}.sprint-option.is-correct .sprint-letter{background:var(--good);border-color:var(--good);color:#fff}.sprint-option.is-wrong{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--surface))}.sprint-skip{margin-top:12px}.sprint-result{display:grid;justify-items:center;gap:6px;text-align:center;padding:24px 0 40px}.sprint-result-label{margin:0;font-size:14px;font-weight:700;color:var(--ink-3);letter-spacing:.2em}.sprint-final{font:900 110px/1 var(--font-num);font-stretch:var(--num-width);color:var(--accent-ink)}.sprint-result-unit{margin:-6px 0 4px;font-size:16px;font-weight:700;color:var(--ink-2)}.sprint-newbest{display:inline-flex;align-items:center;gap:6px;margin:0;padding:4px 12px;border-radius:999px;font-weight:800;color:#fff;background:var(--signal);animation:pop .6s var(--spring) 1.2s both}.sprint-recap{width:min(320px,100%)}.sprint-level{width:min(360px,100%);text-align:left;margin-top:6px}.sprint-challenge{display:inline-flex;align-items:center;gap:6px;margin:4px 0 0;color:var(--good);font-weight:700}.progress-banner{display:grid;gap:8px;margin:0 0 18px;padding:0 0 16px;border-bottom:1px solid var(--line)}.challenge-done{display:flex;align-items:center;gap:6px;margin:0;font-size:14px;color:var(--good);flex-wrap:wrap}.challenge-done strong{color:var(--ink)}@property --doodle{syntax: "<image> | none"; inherits: false; initial-value: none;}@property --doodle-ink{syntax: "<image> | none"; inherits: false; initial-value: none;}@property --doodle-soft{syntax: "<image> | none"; inherits: false; initial-value: none;}[data-theme=hand]{--doodle-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M3.2 6.2 C33.6 5.8 61.3 3.7 97.3 5.6' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M93.8 96.0 C93.0 69.9 94.4 34.0 94.5 3.6' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M2.6 94.4 C28.0 96.6 68.6 95.8 98.0 94.7' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M4.7 3.2 C2.6 33.7 5.2 63.2 3.6 97.5' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3C/svg%3E");--doodle-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M98.1 4.1 C68.9 7.3 32.7 6.7 0.8 5.1' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M95.3 4.1 C95.1 40.4 94.2 59.6 94.9 97.0' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M1.4 94.3 C33.5 96.7 62.4 92.8 98.9 96.1' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M4.3 1.0 C7.0 27.9 3.2 61.6 5.8 97.7' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M93.1 94.0 C92.3 70.8 95.4 29.1 92.6 5.5' fill='none' stroke='%23262A33' stroke-width='1.54' stroke-linecap='round' stroke-opacity='0.43'/%3E%3Cpath d='M5.7 3.7 C8.7 27.8 5.6 67.2 7.9 95.6' fill='none' stroke='%23262A33' stroke-width='1.54' stroke-linecap='round' stroke-opacity='0.43'/%3E%3C/svg%3E");--doodle-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M95.5 6.4 C72.5 3.8 34.9 4.5 3.7 5.8' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M95.1 1.9 C95.5 27.8 94.5 66.0 96.2 99.1' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M2.9 94.2 C31.4 93.4 67.4 96.4 98.4 95.9' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M4.3 99.0 C7.4 69.8 7.4 40.1 6.1 2.4' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3C/svg%3E");--doodle-4: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M2.7 3.8 C36.1 4.2 63.8 3.1 97.0 5.5' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M94.1 97.6 C96.2 60.8 93.3 34.3 93.9 2.4' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M2.9 95.9 C35.1 93.6 58.4 93.1 97.8 95.8' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M6.0 97.0 C6.3 71.2 4.0 37.8 4.5 2.5' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-opacity='0.78'/%3E%3Cpath d='M6.2 93.4 C38.5 92.0 58.3 93.7 95.7 93.3' fill='none' stroke='%23262A33' stroke-width='1.54' stroke-linecap='round' stroke-opacity='0.43'/%3E%3Cpath d='M5.9 5.3 C8.4 36.3 4.5 65.5 5.2 94.4' fill='none' stroke='%23262A33' stroke-width='1.54' stroke-linecap='round' stroke-opacity='0.43'/%3E%3C/svg%3E");--doodle-ink-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M3.2 6.2 C33.6 5.8 61.3 3.7 97.3 5.6' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M93.8 96.0 C93.0 69.9 94.4 34.0 94.5 3.6' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M2.6 94.4 C28.0 96.6 68.6 95.8 98.0 94.7' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M4.7 3.2 C2.6 33.7 5.2 63.2 3.6 97.5' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3C/svg%3E");--doodle-ink-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M98.1 4.1 C68.9 7.3 32.7 6.7 0.8 5.1' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M95.3 4.1 C95.1 40.4 94.2 59.6 94.9 97.0' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M1.4 94.3 C33.5 96.7 62.4 92.8 98.9 96.1' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M4.3 1.0 C7.0 27.9 3.2 61.6 5.8 97.7' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M93.1 94.0 C92.3 70.8 95.4 29.1 92.6 5.5' fill='none' stroke='%232B54C4' stroke-width='1.68' stroke-linecap='round' stroke-opacity='0.50'/%3E%3Cpath d='M5.7 3.7 C8.7 27.8 5.6 67.2 7.9 95.6' fill='none' stroke='%232B54C4' stroke-width='1.68' stroke-linecap='round' stroke-opacity='0.50'/%3E%3C/svg%3E");--doodle-ink-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M95.5 6.4 C72.5 3.8 34.9 4.5 3.7 5.8' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M95.1 1.9 C95.5 27.8 94.5 66.0 96.2 99.1' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M2.9 94.2 C31.4 93.4 67.4 96.4 98.4 95.9' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M4.3 99.0 C7.4 69.8 7.4 40.1 6.1 2.4' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3C/svg%3E");--doodle-ink-4: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M2.7 3.8 C36.1 4.2 63.8 3.1 97.0 5.5' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M94.1 97.6 C96.2 60.8 93.3 34.3 93.9 2.4' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M2.9 95.9 C35.1 93.6 58.4 93.1 97.8 95.8' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M6.0 97.0 C6.3 71.2 4.0 37.8 4.5 2.5' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-opacity='0.9'/%3E%3Cpath d='M6.2 93.4 C38.5 92.0 58.3 93.7 95.7 93.3' fill='none' stroke='%232B54C4' stroke-width='1.68' stroke-linecap='round' stroke-opacity='0.50'/%3E%3Cpath d='M5.9 5.3 C8.4 36.3 4.5 65.5 5.2 94.4' fill='none' stroke='%232B54C4' stroke-width='1.68' stroke-linecap='round' stroke-opacity='0.50'/%3E%3C/svg%3E");--doodle-soft-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M3.2 6.2 C33.6 5.8 61.3 3.7 97.3 5.6' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M93.8 96.0 C93.0 69.9 94.4 34.0 94.5 3.6' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M2.6 94.4 C28.0 96.6 68.6 95.8 98.0 94.7' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M4.7 3.2 C2.6 33.7 5.2 63.2 3.6 97.5' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3C/svg%3E");--doodle-soft-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M98.1 4.1 C68.9 7.3 32.7 6.7 0.8 5.1' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M95.3 4.1 C95.1 40.4 94.2 59.6 94.9 97.0' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M1.4 94.3 C33.5 96.7 62.4 92.8 98.9 96.1' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M4.3 1.0 C7.0 27.9 3.2 61.6 5.8 97.7' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M93.1 94.0 C92.3 70.8 95.4 29.1 92.6 5.5' fill='none' stroke='%23262A33' stroke-width='1.26' stroke-linecap='round' stroke-opacity='0.22'/%3E%3Cpath d='M5.7 3.7 C8.7 27.8 5.6 67.2 7.9 95.6' fill='none' stroke='%23262A33' stroke-width='1.26' stroke-linecap='round' stroke-opacity='0.22'/%3E%3C/svg%3E");--doodle-soft-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M95.5 6.4 C72.5 3.8 34.9 4.5 3.7 5.8' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M95.1 1.9 C95.5 27.8 94.5 66.0 96.2 99.1' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M2.9 94.2 C31.4 93.4 67.4 96.4 98.4 95.9' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M4.3 99.0 C7.4 69.8 7.4 40.1 6.1 2.4' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3C/svg%3E");--doodle-soft-4: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M2.7 3.8 C36.1 4.2 63.8 3.1 97.0 5.5' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M94.1 97.6 C96.2 60.8 93.3 34.3 93.9 2.4' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M2.9 95.9 C35.1 93.6 58.4 93.1 97.8 95.8' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M6.0 97.0 C6.3 71.2 4.0 37.8 4.5 2.5' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.4'/%3E%3Cpath d='M6.2 93.4 C38.5 92.0 58.3 93.7 95.7 93.3' fill='none' stroke='%23262A33' stroke-width='1.26' stroke-linecap='round' stroke-opacity='0.22'/%3E%3Cpath d='M5.9 5.3 C8.4 36.3 4.5 65.5 5.2 94.4' fill='none' stroke='%23262A33' stroke-width='1.26' stroke-linecap='round' stroke-opacity='0.22'/%3E%3C/svg%3E")}@keyframes hand-doodle{0%{--doodle: var(--doodle-1)}25%{--doodle: var(--doodle-2)}50%{--doodle: var(--doodle-3)}75%{--doodle: var(--doodle-4)}}@keyframes hand-doodle-ink{0%{--doodle-ink: var(--doodle-ink-1)}25%{--doodle-ink: var(--doodle-ink-2)}50%{--doodle-ink: var(--doodle-ink-3)}75%{--doodle-ink: var(--doodle-ink-4)}}@keyframes hand-doodle-soft{0%{--doodle-soft: var(--doodle-soft-1)}25%{--doodle-soft: var(--doodle-soft-2)}50%{--doodle-soft: var(--doodle-soft-3)}75%{--doodle-soft: var(--doodle-soft-4)}}@keyframes hand-boil{0%{--doodle: var(--doodle-1)}25%{--doodle: var(--doodle-2)}50%{--doodle: var(--doodle-3)}75%{--doodle: var(--doodle-4)}}@keyframes hand-boil-ink{0%{--doodle-ink: var(--doodle-ink-1)}25%{--doodle-ink: var(--doodle-ink-2)}50%{--doodle-ink: var(--doodle-ink-3)}75%{--doodle-ink: var(--doodle-ink-4)}}[data-theme=hand] :is(.chip,.subject-pick,.theme-tile,.mark-toggle,.dock-count,.seg):before{content:none!important}[data-theme=hand] :is(.btn:not(.btn--text):not(.btn--quiet),.input,.option,.keypad-key,.qcell,.resume,.dialog,.room-pop,.sheet-row,.stamp-card,.points-pill,.icon-btn,.dock,.palette-panel,.pick-bar,.size-stepper,.update-bar,.offline-bar,.chip,.seg,.mark-toggle,.theme-tile,.subject-pick,.dock-btn,.nav-search,.plan-day,.size-btn,.sprint-option,.goal-chip,.focus-pill,.today-toggle,.stats-toggle-btn):not(.x):not(.y):not(.z){--doodle: var(--doodle-1);border-style:solid!important;border-width:1.5px!important;border-color:transparent!important;border-image:var(--doodle) 14 / 11px / 2px stretch;box-shadow:none!important;animation:hand-doodle .8s steps(1,end) infinite;animation-delay:calc(var(--i, 0) * -.2s)}[data-theme=hand] :is(.btn:not(.btn--text):not(.btn--quiet),.qcell,.icon-btn,.chip,.mark-toggle,.dock-btn,.plan-day,.size-btn,.goal-chip,.points-pill):not(.x):not(.y):not(.z){animation:hand-doodle .8s steps(1,end) infinite,hand-shiver-soft .9s steps(1,end) infinite}[data-theme=hand] :is(.btn--solid,.option.is-picked,.qcell.is-current,.chip.is-on,.plan-day[aria-pressed=true],.theme-tile[aria-checked=true],.subject-pick[aria-checked=true],.mark-toggle.is-on,.sprint-option.is-correct):not(.x):not(.y):not(.z){--doodle-ink: var(--doodle-ink-1);border-image-source:var(--doodle-ink);animation:hand-doodle-ink .8s steps(1,end) infinite,hand-shiver-soft .9s steps(1,end) infinite}[data-theme=hand] :is(.btn--text,.btn--quiet):not(.x):not(.y):not(.z){--doodle-soft: var(--doodle-soft-1);border-style:solid!important;border-width:1.5px!important;border-color:transparent!important;border-image:var(--doodle-soft) 14 / 10px / 1px stretch;padding-left:10px;padding-right:10px;animation:hand-doodle-soft .8s steps(1,end) infinite,hand-shiver-soft .9s steps(1,end) infinite}[data-theme=hand] .option:not(.x):not(.y):not(.z){animation:hand-doodle .8s steps(1,end) infinite}[data-theme=hand] .option.is-picked:not(.x):not(.y):not(.z){animation:hand-doodle-ink .8s steps(1,end) infinite}[data-theme=hand] :is(.btn,.chip,.qcell,.option,.plan-day):nth-child(3n+1):not(.x):not(.y):not(.z):not(.w){animation-delay:-.2s,-.3s}[data-theme=hand] :is(.btn,.chip,.qcell,.option,.plan-day):nth-child(3n+2):not(.x):not(.y):not(.z):not(.w){animation-delay:-.4s,-.6s}@media(prefers-reduced-motion:reduce){[data-theme=hand] *{--doodle: var(--doodle-1);--doodle-ink: var(--doodle-ink-1);--doodle-soft: var(--doodle-soft-1)}}[data-theme=hand][data-motion=reduced] *{--doodle: var(--doodle-1);--doodle-ink: var(--doodle-ink-1);--doodle-soft: var(--doodle-soft-1)}@property --doodle-round{syntax: "<image> | none"; inherits: false; initial-value: none;}@property --doodle-round-ink{syntax: "<image> | none"; inherits: false; initial-value: none;}[data-theme=hand]{--doodle-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M22.0 4.4 C51.3 5.0 52.8 5.5 78.0 4.3 Q94.8 4.4 95.4 20.7 C94.5 43.3 93.8 56.6 95.9 78.6 Q95.7 94.6 79.8 94.4 C54.8 94.6 50.5 96.1 19.8 94.1 Q4.9 94.3 4.4 80.4 C6.9 48.2 2.9 47.5 6.0 22.2 Q5.5 5.6 26.9 5.0' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.78'/%3E%3C/svg%3E");--doodle-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M21.8 4.4 C43.7 2.9 50.7 6.1 78.8 4.1 Q93.8 6.0 94.1 21.0 C95.1 44.4 93.9 52.0 94.9 78.8 Q96.0 96.0 77.7 94.5 C48.3 95.0 47.9 95.0 19.8 94.6 Q4.2 95.6 5.7 79.4 C5.1 58.8 5.5 42.4 5.9 21.4 Q5.9 4.7 27.3 5.4' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.78'/%3E%3Cpath d='M24.1 5.9 C45.4 6.3 45.2 4.6 76.6 7.9 Q93.6 6.8 94.0 23.7 C90.7 46.6 95.0 55.6 93.8 75.7 Q92.2 92.8 76.1 92.6 C46.3 91.0 50.7 90.6 23.2 92.3 Q6.3 92.2 7.8 75.9 C5.7 55.2 4.8 43.2 6.4 24.8 Q7.5 5.9 24.0 8.1' fill='none' stroke='%23262A33' stroke-width='1.54' stroke-linecap='round' stroke-opacity='0.39' stroke-dasharray='60 30 90 40'/%3E%3C/svg%3E");--doodle-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M21.2 4.7 C51.8 3.2 54.5 4.3 78.3 6.0 Q94.6 5.7 95.8 19.8 C93.0 43.1 94.5 53.8 95.9 80.4 Q94.4 94.9 78.9 96.0 C48.4 93.6 40.8 95.7 22.4 93.9 Q6.2 94.5 5.4 80.3 C3.5 48.0 3.9 44.3 4.9 20.6 Q4.9 4.0 26.2 5.1' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.78'/%3E%3C/svg%3E");--doodle-4: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M20.4 3.9 C45.8 6.6 56.9 5.6 78.8 4.6 Q94.0 5.2 94.4 21.0 C95.9 50.4 93.3 49.4 95.5 77.6 Q95.7 95.6 78.4 94.2 C52.0 93.1 49.5 94.3 21.4 94.7 Q4.5 95.1 5.4 80.2 C6.0 50.3 5.5 48.7 5.9 20.7 Q4.5 3.9 25.6 5.1' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.78'/%3E%3Cpath d='M23.3 6.3 C53.2 5.6 53.8 4.7 75.7 8.1 Q92.5 6.5 93.8 25.4 C95.5 44.1 90.8 54.1 91.9 76.5 Q94.0 92.7 76.6 92.0 C48.2 93.6 51.9 93.4 22.8 93.3 Q5.8 92.5 8.2 75.0 C6.3 53.5 5.5 51.0 7.5 23.2 Q6.8 6.7 24.0 6.2' fill='none' stroke='%23262A33' stroke-width='1.54' stroke-linecap='round' stroke-opacity='0.39' stroke-dasharray='60 30 90 40'/%3E%3C/svg%3E");--doodle-ink-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M22.0 4.4 C51.3 5.0 52.8 5.5 78.0 4.3 Q94.8 4.4 95.4 20.7 C94.5 43.3 93.8 56.6 95.9 78.6 Q95.7 94.6 79.8 94.4 C54.8 94.6 50.5 96.1 19.8 94.1 Q4.9 94.3 4.4 80.4 C6.9 48.2 2.9 47.5 6.0 22.2 Q5.5 5.6 26.9 5.0' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.9'/%3E%3C/svg%3E");--doodle-ink-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M21.8 4.4 C43.7 2.9 50.7 6.1 78.8 4.1 Q93.8 6.0 94.1 21.0 C95.1 44.4 93.9 52.0 94.9 78.8 Q96.0 96.0 77.7 94.5 C48.3 95.0 47.9 95.0 19.8 94.6 Q4.2 95.6 5.7 79.4 C5.1 58.8 5.5 42.4 5.9 21.4 Q5.9 4.7 27.3 5.4' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.9'/%3E%3Cpath d='M24.1 5.9 C45.4 6.3 45.2 4.6 76.6 7.9 Q93.6 6.8 94.0 23.7 C90.7 46.6 95.0 55.6 93.8 75.7 Q92.2 92.8 76.1 92.6 C46.3 91.0 50.7 90.6 23.2 92.3 Q6.3 92.2 7.8 75.9 C5.7 55.2 4.8 43.2 6.4 24.8 Q7.5 5.9 24.0 8.1' fill='none' stroke='%232B54C4' stroke-width='1.68' stroke-linecap='round' stroke-opacity='0.45' stroke-dasharray='60 30 90 40'/%3E%3C/svg%3E");--doodle-ink-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M21.2 4.7 C51.8 3.2 54.5 4.3 78.3 6.0 Q94.6 5.7 95.8 19.8 C93.0 43.1 94.5 53.8 95.9 80.4 Q94.4 94.9 78.9 96.0 C48.4 93.6 40.8 95.7 22.4 93.9 Q6.2 94.5 5.4 80.3 C3.5 48.0 3.9 44.3 4.9 20.6 Q4.9 4.0 26.2 5.1' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.9'/%3E%3C/svg%3E");--doodle-ink-4: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M20.4 3.9 C45.8 6.6 56.9 5.6 78.8 4.6 Q94.0 5.2 94.4 21.0 C95.9 50.4 93.3 49.4 95.5 77.6 Q95.7 95.6 78.4 94.2 C52.0 93.1 49.5 94.3 21.4 94.7 Q4.5 95.1 5.4 80.2 C6.0 50.3 5.5 48.7 5.9 20.7 Q4.5 3.9 25.6 5.1' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.9'/%3E%3Cpath d='M23.3 6.3 C53.2 5.6 53.8 4.7 75.7 8.1 Q92.5 6.5 93.8 25.4 C95.5 44.1 90.8 54.1 91.9 76.5 Q94.0 92.7 76.6 92.0 C48.2 93.6 51.9 93.4 22.8 93.3 Q5.8 92.5 8.2 75.0 C6.3 53.5 5.5 51.0 7.5 23.2 Q6.8 6.7 24.0 6.2' fill='none' stroke='%232B54C4' stroke-width='1.68' stroke-linecap='round' stroke-opacity='0.45' stroke-dasharray='60 30 90 40'/%3E%3C/svg%3E");--doodle-soft-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M22.0 4.4 C51.3 5.0 52.8 5.5 78.0 4.3 Q94.8 4.4 95.4 20.7 C94.5 43.3 93.8 56.6 95.9 78.6 Q95.7 94.6 79.8 94.4 C54.8 94.6 50.5 96.1 19.8 94.1 Q4.9 94.3 4.4 80.4 C6.9 48.2 2.9 47.5 6.0 22.2 Q5.5 5.6 26.9 5.0' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.42'/%3E%3C/svg%3E");--doodle-soft-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M21.8 4.4 C43.7 2.9 50.7 6.1 78.8 4.1 Q93.8 6.0 94.1 21.0 C95.1 44.4 93.9 52.0 94.9 78.8 Q96.0 96.0 77.7 94.5 C48.3 95.0 47.9 95.0 19.8 94.6 Q4.2 95.6 5.7 79.4 C5.1 58.8 5.5 42.4 5.9 21.4 Q5.9 4.7 27.3 5.4' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.42'/%3E%3Cpath d='M24.1 5.9 C45.4 6.3 45.2 4.6 76.6 7.9 Q93.6 6.8 94.0 23.7 C90.7 46.6 95.0 55.6 93.8 75.7 Q92.2 92.8 76.1 92.6 C46.3 91.0 50.7 90.6 23.2 92.3 Q6.3 92.2 7.8 75.9 C5.7 55.2 4.8 43.2 6.4 24.8 Q7.5 5.9 24.0 8.1' fill='none' stroke='%23262A33' stroke-width='1.26' stroke-linecap='round' stroke-opacity='0.21' stroke-dasharray='60 30 90 40'/%3E%3C/svg%3E");--doodle-soft-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M21.2 4.7 C51.8 3.2 54.5 4.3 78.3 6.0 Q94.6 5.7 95.8 19.8 C93.0 43.1 94.5 53.8 95.9 80.4 Q94.4 94.9 78.9 96.0 C48.4 93.6 40.8 95.7 22.4 93.9 Q6.2 94.5 5.4 80.3 C3.5 48.0 3.9 44.3 4.9 20.6 Q4.9 4.0 26.2 5.1' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.42'/%3E%3C/svg%3E");--doodle-soft-4: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M20.4 3.9 C45.8 6.6 56.9 5.6 78.8 4.6 Q94.0 5.2 94.4 21.0 C95.9 50.4 93.3 49.4 95.5 77.6 Q95.7 95.6 78.4 94.2 C52.0 93.1 49.5 94.3 21.4 94.7 Q4.5 95.1 5.4 80.2 C6.0 50.3 5.5 48.7 5.9 20.7 Q4.5 3.9 25.6 5.1' fill='none' stroke='%23262A33' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.42'/%3E%3Cpath d='M23.3 6.3 C53.2 5.6 53.8 4.7 75.7 8.1 Q92.5 6.5 93.8 25.4 C95.5 44.1 90.8 54.1 91.9 76.5 Q94.0 92.7 76.6 92.0 C48.2 93.6 51.9 93.4 22.8 93.3 Q5.8 92.5 8.2 75.0 C6.3 53.5 5.5 51.0 7.5 23.2 Q6.8 6.7 24.0 6.2' fill='none' stroke='%23262A33' stroke-width='1.26' stroke-linecap='round' stroke-opacity='0.21' stroke-dasharray='60 30 90 40'/%3E%3C/svg%3E");--doodle-round-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M48.0 6.0 C79.0 3.2 31.2 4.8 50.3 5.6 Q95.8 3.9 94.3 48.2 C94.3 73.7 95.8 27.6 96.1 50.8 Q94.4 95.8 52.4 95.0 C28.0 97.2 71.3 96.3 49.4 94.1 Q5.1 95.8 3.9 49.5 C5.9 22.2 3.3 68.4 5.8 50.2 Q5.8 5.5 56.7 5.2' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.78'/%3E%3C/svg%3E");--doodle-round-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M48.6 4.2 C68.2 3.4 29.2 5.0 50.7 5.9 Q94.3 5.5 95.7 50.0 C95.5 78.5 96.1 32.0 95.7 51.5 Q95.4 94.0 49.7 95.0 C24.4 96.1 79.5 95.0 48.1 95.8 Q6.0 96.1 5.9 49.5 C6.4 29.9 4.8 73.9 5.1 48.3 Q5.9 6.0 54.5 5.1' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.78'/%3E%3Cpath d='M52.0 6.6 C73.7 7.9 20.5 6.8 48.1 5.9 Q92.5 7.1 92.1 53.3 C91.9 82.0 95.5 25.0 94.1 48.8 Q93.0 94.1 46.8 93.9 C28.6 91.2 80.7 92.6 51.0 94.1 Q5.8 92.4 7.5 46.6 C5.2 24.9 8.4 71.1 7.9 51.8 Q7.8 6.4 52.0 7.2' fill='none' stroke='%23262A33' stroke-width='1.54' stroke-linecap='round' stroke-opacity='0.39' stroke-dasharray='60 30 90 40'/%3E%3C/svg%3E");--doodle-round-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M47.5 4.3 C70.3 3.6 24.0 4.0 51.2 5.7 Q95.9 4.0 95.4 48.3 C96.9 75.1 93.7 26.8 94.2 51.8 Q95.9 94.7 52.4 96.0 C27.7 94.5 75.6 96.0 48.8 94.4 Q3.8 95.5 4.7 51.6 C6.6 22.4 4.5 75.7 4.5 49.0 Q6.1 4.8 56.7 4.8' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.78'/%3E%3C/svg%3E");--doodle-round-4: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M50.0 5.6 C77.7 6.8 20.2 5.1 49.6 6.0 Q95.2 4.1 95.8 49.1 C95.3 78.5 96.5 21.3 94.3 50.3 Q96.1 95.8 50.2 95.5 C26.5 93.1 73.6 94.7 50.3 94.5 Q4.2 94.3 5.4 52.1 C3.2 30.1 3.3 72.5 4.9 48.7 Q5.0 5.7 52.5 5.9' fill='none' stroke='%23262A33' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.78'/%3E%3Cpath d='M52.3 7.5 C72.8 8.2 18.7 5.4 48.3 7.0 Q93.9 7.4 93.4 50.6 C93.1 72.0 94.8 27.0 94.1 49.5 Q92.9 92.2 46.8 94.2 C17.4 92.1 82.0 93.5 50.5 93.6 Q7.6 92.1 6.0 49.2 C5.6 19.3 7.8 82.4 6.7 51.0 Q7.6 6.9 52.0 7.6' fill='none' stroke='%23262A33' stroke-width='1.54' stroke-linecap='round' stroke-opacity='0.39' stroke-dasharray='60 30 90 40'/%3E%3C/svg%3E");--doodle-round-ink-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M48.0 6.0 C79.0 3.2 31.2 4.8 50.3 5.6 Q95.8 3.9 94.3 48.2 C94.3 73.7 95.8 27.6 96.1 50.8 Q94.4 95.8 52.4 95.0 C28.0 97.2 71.3 96.3 49.4 94.1 Q5.1 95.8 3.9 49.5 C5.9 22.2 3.3 68.4 5.8 50.2 Q5.8 5.5 56.7 5.2' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.9'/%3E%3C/svg%3E");--doodle-round-ink-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M48.6 4.2 C68.2 3.4 29.2 5.0 50.7 5.9 Q94.3 5.5 95.7 50.0 C95.5 78.5 96.1 32.0 95.7 51.5 Q95.4 94.0 49.7 95.0 C24.4 96.1 79.5 95.0 48.1 95.8 Q6.0 96.1 5.9 49.5 C6.4 29.9 4.8 73.9 5.1 48.3 Q5.9 6.0 54.5 5.1' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.9'/%3E%3Cpath d='M52.0 6.6 C73.7 7.9 20.5 6.8 48.1 5.9 Q92.5 7.1 92.1 53.3 C91.9 82.0 95.5 25.0 94.1 48.8 Q93.0 94.1 46.8 93.9 C28.6 91.2 80.7 92.6 51.0 94.1 Q5.8 92.4 7.5 46.6 C5.2 24.9 8.4 71.1 7.9 51.8 Q7.8 6.4 52.0 7.2' fill='none' stroke='%232B54C4' stroke-width='1.68' stroke-linecap='round' stroke-opacity='0.45' stroke-dasharray='60 30 90 40'/%3E%3C/svg%3E");--doodle-round-ink-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M47.5 4.3 C70.3 3.6 24.0 4.0 51.2 5.7 Q95.9 4.0 95.4 48.3 C96.9 75.1 93.7 26.8 94.2 51.8 Q95.9 94.7 52.4 96.0 C27.7 94.5 75.6 96.0 48.8 94.4 Q3.8 95.5 4.7 51.6 C6.6 22.4 4.5 75.7 4.5 49.0 Q6.1 4.8 56.7 4.8' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.9'/%3E%3C/svg%3E");--doodle-round-ink-4: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M50.0 5.6 C77.7 6.8 20.2 5.1 49.6 6.0 Q95.2 4.1 95.8 49.1 C95.3 78.5 96.5 21.3 94.3 50.3 Q96.1 95.8 50.2 95.5 C26.5 93.1 73.6 94.7 50.3 94.5 Q4.2 94.3 5.4 52.1 C3.2 30.1 3.3 72.5 4.9 48.7 Q5.0 5.7 52.5 5.9' fill='none' stroke='%232B54C4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='0.9'/%3E%3Cpath d='M52.3 7.5 C72.8 8.2 18.7 5.4 48.3 7.0 Q93.9 7.4 93.4 50.6 C93.1 72.0 94.8 27.0 94.1 49.5 Q92.9 92.2 46.8 94.2 C17.4 92.1 82.0 93.5 50.5 93.6 Q7.6 92.1 6.0 49.2 C5.6 19.3 7.8 82.4 6.7 51.0 Q7.6 6.9 52.0 7.6' fill='none' stroke='%232B54C4' stroke-width='1.68' stroke-linecap='round' stroke-opacity='0.45' stroke-dasharray='60 30 90 40'/%3E%3C/svg%3E")}@keyframes hand-doodle-round{0%{--doodle-round: var(--doodle-round-1)}25%{--doodle-round: var(--doodle-round-2)}50%{--doodle-round: var(--doodle-round-3)}75%{--doodle-round: var(--doodle-round-4)}}@keyframes hand-doodle-round-ink{0%{--doodle-round-ink: var(--doodle-round-ink-1)}25%{--doodle-round-ink: var(--doodle-round-ink-2)}50%{--doodle-round-ink: var(--doodle-round-ink-3)}75%{--doodle-round-ink: var(--doodle-round-ink-4)}}[data-theme=hand] :is(.btn,.input,.option,.keypad-key,.resume,.dialog,.room-pop,.sheet-row,.stamp-card,.points-pill,.dock,.palette-panel,.pick-bar,.size-stepper,.update-bar,.offline-bar,.chip,.seg,.mark-toggle,.theme-tile,.subject-pick,.dock-btn,.nav-search,.plan-day,.sprint-option,.goal-chip,.focus-pill,.today-toggle,.stats-toggle-btn):not(.x):not(.y):not(.z):not(.w){border-image-slice:24;border-image-width:14px;border-radius:13px}[data-theme=hand] :is(.chip,.seg,.points-pill,.goal-chip,.focus-pill,.nav-search):not(.x):not(.y):not(.z):not(.w){border-radius:16px}[data-theme=hand] .btn--solid:not(.x):not(.y):not(.z):not(.w){border-radius:13px}[data-theme=hand] :is(.icon-btn,.qcell,.size-btn):not(.x):not(.y):not(.z):not(.w){--doodle-round: var(--doodle-round-1);border-image-source:var(--doodle-round);border-image-slice:49;border-image-width:50%;border-image-outset:2px;border-radius:50%;animation:hand-doodle-round .8s steps(1,end) infinite,hand-shiver-soft .9s steps(1,end) infinite}[data-theme=hand] .qcell.is-current:not(.x):not(.y):not(.z):not(.w){--doodle-round-ink: var(--doodle-round-ink-1);border-image-source:var(--doodle-round-ink);animation:hand-doodle-round-ink .8s steps(1,end) infinite,hand-shiver-soft .9s steps(1,end) infinite}@media(prefers-reduced-motion:reduce){[data-theme=hand] *{--doodle-round: var(--doodle-round-1);--doodle-round-ink: var(--doodle-round-ink-1)}}[data-theme=hand][data-motion=reduced] *{--doodle-round: var(--doodle-round-1);--doodle-round-ink: var(--doodle-round-ink-1)}:is(.resume,.reward-banner,.reward-banner.is-muted,.streak-banner,.streak-banner.is-live,.notice,.notice--accent,.verdict,.boost-challenge,.progress-banner,.bonus-banner){background:transparent}.resume{border:1px solid var(--line-2)}.resume:hover{background:transparent;border-color:var(--accent)}.reward-banner,.streak-banner{border:1px solid var(--line-2)}.reward-banner.is-muted{border-style:dashed}.streak-banner.is-live{border-color:color-mix(in srgb,var(--signal) 60%,var(--line-2))}.notice{border:1px solid color-mix(in srgb,var(--warn) 55%,var(--line-2))}.notice--accent{border-color:color-mix(in srgb,var(--accent) 50%,var(--line-2))}.reward-stamps.is-filled{background:transparent;border-color:var(--signal)}.reward-banner.is-won{background:var(--signal);border-color:var(--signal);color:#fff}.reward-banner.is-won :is(.reward-banner-title,.reward-banner-title .icon,.reward-gain,.muted,.note,.reward-stamps,.reward-stamps-go,.reward-stamps>.icon){color:#fff}.reward-banner.is-won :is(.muted,.note){opacity:.88}.reward-banner.is-won .reward-stamps{border-top-color:#ffffff73}.reward-banner.is-won .progress{background:#ffffff52}.reward-banner.is-won .progress-fill{background:#fff}.boost-challenge.is-done{background:var(--good);border-color:var(--good);color:#fff}.boost-challenge.is-done :is(.boost-head,.boost-head .icon,.boost-xp,.boost-text,.boost-count,.boost-day){color:#fff}.boost-challenge.is-done .progress{background:#ffffff4d}.boost-challenge.is-done .progress-fill{background:#fff}.boost-challenge.is-done .boost-stamp{border-color:#fff9}.boost-challenge.is-done .boost-day.is-done .boost-stamp{background:#fff;color:var(--good)}.verdict.is-right{background:var(--good);color:#fff}.verdict.is-right .icon{color:#fff}.verdict.is-wrong{border:1.5px solid var(--bad);color:var(--bad)}.verdict.is-unsure{background:transparent;border:1.5px dashed var(--line-2)}[data-mode=dark] :is(.reward-banner.is-won,.boost-challenge.is-done,.verdict.is-right){color:#0b0e13}[data-mode=dark] .reward-banner.is-won :is(.reward-banner-title,.reward-banner-title .icon,.reward-gain,.muted,.note,.reward-stamps,.reward-stamps-go,.reward-stamps>.icon),[data-mode=dark] .boost-challenge.is-done :is(.boost-head,.boost-head .icon,.boost-xp,.boost-text,.boost-count,.boost-day),[data-mode=dark] .verdict.is-right .icon{color:#0b0e13}[data-mode=dark] .reward-banner.is-won .progress-fill,[data-mode=dark] .boost-challenge.is-done .progress-fill{background:#0b0e13}.drop-face--back{background:var(--surface);border:1.5px dashed var(--line-2)}.drop-face--front{background:var(--surface);border:1.5px solid var(--signal)}.hero-pic.hero-fest{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:auto;margin:0;padding:0;font:inherit;letter-spacing:0;text-shadow:none;color:inherit;align-self:center}.hero-fest-text{margin:0;writing-mode:vertical-rl;text-orientation:upright;font:700 26px/1.05 LXGW WenKai TC,Kaiti TC,BiauKai,DFKai-SB,serif;letter-spacing:.28em;color:#b5781e;text-shadow:0 1px 0 rgba(255,255,255,.55),0 0 14px rgba(255,200,90,.5)}.hero-fest-text span{display:inline-block;animation:fest-drop .8s var(--spring) both,fest-glow 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * .11s + .35s),calc(var(--i) * .2s + 1.4s)}@keyframes fest-drop{0%{opacity:0;transform:translateY(-10px) scale(.8);filter:blur(3px)}}[data-mode=dark] .hero-fest-text{color:#f2c66b;text-shadow:0 0 16px rgba(255,196,90,.45)}.hero--banner .hero-fest-text{color:#ffe3a3;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 16px rgba(255,196,90,.5)}.hero-fest--lantern .hero-fest-text{color:#b8322a;text-shadow:0 1px 0 rgba(255,255,255,.55)}.fest-art{width:132px;height:132px;overflow:visible;color:var(--ink-3);animation:art-pop .9s var(--spring) both .1s}.fest-glow{transform-origin:80px 78px;animation:moon-breathe 5s ease-in-out infinite}@keyframes moon-breathe{50%{transform:scale(1.08);opacity:.8}}.fest-wisp{animation:wisp-drift 9s ease-in-out infinite alternate}@keyframes wisp-drift{to{transform:translate(-10px)}}.fest-lantern{transform-origin:top center;transform-box:fill-box;animation:lantern-sway 3.4s ease-in-out infinite;animation-delay:var(--d)}.fest-spark{transform-box:fill-box;transform-origin:center;animation:twinkle 1.6s ease-in-out infinite;animation-delay:var(--d)}@media(max-width:959px){.hero-pic.hero-fest{position:absolute;right:10px;top:14px;width:auto}.fest-art{width:96px;height:96px}.hero-fest-text{font-size:20px}}@media(min-width:960px){.hero-pic.hero-fest{margin:-4px 18px -10px 0}}.boost-sprint{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--r-md);animation:rise .5s var(--ease) both .15s}.boost-sprint .sprint-art{flex:none}.boost-sprint-text{flex:1;min-width:0}.boost-sprint-title{margin:0;font-size:16px;font-weight:800}.boost-sprint-sub{margin:2px 0 0;font-size:13px;color:var(--ink-3)}.boost-sprint:hover .sa-hand{animation:sa-spin 1.2s linear infinite}.road{margin:0 0 22px;padding:0 0 20px;border-bottom:1px solid var(--line)}.road-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.road-head .level-badge{flex:none;animation:badge-in .8s var(--spring) both .2s}@keyframes badge-in{0%{transform:scale(.4) rotate(-30deg);opacity:0}}.road-now{flex:1;min-width:200px;display:grid;gap:6px}.road-title{margin:0;font-size:16px;font-weight:800}.road-toggle .icon{transition:transform .4s var(--spring)}.road-toggle[aria-expanded=true] .icon{transform:rotate(180deg)}.road-grow{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}.road-grow.is-open{grid-template-rows:1fr}.road-grow>div{overflow:hidden;min-height:0}.road-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:4px;max-height:460px;overflow-y:auto;overscroll-behavior:contain}.road-tier{display:grid;grid-template-columns:56px 1fr;gap:0 12px}.road-tier-head{display:contents}.road-tier-head .level-badge{grid-row:span 2;margin-top:4px}.road-tier-head>div{padding:8px 0 4px}.road-tier-title{margin:0;font-weight:800;font-size:15px}.road-tier:not(.is-reached) .road-tier-title{color:var(--ink-3)}.road-tier-range{margin:0;font-size:12.5px;color:var(--ink-3)}.road-levels{grid-column:2;list-style:none;margin:0 0 10px;padding:0 0 0 14px;border-left:2px dashed var(--line-2)}.road-tier.is-reached .road-levels{border-left-style:solid;border-left-color:var(--accent)}.road-level{position:relative;display:flex;align-items:baseline;gap:12px;padding:5px 0;font-size:13.5px}.road-dot{position:absolute;left:-21px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;border:2px solid var(--line-2);background:var(--surface)}.road-level.is-done .road-dot{border-color:var(--accent);background:var(--accent)}.road-level.is-here .road-dot{border-color:var(--signal);background:var(--signal);box-shadow:0 0 0 5px color-mix(in srgb,var(--signal) 22%,var(--surface));animation:here-pulse 1.8s ease-in-out infinite}@keyframes here-pulse{50%{box-shadow:0 0 0 9px color-mix(in srgb,var(--signal) 8%,var(--surface))}}.road-num{min-width:3.4em;font-weight:800}.road-level.is-ahead{color:var(--ink-3)}.road-level.is-here{font-weight:700}.road-level.is-here .road-need{color:var(--signal)}.road-need{font-size:12.5px}.level-badge{display:block}.level-badge.is-locked{opacity:.8}.levelup .level-badge{margin-bottom:4px;animation:badge-in .9s var(--spring) both .15s}.sprint-art .sa-hand{transform-origin:64px 68px}.sprint-art.is-spinning .sa-hand{animation:sa-spin 1s linear infinite}.sprint-art.is-spinning .sa-speed{animation:sa-speed .5s ease-in-out infinite alternate}@keyframes sa-spin{to{transform:rotate(360deg)}}@keyframes sa-speed{to{transform:translate(-6px);opacity:.4}}.sprint-pop-head{display:flex;align-items:center;gap:16px;margin-bottom:14px}.sprint-pop-head .sprint-art{flex:none;animation:art-pop .8s var(--spring) both}.sprint-pop-lede{margin:0;font-size:16px;font-weight:700}.sprint-pop-rules{margin:0 0 14px;padding-left:1.3em;display:grid;gap:6px;font-size:14px;color:var(--ink-2)}.sprint-pop-rules kbd{font:700 12px var(--font-num);padding:0 5px;border:1px solid var(--line-2);border-radius:4px}.sprint-pop-best{display:flex;align-items:center;gap:6px;margin:0;font-size:14px}.sprint-pop-best .icon{color:var(--signal)}.sprint-pop-best strong{font-size:1.3em;color:var(--accent-ink)}.sprint-rest{display:grid;justify-items:center;gap:12px;padding:60px 0}.sprint-rest .sprint-art{opacity:.9}.sprint-cd{position:relative;display:grid;justify-items:center;align-content:center;min-height:68vh;gap:10px;overflow:hidden}.cd-art{position:absolute;left:50%;top:50%;opacity:.1;transform:translate(-50%,-50%) scale(2.4);pointer-events:none}.cd-center{position:relative;display:grid;place-items:center;width:220px;height:220px}.cd-num{position:relative;z-index:1;font:900 150px/1 var(--font-num);font-stretch:var(--num-width);color:var(--accent-ink)}.cd-num.is-go{font:900 76px/1 var(--font);color:var(--signal);letter-spacing:.08em}.cd-num.is-in{animation:cd-land .9s cubic-bezier(.2,1.6,.4,1) both}@keyframes cd-land{0%{transform:scale(2.4);opacity:0;filter:blur(8px)}35%{transform:scale(.92);opacity:1;filter:blur(0)}60%{transform:scale(1.04)}to{transform:scale(1)}}.cd-num.is-go.is-in{animation:cd-go .6s var(--spring) both}@keyframes cd-go{0%{transform:scale(.4) rotate(-8deg);opacity:0}60%{transform:scale(1.18) rotate(2deg);opacity:1}to{transform:scale(1)}}.cd-ring{position:absolute;inset:20px;border-radius:50%;border:4px solid var(--accent);animation:cd-ring .9s var(--ease) forwards;pointer-events:none}@keyframes cd-ring{0%{transform:scale(.55);opacity:.9}to{transform:scale(1.35);opacity:0;border-width:1px}}.cd-label{margin:0;min-height:1.5em;font-size:16px;font-weight:700;letter-spacing:.4em;color:var(--ink-3)}.odo{display:inline-flex;height:1em;line-height:1;overflow:hidden;vertical-align:bottom}.odo-col{display:inline-block;height:1em;overflow:hidden}.odo-strip{display:flex;flex-direction:column;transform:translateY(calc(var(--d, 0) * -1em));transition:transform .55s cubic-bezier(.2,1.3,.4,1)}.odo-strip>span{display:block;height:1em;text-align:center}.sprint-score.odo{font:900 34px/1 var(--font-num);font-stretch:var(--num-width)}.sprint-result{display:grid;justify-items:center;gap:8px;text-align:center}.sprint-result-score{display:flex;align-items:baseline;gap:6px}.sprint-final.odo{font:900 88px/1 var(--font-num);font-stretch:var(--num-width);color:var(--accent-ink)}.sprint-final.odo .odo-strip{transition-duration:1.1s}.sprint-result.is-best .sprint-final{color:var(--signal)}.sprint-result-unit{font-size:18px;font-weight:800;color:var(--ink-2)}.road-pace{display:flex;align-items:flex-start;gap:8px;margin:14px 0 0;padding:10px 12px;font-size:13.5px;line-height:1.55;border-radius:var(--r-md);border:1px solid var(--line);animation:rise .5s var(--ease) both .25s}.road-pace .icon{flex:none;margin-top:2px}.road-pace.is-calm{color:var(--ink-2);border-color:transparent;padding-left:0;padding-right:0}.road-pace.is-calm .icon{color:var(--good)}.road-pace.is-warn{border-color:color-mix(in srgb,var(--warn) 60%,var(--line))}.road-pace.is-warn .icon{color:var(--warn);animation:pace-tick 1.2s steps(2) infinite}@keyframes pace-tick{50%{transform:rotate(12deg)}}.road-pace.is-loss{background:var(--bad);border-color:var(--bad);color:#fff}.road-pace.is-loss strong{color:#fff}.road.is-falling .level-fill{background:var(--bad)}.road.is-falling .road-head .level-badge{animation:badge-fall 1s var(--spring) both .2s}@keyframes badge-fall{0%{transform:translateY(-14px) rotate(-8deg);opacity:0}60%{transform:translateY(3px) rotate(4deg);opacity:1}}.road-rules{margin:18px 0 4px;padding:14px 0 0;border-top:1px dashed var(--line-2);font-size:13.5px;color:var(--ink-2);display:grid;gap:6px}.road-rules p{margin:0}.road-rules-title{display:flex;align-items:center;gap:6px;font-weight:800;color:var(--ink)}[data-motion=reduced] .road-pace,[data-motion=reduced] .road-pace .icon{animation:none}[data-icons=color] :is([data-nav=home],.nicon[data-ni=home]){--c1: #FF6B4A;--c2: #FFC94A;--c3: #3D7BFF}[data-icons=color] :is([data-nav=fix],.nicon[data-ni=fix]){--c1: #16A864;--c2: #D6F4E4;--c3: #16A864}[data-icons=color] :is([data-nav=create],.nicon[data-ni=create]){--c1: #7C5CFF;--c2: #FFC23D;--c3: #FF6F91;--c4: #F6D3A4}[data-icons=color] :is([data-nav=mock],.nicon[data-ni=mock]){--c1: #3D7BFF;--c3: #FF4D6D}[data-icons=color] :is([data-nav=records],.nicon[data-ni=records]){--c1: #8B5CF6;--c2: #C4B5FD;--c3: #FFC23D}[data-icons=color] :is([data-nav=sprint],.nicon[data-ni=sprint]){--c1: #FF5A36;--c3: #FFB020}[data-icons=color] :is([data-nav=stats],.nicon[data-ni=stats]){--c1: #3D7BFF;--c2: #1FC77E;--c3: #FF9F1C}[data-icons=color] :is([data-nav=shop],.nicon[data-ni=shop]){--c1: #F43F5E;--c2: #FFE3B3;--c3: #14B8A6}[data-icons=color] :is([data-nav=settings],.nicon[data-ni=settings]){--c1: #7C8BA1;--c2: #FFC23D}[data-icons=color] :is([data-nav=feedback],.nicon[data-ni=feedback]){--c1: #22A06B;--c2: #FFE08A}[data-icons=color] :is(.nav-more,.nicon[data-ni=more]){--c1: #FF6B4A;--c2: #FFC23D;--c3: #1FC77E;--c4: #3D7BFF}[data-mode=dark] [data-icons=color] :is([data-nav=fix],.nicon[data-ni=fix]){--c2: #123C2A}[data-mode=dark] [data-icons=color] :is([data-nav=settings],.nicon[data-ni=settings]){--c1: #9AA8BD}.nicon{display:block;flex:none;overflow:visible;--ni-ink: color-mix(in srgb, var(--c1) 42%, #0E1220);--ni-white: #FFFFFF}[data-mode=dark] .nicon{--ni-white: #EEF2FA}.nicon .c1{fill:var(--c1)}.nicon .c2{fill:var(--c2)}.nicon .c3{fill:var(--c3)}.nicon .c4{fill:var(--c4)}.nicon .w{fill:var(--ni-white)}.nicon :is(.s1,.s2,.s3,.sw,.ink,.hand){fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.nicon .s1{stroke:var(--c1)}.nicon .s2{stroke:var(--c2)}.nicon .s3{stroke:var(--c3)}.nicon .sw{stroke:var(--ni-white)}.nicon .ink{stroke:var(--ni-ink);stroke-width:1.45}.nicon .thick{stroke-width:2.3}.nicon :is(.lead,.pin){fill:var(--ni-ink)}.nicon .hand{stroke:var(--ni-ink);stroke-width:1.9}.nicon .smoke{fill:color-mix(in srgb,var(--ink-3) 70%,transparent);opacity:0}.nicon *{transform-box:view-box}.nicon.is-awake .smoke{animation:ni-smoke 1.2s var(--ease) both;transform-origin:16.7px 2.6px}@keyframes ni-smoke{0%{opacity:0;transform:translateY(3px) scale(.3)}35%{opacity:.9}to{opacity:0;transform:translate(1.6px,-3px) scale(1.5)}}.nicon.is-awake .spin{animation:ni-spin .9s var(--spring) both;transform-origin:12px 12px}@keyframes ni-spin{0%{transform:rotate(-200deg)}}.nicon .check{stroke-dasharray:12}.nicon.is-awake .check{animation:ni-draw .5s var(--ease) both .35s}@keyframes ni-draw{0%{stroke-dashoffset:12}}.nicon.is-awake .wiggle{animation:ni-wiggle .9s var(--ease) both;transform-origin:4.6px 19.4px}@keyframes ni-wiggle{20%{transform:rotate(-10deg)}45%{transform:rotate(7deg)}70%{transform:rotate(-4deg)}}.nicon .scribble{stroke-dasharray:16;stroke-dashoffset:0}.nicon.is-awake .scribble{animation:ni-scribble .9s var(--ease) both .1s}@keyframes ni-scribble{0%{stroke-dashoffset:16}}.nicon.is-awake .stamp{animation:ni-stamp .6s var(--spring) both;transform-origin:17.2px 17.4px}@keyframes ni-stamp{0%{transform:scale(0) rotate(-40deg)}}.nicon.is-awake .ribbon{animation:ni-ribbon .7s var(--spring) both}@keyframes ni-ribbon{0%{transform:translateY(-5px)}}.nicon .lines{stroke-dasharray:8}.nicon.is-awake .lines{animation:ni-lines .6s var(--ease) both .15s}@keyframes ni-lines{0%{stroke-dashoffset:8}}.nicon.is-awake .hand{animation:ni-hand 1s cubic-bezier(.3,.1,.2,1) both;transform-origin:12px 13.4px}@keyframes ni-hand{0%{transform:rotate(-360deg)}}.nicon .bar{transform-box:fill-box;transform-origin:50% 100%}.nicon.is-awake .bar{animation:ni-bar .7s var(--spring) both}.nicon.is-awake .b2{animation-delay:.08s}.nicon.is-awake .b3{animation-delay:.16s}@keyframes ni-bar{0%{transform:scaleY(.15)}}.nicon.is-awake .awning{animation:ni-awning .9s var(--ease) both;transform-origin:12px 3px}@keyframes ni-awning{25%{transform:rotate(-7deg)}55%{transform:rotate(5deg)}80%{transform:rotate(-2deg)}}.nicon .tile{transform-box:fill-box;transform-origin:center}.nicon.is-awake .tile{animation:ni-tile .55s var(--spring) both}.nicon.is-awake .t2{animation-delay:.06s}.nicon.is-awake .t3{animation-delay:.12s}.nicon.is-awake .t4{animation-delay:.18s}@keyframes ni-tile{0%{transform:scale(.2)}}[data-motion=reduced] .nicon *{animation:none!important}:root:not([data-icons=color]) :is(.nav-tile,.nicon){display:none}[data-icons=color] .nav-tile+.icon,[data-icons=color] .tab-icon>.nicon+.icon{display:none}.nav-tile{display:grid;place-items:center;flex:none}[data-menu=new] .sidebar .nav-item{gap:12px}[data-icons=color] .nav-tile{width:30px;height:30px;transition:transform .45s var(--spring)}[data-icons=color] .nav-item:hover .nav-tile{transform:rotate(-6deg) scale(1.08)}[data-icons=color] .nav-item[aria-current=page] .nav-tile{transform:scale(1.08)}[data-menu=new] .nav-item[aria-current=page]{color:var(--ink);font-weight:750}[data-menu=new] .nav-item .icon{transform:none}[data-menu=new] .nav-sub>div{margin-left:26px}[data-menu=new] :is([data-drawer=open],[data-drawer=closing]) .sidebar .nav-item[aria-current=page]{background:none;font-size:17px;font-weight:850}[data-menu=new]:not([data-icons=color]) .nav-item[aria-current=page] .icon{color:var(--accent-ink)}[data-menu=new]:not([data-icons=color]) .nav-item .icon{transition:transform .4s var(--spring)}[data-menu=new]:not([data-icons=color]) .nav-item:hover .icon{transform:translateY(-1px)}[data-menu=new]:not([data-icons=color]) .tab[aria-current=page] .icon{color:var(--accent-ink);transform:translateY(-1px) scale(1.06)}@media(min-width:960px){[data-menu=new][data-navlayout=side] .sidebar{padding-top:20px}[data-menu=new][data-navlayout=side] .nav{gap:3px}[data-menu=new][data-navlayout=side] .nav-item{min-height:46px;padding:0 10px;border-radius:15px;z-index:1;font-size:14.5px}[data-menu=new][data-navlayout=side] .nav-indicator{display:none}[data-menu=new][data-navlayout=side] .nav-item{transition:color .25s var(--ease),font-size .3s var(--ease)}[data-menu=new][data-navlayout=side] .nav-item[aria-current=page]{font-size:16.5px;font-weight:850;color:var(--ink);letter-spacing:.01em}[data-menu=new][data-navlayout=side] .nav-item[aria-current=page] .icon{transform:scale(1.12)}[data-menu=new][data-navlayout=side] .shell.is-collapsed .nav-item{padding:0}[data-menu=new][data-navlayout=side] .nav-item.nav-gap{margin-top:18px}[data-menu=new][data-navlayout=side] .nav-item.nav-gap:before{top:-10px;left:14px;right:14px}[data-menu=new] .nav-search{border-radius:14px}}@media(max-width:959px){[data-menu=new] .tabbar{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));padding:0 4px;border:1px solid var(--line);border-radius:26px;background:var(--surface);box-shadow:0 22px 44px -22px #0c142480,0 3px 8px -4px #0c142424;transition:transform .5s var(--spring),opacity .3s var(--ease),filter .34s var(--ease)}[data-mode=dark][data-menu=new] .tabbar{box-shadow:0 22px 44px -18px #000000e6,0 0 0 1px #ffffff0a}[data-menu=new] .tabbar.is-tucked{transform:translateY(calc(100% + 24px + env(safe-area-inset-bottom)))}[data-menu=new] .tab{height:62px;gap:3px;padding-bottom:4px;font-size:10.5px;font-weight:650;z-index:1}[data-menu=new] .tab .nicon{transition:transform .45s var(--spring)}[data-menu=new] .tab:active .nicon{transform:scale(.86)}[data-menu=new] .tab[aria-current=page]{color:var(--ink);font-weight:800}[data-menu=new] .tab[aria-current=page] .nicon{transform:translateY(-1px) scale(1.1)}[data-menu=new] .tab-indicator{top:auto;bottom:5px;width:18px;height:3px;border-radius:3px;z-index:0;background:var(--hue, var(--accent));transition:transform .55s var(--spring),background-color .45s var(--ease),opacity .2s}[data-menu=new] .tab--main .tab-icon{width:52px;height:52px;margin-top:-24px;border-radius:18px;transform:rotate(-6deg);background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 5px var(--surface),0 12px 22px -10px color-mix(in srgb,var(--accent) 80%,#000)}[data-menu=new] .tab--main .tab-icon .icon{transform:rotate(6deg)}[data-menu=new] .tab--main:active .tab-icon{transform:rotate(-6deg) scale(.9)}[data-menu=new] .tab--main[aria-current=page] .tab-icon{transform:rotate(0) scale(1.04)}[data-menu=new] .tab--main[aria-current=page] .tab-icon .icon{transform:none}[data-menu=new] .toasts{bottom:calc(var(--tabbar) + 26px + env(safe-area-inset-bottom))}}[data-motion=reduced][data-menu=new] .tabbar.is-tucked{transform:none}@media(max-width:959px){[data-glass=on][data-menu=new] .tabbar{border-color:var(--rim);box-shadow:inset 0 1px 0 var(--rim),inset 0 0 14px var(--rim-soft),0 22px 44px -22px #00000080}[data-theme=hand][data-menu=new] .tabbar{background-image:none;border:2px solid var(--ink);border-radius:28px 22px 30px 24px/24px 30px 22px 28px;box-shadow:3px 4px color-mix(in srgb,var(--ink) 18%,transparent)}[data-theme=hand][data-menu=new] .tab--main .tab-icon{border-radius:22px 16px 20px 18px}}[data-theme=deepsea]{--bg: #021423;--surface: #06213A;--surface-2: #0A2A47;--sunken: #03182B;--line: #123A57;--line-2: #1D5074;--ink: #E2F6FF;--ink-2: #9CC7DC;--ink-3: #6493AB;--good: #3EF0A0;--bad: #FF6B8A;--warn: #FFD166;--signal: #FFB35C;--on-accent: #02212A;--scrim: rgba(1, 10, 20, .74);--shadow-pop: 0 30px 90px -30px #000, 0 0 0 1px rgba(120, 220, 255, .1);--ground: linear-gradient(180deg, #0B4D6E 0%, #06345A 26%, #03203A 60%, #010B16 100%)}[data-theme=sakura]{--bg: #FBEEF1;--surface: #FFFCFC;--surface-2: #FFF5F7;--sunken: #F9E6EB;--line: #F0D6DE;--line-2: #E4B9C6;--ink: #3B2230;--ink-2: #7A5566;--ink-3: #A98594;--good: #2E9E6A;--bad: #D6336C;--warn: #D9820F;--signal: #E0527A;--on-accent: #FFFFFF;--scrim: rgba(59, 34, 48, .42);--shadow-pop: 0 30px 80px -30px rgba(120, 40, 70, .4), 0 2px 8px rgba(120, 40, 70, .06);--ground: linear-gradient(180deg, #FFF7F9 0%, #FDEBF0 55%, #FADDE6 100%);--r-md: 16px}[data-theme=aurora]{--bg: #030713;--surface: #0B1226;--surface-2: #111A33;--sunken: #060B1A;--line: #1A2544;--line-2: #28375F;--ink: #EAF2FF;--ink-2: #A9B9DA;--ink-3: #7182A8;--good: #5EF0A8;--bad: #FF6E8A;--warn: #FFD36E;--signal: #B98BFF;--on-accent: #03140C;--scrim: rgba(1, 3, 10, .76);--shadow-pop: 0 30px 90px -30px #000, 0 0 0 1px rgba(150, 255, 210, .08);--ground: linear-gradient(180deg, #071736 0%, #050E24 45%, #030713 100%)}[data-theme=pop]{--bg: #FFF3D6;--surface: #FFFFFF;--surface-2: #FFF9EA;--sunken: #FCEBC4;--line: #1D1D1D;--line-2: #141414;--ink: #141414;--ink-2: #3A3A3A;--ink-3: #686868;--good: #0F9D4C;--bad: #E5243B;--warn: #E09A00;--signal: #3D7BFF;--on-accent: #FFFFFF;--scrim: rgba(20, 20, 20, .5);--shadow-pop: 6px 6px 0 #141414;--ground: radial-gradient(#E9D3A2 1.5px, transparent 1.8px) 0 0 / 24px 24px, #FFF3D6;--r-md: 12px}[data-theme=dusk]{--bg: #170A2B;--surface: #221338;--surface-2: #2A1843;--sunken: #12071F;--line: #3A2358;--line-2: #553177;--ink: #FFEFF7;--ink-2: #D8B4D4;--ink-3: #A07FA8;--good: #4DF0C0;--bad: #FF5C7A;--warn: #FFD36E;--signal: #FFB35C;--on-accent: #2A0718;--scrim: rgba(10, 3, 20, .74);--shadow-pop: 0 30px 90px -30px #000, 0 0 0 1px rgba(255, 111, 177, .14);--ground: linear-gradient(180deg, #12062A 0%, #1E0B3A 50%, #3A1458 70%, #7A2670 82%, #C8467A 86%, #12061F 86.2%, #12061F 100%)}[data-theme=ink]{--bg: #EEE8DA;--surface: #FAF7EF;--surface-2: #F3EFE4;--sunken: #E6DFCE;--line: #DAD2C0;--line-2: #B8AE9A;--ink: #1C1A17;--ink-2: #4B4640;--ink-3: #7A7268;--good: #3A6B45;--bad: #A0263E;--warn: #9E6812;--signal: #B8391F;--on-accent: #FAF7EF;--scrim: rgba(28, 26, 23, .4);--shadow-pop: 0 30px 80px -30px rgba(28, 26, 23, .45), 0 2px 8px rgba(28, 26, 23, .06);--ground: #EEE8DA;--font: "Noto Serif TC", "Songti TC", "PMingLiU", serif;--ink-display: "LXGW WenKai TC", "Kaiti TC", "BiauKai", "DFKai-SB", "Noto Serif TC", serif;--font-num: "LXGW WenKai TC", "Noto Serif TC", serif;--num-width: 100%}[data-scene=on] body{background:var(--bg)}[data-scene=on] .stage,[data-scene=on] .sidebar{background:none}@media(max-width:959px){[data-scene=on] .stage{background:none}}[data-scene=on] .hero{--hero-bg: transparent;background:none}[data-scene=on] :is(.hero-sky,.hero-waves){display:none}.scene{display:none}[data-scene=on] .scene{display:block;position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:var(--ground);transition:opacity .6s var(--ease);animation:scene-in 1s var(--ease) both}@keyframes scene-in{0%{opacity:0}}.scene-art{position:absolute;inset:0;transition:opacity .6s var(--ease);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 30%,rgba(0,0,0,.16) 46%,rgba(0,0,0,.16) 74%,#000 94%);mask-image:linear-gradient(180deg,#000 0% 30%,#00000029 46% 74%,#000 94%)}[data-scene=on] body:not([data-route=home]) .scene-art{opacity:.6}[data-scene=on] body.is-immersive .scene-art{opacity:.18}[data-scene=on] body.is-immersive .scene *{animation-play-state:paused!important}[data-motion=reduced] .scene *{animation:none!important}.ds-rays{position:absolute;left:0;top:0;width:100%;height:80%}.ds-ray{transform-box:fill-box;transform-origin:50% 0;animation:ds-ray 9s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -1.7s)}@keyframes ds-ray{0%{opacity:.35;transform:skew(-4deg)}to{opacity:1;transform:skew(5deg)}}.ds-bubbles{position:absolute;inset:0}.ds-bubble{position:absolute;left:var(--x);bottom:-30px;width:var(--s);height:var(--s);border-radius:50%;border:1.5px solid rgba(190,245,255,.55);box-shadow:inset 2px -2px #bef5ff40;animation:ds-rise var(--d) linear infinite;animation-delay:var(--delay)}.ds-bubble:after{content:"";position:absolute;left:22%;top:18%;width:28%;height:28%;border-radius:50%;background:#e6fcffcc}@keyframes ds-rise{0%{transform:translate(0);opacity:0}8%{opacity:1}25%{transform:translate(var(--w),-28vh)}50%{transform:translateY(-56vh)}75%{transform:translate(calc(var(--w) * -1),-84vh)}to{transform:translateY(-115vh);opacity:.2}}.ds-jelly{position:absolute;left:var(--x);top:var(--y);width:var(--size);animation:ds-drift var(--d) ease-in-out infinite alternate;filter:drop-shadow(0 0 14px rgba(255,140,210,.45))}.ds-jelly-art{display:block;width:100%;height:auto;overflow:visible}.ds-bell{transform-box:fill-box;transform-origin:50% 100%;animation:ds-pulse 2.6s ease-in-out infinite}.ds-tentacles{transform-box:fill-box;transform-origin:50% 0;animation:ds-trail 2.6s ease-in-out infinite}@keyframes ds-drift{0%{transform:translateY(24px) rotate(-4deg)}to{transform:translateY(-60px) rotate(5deg)}}@keyframes ds-pulse{50%{transform:scale(1.1,.86)}}@keyframes ds-trail{50%{transform:scaleY(.9) skew(4deg)}}.ds-school{position:absolute;top:18vh;left:0;animation:ds-swim 38s linear infinite;animation-delay:-6s}.ds-school svg{display:block;animation:ds-bob 3s ease-in-out infinite}@keyframes ds-swim{0%{transform:translate(-180px)}to{transform:translate(calc(100vw + 40px))}}@keyframes ds-bob{50%{transform:translateY(8px)}}.ds-floor{position:absolute;left:0;right:0;bottom:0;width:100%;height:min(34vh,300px)}.ds-kelp-sway{transform-box:view-box;animation:ds-kelp 5s ease-in-out infinite alternate;animation-delay:var(--delay)}.ds-kelp{transform-box:fill-box}@keyframes ds-kelp{0%{transform:rotate(-5deg)}to{transform:rotate(6deg)}}[data-theme=deepsea] :is(.btn,.chip,.seg){border-radius:999px}[data-theme=deepsea] .btn--solid{box-shadow:inset 0 1px #ffffff47,0 8px 20px -10px var(--accent)}[data-theme=deepsea] .page-title{text-decoration:underline wavy color-mix(in srgb,var(--accent) 70%,transparent);text-decoration-thickness:2px;text-underline-offset:10px}[data-theme=deepsea] .hero .page-title{text-decoration:none}[data-theme=deepsea] .nicon{filter:drop-shadow(0 0 5px rgba(80,230,255,.25))}.sk-branch{position:absolute;top:-6px;right:-10px;width:min(52vw,540px);animation:scene-in 1.4s var(--ease) both .2s}.sk-branch svg{display:block;width:100%;height:auto;overflow:visible}.sk-sway{transform-box:view-box;transform-origin:520px 26px;animation:sk-sway 7s ease-in-out infinite alternate}@keyframes sk-sway{0%{transform:rotate(-1.4deg)}to{transform:rotate(1.6deg)}}.sk-petals{position:absolute;inset:0}.sk-petal{position:absolute;top:-30px;left:var(--x);width:var(--size);animation:sk-fall var(--d) linear infinite;animation-delay:var(--delay)}.sk-petal svg{display:block;width:100%;height:auto;animation:sk-spin var(--spin) ease-in-out infinite alternate}@keyframes sk-fall{0%{transform:translate(0);opacity:0}6%{opacity:1}50%{transform:translate(calc(var(--drift) * .6),55vh)}to{transform:translate(var(--drift),112vh);opacity:.6}}@keyframes sk-spin{0%{transform:rotate(-40deg) rotateY(0)}to{transform:rotate(60deg) rotateY(160deg)}}.sk-hills{position:absolute;left:0;right:0;bottom:0;width:100%;height:min(16vh,150px)}[data-theme=sakura] :is(.btn,.chip,.seg,.points-pill){border-radius:999px}[data-theme=sakura] .page-title{letter-spacing:.02em}[data-theme=sakura] .stage{border-color:#f0d6de}[data-theme=sakura] .option{border-radius:22px}[data-theme=sakura] .option-letter{border-radius:50%}[data-theme=sakura] .nicon{filter:saturate(.72) brightness(1.08)}.au-stars{position:absolute;inset:0;width:100%;height:100%}.au-star{fill:#dde8ff;opacity:.75}.au-star--tw{animation:twinkle 3.6s ease-in-out infinite;animation-delay:var(--delay)}.au-bands{position:absolute;left:-10%;right:-10%;top:-6vh;height:50vh;filter:blur(14px);mix-blend-mode:screen}.au-band{position:absolute;inset:0}.au-band svg{width:100%;height:100%;display:block}.au-a{animation:au-fold 18s ease-in-out infinite alternate}.au-b{animation:au-fold 23s ease-in-out infinite alternate-reverse;opacity:.8}.au-c{animation:au-fold 29s ease-in-out infinite alternate;opacity:.7;top:4vh}@keyframes au-fold{0%{transform:translate(-4%) scaleY(.92) skew(-3deg)}50%{transform:translate(3%) scaleY(1.08) skew(4deg)}to{transform:translate(-1%) scaleY(1) skew(-1deg)}}.au-meteor{position:absolute;top:12vh;left:60vw;width:120px;height:2px;border-radius:2px;background:linear-gradient(90deg,#fff,transparent);opacity:0;transform:rotate(-24deg);animation:au-meteor 11s ease-out infinite 3s}@keyframes au-meteor{0%,88%{opacity:0;transform:rotate(-24deg) translate(0)}90%{opacity:1}to{opacity:0;transform:rotate(-24deg) translate(-360px)}}.au-range{position:absolute;left:0;right:0;bottom:0;width:100%;height:min(30vh,280px)}[data-theme=aurora] .btn--solid{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 70%,transparent),0 10px 26px -10px var(--accent)}[data-theme=aurora] .page-title{text-shadow:0 0 22px color-mix(in srgb,var(--accent) 45%,transparent)}[data-theme=aurora] .nicon{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--c1) 55%,transparent))}[data-theme=aurora] .stage{border-color:#1e2b52}.pp-shape{position:absolute;left:var(--x);top:var(--y);width:var(--size);animation:pp-bob var(--d) ease-in-out infinite alternate}.pp-shape svg{display:block;width:100%;height:auto;overflow:visible}.pp-shape:nth-child(odd){animation-name:pp-bob-b}@keyframes pp-bob{0%{transform:translateY(-10px) rotate(-8deg)}to{transform:translateY(12px) rotate(10deg)}}@keyframes pp-bob-b{0%{transform:translate(6px,8px) rotate(12deg) scale(1.04)}to{transform:translate(-6px,-12px) rotate(-6deg)}}[data-theme=pop] .page-title{font-weight:900;letter-spacing:-.01em}[data-theme=pop] .page-title:not(.hero .page-title){text-decoration:underline .32em #FFD23F;text-underline-offset:-.12em;text-decoration-skip-ink:none}[data-theme=pop] :is(.btn,.chip,.points-pill,.mark-toggle,.dock-btn,.goal-chip){border:2px solid #141414;box-shadow:3px 3px #141414;transition:transform .15s var(--ease),box-shadow .15s var(--ease)}[data-theme=pop] :is(.btn,.chip,.dock-btn,.mark-toggle):hover{transform:translate(-1px,-1px);box-shadow:4px 4px #141414}[data-theme=pop] :is(.btn,.chip,.dock-btn,.mark-toggle):active{transform:translate(2px,2px);box-shadow:1px 1px #141414}[data-theme=pop] .btn--text{border:0;box-shadow:none}[data-theme=pop] :is(.resume,.reward-banner,.streak-banner,.boost-challenge,.boost-sprint,.notice,.option,.road-pace,.sidebar-user,.preamble){border:2.5px solid #141414;box-shadow:5px 5px #141414;border-radius:16px}[data-theme=pop] .option.is-picked{box-shadow:5px 5px 0 var(--accent);border-color:#141414}[data-theme=pop] .option.is-picked .option-letter{background:#ffd23f;color:#141414;border:2px solid #141414}[data-theme=pop] .option-letter{border:2px solid #141414;box-shadow:2px 2px #141414}[data-theme=pop] .stage{border:2.5px solid #141414}@media(min-width:960px){[data-theme=pop] .stage{box-shadow:8px 8px #141414;margin-right:18px;margin-bottom:18px}}[data-theme=pop] .tabbar{border:2.5px solid #141414!important;box-shadow:5px 5px #141414!important}[data-theme=pop] .tab-indicator{height:4px;width:24px;background:#141414}[data-theme=pop] .tab--main .tab-icon{border:2.5px solid #141414;box-shadow:0 0 0 4px var(--surface),4px 4px 0 4px #141414!important}[data-theme=pop] .dock{border:2.5px solid #141414;box-shadow:5px 5px #141414}[data-theme=pop] .level-bar,[data-theme=pop] .progress{border:2px solid #141414}[data-theme=pop] .nicon{--ni-ink: #141414}[data-theme=pop] .nicon .ink{stroke-width:1.9}.dk-stars{position:absolute;left:0;top:0;width:100%;height:50%}.dk-star{fill:#ffe6f4;animation:twinkle 3s ease-in-out infinite;animation-delay:var(--delay)}.dk-sun{position:absolute;left:62%;bottom:14%;width:min(34vmin,300px);transform:translate(-50%);animation:dk-sun 9s ease-in-out infinite alternate;filter:drop-shadow(0 0 40px rgba(255,110,160,.55))}.dk-sun svg{display:block;width:100%;height:auto}@keyframes dk-sun{to{transform:translate(-50%,14px)}}[data-theme=dusk] :is(.dk-sun,.dk-ground){opacity:.8}.dk-hills{position:absolute;left:0;right:0;bottom:14%;width:100%;height:min(14vh,130px)}.dk-ground{position:absolute;left:0;right:0;bottom:0;height:14%;perspective:260px;overflow:hidden;border-top:2px solid #FF6FB1;box-shadow:0 -6px 30px #ff6fb199}.dk-grid{position:absolute;left:-50%;right:-50%;top:0;height:300%;transform-origin:50% 0;transform:rotateX(62deg);background:repeating-linear-gradient(90deg,rgba(255,111,177,.7) 0 2px,transparent 2px 60px),repeating-linear-gradient(0deg,rgba(255,111,177,.7) 0 2px,transparent 2px 60px);animation:dk-run 1.4s linear infinite}@keyframes dk-run{0%{transform:rotateX(62deg) translateY(-60px)}to{transform:rotateX(62deg) translateY(0)}}.dk-palm{position:absolute;bottom:4%;left:-30px;width:min(18vw,170px);height:auto}.dk-palm.is-flip{left:auto;right:-30px;transform:scaleX(-1);bottom:6%;width:min(15vw,150px)}.dk-fronds{transform-box:view-box;transform-origin:120px 104px;animation:dk-fronds 5s ease-in-out infinite alternate}@keyframes dk-fronds{to{transform:rotate(4deg)}}[data-theme=dusk] .page-title{text-shadow:2px 2px 0 #FF3E9A,4px 4px 0 #6B1F9E;letter-spacing:.02em}[data-theme=dusk] :is(.btn,.chip,.option,.dock,.seg){border-radius:6px}[data-theme=dusk] .btn--solid{box-shadow:0 0 0 1px #ffb3d6,0 0 22px -4px var(--accent)}[data-theme=dusk] .option.is-picked{box-shadow:0 0 0 1px var(--accent),0 0 24px -8px var(--accent)}[data-theme=dusk] .nicon{filter:saturate(1.15) drop-shadow(0 0 5px rgba(255,111,177,.4))}[data-theme=dusk] .stage{border-color:#4a2a6e}.sheet-line{margin-top:18px;gap:14px;align-items:center}.sheet-row,.sheet-row[style]{display:grid;grid-template-columns:repeat(var(--n, 20),minmax(0,1fr));gap:4px;width:100%;max-width:640px;padding:0;border:0;border-radius:0;background:none}.bubble{width:auto;aspect-ratio:auto;height:12px;border:0;border-radius:4px;background:color-mix(in srgb,var(--ink) 10%,var(--surface))}.bubble:after{inset:0;border-radius:4px;background:var(--accent)}.bubble.is-filled,.today.is-met .bubble.is-filled{border:0}.today.is-met .bubble.is-filled:after{background:var(--good)}[data-theme=hand] .sheet-row{border:0!important;border-image:none!important;animation:none!important}[data-theme=pop] .bubble{border:1.5px solid #141414;height:14px}@media(max-width:959px){.sheet-row,.sheet-row[style]{grid-template-columns:repeat(var(--n, 20),minmax(0,1fr));width:100%;padding:0;background:none}.bubble{height:10px}.today-head .streak-week{width:auto;flex:1 1 auto}.today-head .today-toggle{margin-left:auto}}
