@font-face{font-family:Alegreya;src:url(/fonts/alegreya-500.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Alegreya;src:url(/fonts/alegreya-700.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Alegreya;src:url(/fonts/alegreya-800.ttf)format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans Condensed;src:url(/fonts/ibm-plex-sans-condensed-400.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans Condensed;src:url(/fonts/ibm-plex-sans-condensed-500.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans Condensed;src:url(/fonts/ibm-plex-sans-condensed-600.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans Condensed;src:url(/fonts/ibm-plex-sans-condensed-700.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-400.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-500.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-700.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-800.ttf)format("truetype");font-weight:800;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:oklch(12% .01 250);--bg-2:oklch(16% .012 248);--surface:oklch(20% .012 245);--surface-2:oklch(24% .013 242);--text-primary:oklch(94% .018 82);--text-secondary:oklch(84% .016 83);--text-muted:oklch(80% .015 84);--text-dim:oklch(62% .012 86);--gold:oklch(82% .09 78);--gold-hover:oklch(84% .105 78);--gold-pressed:oklch(75% .08 78);--accent-2:oklch(63% .03 235);--border:oklch(32% .014 245);--border-strong:oklch(44% .018 238);--btn-text:oklch(12% .01 250);--status-ok:oklch(74% .105 152);--status-warn:oklch(82% .09 78);--status-danger:oklch(67% .075 30);--sidebar-bg:oklch(16% .012 248);--shadow:0 30px 90px #0000006b;--shadow-soft:0 18px 48px #00000047;--font-cjk:"Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", sans-serif;--font-heading:"Alegreya", var(--font-cjk);--font-body:"IBM Plex Sans Condensed", var(--font-cjk);--font-label:"IBM Plex Sans Condensed", var(--font-cjk);--font-mono:"JetBrains Mono", monospace;--radius:8px;--ease:cubic-bezier(.2, .8, .2, 1)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:oklch(94% .018 86);--bg-2:oklch(90% .022 86);--surface:oklch(98% .01 86);--surface-2:oklch(96% .012 86);--text-primary:oklch(22% .022 198);--text-secondary:oklch(38% .02 198);--text-muted:oklch(44% .018 198);--text-dim:oklch(58% .014 190);--gold:oklch(49% .105 75);--gold-hover:oklch(52% .11 75);--gold-pressed:oklch(45% .09 75);--accent-2:oklch(42% .052 176);--border:oklch(84% .016 86);--border-strong:oklch(74% .02 86);--btn-text:oklch(98% .012 90);--status-ok:oklch(48% .11 152);--status-warn:oklch(49% .105 78);--status-danger:oklch(48% .09 28);--sidebar-bg:oklch(90% .022 86);--shadow:0 26px 70px #4b3d2a1a;--shadow-soft:0 14px 36px #4b3d2a14}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text-primary);background:radial-gradient(circle at 78% 8%, oklch(from var(--gold) l c h / .12), transparent 28rem), radial-gradient(circle at 14% 36%, oklch(from var(--accent-2) l c h / .08), transparent 32rem), linear-gradient(115deg, oklch(from var(--accent-2) l c h / .04) 0 26%, transparent 26% 100%), var(--bg);font-family:var(--font-body);transition:background-color .4s var(--ease), color .4s var(--ease)}body:before{content:"";z-index:-1;pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#ffffff07 1px,#0000 1px),linear-gradient(#ffffff05 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:82px 82px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}[data-theme=light] body:before{background-color:#0000;background-image:linear-gradient(90deg,#41311c0b 1px,#0000 1px),linear-gradient(#41311c09 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:92px 92px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}h1,h2,h3,h4{font-family:var(--font-heading)}.mono-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.page-stack{gap:16px;display:grid}.page-kicker{color:var(--gold);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:800}.page-head{border:1px solid var(--border);border-radius:var(--radius);background:radial-gradient(circle at 92% 12%, oklch(from var(--gold) l c h / .12), transparent 18rem), oklch(from var(--surface) l c h / .94);justify-content:space-between;align-items:flex-end;gap:18px;padding:18px;display:flex}.page-head h2{color:var(--text-primary);font-family:var(--font-heading);margin:5px 0 0;font-size:clamp(1.9rem,3vw,3rem);line-height:.95}.page-head p{max-width:720px;color:var(--text-muted);margin:8px 0 0;line-height:1.7}.page-actions-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.panel{border:1px solid var(--border);border-radius:var(--radius);background:oklch(from var(--surface) l c h / .96)}.panel-muted{border:1px dashed var(--border-strong);border-radius:var(--radius);background:oklch(from var(--surface-2) l c h / .72);color:var(--text-muted);padding:18px}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.status-card{border:1px solid var(--border);border-radius:var(--radius);background:oklch(from var(--surface-2) l c h / .86);min-height:92px;padding:16px}.status-card span{color:var(--text-dim);font-family:var(--font-mono);text-transform:uppercase;font-size:.66rem;font-weight:800}.status-card strong{color:var(--text-primary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:8px;font-size:1.35rem;display:block}.state-pill{border:1px solid var(--border);min-height:30px;color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:.68rem;font-weight:800;display:inline-flex}.state-pill.is-live{color:var(--status-ok);border-color:oklch(from var(--status-ok) l c h / .4);background:oklch(from var(--status-ok) l c h / .08)}.state-pill.is-planned{color:var(--status-warn);border-color:oklch(from var(--status-warn) l c h / .44);background:oklch(from var(--status-warn) l c h / .08)}.placeholder-panel{border:1px dashed var(--border-strong);border-radius:var(--radius);background:oklch(from var(--surface-2) l c h / .76);text-align:center;place-items:center;min-height:260px;padding:28px;display:grid}.placeholder-panel svg{color:var(--gold);opacity:.7;margin-bottom:16px}.placeholder-panel h2,.placeholder-panel h3{color:var(--text-primary);font-family:var(--font-heading);margin:0 0 8px}.placeholder-panel p{max-width:560px;color:var(--text-muted);margin:0;line-height:1.7}.status-pill{border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 10px;font-size:.72rem;font-weight:800;display:inline-flex}.status-pill--ok{color:var(--status-ok);background:oklch(from var(--status-ok) l c h / .16)}.status-pill--warn{color:var(--status-warn);background:oklch(from var(--status-warn) l c h / .16)}.status-pill--danger{color:var(--status-danger);background:oklch(from var(--status-danger) l c h / .14)}.status-pill--subtle{color:var(--text-dim);background:oklch(from var(--surface-2) l c h / .72)}.filter-card{border:1px solid var(--border);border-radius:var(--radius);background:oklch(from var(--surface-2) l c h / .46);margin-bottom:14px;padding:14px 16px}.filter-grid{gap:10px;display:grid}.filter-field{gap:6px;display:grid}.filter-field span{color:var(--text-dim);font-size:.64rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-weight:800}.chip-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.chip-label{color:var(--text-dim);font-family:var(--font-mono);text-transform:uppercase;white-space:nowrap;min-width:36px;font-size:.66rem;font-weight:800}.chip-group{flex-wrap:wrap;gap:6px;display:inline-flex}.chip{border:1px solid var(--border);min-height:30px;color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:0 14px;font-size:.78rem;font-weight:700;transition:all .15s}.chip:hover{border-color:oklch(from var(--gold) l c h / .5);color:var(--text-primary)}.chip.active{color:var(--btn-text);background:var(--gold);border-color:var(--gold)}.search-row{position:relative}.search-icon{color:var(--text-dim);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input{border:1px solid var(--border);width:100%;min-height:40px;color:var(--text-primary);background:var(--surface);font:inherit;border-radius:999px;outline:none;padding:0 14px 0 40px;transition:border-color .18s}.search-input:focus{border-color:var(--gold)}.search-input::placeholder{color:var(--text-dim)}.icon-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.icon-btn:hover{border-color:var(--gold);color:var(--gold)}.panel-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-toolbar-copy{align-items:baseline;gap:10px;display:inline-flex}.panel-toolbar-copy strong{color:var(--text-primary)}.panel-toolbar-copy span{color:var(--text-dim);font-family:var(--font-mono)}.table-pagination{justify-content:flex-end;padding-top:14px;display:flex}.native-control{border:1px solid var(--border);width:100%;min-height:38px;color:var(--text-primary);background:var(--surface);font:inherit;border-radius:999px;outline:none;padding:0 12px;transition:border-color .18s}.native-control:focus{border-color:var(--gold)}.native-control:disabled,.native-control[readonly]{opacity:.6;cursor:not-allowed}select.native-control{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--text-dim) 50%) calc(100% - 16px) 50% / 6px 6px no-repeat, linear-gradient(135deg, var(--text-dim) 50%, transparent 50%) calc(100% - 10px) 50% / 6px 6px no-repeat, var(--surface);padding-right:34px}select.native-control:focus{background:linear-gradient(45deg, transparent 50%, var(--gold) 50%) calc(100% - 16px) 50% / 6px 6px no-repeat, linear-gradient(135deg, var(--gold) 50%, transparent 50%) calc(100% - 10px) 50% / 6px 6px no-repeat, var(--surface)}.float-bar{z-index:100;background:oklch(from var(--surface-2) l c h / .92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid oklch(from var(--gold) l c h / .3);justify-content:center;align-items:center;gap:12px;padding:14px 28px;display:flex;position:fixed;bottom:0;left:276px;right:0}.float-bar-label{color:var(--text-primary);margin-right:auto;font-size:.86rem;font-weight:700}.bar-slide-enter-active,.bar-slide-leave-active{transition:transform .2s,opacity .2s}.bar-slide-enter-from,.bar-slide-leave-to{opacity:0;transform:translateY(100%)}.float-bar-chip{border:1px solid oklch(from var(--gold) l c h / .5);min-height:28px;color:var(--gold);background:oklch(from var(--gold) l c h / .08);font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:.76rem;font-weight:700;transition:all .15s}.float-bar-chip:hover{background:oklch(from var(--gold) l c h / .16);border-color:var(--gold)}.confirm-action{min-width:88px;min-height:40px;font-family:var(--font-label);cursor:pointer;transition:border-color .18s var(--ease), background-color .18s var(--ease), color .18s var(--ease), opacity .18s var(--ease);border:0;border-radius:999px;padding:0 16px;font-size:.82rem;font-weight:800}.confirm-action.secondary{border:1px solid var(--border);color:var(--text-primary);background:oklch(from var(--surface-2) l c h / .88)}.confirm-action.primary{border:1px solid var(--gold);color:var(--btn-text);background:var(--gold)}.confirm-action:disabled{cursor:not-allowed;opacity:.6}.inline-edit-name{cursor:pointer;color:var(--text-primary);border-bottom:1px dashed #0000;font-weight:700;transition:border-color .15s}.inline-edit-name:hover{border-bottom-color:var(--gold);color:var(--gold)}.inline-edit-price{cursor:pointer;color:var(--text-primary);border-bottom:1px dashed #0000;font-weight:700;transition:border-color .15s}.inline-edit-price:hover{border-bottom-color:var(--gold);color:var(--gold)}.inline-edit-input{border:1px solid var(--gold);width:100%;min-height:30px;color:var(--text-primary);background:var(--surface);font:inherit;border-radius:6px;outline:none;padding:0 8px;font-weight:700}.modal-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=960px){.modal-form{grid-template-columns:1fr}.float-bar{left:76px}}@media (width<=720px){.float-bar{flex-wrap:wrap;left:0}}@media (width<=860px){.page-head{flex-direction:column;align-items:flex-start}.status-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
