:root{--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", sans-serif;--bg:#0f1117;--bg-elev:#161a23;--bg-elev-2:#1d222e;--surface:#ffffff0a;--surface-hover:#ffffff14;--surface-active:#ffffff1f;--line:#ffffff14;--line-strong:#ffffff29;--text:#eef0f6;--text-dim:#9aa3b5;--text-faint:#717b8e;--accent:#7c9cff;--accent-strong:#5b7fff;--accent-soft:#7c9cff29;--accent-quiet:#7c9cff14;--danger:#ff6b6b;--danger-soft:#ff6b6b29;--success:#4ade80;--success-soft:#4ade8029;--warn:#fbbf24;--warn-soft:#fbbf2424;--fs-eyebrow:10px;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--lh-tight:1.15;--lh-snug:1.3;--lh-normal:1.45;--track-eyebrow:.08em;--track-tight:-.01em;--track-tighter:-.02em;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--page-max:100%;--page-gutter:var(--s5);--s6:24px;--s7:32px;--s8:40px;--radius-xs:6px;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-pill:999px;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 24px 64px #0009;--ease:cubic-bezier(.2, .8, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.11s;--dur:.17s;--dur-slow:.26s;--ring:0 0 0 3px var(--accent-soft);--cell:80px}*,:before,:after{box-sizing:border-box}html,body{margin:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font);font-size:var(--fs-md);line-height:var(--lh-normal);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{background:var(--bg)}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(1200px 600px at 10% -5%, var(--accent-quiet), transparent 60%);position:fixed;inset:0}img{max-width:100%;display:block}button,select,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}:root{--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%239aa3b5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--select-arrow-size:12px;--select-arrow-inset:8px;--select-pad-right:26px;--select-compact-size:9px;--select-compact-inset:3px;--select-compact-pad:14px}select{appearance:none;padding-right:var(--select-pad-right);background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right var(--select-arrow-inset) center;background-size:var(--select-arrow-size);text-overflow:ellipsis}option,optgroup{background-color:var(--bg-elev);color:var(--text)}a{color:var(--accent);text-decoration:none}input[type=number],.num,.tnum{font-variant-numeric:tabular-nums}::selection{background:var(--accent-soft)}*{scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--radius-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:#ffffff47 padding-box content-box}input[type=range]{accent-color:var(--accent);cursor:pointer;height:20px}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar{z-index:50;background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar>.tbin{align-items:center;gap:var(--s2);row-gap:var(--s2);padding:var(--s3) var(--page-gutter);max-width:var(--page-max);flex-wrap:wrap;margin-inline:auto;display:flex}.brand{align-items:center;gap:var(--s2);min-height:34px;font-weight:800;font-size:var(--fs-lg);letter-spacing:var(--track-tight);color:var(--text);white-space:nowrap;flex:none;display:flex}.brand img{object-fit:contain;flex:none;width:26px;height:26px}.spacer{flex:1 1 0;min-width:0}.topbar .group{align-items:center;gap:var(--s1);display:flex}.langsw{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);flex:none;height:34px;margin-left:auto;padding:2px;display:flex}.langsw button{padding:0 var(--s2);border-radius:calc(var(--radius-sm) - 2px);font-weight:600;font-size:var(--fs-xs);color:var(--text-dim)}.langsw button.on{color:var(--text);background:var(--line-strong)}.btn{justify-content:center;align-items:center;gap:var(--s2);height:34px;padding:0 var(--s3);border-radius:var(--radius-sm);font-weight:600;font-size:var(--fs-sm);letter-spacing:var(--track-tight);color:var(--text);background:var(--surface);border:1px solid var(--line);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);display:inline-flex}.btn:active{transform:translateY(1px)scale(.99)}.btn.sm{height:30px;padding:0 var(--s2);font-size:var(--fs-xs)}.btn.icon{width:34px;padding:0}.btn.primary{background:linear-gradient(180deg, var(--accent), var(--accent-strong));color:#fff;border-color:#0000;box-shadow:0 4px 14px #5b7fff59}.btn.success{color:var(--success)}.btn.danger{color:var(--danger)}.btn.danger:not(.icon){border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn .ico,.btn>svg{flex:none;width:15px;height:15px}.pagenav{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);flex:none;display:inline-flex;overflow:hidden}.pagenav a{height:32px;padding:0 var(--s3);font-size:var(--fs-xs);color:var(--text-dim);white-space:nowrap;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;font-weight:600;display:inline-flex}.pagenav a.on{background:var(--accent-soft);color:var(--text)}.pagenav a+a{border-left:1px solid var(--line)}.beta{font-style:normal;font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--warn);background:var(--warn-soft);border:1px solid color-mix(in srgb, var(--warn) 34%, transparent);border-radius:var(--radius-pill);flex:none;padding:1px 7px;font-weight:700;line-height:1.5}.beta.alpha{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 34%, transparent)}.eyebrow{font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--text-faint);font-weight:700}@media (hover:hover){.btn:hover{background:var(--surface-hover);border-color:var(--line-strong);text-decoration:none}.btn.primary:hover{filter:brightness(1.08);background:linear-gradient(180deg, var(--accent), var(--accent-strong))}.btn.success:hover{background:var(--success-soft)}.btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.pagenav a:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.brand:hover{text-decoration:none}}button,a,summary,label{-webkit-tap-highlight-color:transparent}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:480px){.topbar>.tbin{padding:calc(var(--s2) + env(safe-area-inset-top)) var(--s3) var(--s2);gap:var(--s1)}.brand{font-size:var(--fs-md);gap:var(--s1)}.brand img{width:22px;height:22px}.btn{height:34px;font-size:var(--fs-xs);padding:0 var(--s2)}.btn.icon{width:34px}.topbar .btn .label{display:none}.topbar .btn:not(.icon):has(.label){width:34px;padding:0}.topbar .btn:not(.icon):has(.label) .ico{margin:0}.topbar .pagenav{flex:100%;order:99}.pagenav a{height:34px;padding:0 var(--s1);flex:1;justify-content:center}}.page-loading{flex:1;align-self:stretch;place-items:center;min-height:40vh;display:grid}.page-loading .spinner{border:3px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite page-spin}@keyframes page-spin{to{transform:rotate(360deg)}}:is([data-pausable][data-offscreen] *,:root:has([aria-modal=true]) [data-pausable] *){animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.page-loading .spinner{animation:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
