.aurora-container{position:relative;width:100%;height:100%;overflow:hidden}.aurora-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.specular-button{--sb-radius: 18px;--sb-tint: #ffffff;--sb-tint-opacity: .04;--sb-blur: 0px;--sb-text-color: #f5f5f5;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.5em;margin:0;border:0;border-radius:var(--sb-radius);font:inherit;font-weight:500;line-height:1;letter-spacing:.01em;color:var(--sb-text-color);background:color-mix(in srgb,var(--sb-tint) calc(var(--sb-tint-opacity) * 100%),transparent);box-shadow:0 10px 24px -14px #00000073;-webkit-backdrop-filter:blur(var(--sb-blur));backdrop-filter:blur(var(--sb-blur));cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.specular-button:active{transform:scale(.97)}.specular-button:focus-visible{outline:2px solid color-mix(in srgb,var(--sb-text-color) 55%,transparent);outline-offset:3px}.specular-button:disabled{opacity:.5;cursor:default}.specular-button:disabled:active{transform:none}.specular-button--sm{padding:10px 20px;font-size:.875rem}.specular-button--md{padding:14px 28px;font-size:1rem}.specular-button--lg{padding:18px 38px;font-size:1.125rem}.specular-button__light{position:absolute;top:-24px;right:-24px;bottom:-24px;left:-24px;z-index:1;display:block;width:calc(100% + 48px);height:calc(100% + 48px);pointer-events:none}.specular-button__label{position:relative;z-index:2;display:inline-flex;align-items:center;gap:inherit}.border-glow-card{--edge-proximity: 0;--cursor-angle: 45deg;--edge-sensitivity: 30;--color-sensitivity: calc(var(--edge-sensitivity) + 20);--border-radius: 28px;--glow-padding: 40px;--cone-spread: 25;position:relative;border-radius:var(--border-radius);isolation:isolate;transform:translateZ(.01px);display:grid;border:1px solid rgb(255 255 255 / 15%);background:var(--card-bg, #120F17);overflow:visible;box-shadow:#0000001a 0 1px 2px,#0000001a 0 2px 4px,#0000001a 0 4px 8px,#0000001a 0 8px 16px,#0000001a 0 16px 32px,#0000001a 0 32px 64px}.border-glow-card--light{border-color:#18181b1f;box-shadow:#18181b0a 0 1px 2px,#18181b0d 0 8px 24px}.border-glow-card--light:after,.border-glow-card--light>.edge-light{mix-blend-mode:normal}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;transition:opacity .25s ease-out;z-index:-1}.border-glow-card:not(:hover):not(.sweep-active):before,.border-glow-card:not(:hover):not(.sweep-active):after,.border-glow-card:not(:hover):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{border:1px solid transparent;background:linear-gradient(var(--card-bg, #120F17) 0 100%) padding-box,linear-gradient(#fff0,#fff0) border-box,var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) border-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) border-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) border-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) border-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) border-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%))}.border-glow-card:after{border:1px solid transparent;background:var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) padding-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) padding-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) padding-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) padding-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) padding-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) padding-box;-webkit-mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add;opacity:calc(var(--fill-opacity, .5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{content:"";position:absolute;inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color, hsl(40deg 80% 80% / 100%)),inset 0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),inset 0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),inset 0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),inset 0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),inset 0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),inset 0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%)),0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%))}.border-glow-inner{display:flex;flex-direction:column;position:relative;overflow:auto;z-index:1}.lattice-loader{--ll-n: 3;--ll-cell: 6px;--ll-gap: 2px;--ll-font: 14px;--ll-color: currentColor;--ll-mark: #22c55e;--ll-idle: .15;--ll-glow: currentColor;--ll-mark-glow: #22c55e;--ll-peak: 1;--ll-cycle: 864ms;--ll-ease-out: cubic-bezier(.23, 1, .32, 1);--ll-ease-in-out: cubic-bezier(.77, 0, .175, 1);position:relative;display:inline-flex;align-items:center;gap:calc(var(--ll-font) * .625);font-family:inherit;font-size:var(--ll-font);line-height:1}.lattice-loader__grid{display:grid;flex:none}.lattice-loader__layer{grid-area:1 / 1;display:grid;grid-template-columns:repeat(var(--ll-n),var(--ll-cell));gap:var(--ll-gap)}.lattice-loader__cell{width:var(--ll-cell);height:var(--ll-cell);border-radius:max(1px,calc(var(--ll-cell) * .25));background:var(--ll-color);opacity:var(--ll-idle)}.lattice-loader[data-shape=round] .lattice-loader__cell{border-radius:50%}.lattice-loader[data-glow] .lattice-loader__run .lattice-loader__cell:not([data-hole]){box-shadow:0 0 calc(var(--ll-cell) * 1.2) calc(var(--ll-cell) * .12) var(--ll-glow)}.lattice-loader[data-glow] .lattice-loader__mark .lattice-loader__cell[data-on]{box-shadow:0 0 calc(var(--ll-cell) * 1.2) calc(var(--ll-cell) * .12) var(--ll-mark-glow)}.lattice-loader__run{transition:opacity .2s ease}.lattice-loader__run .lattice-loader__cell{animation:lattice-on var(--ll-cycle) var(--ll-ease-in-out) infinite}.lattice-loader__run .lattice-loader__cell[data-lit="45"]{animation-name:lattice-on-45}.lattice-loader__run .lattice-loader__cell[data-lit="35"]{animation-name:lattice-on-35}.lattice-loader__run .lattice-loader__cell[data-lit="25"]{animation-name:lattice-on-25}.lattice-loader__run .lattice-loader__cell[data-hole]{animation:none;opacity:calc(var(--ll-idle) * .47)}.lattice-loader__mark{opacity:0;transform:scale(.9);transform-origin:center;transition:opacity .16s var(--ll-ease-out),transform .16s var(--ll-ease-out)}.lattice-loader__mark .lattice-loader__cell{transition:opacity .2s ease,background-color .2s ease}.lattice-loader__mark .lattice-loader__cell[data-on]{background:var(--ll-mark);opacity:var(--ll-peak)}.lattice-loader:not([data-status=working]) .lattice-loader__run{opacity:0}.lattice-loader:not([data-status=working]) .lattice-loader__run .lattice-loader__cell{animation-play-state:paused}.lattice-loader:not([data-status=working]) .lattice-loader__mark{opacity:1;transform:none;transition:opacity .2s ease,transform .2s var(--ll-ease-out)}.lattice-loader__label{position:relative;display:inline-block;font-weight:500}.lattice-loader__text{position:absolute;top:0;left:0;white-space:nowrap;opacity:0;filter:blur(2px);transition:opacity .2s ease,filter .2s ease}.lattice-loader__text[data-active]{position:static;opacity:1;filter:blur(0)}.lattice-loader__timer{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(var(--ll-font) * .875);font-variant-numeric:tabular-nums;opacity:.6}.lattice-loader__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes lattice-on{0%,to{opacity:var(--ll-idle)}18%,42%{opacity:var(--ll-peak)}62%{opacity:var(--ll-idle)}}@keyframes lattice-on-45{0%,to{opacity:var(--ll-idle)}13%,31%{opacity:var(--ll-peak)}45%{opacity:var(--ll-idle)}}@keyframes lattice-on-35{0%,to{opacity:var(--ll-idle)}10%,24%{opacity:var(--ll-peak)}35%{opacity:var(--ll-idle)}}@keyframes lattice-on-25{0%,to{opacity:var(--ll-idle)}7%,17%{opacity:var(--ll-peak)}25%{opacity:var(--ll-idle)}}@media (prefers-reduced-motion: reduce){.lattice-loader__run{--ll-peak: .7}.lattice-loader__run .lattice-loader__cell{animation-delay:0ms!important;animation-duration:1.4s!important}.lattice-loader .lattice-loader__mark{transform:none}.lattice-loader .lattice-loader__text{filter:none}}.rubber-segment{--rs-track: #27272a;--rs-thumb: #fafafa;--rs-ink: #fafafa;--rs-ink-active: #18181b;--rs-radius: 10px;--rs-inset: 3px;--rs-thumb-radius: 7px;--rs-h: 36px;--rs-font: 13px;--rs-pad: 14px;--rs-min: 44px;--rs-idle: .7;--rs-hover: .9;--rs-ease-out: cubic-bezier(.23, 1, .32, 1);position:relative;display:inline-grid;grid-auto-flow:column;grid-auto-columns:auto;vertical-align:middle;padding:var(--rs-inset);border-radius:var(--rs-radius);background:var(--rs-track);font-family:inherit;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.rubber-segment[data-equal]{grid-auto-columns:minmax(0,1fr)}.rubber-segment[aria-disabled=true]{opacity:.5;pointer-events:none}.rubber-segment__item{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:calc(var(--rs-h) - var(--rs-inset) * 2);min-width:var(--rs-min);margin:0;padding:0 var(--rs-pad);border:0;border-radius:var(--rs-thumb-radius);background:none;color:var(--rs-ink);opacity:var(--rs-idle);font:inherit;font-size:var(--rs-font);font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;outline:none;transition:opacity .16s ease,transform .16s var(--rs-ease-out)}.rubber-segment__item[aria-checked=true]{cursor:default}.rubber-segment[data-draggable] .rubber-segment__item[aria-checked=true]{cursor:grab}.rubber-segment[data-held],.rubber-segment[data-held] .rubber-segment__item{cursor:grabbing}.rubber-segment__item[data-pressed]{transform:scale(.96)}.rubber-segment__item:focus-visible{outline:2px solid var(--rs-thumb);outline-offset:3px}@media (hover: hover) and (pointer: fine){.rubber-segment__item[aria-checked=false]:hover{opacity:var(--rs-hover)}}.rubber-segment__thumb{position:absolute;inset:var(--rs-inset);display:grid;grid-auto-flow:column;grid-auto-columns:auto;background:var(--rs-thumb);color:var(--rs-ink-active);pointer-events:none}.rubber-segment[data-equal] .rubber-segment__thumb{grid-auto-columns:minmax(0,1fr)}.rubber-segment__copy{color:inherit;opacity:1;cursor:default}@media (prefers-reduced-motion: reduce){.rubber-segment__item{transition:opacity .16s ease}}:root{color-scheme:dark;--bg: #0a1120;--surface: rgba(148, 163, 184, .06);--surface-strong: rgba(148, 163, 184, .1);--border: rgba(148, 163, 184, .16);--border-strong: rgba(56, 189, 248, .35);--text: #e8eef6;--muted: #9aa8ba;--faint: #6b7a90;--accent: #38bdf8;--accent-ink: #7dd3fc;--accent-soft: rgba(56, 189, 248, .14);--ok: #34d399;--warn: #fbbf24;--err: #f87171;--glow-1: rgba(56, 189, 248, .16);--glow-2: rgba(14, 165, 233, .12);--glow-3: rgba(34, 211, 238, .09);--topbar-bg: rgba(10, 17, 32, .72);--input-bg: rgba(2, 6, 23, .45);--btn-ink: #06121f;--btn-glow: rgba(56, 189, 248, .55);--card-shadow: 0 24px 48px -24px rgba(0, 0, 0, .7);--card-inset: inset 0 1px 0 rgba(255, 255, 255, .05);--grad-1: #7dd3fc;--grad-2: #38bdf8;--grad-3: #0ea5e9;--radius: 16px;--radius-sm: 10px}[data-theme=light]{color-scheme:light;--bg: #f6f9f7;--surface: rgba(255, 255, 255, .72);--surface-strong: rgba(255, 255, 255, .94);--border: rgba(15, 122, 67, .16);--border-strong: rgba(15, 122, 67, .45);--text: #111827;--muted: #5c6b61;--faint: #7c8a82;--accent: #0f7a43;--accent-ink: #0b5d33;--accent-soft: rgba(15, 122, 67, .12);--ok: #16a34a;--warn: #b45309;--err: #b42318;--glow-1: rgba(15, 122, 67, .1);--glow-2: rgba(15, 122, 67, .07);--glow-3: rgba(15, 122, 67, .05);--topbar-bg: rgba(255, 255, 255, .72);--input-bg: rgba(255, 255, 255, .65);--btn-ink: #ffffff;--btn-glow: rgba(15, 122, 67, .3);--card-shadow: 0 20px 40px -24px rgba(15, 60, 40, .28);--card-inset: inset 0 1px 0 rgba(255, 255, 255, .85);--grad-1: #16a34a;--grad-2: #0f7a43;--grad-3: #0c6839}*{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;position:relative;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(620px 420px at 12% -8%,var(--glow-1),transparent 62%),radial-gradient(820px 520px at 100% -4%,var(--glow-2),transparent 56%),radial-gradient(720px 560px at 50% 112%,var(--glow-3),transparent 62%);pointer-events:none;z-index:0}html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color .4s ease,color .4s ease,border-color .4s ease,box-shadow .4s ease,fill .4s ease,stroke .4s ease!important}.num{font-variant-numeric:tabular-nums}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}.grad-text{background:linear-gradient(92deg,var(--grad-1),var(--grad-2) 45%,var(--grad-3));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-title{color:var(--text);display:block!important}.glass{background:var(--surface);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--card-shadow),var(--card-inset)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 28px;background:var(--topbar-bg);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:11px}.mark{width:24px;height:24px;color:var(--accent);flex:none}.brand-name{font-size:15px;font-weight:700;letter-spacing:.2px}.brand-ctx{font-size:12px;color:var(--faint);margin-left:2px}.nav-links{display:flex;align-items:center;gap:8px}.btn-text{background:none;border:none;cursor:pointer;font-size:13px;font-weight:500;color:var(--muted);padding:7px 12px;border-radius:8px;transition:background .15s,color .15s}.btn-text:hover{background:var(--surface-strong);color:var(--text)}.btn-text.danger{color:var(--err)}.btn-text.danger:hover{background:color-mix(in srgb,var(--err) 12%,transparent)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 20px;font-size:14px;font-weight:600;color:var(--btn-ink);background:var(--accent);border:none;border-radius:var(--radius-sm);cursor:pointer;box-shadow:0 10px 24px -10px var(--btn-glow),inset 0 1px #ffffff4d;transition:transform .15s,filter .15s,box-shadow .15s}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 14px 28px -10px var(--btn-glow),inset 0 1px #ffffff4d}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 16px;font-size:13px;font-weight:500;color:var(--text);background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s}.btn-secondary:hover{border-color:var(--border-strong);background:var(--surface-strong)}.canvas{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:40px 24px 72px}.canvas-wide{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:40px 24px 72px}.title-row{margin-bottom:28px}.title-row h1{font-size:26px;font-weight:700;letter-spacing:.2px}.subline{margin-top:8px;font-size:14px;color:var(--muted)}.title-row.split{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.notice{background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;margin-bottom:18px}.panel{padding:22px 24px;margin-bottom:18px}.panel h2{font-size:15px;font-weight:600;letter-spacing:.2px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.panel-head .count{font-size:12px;color:var(--faint)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}th{font-size:12px;font-weight:500;color:var(--faint);border-bottom:1px solid var(--border-strong);letter-spacing:.4px}th.num,td.num{text-align:right}tr:last-child td{border-bottom:none}td.name{font-weight:600}td.muted,.muted{color:var(--muted)}.empty{color:var(--muted);text-align:center;padding:40px 0}.loading{min-height:58vh;display:flex;align-items:center;justify-content:center;color:var(--muted)}.badge{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--accent-soft);color:var(--accent-ink)}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.pill-ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.pill-warn{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}.pill-err{background:color-mix(in srgb,var(--err) 14%,transparent);color:var(--err)}form{margin-top:4px}.field{margin-bottom:16px}label{display:block;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:8px}label .opt{color:var(--faint);font-weight:400;font-size:12px}input{width:100%;height:44px;padding:0 14px;font-size:15px;color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--faint)}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:0}.row input{width:120px;height:34px;padding:0 10px;font-size:14px}.hint{margin-top:10px;font-size:12px;color:var(--faint)}.result{margin-top:16px;padding:11px 14px;border-radius:var(--radius-sm);font-size:14px}.result.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 25%,transparent)}.result.err{background:color-mix(in srgb,var(--err) 14%,transparent);color:var(--err);border:1px solid color-mix(in srgb,var(--err) 25%,transparent)}.auth-wrap{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}.auth-card{width:100%;max-width:400px;padding:32px 28px 28px}.auth-card .brand{margin-bottom:6px}.auth-card .brand h1{font-size:22px;font-weight:700;letter-spacing:.2px}.auth-card .sub{margin-top:8px;font-size:14px;color:var(--muted)}.auth-card form{margin-top:24px}.auth-card button[type=submit]{width:100%;height:44px;margin-top:6px}.tip{margin-top:22px;text-align:center;font-size:12px;color:var(--muted);line-height:1.7}.tip a{color:var(--accent-ink);font-weight:600}.hero{text-align:center;padding:96px 24px 64px}.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:1px;color:var(--accent-ink);text-transform:uppercase}.hero h1{margin-top:20px;font-size:46px;font-weight:700;letter-spacing:-.5px;line-height:1.1}.hero .lead{margin:20px auto 0;max-width:560px;font-size:17px;color:var(--muted);line-height:1.7}.hero .cta{margin-top:32px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero .cta .btn-primary,.hero .cta .btn-secondary{height:46px;padding:0 28px;font-size:15px}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;padding:24px 24px 56px}.feature{padding:24px}.feature .icon{width:38px;height:38px;color:var(--accent);margin-bottom:16px}.feature h3{font-size:15px;font-weight:600;margin-bottom:8px}.feature p{font-size:13px;color:var(--muted);line-height:1.65}.footer{text-align:center;padding:32px 24px 48px;font-size:12px;color:var(--faint)}.range-head{display:flex;align-items:baseline;gap:10px;margin-bottom:16px}.range-head .hint{font-size:12px;color:var(--faint);margin-top:0}.range-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.range-row label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.range-row .sep{color:var(--faint)}.range-viz{margin-top:20px}.track{position:relative;height:8px;background:var(--surface-strong);border-radius:999px;overflow:hidden}.track .band{position:absolute;top:0;bottom:0;background:var(--accent);border-radius:999px;box-shadow:0 0 14px color-mix(in srgb,var(--accent) 50%,transparent)}.track .goal{position:absolute;top:-2px;bottom:-2px;width:1px;background:var(--text);opacity:.35}.viz-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--faint)}.logs{font-size:12px;color:var(--muted);line-height:1.9}.logs .dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;vertical-align:1px}.dot.ok{background:var(--ok);box-shadow:0 0 8px color-mix(in srgb,var(--ok) 60%,transparent)}.dot.fail{background:var(--err)}.actions{text-align:right;white-space:nowrap}.actions form{display:inline;margin:0}.row-btn{background:none;border:none;cursor:pointer;font-size:13px;font-weight:500;padding:5px 8px;border-radius:6px;transition:background .15s}.row-btn.sync{color:var(--accent-ink)}.row-btn.sync:hover{background:var(--accent-soft)}.row-btn.neutral{color:var(--muted)}.row-btn.neutral:hover{background:var(--surface-strong)}.row-btn.danger{color:var(--err)}.row-btn.danger:hover{background:color-mix(in srgb,var(--err) 12%,transparent)}.reveal{margin-top:8px;font-size:12px;color:var(--accent-ink);word-break:break-all}.invite-list{margin-top:16px;display:flex;flex-direction:column;gap:8px}.invite-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm)}.invite-code{font-size:14px;letter-spacing:1px}.invite-state{font-size:12px;color:var(--faint);white-space:nowrap}.invite-state.ok{color:var(--accent-ink)}.theme-toggle{position:fixed;right:20px;bottom:20px;z-index:50;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-strong);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);cursor:pointer;color:var(--text);box-shadow:0 10px 24px -10px #00000080;transition:transform .15s,border-color .15s,background .4s,color .4s}.theme-toggle:hover{transform:translateY(-2px);border-color:var(--border-strong)}.theme-toggle svg{width:20px;height:20px}.theme-toggle .icon-moon,[data-theme=light] .theme-toggle .icon-sun{display:none}[data-theme=light] .theme-toggle .icon-moon{display:block}.auto-sync-row{display:flex;align-items:center;gap:12px}.auto-sync-label{font-size:14px;color:var(--text)}.switch{position:relative;display:inline-block;width:46px;height:26px;flex:none}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.switch input:disabled{cursor:not-allowed}.switch .slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface-strong);border:1px solid var(--border);border-radius:999px;transition:background .2s,border-color .2s;pointer-events:none}.switch .slider:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--muted);transition:transform .2s,background .2s}.switch input:checked+.slider{background:var(--accent);border-color:var(--accent)}.switch input:checked+.slider:before{transform:translate(20px);background:#fff}@media (max-width: 640px){.hero h1{font-size:34px}.canvas,.canvas-wide{padding:28px 16px 56px}.topbar{padding:0 16px}.panel{padding:18px 16px}}.aurora-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.feature{animation:feature-in .45s ease backwards}@keyframes feature-in{0%{opacity:0}to{opacity:1}}.seg-tabs{width:100%;margin-bottom:22px}.sync-banner{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:18px;border:1px solid}.sync-banner .sync-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none;box-shadow:0 0 8px currentColor}.sync-banner.ok{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.sync-banner.warn{background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.sync-banner.err{background:color-mix(in srgb,var(--err) 12%,transparent);color:var(--err);border-color:color-mix(in srgb,var(--err) 30%,transparent)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.stat-card{padding:16px 18px}.stat-card .stat-label{font-size:12px;color:var(--faint)}.stat-card .stat-value{font-size:24px;font-weight:700;margin-top:6px;font-variant-numeric:tabular-nums}.stat-card .stat-unit{font-size:13px;font-weight:400;color:var(--muted);margin-left:4px}.rank-list{display:flex;flex-direction:column;gap:8px}.rank-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm)}.rank-item .rank-pos{width:22px;text-align:center;font-size:14px;font-weight:700;color:var(--muted);flex:none;font-variant-numeric:tabular-nums}.rank-item.top .rank-pos{color:var(--accent-ink)}.rank-item .rank-name{flex:1;font-weight:600}.rank-item .rank-step{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.step-chart{width:100%;height:auto;display:block;margin-top:4px}.chart-grid{stroke:var(--border);stroke-width:1}.chart-axis{fill:var(--faint);font-size:11px}.chart-area{fill:var(--accent);opacity:.1;animation:chart-area-in .6s ease-out .55s both}.chart-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:chart-draw 1.1s cubic-bezier(.33,1,.68,1) forwards}.chart-dot{fill:var(--accent);stroke:var(--bg);stroke-width:2;animation:chart-dot-in .4s ease-out 1.05s both}@keyframes chart-draw{to{stroke-dashoffset:0}}@keyframes chart-area-in{0%{opacity:0}to{opacity:.1}}@keyframes chart-dot-in{0%{opacity:0}to{opacity:1}}.chart-crosshair{stroke:var(--muted);stroke-width:1;opacity:.5}.chart-dot-active{fill:var(--accent);stroke:var(--bg);stroke-width:2}.chart-tip-bg{fill:var(--surface-strong);stroke:var(--border)}.chart-tip-value{fill:var(--text);font-size:13px;font-weight:600}.chart-tip-date{fill:var(--muted);font-size:11px}@media (max-width: 640px){.stat-grid{grid-template-columns:1fr}}
