.ck-items[data-v-79b29036]{margin-top:4px}.ck-sec[data-v-79b29036]{letter-spacing:.06em;color:var(--ink-muted-48);align-items:center;gap:8px;margin:12px 0 2px;font-size:11.5px;display:flex}.ck-sec[data-v-79b29036]:after{content:"";background:var(--hairline);flex:1;height:1px}.ck-row[data-v-79b29036]{border-top:1px solid var(--hairline);grid-template-columns:10px minmax(108px,1.1fr) minmax(200px,2.4fr) auto;align-items:center;gap:10px;padding:10px 2px;display:grid}.ck-row[data-v-79b29036]:first-of-type{border-top:0}.ck-led[data-v-79b29036]{background:var(--led-idle);border-radius:50%;width:9px;height:9px}.ck-led.ok[data-v-79b29036]{background:var(--led-ok)}.ck-led.todo[data-v-79b29036]{background:var(--led-wait)}.ck-name[data-v-79b29036]{font-size:13.5px;font-weight:600}.ck-name.done[data-v-79b29036]{color:var(--ink-muted-48);font-weight:500}.ck-why[data-v-79b29036]{color:var(--ink-muted-48);font-size:12.5px;line-height:1.55}.ck-act[data-v-79b29036]{white-space:nowrap;align-items:center;gap:6px;display:flex}.ck-badge[data-v-79b29036]{border:1px solid var(--hairline);color:var(--ink-muted-48);border-radius:999px;padding:1px 7px;font-size:11.5px}.ck-btn[data-v-79b29036]{border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:var(--r-sm);cursor:pointer;padding:5px 10px;font-size:12.5px;font-weight:600}.ck-btn--ghost[data-v-79b29036]{background:var(--canvas);color:var(--ink);border-color:var(--hairline)}.gd-lead[data-v-79b29036]{color:var(--ink-muted-80);margin:0 0 12px;font-size:13px;line-height:1.75}.gd-steps[data-v-79b29036]{max-height:56vh;margin:0;padding-left:20px;overflow-y:auto}.gd-steps li[data-v-79b29036]{margin-bottom:12px;font-size:13px;line-height:1.7}.gd-text b[data-v-79b29036]{font-weight:650}.gd-shot[data-v-79b29036]{border:1px solid var(--hairline);border-radius:var(--r-md);max-width:100%;margin-top:8px;display:block}.gd-shot--todo[data-v-79b29036]{border-radius:var(--r-md);color:var(--ink-muted-48);text-align:center;border-style:dashed;padding:14px 12px;font-size:12px}.gd-tip[data-v-79b29036]{color:var(--ink-muted-48);margin:10px 0 0;font-size:12.5px;line-height:1.65}.gd-foot[data-v-79b29036]{justify-content:flex-end;gap:8px;display:flex}@media (width<=560px){.ck-row[data-v-79b29036]{grid-template-columns:10px 1fr;row-gap:6px;padding:12px 2px}.ck-why[data-v-79b29036]{grid-column:2}.ck-act[data-v-79b29036]{flex-wrap:wrap;grid-column:2}.gd-foot[data-v-79b29036]{justify-content:stretch}.gd-foot .ck-btn[data-v-79b29036]{flex:1}}.ck-bar[data-v-050ea48e]{text-align:left;background:var(--canvas);border:1px solid var(--hairline);width:100%;margin-bottom:var(--s-sm);cursor:pointer;color:inherit;font:inherit;border-radius:999px;align-items:center;gap:9px;padding:9px 14px;display:flex}.ck-bar__txt[data-v-050ea48e]{font-size:13px}.ck-bar__go[data-v-050ea48e]{color:var(--ink);margin-left:auto;font-size:12.5px;font-weight:600}.ck-led[data-v-050ea48e]{background:var(--led-idle);border-radius:50%;flex:none;width:9px;height:9px}.ck-led.ok[data-v-050ea48e]{background:var(--led-ok)}.ck-led.todo[data-v-050ea48e]{background:var(--led-wait)}.ck-panel__lead[data-v-050ea48e]{color:var(--ink-muted-48);margin:0 0 10px;font-size:12.5px;line-height:1.6}.ck-panel__foot[data-v-050ea48e]{align-items:center;gap:12px;display:flex}.ck__link[data-v-050ea48e]{color:var(--ink-muted-48);margin-left:auto;font-size:12.5px}.ck__hide[data-v-050ea48e]{color:var(--ink-muted-48);cursor:pointer;background:0 0;border:0;margin:10px 0 0;padding:0;font-size:12px;text-decoration:underline;display:block}.ck-btn[data-v-050ea48e]{border:1px solid var(--primary);background:var(--primary);color:var(--canvas);cursor:pointer;border-radius:999px;min-height:32px;padding:8px 16px;font-size:13px;font-weight:600}@media (width<=560px){.ck-panel__foot[data-v-050ea48e]{flex-wrap:wrap}.ck__link[data-v-050ea48e]{margin-left:0}}.notice-body{white-space:pre-wrap;word-break:break-word;max-height:52vh;margin:0;font-size:14px;line-height:1.8;overflow-y:auto}.notice-meta{color:var(--ink-muted-48);margin:10px 0 0;font-size:12px}.auth-cta{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-lg);margin-bottom:var(--s-sm);box-shadow:var(--shadow-panel);align-items:center;gap:12px;padding:13px 16px;display:flex}.auth-cta__logo{flex:none;width:34px;height:34px}.auth-cta__main{flex:1;min-width:0}.auth-cta__title{letter-spacing:-.2px;margin:0;font-size:14.5px;font-weight:650}.auth-cta__sub{color:var(--ink-muted-48);margin:3px 0 0;font-size:12.5px;line-height:1.6}@media (width<=560px){.auth-cta{flex-wrap:wrap}.auth-cta__btn{width:100%}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#1d1d1f;--primary-focus:#1d1d1f8c;--on-strong:#fff;--deck-bg:#e9e7ea;--deck-ink:#1d1d1f;--deck-ink-dim:#1d1d1f8c;--deck-accent:#1d1d1f;--deck-hairline:#1d1d1f1f;--tile-bg:var(--canvas);--tile-bg-solid:#fff;--ink:#1d1d1f;--ink-muted-80:#52525b;--ink-muted-48:#6e6e73;--canvas-parchment:#f4f4f5;--canvas:#fff;--hairline:#18181b1a;--st-ok:#1e7d52;--st-bad:#cc3b46;--st-wait:#b06a20;--st-manual:#6b7280;--st-manualdone:#0d8570;--st-qr:#7b4fd0;--st-signout:#a8781f;--st-flag:#41698f;--tag-qr-bg:#7b4fd01a;--tag-qr-bd:#7b4fd047;--tag-manual-bg:#1c26420f;--tag-manual-bd:#1c264224;--tag-manualdone-bg:#0d85701a;--tag-manualdone-bd:#0d857047;--tag-signout-bg:#a8781f1a;--tag-signout-bd:#a8781f47;--tag-flag-bg:#41698f1a;--tag-flag-bd:#41698f42;--led-ok:#17a766;--led-wait:#f0922f;--led-bad:#e5484d;--led-idle:#181b2129;--control-soft-hover:#18181b12;--field-soft:#18181b0f;--dot-idle:#1d1d1f29;--dot-idle-bg:#fff;--dot-active:var(--ink);--dot-active-bg:#18181b1a;--alert-in-card:#f1f1f3;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--panel-info-bg:#41698f14;--panel-info-bd:#41698f42;--panel-warm-bg:#b06a201a;--panel-warm-bd:#b06a204d;--panel-note-bd:#b06a2070;--panel-soft-bg:#f1f1f3;--panel-soft-bd:#1d1d1f14;--panel-active-bg:#18181b1a;--panel-bad-bg:#cc3b461a;--panel-bad-bd:#cc3b464d;--card-solid:#fff;--hairline-dashed:#1d1d1f2e;--hairline-dashed-strong:#1d1d1f42;--shadow-overlay:0 8px 28px #0a0e0b24, 0 2px 8px #0a0e0b14;--shadow-panel:none;--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--t-1:.12s;--t-2:.22s;--r-sm:12px;--r-md:14px;--r-lg:20px;--s-sm:12px;--s-lg:24px;--page-pad:24px;--font-ui:-apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}::selection{background:#1d1d1f1f}[data-theme=dark] ::selection{color:#f5f5f7;background:#fff3}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#f5f5f7;--primary-focus:#ffffff8c;--on-strong:#fff;--deck-bg:#161618;--deck-ink:#f5f5f7;--deck-ink-dim:#f5f5f794;--deck-accent:#f5f5f7;--deck-hairline:#ffffff1a;--tile-bg:var(--canvas);--tile-bg-solid:#151517;--ink:#f5f5f7;--ink-muted-80:#a9a9b2;--ink-muted-48:#85858e;--canvas-parchment:#09090b;--canvas:#151517;--hairline:#ffffff14;--st-ok:#4ed08f;--st-bad:#ff6f76;--st-wait:#f2b25c;--st-manual:#9aa4b2;--st-manualdone:#4bd0ad;--st-qr:#b894f8;--st-signout:#e8b25c;--st-flag:#8ab6e0;--tag-qr-bg:#b894f829;--tag-qr-bd:#b894f85c;--tag-manual-bg:#ffffff14;--tag-manual-bd:#ffffff29;--tag-manualdone-bg:#4bd0ad29;--tag-manualdone-bd:#4bd0ad5c;--tag-signout-bg:#e8b25c29;--tag-signout-bd:#e8b25c5c;--tag-flag-bg:#8ab6e029;--tag-flag-bd:#8ab6e05c;--led-ok:#1fe08b;--led-wait:#ffb85c;--led-bad:#ff5d63;--led-idle:#ffffff2e;--control-soft-hover:#ffffff1a;--field-soft:#ffffff14;--dot-idle:#ffffff2e;--dot-idle-bg:#ffffff0d;--dot-active-bg:#ffffff24;--alert-in-card:#1c1c20;--panel-info-bg:#8ab6e01f;--panel-info-bd:#8ab6e04d;--panel-warm-bg:#f2b25c1f;--panel-warm-bd:#f2b25c52;--panel-note-bd:#f2b25c70;--panel-soft-bg:#1c1c20;--panel-soft-bd:#ffffff1a;--panel-active-bg:#ffffff1a;--panel-bad-bg:#ff6f7624;--panel-bad-bd:#ff6f7657;--card-solid:#151517;--hairline-dashed:#ffffff2e;--hairline-dashed-strong:#ffffff3d;--shadow-overlay:0 12px 36px #0000008c, 0 2px 8px #0006;--shadow-panel:none;--ease-out:cubic-bezier(.2, 0, 0, 1)}body{background:var(--canvas-parchment)}.n-card,.n-dialog,.n-popover{border:1px solid var(--hairline)}.n-card{box-shadow:inset 0 1px 0 #ffffff12, var(--shadow-panel)}.n-dialog,.n-popover{box-shadow:var(--shadow-overlay)}@media (width<=560px){.n-popover{box-sizing:border-box;max-width:calc(100vw - 32px)}}.n-message{word-break:break-word;border:1px solid var(--hairline);white-space:normal!important;max-width:min(560px,100vw - 24px)!important;box-shadow:var(--shadow-overlay)!important;color:#16181d!important;background:#fff!important}[data-theme=dark] .n-message{color:#ffffffeb!important;background:#1a212c!important}html,body,#app{height:100%;font-family:var(--font-ui);margin:0}body{color:var(--ink);-webkit-font-smoothing:antialiased;letter-spacing:-.01em}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.rec-panel{margin-bottom:16px;padding:4px 6px}@media (width<=768px){.rec-panel{background:0 0;border:0;padding:10px}}.rec-list{flex-direction:column;gap:10px;display:flex}.rec-swipe{border-radius:var(--r-lg);position:relative;overflow:hidden}.rec-swipe-del{border-radius:var(--r-lg);background:var(--st-bad);width:84px;color:var(--on-strong);cursor:pointer;border:none;font-size:14px;position:absolute;top:0;bottom:0;right:0}.rec-card{background:var(--card-solid);border:1px solid var(--hairline);border-radius:var(--r-lg);transition:transform var(--t-2) var(--ease-spring);touch-action:pan-y;padding:12px 14px;position:relative}.rec-led{margin-top:3px}.led--done{background:var(--st-manualdone);box-shadow:0 0 6px 0 var(--st-manualdone)}.rec-card.focused{border-color:var(--primary-focus);box-shadow:0 0 0 2px var(--primary-focus)}.rec-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.rec-name{min-width:0;font-size:14px;font-weight:600;line-height:1.4}.rec-tags{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:4px;display:flex}.card-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.admin-panel{margin-bottom:14px;padding:14px 16px}.admin-panel .n-data-table{--n-merged-border-color:var(--hairline)}.admin-row{margin-bottom:10px;padding:12px 14px}.admin-row__head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.card-body{flex-direction:column;gap:4px;display:flex}.sub{color:var(--ink-muted-48);word-break:break-all;font-size:12px;line-height:1.5}.hint{color:var(--ink-muted-48);font-size:12px}.hint-block{margin:4px 0 12px;line-height:1.8}.hint-block-toggle{font:inherit;color:var(--ink-muted-80);cursor:pointer;white-space:nowrap;transition:transform var(--t-1) var(--ease-spring);background:0 0;border:0;padding:0 0 0 6px}.hint-block-toggle:hover{text-decoration:underline}.hint-block-toggle:active{transform:scale(.94)}.hint-block__row{transition:grid-template-rows var(--t-2) var(--ease-out);display:grid}.hint-block__row--brief{grid-template-rows:1fr}.hint-block__row--full,.hint-block.is-open .hint-block__row--brief{grid-template-rows:0fr}.hint-block.is-open .hint-block__row--full{grid-template-rows:1fr}.hint-block__pane{min-height:0;transition:opacity var(--t-1) var(--ease-out), visibility var(--t-2) var(--ease-out);overflow:hidden}.hint-block__pane--brief{opacity:1;visibility:visible}.hint-block__pane--full,.hint-block.is-open .hint-block__pane--brief{opacity:0;visibility:hidden}.hint-block.is-open .hint-block__pane--full{opacity:1;visibility:visible}.hint-block--static .hint-block__row{transition:none}.hint-block--static .hint-block__row--brief{grid-template-rows:0fr}.hint-block--static .hint-block__row--full{grid-template-rows:1fr}.n-layout,.n-layout-main,.n-layout-scroll-container,.n-layout-content,.n-data-table,.n-data-table .n-data-table__base{background:0 0!important}.shell{max-width:1120px;padding:var(--page-pad) var(--page-pad) 0;box-sizing:border-box;min-height:100vh;margin:0 auto}.page-inner{padding-bottom:104px}@media (width<=768px){.shell{padding:16px 14px 0}}.app-dock{width:fit-content;left:0;right:0;bottom:max(12px, env(safe-area-inset-bottom));z-index:40;background:var(--canvas);border:1px solid var(--hairline);box-shadow:var(--shadow-overlay,0 6px 18px #0a0e0b1a);box-sizing:border-box;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;max-width:calc(100vw - 24px);margin:0 auto;padding:8px 14px;display:flex;position:fixed}.app-dock__btn{width:48px;height:48px;color:var(--ink-muted-48);transition:background-color var(--t-2) var(--ease-out), color var(--t-2) var(--ease-out), transform var(--t-1) var(--ease-spring);border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:flex}.app-dock__btn svg{box-sizing:content-box;border-radius:999px;width:24px;height:24px;padding:3px}.app-dock__btn.router-link-active,.app-dock__btn--follow{color:var(--ink);background:var(--field-soft);box-shadow:0 0 0 1.5px var(--hairline)}.app-dock__btn:active{transform:scale(.94)}.app-dock__sep{background:var(--hairline);flex:none;width:1px;height:24px;margin:0 6px}.n-data-table .n-data-table-tr.row-focused .n-data-table-td{background:var(--field-soft)!important}.n-card .n-alert{--n-color:var(--alert-in-card)}.n-alert .n-alert-body__title{letter-spacing:-.224px}.n-button{transition:transform var(--t-1) var(--ease-spring), background-color var(--t-2) var(--ease-out), border-color var(--t-2) var(--ease-out)}.n-button:active{transform:scale(.96)}.n-button:focus-visible{outline:2px solid var(--primary-focus);outline-offset:2px}.n-data-table .n-data-table-th{letter-spacing:.02em;font-size:12px}.n-data-table{font-variant-numeric:tabular-nums}.n-card>.n-card-header .n-card-header__main{letter-spacing:-.2px;font-weight:600}.n-menu .n-menu-item-content{border-radius:var(--r-sm)}.n-menu .n-menu-item-content a{color:inherit;text-decoration:none}.n-menu .n-menu-item-content a:hover{text-decoration:none}.led{background:var(--led-idle);vertical-align:-1px;border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.led--ok{background:var(--led-ok);box-shadow:0 0 6px 0 var(--led-ok), inset 0 1px 1px #fff6}.led--wait{background:var(--led-wait);box-shadow:0 0 6px 0 var(--led-wait), inset 0 1px 1px #fff6}.led--bad{background:var(--led-bad);box-shadow:0 0 6px 0 var(--led-bad), inset 0 1px 1px #fff6}.led--xl{width:18px;height:18px}.led--pulse{animation:1.6s ease-in-out infinite led-pulse}@keyframes led-pulse{0%,to{box-shadow:0 0 #ffb02073}50%{box-shadow:0 0 0 7px #ffb02000}}@media (prefers-reduced-motion:reduce){.led--pulse{animation:none}}.tile{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:14px 16px}.panel{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-lg)}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}@media (width>=769px){.tile-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile__k{color:var(--ink-muted-48);letter-spacing:.02em;font-size:12px}.tile__v{letter-spacing:-.03em;font-variant-numeric:tabular-nums;align-items:baseline;gap:5px;min-width:0;margin-top:5px;font-size:24px;font-weight:600;line-height:1.15;display:flex}.tile__v small{color:var(--ink-muted-48);letter-spacing:0;font-size:12px;font-weight:500}.tile__sub{color:var(--ink-muted-48);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11.5px;line-height:1.5;overflow:hidden}.tile__sub a{color:var(--st-wait);font-weight:600;text-decoration:none}.tile__sub a:hover{text-decoration:underline}.tile__v--wait{color:var(--st-wait)}.tile--status{margin-bottom:14px}.tile--status .tile__status-row{align-items:center;gap:14px;display:flex}.tile--status .tile__status-main{flex:1;min-width:0}.tile--status .tile__status-title{letter-spacing:-.3px;align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.tile--status .tile__status-sub{color:var(--ink-muted-80);margin-top:4px;font-size:12.5px}.tile--status .cc-deck__gauges{border-top:1px solid var(--hairline);color:var(--ink-muted-80);flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:14px;padding-top:12px;font-size:12.5px;display:flex}.tile--status .cc-deck__gauge{align-items:center;gap:6px;display:inline-flex}.tile--status .cc-deck__gauge b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.deck-chan{align-items:center;gap:6px;font-weight:600;display:inline-flex}.deck-chan--ok{color:var(--st-ok)}.deck-chan--wait{color:var(--st-wait)}.deck-chan--bad{color:var(--st-bad)}.led--xs{width:7px;height:7px}.tile--status .cc-deck__note{border-radius:var(--r-md);flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:12px;padding:10px 12px;font-size:12.5px;line-height:1.6;display:flex}.tile--status .cc-deck__note--wait{background:var(--panel-warm-bg);border:1px solid var(--panel-warm-bd)}.tile--status .cc-deck__note--bad{background:var(--panel-bad-bg);border:1px solid var(--panel-bad-bd)}.tile--status .cc-deck__note-text{flex:240px;min-width:0}.tile--status .cc-deck__note-acts{align-items:center;gap:14px;display:inline-flex}.tile--status .cc-deck__note-act{color:var(--ink);cursor:pointer;white-space:nowrap;border-bottom:1px solid #0000;font-weight:600;text-decoration:none}.tile--status .cc-deck__note-act:hover{border-bottom-color:currentColor}.tile--status .cc-deck__note-act:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:2px}.course-tile__name{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.8em;font-size:15px;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.course-tile__teacher{color:var(--ink-muted-48);margin-top:-6px;font-size:12px}.course-tile__state{color:var(--ink-muted-48);align-items:center;gap:8px;font-size:12px;display:flex}.course-tile.is-ended{opacity:.55}.course-tile.is-ended .course-tile__name,.course-tile.is-ended .course-tile__state{color:var(--ink-muted-48)}.tile__switch{cursor:pointer;align-items:center;min-height:44px;margin-top:auto;padding-right:2px;display:flex}.cc-section{justify-content:space-between;align-items:baseline;margin:6px 2px 10px;display:flex}.cc-section__title{letter-spacing:-.2px;font-size:15px;font-weight:600}.cc-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.cc-item{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);align-items:center;gap:10px;padding:12px 14px;display:flex}.cc-item__main{flex:1;min-width:0}.cc-item__name{align-items:center;gap:6px;min-width:0;font-size:14px;font-weight:600;display:flex}.cc-item__meta{color:var(--ink-muted-48);margin-top:2px;font-size:12px}.cc-item__urgent{color:var(--st-bad)}.cc-foot-hint{margin:2px 2px 8px}.cc-card{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-lg);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.cc-card__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.acct-face__row{align-items:center;gap:10px;display:flex}.cc-card--tight{padding:8px 12px}.acct-face__scan{background:var(--field-soft);width:40px;height:40px;color:var(--ink-muted-48);border:1px solid var(--hairline);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.acct-face__scan.is-ready{color:var(--st-ok);background:#34d3991a;border-color:#34d3994d;animation:2.6s ease-in-out infinite acct-face-halo}.acct-face__scan.is-busy{color:var(--st-wait);border-color:#f2b25c73;animation:none}.acct-face__scan svg{width:20px;height:20px}.acct-face__scan.is-busy svg{opacity:.3}.acct-face__scan.is-busy:after{content:"";border:2px solid var(--hairline);border-top-color:var(--st-wait);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite acct-face-spin;position:absolute}@keyframes acct-face-spin{to{transform:rotate(360deg)}}@keyframes acct-face-halo{0%,to{box-shadow:0 0 #34d39938}50%{box-shadow:0 0 0 7px #34d39912}}.acct-face__scanline{background:linear-gradient(90deg,#0000,#4ed08fe6,#0000);border-radius:2px;height:2px;animation:3s ease-in-out infinite alternate acct-face-scan;position:absolute;top:16%;left:12%;right:12%;box-shadow:0 0 8px #4ed08f80}.acct-face__scan.is-busy .acct-face__scanline{background:linear-gradient(90deg,#0000,#f2b25ce6,#0000);animation-duration:1.1s;box-shadow:0 0 8px #f2b25c80}.acct-face__scan:not(.is-ready) .acct-face__scanline{display:none}@keyframes acct-face-scan{0%{top:16%}to{top:80%}}.acct-face__main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.acct-face__title{letter-spacing:-.2px;font-size:15px;font-weight:650}.acct-face__check{background:var(--field-soft);border-radius:999px;align-self:flex-start;padding:3px 9px;font-size:12.5px}.acct-face__check--success{color:var(--st-ok)}.acct-face__check--warning{color:var(--st-wait)}.acct-face__check--default{color:var(--ink-muted-48)}.acct-face__actions{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.acct-face__cta.n-button{--n-border:1px solid #34d39973!important;--n-border-hover:1px solid #34d399bf!important;--n-border-focus:1px solid #34d399bf!important;--n-border-pressed:1px solid #34d3998c!important;--n-text-color:var(--st-ok)!important;--n-text-color-hover:var(--st-ok)!important;--n-text-color-focus:var(--st-ok)!important;--n-text-color-pressed:var(--st-ok)!important;--n-color:transparent!important;--n-color-hover:#34d39914!important;--n-color-focus:#34d39914!important;--n-color-pressed:#34d3991f!important}@media (width<=560px){.acct-face__row{flex-wrap:wrap}.acct-face__actions{flex-direction:row;align-items:center;width:100%}}@media (prefers-reduced-motion:reduce){.acct-face__scan.is-ready{animation:none}.acct-face__scanline{display:none}}.acct-idbar{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);align-items:center;gap:10px;margin-bottom:10px;padding:8px 12px;display:flex}.acct-idbar__avatar{background:var(--field-soft);width:30px;height:30px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:inline-flex;overflow:hidden}.acct-idbar__avatar svg{width:17px;height:17px}.acct-idbar__avatar-img{object-fit:cover;width:100%;height:100%;display:block}.acct-idbar__main{flex:1;min-width:0}.acct-idbar__name{letter-spacing:-.2px;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.acct-idbar__sub{color:var(--ink-muted-48);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12px;overflow:hidden}.acct-idbar{cursor:pointer}.acct-idbar__chevron{width:16px;height:16px;color:var(--ink-muted-48);flex:none}.acct-detail__head{align-items:center;gap:14px;padding:2px 2px 14px;display:flex}.acct-detail__avatar{background:var(--field-soft);width:64px;height:64px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:24px;font-weight:600;display:inline-flex;overflow:hidden}.acct-detail__avatar img{object-fit:cover;width:100%;height:100%;display:block}.acct-detail__avatar svg{width:30px;height:30px}.acct-detail__name{letter-spacing:-.3px;font-size:17px;font-weight:650}.acct-detail__school{color:var(--ink-muted-48);margin-top:2px;font-size:13px}.acct-detail__row{border-top:1px solid var(--hairline);justify-content:space-between;align-items:baseline;gap:12px;padding:9px 2px;font-size:13.5px;display:flex}.acct-detail__row span{color:var(--ink-muted-48);flex:none}.acct-detail__row b{font-variant-numeric:tabular-nums;text-align:right;word-break:break-all;font-weight:550}.acct-detail__actions{gap:10px;margin-top:16px;display:flex}.acct-detail__actions>*{flex:1}.acct-wait{border-radius:var(--r-md);align-items:center;gap:10px;margin-bottom:12px;padding:12px 14px;font-size:13px;line-height:1.7;display:flex}.acct-wait__led{border-radius:50%;flex:none;width:10px;height:10px}.acct-wait--wait{background:var(--panel-warm-bg);border:1px solid var(--panel-warm-bd)}.acct-wait--wait .acct-wait__led{background:var(--led-wait);animation:1.4s ease-in-out infinite acct-wait-pulse}@keyframes acct-wait-pulse{0%,to{box-shadow:0 0 #ffb02073}50%{box-shadow:0 0 0 7px #ffb02000}}@media (prefers-reduced-motion:reduce){.acct-wait--wait .acct-wait__led{animation:none}}.acct-wait--bad{background:var(--panel-bad-bg);border:1px solid var(--panel-bad-bd)}.acct-wait--bad .acct-wait__led{background:var(--led-bad)}.acct-wait__text{flex:1;min-width:0}@media (width<=768px){:root{--page-pad:12px}.n-modal .n-card,.n-dialog{max-width:92vw!important}.n-modal .n-card__content{padding:14px!important}.n-layout-content,.n-layout-scroll-container{width:100%!important}.n-card>.n-card-header{font-size:15px}.n-card__content{padding:14px!important}.n-data-table{overflow-x:auto}.gesture-grid{grid-gap:8px!important;grid-template-columns:repeat(3,52px)!important}.gesture-dot{width:52px!important;height:52px!important}.n-form-item{grid-template-columns:auto minmax(0,1fr)!important}.n-form-item.n-form-item--top-labelled{grid-template-columns:minmax(0,100%)!important}.n-form-item .n-form-item-blank,.n-form-item .n-form-item-blank>*{min-width:0}.n-form-item .n-form-item-label{padding-bottom:2px}.n-divider .n-divider__title{white-space:normal;flex:none;max-width:70%}}.page-head{justify-content:space-between;align-items:center;gap:10px;min-height:32px;margin:2px 2px 12px;display:flex}.page-title{letter-spacing:-.3px;margin:0;font-size:20px;font-weight:600;line-height:1.3}.page-head__sub{color:var(--ink-muted-80);margin-top:2px;font-size:12.5px}.n-card .n-divider{margin:26px 0 14px}.n-card .n-divider .n-divider__title{color:var(--ink-muted-48);letter-spacing:.02em;font-size:13px;font-weight:600}.set-hero{background:var(--canvas);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-lg);margin-bottom:14px;padding:18px 20px}.set-hero__title{letter-spacing:-.2px;font-size:17px;font-weight:600}.set-hero__sub{color:var(--ink-muted-80);margin-top:3px;font-size:12.5px}.set-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}@media (width>=769px){.set-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.set-tile{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-lg);min-height:118px;color:var(--ink);transition:transform var(--t-1) var(--ease-spring);flex-direction:column;gap:3px;padding:14px;text-decoration:none;display:flex;position:relative}.set-tile:active{transform:scale(.98)}.set-tile__icon{background:var(--field-soft);width:40px;height:40px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:10px;display:inline-flex}.set-tile__icon svg,.set-row__icon svg,.set-tile__chevron svg,.set-row__chevron svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.set-tile__title{font-size:14px;font-weight:600}.set-tile__sub{color:var(--ink-muted-48);font-size:12px}.set-tile__chevron,.set-row__chevron{color:var(--ink-muted-48);position:absolute;top:14px;right:12px}.set-rows{flex-direction:column;gap:10px;margin-bottom:8px;display:flex}.set-row{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-lg);min-height:44px;color:var(--ink);align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex;position:relative}.set-row__icon{background:var(--field-soft);width:38px;height:38px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.set-row__main{flex-direction:column;flex:1;min-width:0;display:flex}.set-row__title{font-size:14px;font-weight:600}.set-row__sub{color:var(--ink-muted-48);font-size:12px}button.set-row{width:100%;font:inherit;text-align:left;cursor:pointer}.set-row--danger{color:var(--st-bad)}.set-row--danger .set-row__icon{background:var(--panel-bad-bg);color:var(--st-bad)}.set-row--danger:active{transform:scale(.99)}.build-tag{color:var(--ink-muted-48);text-align:center;margin:8px 0 0;font-size:11px}.beian{color:var(--ink-muted-48);text-align:center;margin:4px 0 0;font-size:11px;text-decoration:none;display:block}.beian a{color:inherit;text-decoration:none}.beian a:hover{text-decoration:underline}.beian__sep{margin:0 5px}.login-wrap .beian{margin:0;position:absolute;bottom:2px;left:0;right:0}.brand{align-items:center;gap:8px;padding:2px 6px 10px;display:flex}.brand img{flex:none;width:28px;height:28px;display:block}.brand span{letter-spacing:-.224px;font-size:15px;font-weight:600}.login-head{align-items:center;gap:12px;display:flex}.login-wrap{min-height:calc(100vh - var(--page-pad) * 2);padding:0 16px;display:flex;position:relative}.login-card{width:100%;max-width:420px;margin:auto}.login-card.n-card{--n-color:var(--canvas);--n-border-radius:var(--r-lg);background:var(--canvas);border:1px solid var(--hairline);box-shadow:var(--shadow-panel)}.login-card .n-tabs .n-tabs-tab.n-tabs-tab--active{background:var(--field-soft);color:var(--ink);font-weight:600}.login-card .n-tabs .n-tabs-tab{color:var(--ink-muted-48)}.login-card .n-tabs .n-tabs-rail{background:var(--tile-2)}.login-card .n-input{--n-border-radius:12px}.login-card .n-input .n-input__border,.login-card .n-input .n-input__state-border{border-radius:12px}.login-submit.n-button{border-radius:999px;height:44px;margin-top:4px;font-weight:600}.login-head img{flex:none;width:44px;height:44px;display:block}.login-head span{letter-spacing:-.3px;font-size:22px;font-weight:600}.login-tagline{color:var(--ink-muted-48);letter-spacing:0;margin:3px 0 0;font-size:12px}.nowrap{white-space:nowrap}.page-enter-active{transition:opacity var(--t-2) var(--ease-out), transform var(--t-2) var(--ease-spring)}.page-leave-active{transition:opacity var(--t-1) var(--ease-out), transform var(--t-1) var(--ease-out)}.page-enter-from{opacity:0;transform:translateY(10px)}.page-leave-to{opacity:0;transform:translateY(-6px)}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.rise>*{animation:rise-in var(--t-2) var(--ease-spring) backwards}.rise>:nth-child(2){animation-delay:30ms}.rise>:nth-child(3){animation-delay:60ms}.rise>:nth-child(4){animation-delay:90ms}.rise>:nth-child(5){animation-delay:.12s}.rise>:nth-child(6){animation-delay:.15s}.rise>:nth-child(7){animation-delay:.18s}.rise>:nth-child(n+8){animation-delay:.21s}.rec-card.is-swiping{transition:none}.fade-in-scale-up-transition-enter-active{transition-timing-function:var(--ease-spring)!important;transition-duration:var(--t-2)!important}.fade-in-scale-up-transition-leave-active{transition-timing-function:var(--ease-out)!important;transition-duration:var(--t-1)!important}.ref-row-tile{padding:10px 14px}.ref-row-tile .ref-row{gap:8px}.ref-link{word-break:break-all;font-variant-numeric:tabular-nums;background:var(--field-soft);border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.6}.ref-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}
