.stat-grid[data-v-d06bf446]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.stat-card[data-v-d06bf446]{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--border);border-radius:var(--r-l);background:none;cursor:pointer;text-align:left;color:var(--fg, inherit)}.stat-card[data-v-d06bf446]:hover{border-color:var(--accent)}.stat-num[data-v-d06bf446]{font-size:24px;font-weight:700}.stat-label[data-v-d06bf446]{font-size:12px;color:var(--muted)}.table-scroll[data-v-fdd2d845]{overflow-x:auto}.users-table[data-v-fdd2d845]{min-width:860px}.users-table th[data-v-fdd2d845]:nth-child(1),.users-table td[data-v-fdd2d845]:nth-child(1){width:56px}.users-table th[data-v-fdd2d845]:nth-child(2),.users-table td[data-v-fdd2d845]:nth-child(2){width:170px}.users-table th[data-v-fdd2d845]:nth-child(4),.users-table td[data-v-fdd2d845]:nth-child(4){width:130px}.users-table th[data-v-fdd2d845]:nth-child(5),.users-table td[data-v-fdd2d845]:nth-child(5){width:64px;text-align:center}.users-table th[data-v-fdd2d845]:nth-child(6),.users-table td[data-v-fdd2d845]:nth-child(6){width:110px}.users-table th[data-v-fdd2d845]:nth-child(7),.users-table td[data-v-fdd2d845]:nth-child(7){width:96px}.nowrap[data-v-fdd2d845]{white-space:nowrap}.cell-input[data-v-fdd2d845]{width:100%;padding:4px 8px;font-size:var(--fs-xs);background:transparent;border:1px solid transparent;border-radius:var(--r-m);color:var(--text)}.cell-input[data-v-fdd2d845]:hover{border-color:var(--border)}.cell-input[data-v-fdd2d845]:focus{border-color:var(--accent);background:var(--bg);outline:none}.cell-input[data-v-fdd2d845]:disabled{opacity:.55;cursor:not-allowed}.cell-email[data-v-fdd2d845]{min-width:200px}.cell-perm[data-v-fdd2d845]{min-width:110px}.veri-btn[data-v-fdd2d845]{width:36px;padding:4px 0;font-size:var(--fs-xs);background:transparent;border:1px solid var(--border);color:var(--muted)}.veri-btn.on[data-v-fdd2d845]{color:var(--ok);border-color:var(--ok)66}.danger-outline[data-v-fdd2d845]{border-color:var(--danger);color:var(--danger)}.danger-outline[data-v-fdd2d845]:hover{background:var(--danger);color:var(--on-danger)}.table-scroll[data-v-4878e410]{overflow-x:auto}.players-table[data-v-4878e410]{min-width:920px}.players-table th[data-v-4878e410]:nth-child(1),.players-table td[data-v-4878e410]:nth-child(1){width:56px}.players-table th[data-v-4878e410]:nth-child(2),.players-table td[data-v-4878e410]:nth-child(2){width:64px;text-align:center}.players-table th[data-v-4878e410]:nth-child(3),.players-table td[data-v-4878e410]:nth-child(3){width:130px}.players-table th[data-v-4878e410]:nth-child(5),.players-table td[data-v-4878e410]:nth-child(5){width:130px}.players-table th[data-v-4878e410]:nth-child(6),.players-table td[data-v-4878e410]:nth-child(6){width:80px;text-align:center}.players-table th[data-v-4878e410]:nth-child(7),.players-table td[data-v-4878e410]:nth-child(7){width:80px;text-align:center}.players-table th[data-v-4878e410]:nth-child(8),.players-table td[data-v-4878e410]:nth-child(8){width:96px}.nowrap[data-v-4878e410]{white-space:nowrap}.pname[data-v-4878e410]{font-weight:600}.thumb[data-v-4878e410]{width:28px;height:auto;image-rendering:pixelated;vertical-align:middle;border-radius:4px}.thumb-sm[data-v-4878e410]{width:18px;height:auto;image-rendering:pixelated;vertical-align:middle}.cell-btn[data-v-4878e410]{padding:3px 8px;min-width:48px;display:inline-flex;align-items:center;justify-content:center}.uuid[data-v-4878e410]{font-size:11px;letter-spacing:.2px}.danger-outline[data-v-4878e410]{border-color:var(--danger);color:var(--danger)}.danger-outline[data-v-4878e410]:hover{background:var(--danger);color:#fff}.settings-group-title[data-v-5d23777e]{font-size:var(--fs-xs);font-weight:700;color:var(--muted);margin:24px 0 4px;padding:16px 0 8px;border-top:1px solid var(--border)}.settings-group-title[data-v-5d23777e]:first-of-type{border-top:none;padding-top:4px;margin-top:16px}.bl-table[data-v-a55a7c49]{table-layout:fixed;width:100%}.bl-table th[data-v-a55a7c49]:nth-child(1),.bl-table td[data-v-a55a7c49]:nth-child(1){width:44px}.bl-table th[data-v-a55a7c49]:nth-child(2),.bl-table td[data-v-a55a7c49]:nth-child(2){width:170px}.bl-table th[data-v-a55a7c49]:nth-child(3),.bl-table td[data-v-a55a7c49]:nth-child(3){width:64px}.bl-table th[data-v-a55a7c49]:nth-child(5),.bl-table td[data-v-a55a7c49]:nth-child(5){width:150px}.bl-table th[data-v-a55a7c49]:nth-child(6),.bl-table td[data-v-a55a7c49]:nth-child(6){width:130px}.bl-table td[data-v-a55a7c49]{word-break:break-all;vertical-align:top}.diag-overlay[data-v-a55a7c49]{--scrim: rgba(0, 0, 0, .55);position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:80}.diag-modal[data-v-a55a7c49]{width:min(860px,92vw);max-height:86vh;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px}.diag-head[data-v-a55a7c49]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.diag-head h3[data-v-a55a7c49]{margin:0;font-size:var(--fs-m)}.diag-close[data-v-a55a7c49]{background:none;border:none;color:var(--muted);font-size:var(--fs-l);cursor:pointer;line-height:1.5}.diag-body[data-v-a55a7c49]{padding:20px}.diag-idle[data-v-a55a7c49]{text-align:center;padding:24px 0}.diag-start[data-v-a55a7c49]{padding:8px 24px;border-radius:var(--r-s);border:1px solid var(--accent);background:var(--accent);color:var(--on-cinnabar);font-size:var(--fs-s);cursor:pointer}.diag-loading[data-v-a55a7c49]{display:flex;gap:12px;align-items:center;justify-content:center;padding:32px 0}.diag-spinner[data-v-a55a7c49]{width:20px;height:20px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:diag-spin-a55a7c49 .9s linear infinite}@keyframes diag-spin-a55a7c49{to{transform:rotate(360deg)}}.diag-result-bar[data-v-a55a7c49]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.diag-badge[data-v-a55a7c49]{--ok-wash: color-mix(in srgb, var(--ok) 16%, transparent);--bad-wash: color-mix(in srgb, var(--danger) 14%, transparent);display:inline-block;padding:4px 12px;border-radius:24px;font-size:var(--fs-xs);font-weight:600}.diag-badge.ok[data-v-a55a7c49]{background:var(--ok-wash);color:var(--ok);border:1px solid var(--ok)}.diag-badge.fail[data-v-a55a7c49]{background:var(--bad-wash);color:var(--danger);border:1px solid var(--danger)}.diag-export[data-v-a55a7c49]{padding:8px 12px;border-radius:var(--r-s);border:1px solid var(--border);background:none;color:var(--text);cursor:pointer}.diag-table[data-v-a55a7c49]{width:100%;border-collapse:collapse}.diag-table th[data-v-a55a7c49]{width:20%;text-align:right;padding:8px 12px;color:var(--muted);font-weight:500;vertical-align:top;border-bottom:1px solid var(--border)}.diag-table td[data-v-a55a7c49]{padding:8px 12px;vertical-align:top;border-bottom:1px solid var(--border)}.diag-table textarea[data-v-a55a7c49]{width:100%;min-height:120px;resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:var(--fs-xs)}.diag-mono[data-v-a55a7c49]{font-family:ui-monospace,Consolas,monospace;font-size:var(--fs-xs);word-break:break-all}.diag-meta[data-v-a55a7c49]{margin:12px 0 0;color:var(--muted);font-size:var(--fs-xs)}.table-scroll[data-v-2ddc2f33]{overflow-x:auto}.logs-table[data-v-2ddc2f33]{min-width:960px;width:100%;table-layout:fixed}.logs-table td[data-v-2ddc2f33]{overflow:hidden;text-overflow:ellipsis}.logs-table th[data-v-2ddc2f33]:nth-child(1),.logs-table td[data-v-2ddc2f33]:nth-child(1){width:160px}.logs-table th[data-v-2ddc2f33]:nth-child(2),.logs-table td[data-v-2ddc2f33]:nth-child(2){width:96px}.logs-table th[data-v-2ddc2f33]:nth-child(3),.logs-table td[data-v-2ddc2f33]:nth-child(3){width:62px}.logs-table th[data-v-2ddc2f33]:nth-child(4),.logs-table td[data-v-2ddc2f33]:nth-child(4){width:138px}.logs-table th[data-v-2ddc2f33]:nth-child(5),.logs-table td[data-v-2ddc2f33]:nth-child(5){width:112px}.logs-table th[data-v-2ddc2f33]:nth-child(6),.logs-table td[data-v-2ddc2f33]:nth-child(6){width:210px}.logs-table td.detail[data-v-2ddc2f33]{font-family:var(--mono, monospace);font-size:12px}.nowrap[data-v-2ddc2f33]{white-space:nowrap}.who[data-v-2ddc2f33]{font-weight:600}.ip[data-v-2ddc2f33]{font-size:12px}.ua[data-v-2ddc2f33],.logs-table td.detail[data-v-2ddc2f33]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ua[data-v-2ddc2f33]{font-size:12px}.oc[data-v-2ddc2f33]{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;border:1px solid transparent}.oc-ok[data-v-2ddc2f33]{color:#2e9e5b;border-color:#2e9e5b66}.oc-miss[data-v-2ddc2f33]{color:var(--muted, #8b93a1);border-color:#8884}.oc-warn[data-v-2ddc2f33]{color:#b98900;border-color:#b9890066}.oc-bad[data-v-2ddc2f33]{color:var(--danger, #d64545);border-color:#d6454566}.schema-group[data-v-891e5433]{margin-top:16px;padding:12px;border:1px solid var(--border);border-radius:var(--r-m)}.schema-group h4[data-v-891e5433]{margin:0 0 4px}.admin-shell[data-v-c74719d7]{display:flex;gap:20px;align-items:flex-start}.admin-side[data-v-c74719d7]{position:sticky;top:72px;min-width:180px}.admin-nav[data-v-c74719d7]{display:flex;flex-direction:column;gap:2px;margin-top:12px}.admin-nav-item[data-v-c74719d7]{position:relative;text-align:left;background:none;border:1px solid transparent;padding:8px 12px;border-radius:var(--r-s);cursor:pointer;font-size:var(--fs-s);color:var(--muted);transition:background .14s var(--ease),color .14s var(--ease)}.admin-nav-item[data-v-c74719d7]:hover{background:var(--hover-wash);color:var(--text)}.admin-nav-item.active[data-v-c74719d7]{background:var(--accent-wash);color:var(--text);font-weight:600}.admin-nav-item.active[data-v-c74719d7]:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--accent)}.admin-token[data-v-c74719d7]{display:flex;gap:8px}.admin-token input[data-v-c74719d7]{min-width:0;flex:1}.admin-main[data-v-c74719d7]{flex:1;min-width:0}@media(max-width:720px){.admin-shell[data-v-c74719d7]{flex-direction:column}.admin-side[data-v-c74719d7]{position:static;width:100%}.admin-nav[data-v-c74719d7]{flex-direction:row;flex-wrap:wrap}.admin-nav-item.active[data-v-c74719d7]:before{display:none}}.md[data-v-e92c24e9]{margin-top:8px;line-height:1.75;font-size:var(--fs-m)}.md[data-v-e92c24e9] h1{font-family:var(--font-serif);font-size:var(--fs-xl);letter-spacing:.03em;margin:4px 0 8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.md[data-v-e92c24e9] h2{font-size:var(--fs-l);margin:24px 0 8px}.md[data-v-e92c24e9] h3{font-size:var(--fs-m);margin:16px 0 4px}.md[data-v-e92c24e9] p{margin:8px 0}.md[data-v-e92c24e9] ul,.md[data-v-e92c24e9] ol{margin:8px 0;padding-left:24px}.md[data-v-e92c24e9] li{margin:4px 0}.md[data-v-e92c24e9] a{color:var(--jade);text-decoration:underline;text-underline-offset:3px}.md[data-v-e92c24e9] a:hover{color:var(--jade-hi)}.md[data-v-e92c24e9] code{background:var(--bg);padding:2px 4px;border-radius:var(--r-s);font-size:var(--fs-xs)}.md[data-v-e92c24e9] img{max-width:100%;border-radius:var(--r-m)}.md[data-v-e92c24e9] blockquote{margin:8px 0;padding:4px 16px;border-left:3px solid var(--gold);color:var(--muted)}.md[data-v-e92c24e9] strong{color:var(--text)}.md[data-v-e92c24e9] hr{border:none;border-top:1px solid var(--border);margin:16px 0}.md[data-v-e92c24e9] table{border-collapse:collapse;font-size:var(--fs-xs);margin:8px 0}.md[data-v-e92c24e9] th,.md[data-v-e92c24e9] td{border:1px solid var(--border);padding:8px}h3[data-v-e92c24e9]{font-size:var(--fs-s);margin:16px 0 4px;color:var(--muted);font-weight:600}.ali[data-v-e92c24e9]{background:var(--bg);border:1px solid var(--border);padding:8px 12px;border-radius:var(--r-m);font-size:var(--fs-xs);-webkit-user-select:all;user-select:all}.drag-btn[data-v-e92c24e9]{display:inline-block;padding:8px 16px;border:1px dashed var(--accent);color:var(--accent);border-radius:var(--r-m);text-decoration:none;font-size:var(--fs-xs)}.up-grid[data-v-e92c24e9]{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:start}.up-controls[data-v-e92c24e9]{display:flex;flex-direction:column;gap:12px}.drop-zone[data-v-e92c24e9]{display:flex;align-items:center;gap:8px;border:1px dashed var(--line-strong);border-radius:var(--r-m);background:var(--bg);padding:12px;cursor:pointer;min-height:48px;transition:border-color .14s var(--ease),background .14s var(--ease)}.drop-zone[data-v-e92c24e9]:hover,.drop-zone.over[data-v-e92c24e9]{border-color:var(--gold);background:var(--ink-3)}.file-hidden[data-v-e92c24e9]{display:none}.file-name[data-v-e92c24e9]{font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-clear[data-v-e92c24e9]{min-height:24px;padding:0 8px;font-size:var(--fs-xs);margin-left:auto;flex:none}.prev-box[data-v-e92c24e9]{display:flex;align-items:center;justify-content:center;min-height:220px;border:1px solid var(--border);border-radius:var(--r-m);background:var(--bg);padding:8px}.cape-prev[data-v-e92c24e9]{max-width:100%;max-height:220px;image-rendering:pixelated}@media(max-width:720px){.up-grid[data-v-e92c24e9]{grid-template-columns:1fr}.prev-box[data-v-e92c24e9]{min-height:200px}}.tabs[data-v-d0ce584b]{display:flex;gap:6px}.tab[data-v-d0ce584b]{background:transparent;border:1px solid var(--border);color:var(--muted);padding:6px 14px;border-radius:999px;cursor:pointer;font-size:13px}.tab.active[data-v-d0ce584b]{border-color:var(--accent);color:var(--text);font-weight:600}.thumb[data-v-d0ce584b]{height:48px;image-rendering:pixelated;vertical-align:middle;border-radius:4px}.hash[data-v-d0ce584b]{font-size:11px}.nowrap[data-v-d0ce584b]{white-space:nowrap}.danger-outline[data-v-d0ce584b]{border-color:var(--danger);color:var(--danger)}.danger-outline[data-v-d0ce584b]:hover{background:var(--danger);color:#fff}.tabs[data-v-12fcd5a5]{display:flex;gap:8px}.tabs button[data-v-12fcd5a5]{padding:8px 12px;border-radius:var(--r-s, 4px);border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;font-size:var(--fs-s)}.tabs button.active[data-v-12fcd5a5]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.mine-on[data-v-12fcd5a5]{border-color:var(--accent)!important;color:var(--accent)!important}.skinlib-grid[data-v-12fcd5a5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:16px;--steve-bg: rgba(47, 191, 107, .16);--steve-ink: #7ee2a8;--alex-bg: rgba(224, 166, 60, .16);--alex-ink: #ecc288}.skin-card[data-v-12fcd5a5]{border:1px solid var(--border);border-radius:var(--r-m);overflow:hidden;background:var(--bg);display:flex;flex-direction:column}.skin-card-prev[data-v-12fcd5a5]{height:180px;display:flex;align-items:center;justify-content:center;background:var(--panel-2)}.skin-preview-img[data-v-12fcd5a5]{height:150px;image-rendering:pixelated;object-fit:contain}.cape-thumb[data-v-12fcd5a5]{max-width:90%;max-height:150px;image-rendering:pixelated}.skin-card-body[data-v-12fcd5a5]{padding:12px;display:flex;flex-direction:column;gap:8px}.skin-card-name[data-v-12fcd5a5]{font-weight:600;font-size:var(--fs-s);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skin-card-link[data-v-12fcd5a5]{color:inherit;text-decoration:none}.skin-card-link[data-v-12fcd5a5]:hover{color:var(--accent)}.skin-card-prev a[data-v-12fcd5a5]{display:flex;align-items:center;justify-content:center;height:100%}.lock[data-v-12fcd5a5]{display:inline-block;margin-right:4px;padding:0 4px;border:1px solid var(--gold);border-radius:var(--r-s);font-size:var(--fs-xs);font-weight:600;color:var(--gold);line-height:1.5}.skin-card-meta[data-v-12fcd5a5]{display:flex;align-items:center;gap:8px;font-size:12px}.badge[data-v-12fcd5a5]{padding:2px 8px;border-radius:var(--r-s, 4px);font-size:var(--fs-xs, 12px);font-weight:600}.badge.steve[data-v-12fcd5a5]{background:var(--steve-bg);color:var(--steve-ink)}.badge.alex[data-v-12fcd5a5]{background:var(--alex-bg);color:var(--alex-ink)}.uploader[data-v-12fcd5a5]{color:var(--muted)}.skin-card-actions[data-v-12fcd5a5]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.like-btn[data-v-12fcd5a5]{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:var(--r-s, 4px);padding:4px 8px;cursor:pointer;font-size:var(--fs-xs, 12px)}.like-btn.liked[data-v-12fcd5a5]{color:var(--danger);border-color:var(--danger)}.ghost[data-v-12fcd5a5]{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;padding:4px}.ghost[data-v-12fcd5a5]:hover{color:var(--accent)}.pager[data-v-12fcd5a5]{justify-content:center;margin-top:16px;gap:12px}.table-scroll[data-v-ad971f32]{overflow-x:auto}.p-table[data-v-ad971f32]{min-width:860px}.p-table th[data-v-ad971f32]:nth-child(1),.p-table td[data-v-ad971f32]:nth-child(1){width:48px}.p-table th[data-v-ad971f32]:nth-child(2),.p-table td[data-v-ad971f32]:nth-child(2){width:72px;text-align:center}.p-table th[data-v-ad971f32]:nth-child(3),.p-table td[data-v-ad971f32]:nth-child(3){width:130px}.p-table th[data-v-ad971f32]:nth-child(5),.p-table td[data-v-ad971f32]:nth-child(5){width:160px}.p-table th[data-v-ad971f32]:nth-child(6),.p-table td[data-v-ad971f32]:nth-child(6){width:160px}.prev-cell[data-v-ad971f32] canvas{width:48px!important;height:72px!important}.pname[data-v-ad971f32]{font-weight:600}.uuid[data-v-ad971f32]{font-size:11px}.cell-sel[data-v-ad971f32]{width:100%;padding:4px 6px;font-size:13px}.nowrap[data-v-ad971f32]{white-space:nowrap}.danger-outline[data-v-ad971f32]{border-color:var(--danger);color:var(--danger)}.danger-outline[data-v-ad971f32]:hover{background:var(--danger);color:#fff}h3[data-v-a00af59c]{font-size:14px;margin:18px 0 8px;color:var(--muted);font-weight:600}.avatar-row[data-v-a00af59c]{gap:16px}.avatar-box[data-v-a00af59c]{width:64px;height:64px;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar-face[data-v-a00af59c]{width:48px;height:48px;background-repeat:no-repeat;background-size:384px auto;background-position:-48px -48px;image-rendering:pixelated;border-radius:2px}.avatar-empty[data-v-a00af59c]{color:var(--muted);font-size:12px}.avatar-pick[data-v-a00af59c]{max-width:260px}.fld[data-v-a00af59c]{flex:1;min-width:220px}.fld input[data-v-a00af59c]{margin-top:4px}.danger-text[data-v-a00af59c]{color:var(--danger)}:root{color-scheme:dark;--bg: #101825;--panel: #16202e;--border: rgba(169, 138, 95, .24);--text: #e9edf1;--muted: #a8b4c3;--accent: #b0453a;--danger: #d9564c;--ink: var(--bg);--ink-2: var(--panel);--ink-3: #1d2a3d;--line: var(--border);--line-strong: rgba(169, 138, 95, .45);--moon: var(--text);--moon-2: var(--muted);--cinnabar: var(--accent);--cinnabar-hi: #c25446;--on-cinnabar: #fdf3ec;--jade: #67b7a0;--jade-hi: #7fcbb3;--gold: #c9a06a;--danger-hi: #e5655c;--on-danger: #fff;--ok: #6fbf7d;--hover-wash: rgba(233, 237, 241, .05);--accent-wash: rgba(176, 69, 58, .14);--sel: rgba(176, 69, 58, .35);--fog: rgba(233, 237, 241, .05);--glow-cinnabar: rgba(176, 69, 58, .6);--glow-danger: rgba(217, 86, 76, .6);--ring-cinnabar: rgba(176, 69, 58, .18);--mtn-far: #2c3d54;--mtn-mid: #243347;--mtn-near: #1c2839;--r-s: 4px;--r-m: 6px;--r-l: 10px;--shadow: 0 12px 32px -18px rgba(3, 8, 16, .8);--shadow-lift: 0 18px 40px -20px rgba(3, 8, 16, .9);--topbar-h: 56px;--ease: cubic-bezier(.22, 1, .36, 1);--t-fast: .14s;--t-mid: .26s;--fs-xs: 12px;--fs-s: 14px;--fs-m: 16px;--fs-l: 20px;--fs-xl: 24px;--fs-2xl: 32px;--font-sans: "Segoe UI", "Inter", "PingFang SC", "HarmonyOS Sans SC", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;--font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-m);line-height:1.7;-webkit-font-smoothing:antialiased;line-break:strict;text-wrap:pretty}::selection{background:var(--sel)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-l);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--gold)}h1,h2,h3{line-height:1.25;font-weight:600;text-wrap:balance;letter-spacing:-.01em}h1{font-size:var(--fs-xl);margin:0 0 4px}h2{font-size:var(--fs-l);margin:0 0 12px}a{color:var(--jade);text-decoration:none}a:hover{color:var(--jade-hi);text-decoration:underline}:focus-visible{outline:2px solid var(--jade);outline-offset:2px}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:var(--topbar-h);padding:0 20px;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar .brand{display:flex;align-items:center;gap:8px;color:var(--moon)}.topbar .brand:hover{text-decoration:none}.topbar .brand-n{width:26px;height:26px;display:block}.topbar .brand-name{font-family:var(--font-serif);font-size:var(--fs-l);font-weight:600;letter-spacing:.06em}.topbar-right{display:flex;align-items:center;gap:8px}.topbar-right select{width:auto;padding:4px 8px;min-height:32px;font-size:var(--fs-s)}.topbar-right button{min-height:32px;padding:4px 16px}.container{max-width:960px;margin:0 auto;padding:24px}.container.wide{max-width:1280px}.auth-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr);gap:32px;align-items:stretch;min-height:calc(100vh - var(--topbar-h) - 48px);padding:24px 0}.auth-scene{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-l);background:linear-gradient(180deg,var(--ink-3),var(--ink-2));padding:44px 36px;display:flex;flex-direction:column;justify-content:flex-end}.auth-scene .scene-mountains{position:absolute;inset:auto 0 0 0;width:100%;height:55%;display:block}.auth-scene .mtn-far{fill:var(--mtn-far);opacity:.5}.auth-scene .mtn-mid{fill:var(--mtn-mid);opacity:.8}.auth-scene .mtn-near{fill:var(--mtn-near)}.locale-sel{width:110px}.auth-scene .scene-fog{position:absolute;left:-60%;width:220%;height:90px;background:radial-gradient(50% 100% at 50% 100%,var(--fog),transparent 70%)}.auth-scene .fog-a{bottom:40px;animation:fogdrift 70s linear infinite}.auth-scene .fog-b{bottom:120px;opacity:.7;animation:fogdrift 110s linear infinite reverse}@keyframes fogdrift{0%{transform:translate(-4%)}to{transform:translate(4%)}}.auth-scene .scene-copy{position:relative}.auth-scene .scene-copy h1{font-family:var(--font-serif);font-size:var(--fs-2xl);letter-spacing:.06em}.auth-scene .scene-fact{color:var(--moon-2);max-width:30em;margin:8px 0 0}.auth-scene .brandmark{width:72px;height:72px;margin-bottom:16px}.auth-scene .brandmark svg{width:100%;height:100%;display:block}.auth-pane{display:flex;flex-direction:column;justify-content:center}.auth-pane .card{max-width:440px;width:100%;margin:0 auto}@media(max-width:860px){.auth-split{grid-template-columns:1fr;min-height:0;gap:16px}.auth-scene{padding:24px;min-height:180px}.auth-scene .brandmark{width:48px;height:48px;margin-bottom:8px}.auth-scene .scene-copy h1{font-size:var(--fs-xl)}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);padding:20px;margin-bottom:16px;box-shadow:var(--shadow);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-mid) var(--ease)}.card:hover{border-color:var(--line-strong)}.muted{color:var(--muted);font-size:var(--fs-s)}@keyframes view-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.user-main>*,.auth-pane>*{animation:view-rise var(--t-mid) var(--ease) both}button{background:var(--cinnabar);color:var(--on-cinnabar);border:none;border-radius:var(--r-s);padding:8px 16px;min-height:36px;cursor:pointer;font-size:var(--fs-s);font-weight:600;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}button:hover{background:var(--cinnabar-hi);transform:translateY(-1px);box-shadow:0 6px 16px -8px var(--glow-cinnabar)}button:active{transform:translateY(0)}button.secondary{background:transparent;border:1px solid var(--line-strong);color:var(--moon)}button.secondary:hover{background:var(--ink-3);border-color:var(--gold);color:var(--moon);box-shadow:none}button.danger{background:var(--danger);color:var(--on-danger)}button.danger:hover{background:var(--danger-hi);box-shadow:0 6px 16px -8px var(--glow-danger)}button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}button:disabled:hover{background:var(--cinnabar)}button.secondary:disabled:hover{background:transparent}input,select,textarea{background:var(--ink);border:1px solid var(--line-strong);color:var(--text);border-radius:var(--r-s);padding:8px 12px;font-size:var(--fs-s);width:100%;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}textarea{min-height:88px;resize:vertical;font-family:inherit;line-height:1.6}textarea:focus,input:focus,select:focus{outline:none;border-color:var(--cinnabar);box-shadow:0 0 0 3px var(--ring-cinnabar)}label{display:block;margin:12px 0 4px;font-size:var(--fs-s);color:var(--muted)}label.required{color:var(--cinnabar)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.error{color:var(--danger);font-size:var(--fs-s);margin-top:8px}.success{color:var(--ok);font-size:var(--fs-s);margin-top:8px}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 0 16px}.page-head h1,.page-head h2{margin:0}table{width:100%;border-collapse:collapse;font-size:var(--fs-s);font-variant-numeric:tabular-nums}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}th{white-space:nowrap;font-size:var(--fs-s);color:var(--muted);font-weight:600}td{vertical-align:middle}tbody tr,table tr{transition:background var(--t-fast) var(--ease)}tbody tr:hover,table tr:hover{background:var(--hover-wash)}.badge{display:inline-block;padding:2px 8px;border-radius:var(--r-s);font-size:var(--fs-xs);border:1px solid var(--line-strong);color:var(--moon-2);font-variant-numeric:tabular-nums}.user-shell{display:flex;gap:20px;align-items:flex-start}.user-side{position:sticky;top:calc(var(--topbar-h) + 16px);min-width:196px;padding:12px;display:flex;flex-direction:column;gap:4px}.nav-group+.nav-group{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.nav-title{font-size:var(--fs-xs);color:var(--muted);font-weight:600;margin:0 0 8px;padding-left:12px;letter-spacing:.08em}.nav-item{position:relative;display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:1px solid transparent;padding:8px 12px;border-radius:var(--r-s);cursor:pointer;font-size:var(--fs-s);color:var(--moon-2);margin-bottom:2px;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.nav-item:hover{background:var(--hover-wash);color:var(--moon)}.nav-item.active{background:var(--accent-wash);color:var(--moon);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--cinnabar)}.nav-ico{width:16px;height:16px;flex:none;display:block;opacity:.85}.nav-item.active .nav-ico{opacity:1}.user-chip{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--ink-3);display:flex;align-items:center;justify-content:space-between;gap:8px}.user-chip .who{font-size:var(--fs-s);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip button{min-height:28px;padding:4px 8px;font-size:var(--fs-xs)}.user-main{flex:1;min-width:0}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:720px){.user-shell{flex-direction:column}.user-side{position:static;width:100%}.nav-group{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.nav-title{width:100%;margin-bottom:2px}.nav-item{width:auto;margin-bottom:0}.nav-item.active:before{display:none}}
