.app-header[data-v-d7732cea]{position:sticky;top:0;z-index:20;background:var(--header-bg);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);transition:box-shadow .22s ease}.app-header--scrolled[data-v-d7732cea]{box-shadow:var(--header-shadow)}.ojn[data-v-d7732cea]{background:#3a1e5d}.ojn__inner[data-v-d7732cea]{display:flex;align-items:stretch;max-width:1400px;height:45px;margin:0 auto;padding:0 15px}.ojn__logo[data-v-d7732cea]{display:block;flex:none;margin:6.5px 5px}.ojn__logo img[data-v-d7732cea]{display:block;width:auto;height:32px;max-width:180px;filter:brightness(0) invert(1)}.ojn__menu[data-v-d7732cea],.ojn__account[data-v-d7732cea]{display:flex;align-items:stretch;margin:0;padding:0;list-style:none}.ojn__menu[data-v-d7732cea]{flex:1 1 auto;min-width:0}.ojn__account[data-v-d7732cea]{flex:none;margin-left:auto}.ojn__drawer[data-v-d7732cea]{display:contents}.ojn__burger[data-v-d7732cea],.ojn__scrim[data-v-d7732cea]{display:none}.ojn__list-item[data-v-d7732cea]{display:flex;list-style:none}.ojn__item[data-v-d7732cea]{position:relative;display:block;padding:0 20px 3px;border:0;border-top:3px solid transparent;border-radius:0;background:transparent;color:#fff;font-family:inherit;font-size:14px;line-height:39px;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.3);cursor:pointer;transition:border-color .2s,background .2s,color .2s}.ojn__item[data-v-d7732cea]:hover{border-top-color:#5f9fd6;background:#f8f8f8;color:#333;text-shadow:none}.ojn__item--active[data-v-d7732cea]{border-top-color:#ed5f82;color:#fff;font-weight:600}.ojn__item--active[data-v-d7732cea]:before{content:"";position:absolute;left:0;top:-1px;width:100%;height:1px;box-shadow:0 0 30px #ed5f82,0 0 30px #ed5f82}.ojn__item--active[data-v-d7732cea]:hover{border-top-color:#ed5f82}.ojn__item--active[data-v-d7732cea]:hover:before{box-shadow:none}[data-theme=dark] .ojn__item[data-v-d7732cea]:hover{background:#424242;color:#fff}.ojn__signup[data-v-d7732cea]{align-self:center;padding:0 25px;border:2px solid #fff;border-radius:16px;color:#fff;font-size:14px;line-height:28px;white-space:nowrap;transition:background .2s,color .2s}.ojn__signup[data-v-d7732cea]:hover{background:#fff;color:#666}.ojn-user[data-v-d7732cea],.ojn-drop[data-v-d7732cea]{position:relative}.ojn-drop .ojn-user__menu[data-v-d7732cea]{right:auto;left:0}.ojn-drop:hover .ojn-user__caret[data-v-d7732cea]{transform:rotate(180deg)}.ojn-drop:hover .ojn-user__menu[data-v-d7732cea],.ojn-drop:focus-within .ojn-user__menu[data-v-d7732cea]{opacity:1;visibility:visible;transform:translateY(0)}.ojn-domain .ojn-user__trigger[data-v-d7732cea]{gap:6px}.ojn-domain__avatar[data-v-d7732cea]{flex:none;width:20px;height:20px;border-radius:50%;object-fit:cover;background:#ffffff29}.ojn-user__trigger[data-v-d7732cea]{display:flex;align-items:center;gap:4px}.ojn-user__caret[data-v-d7732cea]{width:14px;height:14px;transition:transform .16s ease}.ojn-user:hover .ojn-user__caret[data-v-d7732cea]{transform:rotate(180deg)}.ojn-user__menu[data-v-d7732cea]{position:absolute;top:100%;right:0;z-index:30;min-width:150px;padding:5px 0;background:#fffffff5;box-shadow:0 2px 7px #0000004d;backdrop-filter:blur(10px);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease,visibility .16s}.ojn-user:hover .ojn-user__menu[data-v-d7732cea],.ojn-user:focus-within .ojn-user__menu[data-v-d7732cea]{opacity:1;visibility:visible;transform:translateY(0)}.ojn-user__link[data-v-d7732cea]{display:flex;align-items:center;gap:8px;padding:12px 15px;border-left:3px solid transparent;color:#555;font-size:13px;line-height:18px;white-space:nowrap}.ojn-user__link[data-v-d7732cea]:hover{border-left-color:#4690d0;background:#f4f4f4;color:#555;text-decoration:none}.ojn-user__icon[data-v-d7732cea]{flex:none;width:14px;height:14px;opacity:.7}.ojn-user__sep[data-v-d7732cea]{height:1px;margin:5px 0;background:#eee}[data-theme=dark] .ojn-user__menu[data-v-d7732cea]{background:#0f0f0f;box-shadow:0 2px 7px #3d3d3d;backdrop-filter:none}[data-theme=dark] .ojn-user__link[data-v-d7732cea]{color:#aaa}[data-theme=dark] .ojn-user__link[data-v-d7732cea]:hover{background:#1b1b1b;color:#aaa}[data-theme=dark] .ojn-user__sep[data-v-d7732cea]{background:#212121}.subnav[data-v-d7732cea]{border-top:1px solid var(--line)}.subnav__inner[data-v-d7732cea]{display:flex;align-items:center;flex-wrap:wrap;gap:12px;max-width:1280px;margin:0 auto;padding:6px 20px}.subnav__list[data-v-d7732cea]{display:flex;align-items:center;gap:2px;flex:1;flex-wrap:wrap}.subnav__item[data-v-d7732cea]{padding:4px 10px;border-radius:8px;color:var(--text-dim);font-size:13.5px;white-space:nowrap;transition:all .16s ease}.subnav__item[data-v-d7732cea]:not(.subnav__item--active):hover{color:var(--text);background:var(--hover-bg)}.subnav__item--active[data-v-d7732cea]{color:var(--active-text);background:var(--active-bg)}.sound[data-v-d7732cea]{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--primary-line);border-radius:50%;background:var(--tint);color:var(--primary);cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease}.sound svg[data-v-d7732cea]{width:15px;height:15px}.sound[data-v-d7732cea]:hover{border-color:var(--primary);background:var(--active-bg)}.sound--off[data-v-d7732cea]{border-color:var(--line);background:var(--panel-2);color:var(--text-faint)}.sound--off[data-v-d7732cea]:hover{border-color:var(--primary-line);color:var(--primary)}.ojn__measure[data-v-d7732cea]{position:absolute;top:0;left:-9999px;visibility:hidden;pointer-events:none}.ojn-more[data-v-d7732cea]{position:relative}.ojn-more .ojn-user__menu[data-v-d7732cea]{right:0;left:auto}.ojn-more__group[data-v-d7732cea]{font-weight:600}.ojn-more__sub[data-v-d7732cea]{padding-left:30px}@media(max-width:768px){.app-header[data-v-d7732cea]{backdrop-filter:none;-webkit-backdrop-filter:none}.ojn__inner[data-v-d7732cea]{height:45px;padding:0 8px}.ojn__logo[data-v-d7732cea]{margin:6.5px 2px}.ojn__logo img[data-v-d7732cea]{height:26px}.ojn__drawer[data-v-d7732cea]{position:fixed;top:0;right:0;bottom:0;z-index:60;display:block;width:200px;padding:0 0 12px;overflow-y:auto;overscroll-behavior:contain;background:#1d1f20;transform:translate(100%);visibility:hidden;transition:transform .24s ease,visibility 0s linear .24s}.ojn__drawer--open[data-v-d7732cea]{transform:none;visibility:visible;transition:transform .24s ease,visibility 0s}.ojn__menu[data-v-d7732cea],.ojn__account[data-v-d7732cea]{flex-direction:column;align-items:stretch;width:100%;margin-left:0}.ojn__menu[data-v-d7732cea]{flex:0 0 auto;overflow:visible}.ojn__list-item[data-v-d7732cea]{display:block}.ojn__item[data-v-d7732cea]{padding:0 16.25px 2.4375px;border-top:0;border-left:3px solid transparent;font-size:11.375px;line-height:31.6875px;text-align:left;text-shadow:none}.ojn__item[data-v-d7732cea]:hover{border-top-color:transparent;border-left-color:#5f9fd6;background:#ffffff14;color:#fff}[data-theme=dark] .ojn__item[data-v-d7732cea]:hover{background:#ffffff14;color:#fff}.ojn__item--active[data-v-d7732cea],.ojn__item--active[data-v-d7732cea]:hover{border-top-color:transparent;border-left-color:#ed5f82;color:#fff}.ojn__item--active[data-v-d7732cea]:before{display:none}.ojn__signup[data-v-d7732cea]{align-self:stretch;padding:0 16.25px 2.4375px;border:0;border-radius:0;font-size:11.375px;line-height:31.6875px}.ojn__signup[data-v-d7732cea]:hover{background:#ffffff14;color:#fff}.ojn__drawer .ojn-user__menu[data-v-d7732cea]{position:static;min-width:0;padding:0 0 6px;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;visibility:visible;transform:none;transition:none}[data-theme=dark] .ojn__drawer .ojn-user__menu[data-v-d7732cea]{background:transparent;box-shadow:none}.ojn__drawer .ojn-user__link[data-v-d7732cea]{padding:7px 16.25px 7px 27.25px;border-left:0;color:#ffffffd1;font-size:11px;line-height:16px}.ojn__drawer .ojn-user__link[data-v-d7732cea]:hover{border-left-color:transparent;background:#ffffff14;color:#fff}[data-theme=dark] .ojn__drawer .ojn-user__link[data-v-d7732cea]{color:#ffffffd1}[data-theme=dark] .ojn__drawer .ojn-user__link[data-v-d7732cea]:hover{background:#ffffff1a;color:#fff}.ojn__drawer .ojn-user__sep[data-v-d7732cea]{background:#ffffff29}.ojn__drawer .ojn-user__caret[data-v-d7732cea]{opacity:.55}.ojn__burger[data-v-d7732cea]{display:grid;place-items:center;flex:none;width:40px;height:45px;position:relative;z-index:65;margin-left:auto;padding:0;border:0;background:transparent;color:#fff;cursor:pointer}.ojn__burger svg[data-v-d7732cea]{width:22px;height:22px}.ojn__burger-line[data-v-d7732cea]{transform-box:fill-box;transform-origin:center;transition:transform .24s ease,opacity .16s ease}.ojn__burger--open .ojn__burger-line--1[data-v-d7732cea]{transform:translateY(6px) rotate(45deg)}.ojn__burger--open .ojn__burger-line--2[data-v-d7732cea]{opacity:0}.ojn__burger--open .ojn__burger-line--3[data-v-d7732cea]{transform:translateY(-6px) rotate(-45deg)}.ojn__scrim[data-v-d7732cea]{display:block;position:fixed;inset:0;z-index:50;background:transparent}.subnav__inner[data-v-d7732cea]{gap:8px;padding:6px 12px;flex-wrap:nowrap}.subnav__list[data-v-d7732cea]{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.subnav__list[data-v-d7732cea]::-webkit-scrollbar{display:none}.subnav__item[data-v-d7732cea],.sound[data-v-d7732cea]{flex:none}}.app-footer[data-v-ccc9bbec]{border-top:1px solid var(--line);background:var(--header-bg)}.app-footer__inner[data-v-ccc9bbec]{max-width:1080px;margin:0 auto;padding:18px 20px;text-align:center}.app-footer__beian[data-v-ccc9bbec]{color:var(--text-faint);font-size:13px}.app-footer__beian[data-v-ccc9bbec]:hover{color:var(--primary)}@media(max-width:640px){.app-footer__inner[data-v-ccc9bbec]{padding:16px 14px}}.idbg[data-v-3e199373]{border-top:1px dashed var(--line);background:var(--surface-soft);color:var(--text-faint);font-size:12px;line-height:1.7}.idbg__inner[data-v-3e199373]{max-width:1080px;margin:0 auto;padding:10px 20px 14px}.idbg__row[data-v-3e199373]{display:flex;flex-wrap:wrap;gap:4px 10px;word-break:break-all}.idbg__key[data-v-3e199373]{flex:none;min-width:130px;color:var(--text-dim)}.idbg__value[data-v-3e199373]{color:var(--primary)}.idbg__value--miss[data-v-3e199373]{color:var(--bad)}@media(max-width:640px){.idbg__inner[data-v-3e199373]{padding:10px 14px}.idbg__key[data-v-3e199373]{min-width:0}}:root{color-scheme:dark;--bg: #0c0a15;--bg-soft: #141020;--panel: #1a1528;--panel-2: #241c38;--line: #2f2546;--text: #ece8f6;--text-dim: #a99fc6;--text-faint: #746a95;--primary: #d37be0;--primary-deep: #b055c2;--on-primary: #1b0422;--ok: #4ade80;--warn: #fbbf24;--bad: #f87171;--radius: 14px;--shadow: 0 18px 40px rgba(0, 0, 0, .35);--body-glow-1: rgba(211, 123, 224, .12);--body-glow-2: rgba(211, 123, 224, .06);--header-bg: rgba(5, 3, 11, .9);--header-shadow: 0 12px 28px rgba(0, 0, 0, .3);--header-h: 92px;--mask-bg: rgba(6, 4, 12, .62);--surface-soft: rgba(36, 28, 56, .45);--stat-bg: rgba(26, 21, 40, .6);--field-bg: #120e1e;--track-bg: rgba(47, 37, 70, .9);--progress-from: #e9c8f7;--progress-to: var(--primary);--purple-1: #e9c8f7;--purple-2: #d37be0;--purple-3: #b055c2;--purple-4: #8c3ba0;--hover-bg: rgba(211, 123, 224, .1);--active-bg: rgba(211, 123, 224, .2);--active-text: #ffffff;--table-hover-bg: rgba(211, 123, 224, .06);--is-me-bg: rgba(211, 123, 224, .14);--tint: rgba(211, 123, 224, .08);--primary-line: rgba(211, 123, 224, .45);--danger-line: #7f2a2a;--danger-text: #fca5a5;--brand-mark-text: #1b0422;--hero-from: #ffffff;--board-bg: #100d1c;--board-mask: rgba(16, 13, 28, .72);--wrong-bg: rgba(248, 113, 113, .85);--wrong-text: #ffffff;--fixed: #fde047;--fixed-bg: rgba(253, 224, 71, .16);--fixed-text: #fde047;--ghost-text: rgba(160, 152, 186, .5);--ghost-line: rgba(160, 152, 186, .45);--ghost-bg: rgba(160, 152, 186, .06);--finger-lp: #f472b6;--finger-lr: #c084fc;--finger-lm: #60a5fa;--finger-li: #34d399;--finger-ri: #fbbf24;--finger-rm: #fb923c;--finger-rr: #f87171;--finger-rp: #22d3ee;--finger-thumb: #d3a67c;--hand-line: #6b6091;--hand-fill: #a99fc6;--hand-alpha: .1}[data-theme=light]{color-scheme:light;--bg: #faf9fc;--bg-soft: #fdfcfe;--panel: #ffffff;--panel-2: #f2edf7;--line: #e3dbee;--text: #221a2c;--text-dim: #574a68;--text-faint: #6e6383;--primary: #660874;--primary-deep: #4a0554;--on-primary: #ffffff;--ok: #15803d;--warn: #b45309;--bad: #dc2626;--shadow: 0 14px 30px rgba(58, 25, 74, .1);--body-glow-1: rgba(102, 8, 116, .06);--body-glow-2: rgba(102, 8, 116, .03);--header-bg: rgba(237, 230, 246, .88);--header-shadow: 0 12px 26px rgba(58, 25, 74, .07);--mask-bg: rgba(34, 26, 44, .42);--surface-soft: rgba(236, 228, 245, .6);--stat-bg: rgba(243, 238, 249, .9);--field-bg: #ffffff;--track-bg: #e5dcef;--progress-from: #c084e0;--progress-to: var(--primary);--purple-1: #a855c8;--purple-2: #83219c;--purple-3: #660874;--purple-4: #4a0554;--hover-bg: rgba(102, 8, 116, .07);--active-bg: rgba(102, 8, 116, .13);--active-text: #660874;--table-hover-bg: rgba(102, 8, 116, .05);--is-me-bg: rgba(102, 8, 116, .1);--tint: rgba(102, 8, 116, .06);--primary-line: rgba(102, 8, 116, .4);--danger-line: rgba(220, 38, 38, .45);--danger-text: #b91c1c;--brand-mark-text: #ffffff;--hero-from: #2b0733;--board-bg: #fbf9fd;--board-mask: rgba(251, 249, 253, .76);--wrong-bg: rgba(220, 38, 38, .16);--wrong-text: #b91c1c;--fixed: #ca8a04;--fixed-bg: rgba(250, 204, 21, .5);--fixed-text: #a16207;--ghost-text: rgba(108, 100, 126, .62);--ghost-line: rgba(108, 100, 126, .5);--ghost-bg: rgba(108, 100, 126, .08);--finger-lp: #db2777;--finger-lr: #9333ea;--finger-lm: #2563eb;--finger-li: #059669;--finger-ri: #b45309;--finger-rm: #ea580c;--finger-rr: #dc2626;--finger-rp: #0e7490;--finger-thumb: #d9a878;--hand-line: #a99cb9;--hand-fill: #ffffff;--hand-alpha: .55}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:radial-gradient(1100px 560px at 50% -12%,var(--body-glow-1) 0%,transparent 70%) no-repeat,radial-gradient(820px 460px at 92% 2%,var(--body-glow-2) 0%,transparent 66%) no-repeat,var(--bg);color:var(--text);font-family:Inter,PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:not(.btn):hover{color:var(--primary-deep)}h1,h2,h3,h4{margin:0 0 12px;font-weight:700;letter-spacing:.2px}button{font-family:inherit}.app-shell{display:flex;flex-direction:column;min-height:100%}.app-main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:28px 20px 64px}.app-main--wide{max-width:1280px}.card{background:linear-gradient(180deg,var(--panel) 0%,var(--bg-soft) 100%);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card+.card{margin-top:18px}.card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.card__head h2,.card__head h3{margin:0;font-size:16px}.card__body{padding:20px}.card--plain{background:none;border:0;box-shadow:none}.card--plain .card__head{padding:0 0 12px;border-bottom:0}.card--plain .card__body{padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--text);font-size:14px;cursor:pointer;transition:all .16s ease;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--primary);transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:linear-gradient(135deg,var(--primary),var(--primary-deep));border-color:transparent;color:var(--on-primary);font-weight:600}.btn--ghost{background:transparent}.btn--danger{border-color:var(--danger-line);color:var(--danger-text)}.btn--sm{padding:6px 12px;font-size:13px}.btn-row{display:flex;flex-wrap:wrap;gap:10px}.seg{display:inline-flex;flex:none;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.seg__btn{padding:6px 14px;border:0;border-radius:8px;background:transparent;color:var(--text-dim);font-family:inherit;font-size:13px;white-space:nowrap;cursor:pointer;transition:all .16s ease}.seg__btn:not(.seg__btn--on):not(:disabled):hover{color:var(--text)}.seg__btn:disabled{opacity:.4;cursor:not-allowed}.seg__num{margin-left:5px;font-size:11px;font-weight:600;opacity:.75;font-variant-numeric:tabular-nums}.seg__btn--on{background:linear-gradient(135deg,var(--primary),var(--primary-deep));color:var(--on-primary);font-weight:600}.field{display:block;margin-bottom:16px}.field>span{display:block;margin-bottom:6px;color:var(--text-dim);font-size:13px}.input,.select,.textarea{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--field-bg);color:var(--text);font-family:inherit;font-size:14px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary)}.textarea{min-height:160px;resize:vertical;line-height:1.7}.tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;border:1px solid var(--line);color:var(--text-dim);background:var(--tint)}.tag--ok{color:var(--ok);border-color:var(--ok)}.tag--warn{color:var(--warn);border-color:var(--warn)}.tag--bad{color:var(--bad);border-color:var(--bad)}.tag--code{color:var(--primary);border-color:var(--primary)}.tag__mark{display:inline-block;width:13px;height:13px;margin-left:5px;border:1px solid currentColor;border-radius:50%;font-style:normal;font-size:10px;line-height:11px;text-align:center;opacity:.75}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.mono{font-family:JetBrains Mono,SFMono-Regular,ui-monospace,monospace}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}.table th{color:var(--text-dim);font-weight:600;font-size:13px}.table tbody tr:hover{background:var(--table-hover-bg)}.empty{padding:40px 0;text-align:center;color:var(--text-faint)}.empty__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}.skeleton{border-radius:8px;background:var(--track-bg);animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.grid-2>.card{margin-top:0}.progress{height:5px;border-radius:99px;background:var(--track-bg);overflow:hidden}.progress__inner{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--progress-from),var(--progress-to));transition:width .2s ease}.type-layout{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:20px;align-items:start}.type-main{min-width:0}.type-side{position:sticky;top:calc(var(--header-h) + 19px)}@media(min-width:1360px){.type-layout{grid-template-columns:minmax(0,1fr)}.type-side{position:fixed;top:50%;left:calc(50% + 540px);transform:translateY(-50%);width:clamp(120px,calc(50vw - 556px),200px);max-height:calc(100vh - 48px);overflow-y:auto}}@media(max-width:900px){.type-layout{grid-template-columns:minmax(0,1fr)}.type-side{position:static}}.stat-value{font-size:26px;font-weight:700;line-height:1.2}@media(max-width:640px){.app-main{padding:18px 14px 48px}}
