@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+TC:wght@300;400;500;600;700&display=swap";.app-nav[data-v-a1ef04a8]{padding:8px 6px}.nav-list[data-v-a1ef04a8],.nav-sublist[data-v-a1ef04a8]{list-style:none;margin:0;padding:0}.nav-link[data-v-a1ef04a8],.nav-group-btn[data-v-a1ef04a8]{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;min-height:44px;padding:0 12px;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:14px;font-family:inherit;text-decoration:none;cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),color var(--motion-duration-fast) var(--motion-easing-standard),transform var(--motion-duration-fast) var(--motion-easing-standard)}.nav-link[data-v-a1ef04a8]:hover,.nav-group-btn[data-v-a1ef04a8]:hover{background:var(--color-overlay-hover);color:var(--color-text-secondary)}.nav-link[data-v-a1ef04a8]:focus-visible,.nav-group-btn[data-v-a1ef04a8]:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.nav-link[data-v-a1ef04a8]:active,.nav-group-btn[data-v-a1ef04a8]:active:not(:disabled){transform:translateY(var(--motion-distance-press))}.nav-link.router-link-active[data-v-a1ef04a8]{background:rgb(var(--color-primary-rgb) / .12);color:var(--color-primary-hover)}.nav-link.router-link-active[data-v-a1ef04a8]:hover{background:rgb(var(--color-primary-rgb) / .16);color:var(--color-primary-emphasis)}.nav-icon[data-v-a1ef04a8]{display:flex;align-items:center;justify-content:center;width:20px;font-size:18px;flex-shrink:0}.nav-label[data-v-a1ef04a8]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.nav-caret[data-v-a1ef04a8]{font-size:10px;color:var(--color-text-decorative);flex-shrink:0}.nav-sub-link[data-v-a1ef04a8]{padding-left:32px}.app-nav.collapsed .nav-label[data-v-a1ef04a8],.app-nav.collapsed .nav-caret[data-v-a1ef04a8]{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.app-nav.collapsed .nav-link[data-v-a1ef04a8],.app-nav.collapsed .nav-group-btn[data-v-a1ef04a8]{justify-content:center;padding:0}.app-nav.collapsed .nav-sub-link[data-v-a1ef04a8]{padding-left:0}.captcha-image-row[data-v-076f663c]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.captcha-img[data-v-076f663c]{height:50px;border-radius:6px}.captcha-error[data-v-076f663c]{color:var(--color-error-hover);font-size:12px;margin-top:4px}.auth-heading[data-v-31af8ef0]{margin-bottom:16px;text-align:center}.auth-title[data-v-31af8ef0]{margin:0;color:var(--text-color-1, var(--color-text-primary));font-size:24px;line-height:1.3}.auth-title[data-v-31af8ef0]:focus-visible{outline:2px solid var(--primary-color, var(--color-primary-hover));outline-offset:4px}.auth-subtitle[data-v-31af8ef0]{margin:6px 0 0;color:var(--text-color-3, var(--color-text-muted));font-size:13px}.login-field[data-v-31af8ef0]{display:grid;gap:6px;width:100%;min-width:0}.auth-field-label[data-v-31af8ef0]{display:block;margin:0;color:var(--text-color-2, var(--color-text-secondary));font-size:13px;font-weight:500}.login-links[data-v-31af8ef0]{display:flex;justify-content:flex-end;margin:4px 0}.link-forget[data-v-31af8ef0]{color:var(--text-color-3, var(--color-text-muted));font-size:13px}.link-forget[data-v-31af8ef0]:hover{color:var(--color-text-primary)}.cleanup-hint[data-v-31af8ef0]{margin:0 0 4px;color:var(--text-color-3, var(--color-text-muted));font-size:13px;text-align:center}.divider-row[data-v-31af8ef0]{display:flex;align-items:center;gap:12px;margin:16px 0 12px}.divider-line[data-v-31af8ef0]{flex:1;height:1px;background:var(--color-bg-elevated)}.divider-text[data-v-31af8ef0]{font-size:12px;color:var(--color-text-muted);white-space:nowrap}.oauth-row[data-v-31af8ef0]{display:flex;justify-content:center;gap:16px}.oauth-btn[data-v-31af8ef0]{width:48px;height:48px;border-radius:12px;border:1px solid var(--color-border-default);background:var(--color-bg-surface);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color var(--motion-duration-normal) var(--motion-easing-standard),background-color var(--motion-duration-normal) var(--motion-easing-standard),border-color var(--motion-duration-normal) var(--motion-easing-standard),transform var(--motion-duration-normal) var(--motion-easing-standard)}.oauth-btn[data-v-31af8ef0]:hover{border-color:var(--color-border-subtle);transform:translateY(-1px)}.oauth-google[data-v-31af8ef0]:hover{background:#ea43351a;border-color:#ea43354d;color:#ea4335}.oauth-line[data-v-31af8ef0]:hover{background:#06c7551a;border-color:#06c7554d;color:#06c755}.oauth-fb[data-v-31af8ef0]:hover{background:#1877f21a;border-color:#1877f24d;color:#1877f2}.auth-title[data-v-f757bbb3]{text-align:center;color:var(--color-text-primary);font-size:18px;margin:4px 0 12px}.auth-title[data-v-f757bbb3]:focus-visible{outline:2px solid var(--primary-color, var(--color-primary-hover));outline-offset:4px}.forget-field[data-v-f757bbb3]{display:grid;gap:6px;width:100%;min-width:0}.auth-field-label[data-v-f757bbb3]{display:block;margin:0;color:var(--text-color-2, var(--color-text-secondary));font-size:13px;font-weight:500}.auth-title[data-v-66177ebd]{text-align:center;color:var(--color-text-primary);font-size:18px;margin:4px 0}.auth-title[data-v-66177ebd]:focus-visible{outline:2px solid var(--primary-color, var(--color-primary-hover));outline-offset:4px}.auth-hint[data-v-66177ebd]{text-align:center;color:var(--color-text-muted);font-size:13px;margin:0 0 12px}.auth-field-label[data-v-66177ebd]{display:block;margin-bottom:6px;color:var(--text-color-2, var(--color-text-secondary));font-size:13px;font-weight:500}.auth-dialog[data-v-7d84e441]{position:relative;isolation:isolate;padding:0}.login-stars[data-v-7d84e441]{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none}.login-star[data-v-7d84e441]{position:absolute;top:50%;left:50%;width:var(--star-size);height:var(--star-size);border-radius:50%;background:var(--color-primary-hover);box-shadow:0 0 8px rgb(var(--color-primary-hover-rgb) / .28);opacity:.09;transform:translate(var(--star-x),var(--star-y))}.login-stars--animated .login-star[data-v-7d84e441]{animation:login-star-spread-7d84e441 var(--motion-duration-ambient) var(--motion-easing-standard)}@media(prefers-reduced-motion:reduce){.login-stars--animated .login-star[data-v-7d84e441]{animation:none}}.auth-dialog[data-v-7d84e441]>:not(.login-stars){position:relative;z-index:1}@keyframes login-star-spread-7d84e441{0%{opacity:0;transform:translate(0) scale(.45)}20%{opacity:.28}87.5%{opacity:.16;transform:translate(var(--star-x),var(--star-y)) scale(1)}to{opacity:.09;transform:translate(var(--star-x),var(--star-y)) scale(1)}}.auth-step-enter-active[data-v-7d84e441],.auth-step-leave-active[data-v-7d84e441]{transition:opacity var(--motion-duration-fast) var(--motion-easing-standard),transform var(--motion-duration-fast) var(--motion-easing-standard)}.auth-step-enter-from[data-v-7d84e441],.auth-step-leave-to[data-v-7d84e441]{opacity:0;transform:translateY(var(--motion-distance-enter))}@media(prefers-reduced-motion:reduce){.auth-step-enter-active[data-v-7d84e441],.auth-step-leave-active[data-v-7d84e441]{transition:none}}.auth-dialog[data-v-7d84e441] .login-wrapper{padding:20px 20px 28px}.auth-dialog[data-v-7d84e441] .login-form{display:flex;flex-direction:column}.auth-dialog[data-v-7d84e441] .login-form .n-form-item{margin-bottom:4px}.auth-dialog[data-v-7d84e441] .login-form .n-form-item .n-form-item-feedback-wrapper{min-height:18px;padding:2px 0 0;font-size:12px}.auth-dialog[data-v-7d84e441] .login-form .login-form-item{margin-bottom:0}.auth-dialog[data-v-7d84e441] .login-form .login-form-item .n-form-item-feedback-wrapper{min-height:10px;padding-top:0}.auth-dialog[data-v-7d84e441] .login-btn{margin-top:4px;height:40px!important;font-size:15px!important;font-weight:600!important;border-radius:8px!important;letter-spacing:.02em}.skip-link[data-v-7252ff3e]{position:fixed;top:8px;left:8px;z-index:2000;padding:8px 16px;border-radius:8px;background:var(--color-primary);color:var(--color-text-on-primary);font-size:14px;text-decoration:none;transform:translateY(-64px);transition:transform var(--motion-duration-fast) var(--motion-easing-standard)}.skip-link[data-v-7252ff3e]:focus-visible{transform:none;outline:2px solid var(--color-text-primary);outline-offset:2px}.content-inner[data-v-7252ff3e]:focus{outline:none}.login-modal-panel[data-v-7252ff3e]{width:min(480px,100vw - 32px);padding:0;border:1px solid var(--color-border-default);border-radius:12px;background:var(--color-bg-surface);box-shadow:0 18px 48px #00000073}.app-layout[data-v-7252ff3e]{height:100vh;height:100dvh;background:var(--color-bg-base)}.app-header[data-v-7252ff3e]{height:56px;display:flex;align-items:center;padding:0 16px;position:fixed;top:0;left:0;right:0;z-index:1000;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background:rgb(var(--color-bg-base-rgb) / .85)!important;border-bottom:1px solid rgb(var(--color-bg-elevated-rgb) / .6)!important}.header-inner[data-v-7252ff3e]{display:flex;align-items:center;justify-content:space-between;width:100%}.header-left[data-v-7252ff3e]{display:flex;align-items:center;gap:12px}.header-right[data-v-7252ff3e]{display:flex;align-items:center;gap:8px}.toggle-btn[data-v-7252ff3e]{width:44px;height:44px;border-radius:8px;border:none;background:transparent;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color var(--motion-duration-fast) var(--motion-easing-standard),background-color var(--motion-duration-fast) var(--motion-easing-standard),transform var(--motion-duration-fast) var(--motion-easing-standard)}.toggle-btn[data-v-7252ff3e]:hover{background:var(--color-overlay-strong);color:var(--color-text-primary)}.toggle-btn[data-v-7252ff3e]:focus-visible,.user-btn[data-v-7252ff3e]:focus-visible,.diag-btn[data-v-7252ff3e]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.toggle-btn[data-v-7252ff3e]:active:not(:disabled),.user-btn[data-v-7252ff3e]:active:not(:disabled),.diag-btn[data-v-7252ff3e]:active:not(:disabled){transform:translateY(var(--motion-distance-press))}.brand-mark[data-v-7252ff3e]{display:flex;align-items:center;gap:8px}.brand-logo[data-v-7252ff3e]{width:28px;height:28px;border-radius:6px;background:#fff;border:2px solid #dc2626;box-shadow:0 2px 8px #dc262640;display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-name[data-v-7252ff3e]{font-size:16px;font-weight:600;color:var(--color-text-primary);letter-spacing:.04em}.status-chip[data-v-7252ff3e]{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500;letter-spacing:.03em;border:1px solid transparent}.chip-on[data-v-7252ff3e]{background:rgb(var(--color-success-rgb) / .08);border-color:rgb(var(--color-success-rgb) / .2)}.chip-off[data-v-7252ff3e]{background:rgb(var(--color-error-rgb) / .08);border-color:rgb(var(--color-error-rgb) / .2)}.chip-dot[data-v-7252ff3e]{width:6px;height:6px;border-radius:50%}.chip-on .chip-dot[data-v-7252ff3e]{background:var(--color-success);box-shadow:0 0 6px rgb(var(--color-success-rgb) / .5)}.chip-off .chip-dot[data-v-7252ff3e]{background:var(--color-error);box-shadow:0 0 6px rgb(var(--color-error-rgb) / .4)}.chip-on .chip-label[data-v-7252ff3e]{color:var(--color-success)}.chip-off .chip-label[data-v-7252ff3e]{color:var(--color-error)}.user-btn[data-v-7252ff3e]{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:1px solid var(--color-border-default);background:rgb(var(--color-bg-surface-rgb) / .6);color:var(--color-text-secondary);cursor:pointer;min-width:44px;min-height:44px;transition:color var(--motion-duration-fast) var(--motion-easing-standard),background-color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard),transform var(--motion-duration-fast) var(--motion-easing-standard);font-size:13px;font-weight:500;font-family:inherit;margin-left:4px}.user-btn[data-v-7252ff3e]:hover{background:rgb(var(--color-bg-elevated-rgb) / .8);border-color:var(--color-border-subtle);color:var(--color-text-primary)}.user-label[data-v-7252ff3e]{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:639.98px){.brand-name[data-v-7252ff3e],.user-label[data-v-7252ff3e]{display:none}}.diag-btn[data-v-7252ff3e]{width:44px;height:44px;border-radius:8px;border:1px dashed var(--color-border-subtle);background:transparent;color:var(--color-text-decorative);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard),transform var(--motion-duration-fast) var(--motion-easing-standard)}.diag-btn[data-v-7252ff3e]:hover{color:var(--color-text-secondary);border-color:var(--color-text-dim)}.diag-panel[data-v-7252ff3e]{display:flex;gap:8px}.app-sider[data-v-7252ff3e]{padding-top:56px;background:var(--color-bg-surface)!important;border-right:1px solid rgb(var(--color-bg-elevated-rgb) / .6)!important}.app-content[data-v-7252ff3e]{padding-top:56px;background:var(--color-bg-base)!important}.content-inner[data-v-7252ff3e]{min-height:calc(100vh - 56px);padding-bottom:16px}.blocking-overlay[data-v-7252ff3e]{position:fixed;inset:0;z-index:2500;background:rgb(var(--color-bg-base-rgb) / .7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.blocking-overlay__sub[data-v-7252ff3e]{color:var(--color-text-muted);font-size:14px}.app-notification-action{min-width:44px;min-height:44px;padding:0;color:inherit;font:inherit;text-decoration:underline;background:transparent;border:0;cursor:pointer;appearance:none}.app-notification-action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.fade-enter-active[data-v-7252ff3e],.fade-leave-active[data-v-7252ff3e]{transition:opacity var(--motion-duration-normal) var(--motion-easing-standard)}.fade-enter-from[data-v-7252ff3e],.fade-leave-to[data-v-7252ff3e]{opacity:0}:root{--color-bg-base: #020617;--color-bg-base-rgb: 2 6 23;--color-bg-surface: #0F172A;--color-bg-surface-rgb: 15 23 42;--color-bg-elevated: #1E293B;--color-bg-elevated-rgb: 30 41 59;--color-bg-hover: #334155;--color-bg-hover-rgb: 51 65 85;--color-border-default: #1E293B;--color-border-default-rgb: 30 41 59;--color-border-subtle: #334155;--color-border-subtle-rgb: 51 65 85;--color-text-primary: #F8FAFC;--color-text-primary-rgb: 248 250 252;--color-text-secondary: #CBD5E1;--color-text-secondary-rgb: 203 213 225;--color-text-muted: #94A3B8;--color-text-muted-rgb: 148 163 184;--color-text-decorative: #64748B;--color-text-decorative-rgb: 100 116 139;--color-text-dim: #475569;--color-text-dim-rgb: 71 85 105;--color-text-on-primary: #FFFFFF;--color-text-on-primary-rgb: 255 255 255;--color-primary: #3B82F6;--color-primary-rgb: 59 130 246;--color-primary-hover: #60A5FA;--color-primary-hover-rgb: 96 165 250;--color-primary-pressed: #2563EB;--color-primary-pressed-rgb: 37 99 235;--color-success: #22C55E;--color-success-rgb: 34 197 94;--color-success-hover: #4ADE80;--color-success-hover-rgb: 74 222 128;--color-success-pressed: #16A34A;--color-success-pressed-rgb: 22 163 74;--color-warning: #F59E0B;--color-warning-rgb: 245 158 11;--color-warning-hover: #FBBF24;--color-warning-hover-rgb: 251 191 36;--color-warning-pressed: #D97706;--color-warning-pressed-rgb: 217 119 6;--color-error: #EF4444;--color-error-rgb: 239 68 68;--color-error-hover: #F87171;--color-error-hover-rgb: 248 113 113;--color-error-pressed: #DC2626;--color-error-pressed-rgb: 220 38 38;--color-info: #6366F1;--color-info-rgb: 99 102 241;--color-info-hover: #818CF8;--color-info-hover-rgb: 129 140 248;--color-info-pressed: #4F46E5;--color-info-pressed-rgb: 79 70 229;--color-primary-emphasis: #93C5FD;--color-primary-emphasis-rgb: 147 197 253;--color-success-text: #4ADE80;--color-success-text-rgb: 74 222 128;--color-warning-text: #FBBF24;--color-warning-text-rgb: 251 191 36;--color-error-text: #F87171;--color-error-text-rgb: 248 113 113;--color-rank-gold-bg: #FACC15;--color-rank-gold-bg-rgb: 250 204 21;--color-rank-gold-text: #422006;--color-rank-gold-text-rgb: 66 32 6;--color-rank-silver-bg: #CBD5E1;--color-rank-silver-bg-rgb: 203 213 225;--color-rank-silver-text: #0F172A;--color-rank-silver-text-rgb: 15 23 42;--color-rank-bronze-bg: #D4915C;--color-rank-bronze-bg-rgb: 212 145 92;--color-rank-bronze-text: #2A1304;--color-rank-bronze-text-rgb: 42 19 4;--color-overlay-subtle: rgba(255, 255, 255, .03);--color-overlay-hover: rgba(255, 255, 255, .04);--color-overlay-strong: rgba(255, 255, 255, .06)}html[data-theme=light]{--color-bg-base: #F1F5F9;--color-bg-base-rgb: 241 245 249;--color-bg-surface: #FFFFFF;--color-bg-surface-rgb: 255 255 255;--color-bg-elevated: #F8FAFC;--color-bg-elevated-rgb: 248 250 252;--color-bg-hover: #E2E8F0;--color-bg-hover-rgb: 226 232 240;--color-border-default: #E2E8F0;--color-border-default-rgb: 226 232 240;--color-border-subtle: #CBD5E1;--color-border-subtle-rgb: 203 213 225;--color-text-primary: #0F172A;--color-text-primary-rgb: 15 23 42;--color-text-secondary: #334155;--color-text-secondary-rgb: 51 65 85;--color-text-muted: #475569;--color-text-muted-rgb: 71 85 105;--color-text-decorative: #94A3B8;--color-text-decorative-rgb: 148 163 184;--color-text-dim: #CBD5E1;--color-text-dim-rgb: 203 213 225;--color-text-on-primary: #FFFFFF;--color-text-on-primary-rgb: 255 255 255;--color-primary: #2563EB;--color-primary-rgb: 37 99 235;--color-primary-hover: #1D4ED8;--color-primary-hover-rgb: 29 78 216;--color-primary-pressed: #1E40AF;--color-primary-pressed-rgb: 30 64 175;--color-success: #15803D;--color-success-rgb: 21 128 61;--color-success-hover: #16A34A;--color-success-hover-rgb: 22 163 74;--color-success-pressed: #166534;--color-success-pressed-rgb: 22 101 52;--color-warning: #B45309;--color-warning-rgb: 180 83 9;--color-warning-hover: #D97706;--color-warning-hover-rgb: 217 119 6;--color-warning-pressed: #92400E;--color-warning-pressed-rgb: 146 64 14;--color-error: #B91C1C;--color-error-rgb: 185 28 28;--color-error-hover: #DC2626;--color-error-hover-rgb: 220 38 38;--color-error-pressed: #991B1B;--color-error-pressed-rgb: 153 27 27;--color-info: #4F46E5;--color-info-rgb: 79 70 229;--color-info-hover: #6366F1;--color-info-hover-rgb: 99 102 241;--color-info-pressed: #4338CA;--color-info-pressed-rgb: 67 56 202;--color-primary-emphasis: #1E40AF;--color-primary-emphasis-rgb: 30 64 175;--color-success-text: #15803D;--color-success-text-rgb: 21 128 61;--color-warning-text: #B45309;--color-warning-text-rgb: 180 83 9;--color-error-text: #B91C1C;--color-error-text-rgb: 185 28 28;--color-rank-gold-bg: #FACC15;--color-rank-gold-bg-rgb: 250 204 21;--color-rank-gold-text: #422006;--color-rank-gold-text-rgb: 66 32 6;--color-rank-silver-bg: #94A3B8;--color-rank-silver-bg-rgb: 148 163 184;--color-rank-silver-text: #0F172A;--color-rank-silver-text-rgb: 15 23 42;--color-rank-bronze-bg: #E0A370;--color-rank-bronze-bg-rgb: 224 163 112;--color-rank-bronze-text: #431407;--color-rank-bronze-text-rgb: 67 20 7;--color-overlay-subtle: rgba(15, 23, 42, .03);--color-overlay-hover: rgba(15, 23, 42, .04);--color-overlay-strong: rgba(15, 23, 42, .06)}.row{display:flex;flex-wrap:wrap}.col{flex:1 0 0%;min-width:0}.col-12{width:100%}.col-6{width:50%}.col-4{width:33.333%}.col-3{width:25%}@media(min-width:768px){.col-md-6{width:50%}.col-md-4{width:33.333%}.col-md-3{width:25%}}@media(min-width:1024px){.col-lg-6{width:50%}.col-lg-4{width:33.333%}.col-lg-3{width:25%}}:root{--motion-duration-instant: 80ms;--motion-duration-fast: .14s;--motion-duration-normal: .2s;--motion-duration-ambient: 4s;--motion-easing-standard: cubic-bezier(.4, 0, .2, 1);--motion-distance-press: 1px;--motion-distance-enter: 4px}@media(prefers-reduced-motion:reduce){:root{--motion-duration-instant: 0ms;--motion-duration-fast: 80ms;--motion-duration-normal: 80ms;--motion-duration-ambient: 0ms;--motion-distance-press: 0px;--motion-distance-enter: 0px}[data-motion=decorative],[data-motion=decorative]:before,[data-motion=decorative]:after{animation:none!important;transition:none!important}html:focus-within{scroll-behavior:auto}}html,body{background-color:var(--color-bg-base);color:var(--color-text-primary);font-family:Inter,Noto Sans TC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:rgb(var(--color-primary-rgb) / .3);color:var(--color-text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-bg-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}.bg-dark-glass{-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);background-color:rgb(var(--color-bg-base-rgb) / .8)!important}.page-h2{color:var(--color-primary);font-size:1.5rem;line-height:2rem;padding:0 0 .75rem;font-weight:600;border-bottom:1px solid var(--color-border-default);margin:0 0 1.5rem;width:100%}.cbc-table{border-collapse:collapse;width:100%;border:1px solid var(--color-border-default)}.cbc-table tr{background-color:var(--color-bg-base);border-bottom:1px solid var(--color-border-default)}.cbc-table tbody>tr:hover{background-color:rgb(var(--color-primary-rgb) / .06)}.cbc-table th,.cbc-table td{padding:.5rem;font-size:1rem}.cbc-table.cbc-table-border th,.cbc-table.cbc-table-border td{border:1px solid var(--color-border-default)}.page-menu-bar,.page-menu-bar-br{display:flex;flex-wrap:wrap;align-items:center;justify-content:right;width:100%}.page-menu-bar-br{border-bottom:1px solid var(--color-border-default)}.icon-ef-transition{transition-property:box-shadow,color,opacity;transition-duration:var(--motion-duration-normal);transition-timing-function:var(--motion-easing-standard)}.icon-deactive{opacity:.4}.icon-active{opacity:1;box-shadow:0 0 3px 1px rgb(var(--color-primary-rgb) / .5)}.text-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-ellipsis-100{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%}.text-shadow-1{text-shadow:1px 1px 2px rgba(0,0,0,.4)}.flex-grow-auto{flex:1 0 auto}.flex-center{place-content:center center}.simple-transition{transition:color var(--motion-duration-normal) var(--motion-easing-standard),background-color var(--motion-duration-normal) var(--motion-easing-standard),border-color var(--motion-duration-normal) var(--motion-easing-standard),box-shadow var(--motion-duration-normal) var(--motion-easing-standard),transform var(--motion-duration-normal) var(--motion-easing-standard),opacity var(--motion-duration-normal) var(--motion-easing-standard)}.errors{color:var(--color-error);margin:0;padding:0;position:relative}.errors .errors-msg{animation:fade-top-in var(--motion-duration-normal) var(--motion-easing-standard);transform:translateY(100%);position:absolute;left:0;right:0;bottom:0}@keyframes fade-top-in{0%{transform:translateY(0);opacity:0}to{transform:translateY(100%);opacity:1}}.n-dialog.app-dialog{display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.n-dialog.app-dialog .n-dialog__content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.n-dialog.app-dialog .dialog-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding:12px 0;background:var(--color-bg-surface);border-top:1px solid var(--color-border-default)}.page-detail{max-width:1440px;margin:0 auto}.page-reading{max-width:960px;margin:0 auto}.n-data-table .row-clickable td{cursor:pointer}.n-data-table .col-nowrap{white-space:nowrap}
