:root{--brand-jade:#123d3a;--brand-jade-hover:#0d2f2c;--brand-jade-active:#082320;--brand-porcelain:#f5f1e8;--brand-ink:#111;--brand-cinnabar:#c74332;--accent:#0f6b57;--accent-hover:#0b5545;--accent-active:#084337;--accent-soft:#e3f2ed;--on-accent:#fff;--bg:#f5f7f6;--bg-subtle:#e9eeec;--surface:#fff;--line:#dfe6e3;--line-strong:#c3cec9;--text:#14201c;--text-muted:#4a5a54;--text-faint:#55655f;--art-deep:#0b3d33;--art-jade:#0f6b57;--art-mint:#3fbf9a;--art-pale:#cdefe3;--art-sun:#f2b14c;--art-coral:#e8604c;--art-sky:#6fb7e8;--art-violet:#8a7cf2;--on-jade:var(--brand-porcelain);--success-fg:#1b6b43;--success-bg:#e3f1e8;--warning-fg:#7a4f00;--warning-bg:#faefd0;--danger-fg:#a3241b;--danger-bg:#fbe5e2;--info-fg:#1b5683;--info-bg:#e1edf6;--unknown-fg:#5b3a93;--unknown-bg:#ede6f7;--neutral-fg:#3f4d48;--neutral-bg:#e9eeec;--font:-apple-system, "PingFang SC", "Helvetica Neue", "Noto Sans SC", sans-serif;--font-serif:"Songti SC", "Noto Serif SC", "Source Han Serif SC", Georgia, serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--lh-body:1.5;--lh-cell:1.4;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-pill:999px;--scrim:#11111159;--shadow-pop:0 8px 28px #10201e29;--shadow-card:0 1px 2px #10201e0d;--t-fast:.12s;--row-h:36px;--ctl-h:32px;--topbar-h:48px;--sidebar-w:208px;--sidebar-w-collapsed:56px;--focus-ring:2px solid var(--accent)}[data-app=admin]{--font-serif:var(--font);--neutral-fg:#3f4d48;--neutral-bg:#e9eeec;--fs-xs:13px;--fs-sm:14px;--fs-md:15px;--row-h:48px;--ctl-h:36px;--r-lg:10px;--r-xl:10px;--shadow-card:0 1px 2px #10201e0f;--shadow-pop:0 8px 28px #10201e2e}.fe{--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--ctl-h:44px}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s}*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:var(--fs-sm)/var(--lh-body) var(--font);margin:0}a{color:var(--accent);text-underline-offset:2px}a:hover{color:var(--accent-hover)}:focus-visible{outline:var(--focus-ring);outline-offset:2px}.num,.money{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:var(--fs-xs)}.muted{color:var(--text-muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{align-items:center;gap:var(--sp-1);height:var(--ctl-h);padding:0 var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--text);font:500 var(--fs-sm)/1 var(--font);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast);white-space:nowrap;text-decoration:none;display:inline-flex}.btn:hover{background:var(--bg-subtle)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active{background:var(--accent-active)}.btn-danger{color:var(--danger-fg);border-color:var(--danger-fg)}.btn-ghost{background:0 0;border-color:#0000}.btn[disabled],.btn[aria-disabled=true]{background:var(--bg-subtle);color:var(--text-faint);border-color:var(--line);cursor:not-allowed}.btn[aria-busy=true]{pointer-events:none}.btn-sm{height:28px;padding:0 var(--sp-2);font-size:var(--fs-xs)}.field{gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.field>label,.field-label{font-size:var(--fs-xs);color:var(--text-muted);font-weight:500}.field .hint{font-size:var(--fs-xs);color:var(--text-muted)}.field .err{font-size:var(--fs-xs);color:var(--danger-fg)}.input,.select,.textarea{height:var(--ctl-h);width:100%;padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:var(--fs-sm)/1.2 var(--font)}.textarea{height:auto;min-height:72px;padding:var(--sp-3);resize:vertical}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--danger-fg)}.input[disabled],.select[disabled]{background:var(--bg-subtle);color:var(--text-faint)}.form-grid{gap:var(--sp-3) var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.badge{height:22px;padding:0 var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:5px;font-weight:500;display:inline-flex}.badge:before{content:"";background:currentColor;flex:none;width:6px;height:6px}.badge-success{color:var(--success-fg);background:var(--success-bg)}.badge-success:before{border-radius:50%}.badge-warning{color:var(--warning-fg);background:var(--warning-bg)}.badge-warning:before{clip-path:polygon(50% 0,100% 100%,0 100%)}.badge-danger{color:var(--danger-fg);background:var(--danger-bg)}.badge-danger:before{transform:rotate(45deg)}.badge-info{color:var(--info-fg);background:var(--info-bg)}.badge-info:before{background:0 0;border:1.5px solid;border-radius:50%}.badge-unknown{color:var(--unknown-fg);background:var(--unknown-bg)}.badge-unknown:before{content:"?";background:0 0;width:auto;height:auto;font-size:11px;font-weight:700;line-height:1}.badge-neutral{color:var(--neutral-fg);background:var(--neutral-bg)}.badge-neutral:before{width:8px;height:2px}.tag{padding:0 var(--sp-3);border:1px solid var(--accent-soft);background:var(--accent-soft);border-radius:var(--r-pill);height:22px;line-height:20px;font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;display:inline-block}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);overflow-x:auto}table.tbl{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm);line-height:var(--lh-cell)}.tbl th{z-index:1;background:var(--bg-subtle);text-align:left;font-size:var(--fs-xs);color:var(--text-muted);border-bottom:1px solid var(--line-strong);white-space:nowrap;height:44px;padding:0 12px;font-weight:600;position:sticky;top:0}.tbl th a{color:inherit;text-decoration:none}.tbl th a:hover{color:var(--text);text-decoration:underline}.tbl td{height:var(--row-h);border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle;padding:10px 12px}.tbl tbody tr:hover{background:var(--bg)}.tbl tbody tr:last-child td{border-bottom:0}.tbl .r{text-align:right}.tbl .num-cell{text-align:right;font-variant-numeric:tabular-nums}.tbl-comfy td{height:64px}.tbl td.wrap{white-space:normal}.tbl td a:not(.btn){color:var(--accent);text-decoration:none}.tbl td a:not(.btn):hover{text-decoration:underline}.tbl td a:focus-visible,.tbl th a:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:2px}.cell-id{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:0}.cell-ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:220px;display:block;overflow:hidden}.cell-stack{flex-direction:column;gap:4px;min-width:0;line-height:1.3;display:flex}.cell-stack .sub{color:var(--text-muted);font-size:var(--fs-xs);flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.chip-sm{border:1px solid var(--line);background:var(--bg);height:22px;line-height:20px;font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;border-radius:6px;padding:0 6px;display:inline-block}.badges{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.row-action{font-size:var(--fs-xs);white-space:nowrap}.tbl-note{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs);color:var(--text-muted);margin:0}.tbl tr[aria-selected=true] td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.shell{grid-template-columns:calc(var(--sidebar-w) + var(--sp-3)) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);color:var(--text);padding:var(--sp-4) 0;top:var(--sp-3);height:calc(100vh - 2 * var(--sp-3));margin:var(--sp-3) 0 var(--sp-3) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-card);flex-direction:column;display:flex;position:sticky}.sidebar .brand{padding:0 var(--sp-4) var(--sp-4);color:var(--brand-jade);display:block}.sidebar .brand .logo-wide{width:132px;display:block}.sidebar .brand .logo-mark{width:28px;display:none}.nav{padding:0 var(--sp-2);flex-direction:column;gap:2px;display:flex}.nav a{align-items:center;gap:var(--sp-2);height:36px;padding:0 var(--sp-3);border-radius:var(--r-pill);color:var(--text-muted);font-size:var(--fs-md);text-decoration:none;display:flex}.nav a:hover{background:var(--bg-subtle);color:var(--text)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.nav .ico{flex:none;width:16px;height:16px}.sidebar .spacer{flex:1}.main{flex-direction:column;min-width:0;display:flex}.topbar{height:var(--topbar-h);align-items:center;gap:var(--sp-4);padding:0 var(--sp-5);margin:var(--sp-3) var(--sp-5) 0;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-card);top:var(--sp-3);z-index:5;display:flex;position:sticky}.topbar .search{flex:1;max-width:420px}.topbar .search .input{border-radius:var(--r-pill);width:100%}.topbar .todo{font-size:var(--fs-lg);color:var(--accent-hover);font-weight:700;text-decoration:none}.page{padding:var(--sp-6) var(--sp-5) var(--sp-8);gap:var(--sp-3);flex-direction:column;display:flex}.page-head{justify-content:space-between;align-items:baseline;gap:var(--sp-4);flex-wrap:wrap;display:flex}.page-head h1{font-family:var(--font-serif);font-size:var(--fs-2xl);color:var(--text);margin:0;font-weight:600}.crumbs{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:var(--sp-1);display:flex}.tabs{gap:var(--sp-1);border-bottom:1px solid var(--line);scrollbar-width:none;display:flex;overflow:auto hidden}.tabs::-webkit-scrollbar{display:none}.tabs a{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;text-decoration:none}.tabs a[aria-current=page]{color:var(--accent-hover);border-bottom-color:var(--accent);font-weight:600}.tabs .count{font-size:var(--fs-xs);color:var(--text-faint);margin-left:4px}.filters{gap:var(--sp-2);padding:var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-wrap:wrap;align-items:flex-end;display:flex}.filters .field{width:128px}.filters .field.grow{flex:1;width:auto;min-width:220px}.filters{padding:var(--sp-2) var(--sp-3)}.pager{justify-content:space-between;align-items:center;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.panel>header{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);font-weight:600;font-size:var(--fs-md);justify-content:space-between;align-items:center;display:flex}.panel>.body{padding:var(--sp-3) var(--sp-4)}details.section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}details.section>summary{cursor:pointer;padding:var(--sp-3) var(--sp-4);font-weight:600;font-size:var(--fs-md);justify-content:space-between;align-items:center;list-style:none;display:flex}details.section>summary::-webkit-details-marker{display:none}details.section>summary:after{content:"+";color:var(--text-muted);font-weight:400}details.section[open]>summary:after{content:"–"}details.section[open]>summary{border-bottom:1px solid var(--line)}details.section>.body{padding:var(--sp-3) var(--sp-4)}.kv{gap:var(--sp-1) var(--sp-4);font-size:var(--fs-sm);grid-template-columns:max-content 1fr;margin:0;display:grid}.kv dt{color:var(--text-muted)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.cols{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.banner{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);border-left-width:4px;align-items:flex-start;display:flex}.banner h2{font-size:var(--fs-md);margin:0 0 2px;font-weight:600}.banner p{color:var(--text-muted);margin:0}.banner-success{border-left-color:var(--success-fg)}.banner-warning{border-left-color:var(--warning-fg)}.banner-danger{border-left-color:var(--danger-fg)}.banner-info{border-left-color:var(--info-fg)}.banner-unknown{border-left-color:var(--unknown-fg)}.banner-neutral{border-left-color:var(--neutral-fg)}.banner{flex-wrap:wrap}.banner>div:first-child{flex:420px;min-width:0}.banner .actions{gap:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--line);flex-wrap:wrap;flex:100%;justify-content:flex-start;display:flex}.action-note{font-size:var(--fs-xs);color:var(--text-muted);max-width:240px}.timeline{margin:0;padding:0;list-style:none}.timeline li{gap:var(--sp-3);padding:var(--sp-2) 0 var(--sp-2) var(--sp-4);border-left:2px solid var(--line);margin-left:var(--sp-2);grid-template-columns:132px 1fr;display:grid;position:relative}.timeline li:before{content:"";background:var(--surface);border:2px solid var(--line-strong);border-radius:50%;width:10px;height:10px;position:absolute;top:14px;left:-6px}.timeline li.t-success:before{border-color:var(--success-fg);background:var(--success-fg)}.timeline li.t-danger:before{border-color:var(--danger-fg);background:var(--danger-fg)}.timeline li.t-unknown:before{border-color:var(--unknown-fg);background:var(--unknown-bg)}.timeline li.t-info:before{border-color:var(--info-fg)}.timeline li.t-warning:before{border-color:var(--warning-fg)}.timeline time{font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;padding-top:2px}.timeline .ev{font-weight:500}.timeline .meta{font-size:var(--fs-xs);color:var(--text-muted)}.state{padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--text-muted);background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r-md)}.state strong{color:var(--text);font-size:var(--fs-md);margin-bottom:var(--sp-1);display:block}.skel{height:var(--row-h);border-bottom:1px solid var(--line);background:linear-gradient(90deg, var(--bg-subtle), var(--surface), var(--bg-subtle));background-size:200% 100%;animation:1.4s linear infinite skel;display:block}@keyframes skel{to{background-position:-200% 0}}@media (max-width:1023px){.shell{grid-template-columns:calc(var(--sidebar-w-collapsed) + var(--sp-3)) 1fr}.sidebar .brand{padding:0 var(--sp-3) var(--sp-4)}.sidebar .brand .logo-wide{display:none}.sidebar .brand .logo-mark{display:block}.nav a{justify-content:center;padding:0}.nav a .label{display:none}.page{padding:var(--sp-3) var(--sp-4) var(--sp-6)}.topbar{padding:0 var(--sp-4);margin:var(--sp-2) var(--sp-3) 0}}@media (max-width:639px){.shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{height:auto;margin:var(--sp-2);border-radius:var(--r-xl);padding:var(--sp-2) var(--sp-3);scrollbar-width:none;flex-direction:row;align-items:center;position:static;overflow-x:auto}.sidebar::-webkit-scrollbar{display:none}.sidebar .brand{padding:0 var(--sp-3) 0 0}.sidebar .spacer{display:none}.nav{flex-direction:row;padding:0}.nav a{width:44px;height:44px}.timeline li{grid-template-columns:1fr;gap:0}.kv{grid-template-columns:1fr}.kv dt{margin-top:var(--sp-2)}.btn,.input,.select{min-height:44px}.filters .field{width:calc(50% - 4px)}.filters .field.grow{flex:100%;width:100%}.filters .field[style]{width:calc(50% - 4px)!important}.topbar{gap:var(--sp-2);padding:0 var(--sp-3)}.topbar .search{flex:120px;min-width:0}.topbar .who{display:none}.nav a{width:40px}}fieldset.rules{border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);gap:var(--sp-2);flex-direction:column;min-width:0;margin:0;display:flex}fieldset.rules legend{padding:0 var(--sp-2);font-weight:600;font-size:var(--fs-sm)}.chip-x{cursor:pointer;color:var(--text-muted);font-size:var(--fs-md);background:0 0;border:0;padding:0 2px;line-height:1}.chip-x:hover{color:var(--danger-fg)}.chip-x:focus-visible{outline:var(--focus-ring)}[data-app=admin] .hint{font-size:var(--fs-xs);color:var(--text-muted);display:block}.flow-sec{border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-4);background:var(--surface)}.flow-h{margin:0 0 var(--sp-3);font-size:var(--fs-md);align-items:center;gap:var(--sp-2);display:flex}.flow-n{background:var(--accent);width:22px;height:22px;color:var(--on-accent);font-size:var(--fs-xs);border-radius:50%;place-items:center;display:inline-grid}.switch-row{align-items:center;gap:var(--sp-2);min-height:var(--ctl-h);cursor:pointer;display:inline-flex}details.raw{font-size:var(--fs-xs);color:var(--text-muted);margin-top:4px}details.raw summary{cursor:pointer}details.raw pre{padding:var(--sp-2);background:var(--bg-subtle);border-radius:var(--r-sm);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;margin:4px 0 0;overflow:auto}.sect-h{margin:var(--sp-2) 0 0;font-size:var(--fs-lg);font-weight:600}
.fe-head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-5);margin:var(--sp-3) var(--sp-3) 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-card);flex-wrap:wrap;display:flex}.fe-logo{color:var(--brand-jade);display:inline-block}.fe-nav{gap:var(--sp-1);flex-wrap:wrap;align-items:center;display:flex}.fe-nav a,.linkbtn{min-height:44px;padding:0 var(--sp-3);color:var(--text);font-size:var(--fs-md);border-radius:var(--r-pill);cursor:pointer;background:0 0;border:0;align-items:center;font-family:inherit;text-decoration:none;display:inline-flex}.fe-main{max-width:1040px;padding:var(--sp-4);gap:var(--sp-4);flex-direction:column;margin:0 auto;display:flex}.fe-foot{max-width:1040px;padding:var(--sp-4) var(--sp-4) var(--sp-8);color:var(--text-muted);font-size:var(--fs-xs);margin:0 auto}.fe h1{font-size:var(--fs-2xl);letter-spacing:-.01em;color:var(--text);margin:0;font-weight:700}.fe .btn{font-size:var(--fs-md);min-height:44px}.fe .btn-block{justify-content:center;width:100%}.fe .input,.fe .select,.fe .textarea{font-size:var(--fs-md)}.fe .field>label{font-size:var(--fs-sm)}.fe form.stack{gap:var(--sp-3);flex-direction:column;display:flex}.rowlist{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);margin:0;padding:0;list-style:none}.rowlist li{border-bottom:1px solid var(--line)}.rowlist li:last-child{border-bottom:0}.rowlist a{justify-content:space-between;align-items:center;gap:var(--sp-3);min-height:56px;padding:var(--sp-2) var(--sp-4);color:var(--text);text-decoration:none;display:flex}.rowlist .sub{color:var(--text-muted);font-size:var(--fs-sm)}.rowlist .price{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.group-title{margin:0 0 var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted);font-weight:600}.pay-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--sp-5);gap:var(--sp-3);flex-direction:column;display:flex}.copyline{gap:var(--sp-2);align-items:center;display:flex}.copyline code{word-break:break-all;font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--bg-subtle);padding:var(--sp-2);border-radius:var(--r-sm);flex:1}.codebox{font-family:var(--font-mono);font-size:var(--fs-lg);letter-spacing:.04em;background:var(--bg-subtle);padding:var(--sp-3);border-radius:var(--r-sm);word-break:break-all}.note{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.check{gap:var(--sp-2);font-size:var(--fs-md);align-items:flex-start;display:flex}.check input{flex:none;width:22px;height:22px;margin-top:2px}.amount{font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;font-weight:600}a[data-slot]{color:inherit;text-decoration:none}.art{border-radius:var(--r-xl);width:100%;height:auto;box-shadow:var(--shadow-pop);display:block}.art text{font-family:var(--font)}.art-arcs{stroke:var(--surface);opacity:.16}.art-kicker,.art-kicker-strong{fill:var(--surface);opacity:.8;font-weight:700}.art-kicker-strong{opacity:1}.art-big{fill:var(--surface);font-weight:800}.art-sub{fill:var(--surface);opacity:.78}.art-rule{stroke:var(--surface);opacity:.22;stroke-width:1px}.art-pill{fill:var(--surface)}.art-pill-text{fill:var(--text)}.art-tag{fill:var(--art-sun)}.art-tag-text{fill:var(--text)}.art-code{fill:var(--surface);opacity:.16}.art-code-text{fill:var(--surface)}.art-chip{fill:var(--art-sun)}.art-chip-line{stroke:var(--text);opacity:.4}.art-num{fill:var(--surface);font-family:var(--font-mono)}.art-bar-on{fill:var(--surface)}.art-bar-off{fill:var(--surface);opacity:.25}.art-sweep{fill:var(--surface);opacity:.16;animation:6s ease-in-out infinite art-sweep}@keyframes art-sweep{0%,55%{transform:translate(0)skew(-18deg)}to{transform:translate(460px)skew(-18deg)}}.fe .btn-primary{background:var(--text);color:var(--surface);border-color:var(--text)}.fe .btn-primary:hover{background:var(--text);color:var(--surface);opacity:.88}.store{gap:var(--sp-5);flex-direction:column;display:flex}.seg{gap:var(--sp-1);padding:var(--sp-1);background:var(--bg-subtle);border-radius:var(--r-pill);scrollbar-width:none;align-self:center;max-width:100%;display:flex;overflow-x:auto}.seg-item{font:inherit;font-size:var(--fs-sm);color:var(--text-muted);height:40px;padding:0 var(--sp-4);border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;background:0 0;border:0}.seg-item[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card);font-weight:600}.seg-item:focus-visible,.pill:focus-visible,.cta:focus-visible{outline:var(--focus-ring);outline-offset:2px}.store-grid,.buy-grid{gap:var(--sp-5);grid-template-columns:1fr;align-items:start;display:grid}.stage{align-items:center;gap:var(--sp-3);padding:var(--sp-4) 0;flex-direction:column;display:flex}.stage-art{width:min(100%,300px)}.stage-name{font-size:var(--fs-lg);text-align:center;margin:0;font-weight:600;display:none}.checkout{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);padding:var(--sp-5);gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}.checkout h1{font-size:var(--fs-2xl)}.checkout .sub{margin:calc(var(--sp-3) * -1) 0 0;color:var(--text-muted);font-size:var(--fs-sm)}.pills{gap:var(--sp-2);flex-wrap:wrap;display:flex}.pill{border:1px solid var(--line-strong);background:var(--surface);font:inherit;font-size:var(--fs-sm);color:var(--text);min-height:36px;padding:0 var(--sp-3);border-radius:var(--r-pill);cursor:pointer}.pill[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.opts{gap:var(--sp-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.opts legend{font-size:var(--fs-sm);margin-bottom:var(--sp-2);padding:0;font-weight:600}.opt{align-items:center;gap:var(--sp-3);min-height:64px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);cursor:pointer;background:var(--surface);grid-template-columns:22px 1fr auto;display:grid;position:relative}.opt:hover{border-color:var(--line-strong)}.opt[data-on=true]{border-color:var(--accent);background:var(--accent-soft)}.opt input{opacity:0;cursor:pointer;position:absolute;inset:0}.opt:has(input:focus-visible){outline:var(--focus-ring);outline-offset:2px}.radio{border:2px solid var(--line-strong);border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.opt[data-on=true] .radio{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 4px var(--surface)}.opt-main{flex-direction:column;gap:2px;min-width:0;display:flex}.opt-main small,.opt-price small{color:var(--text-muted);font-weight:400;font-size:var(--fs-xs)}.opt-price{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.total{padding-top:var(--sp-3);border-top:1px solid var(--line);color:var(--text-muted);justify-content:space-between;align-items:baseline;display:flex}.total .amount{font-size:var(--fs-2xl);color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.total .amount small{font-size:var(--fs-sm);color:var(--text-muted);font-weight:400}.cta{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--r-lg);background:var(--text);height:48px;color:var(--surface);font-weight:600;font-size:var(--fs-md);text-decoration:none;display:inline-flex}.cta:hover{color:var(--surface);opacity:.9}@media (min-width:900px){.store-grid,.buy-grid{gap:var(--sp-8);grid-template-columns:1fr minmax(380px,440px)}.stage{top:var(--sp-6);justify-content:center;min-height:420px;position:sticky}.stage-art{width:min(100%,440px)}.stage-name{display:block}}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--animate-spin:spin 1s linear infinite}}@layer base{[data-slot],[data-slot] *,[data-slot]:before,[data-slot]:after{border:0 solid}ul[data-slot],[data-slot] ul{margin:0;padding:0;list-style:none}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.left-0{left:0}.-z-1{z-index:calc(1 * -1)}.z-0{z-index:0}.z-10{z-index:10}.block{display:block}.flex{display:flex}.hidden{display:none}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-\(--active-tab-height\){height:var(--active-tab-height)}.w-\(--active-tab-width\){width:var(--active-tab-width)}.w-fit{width:fit-content}.w-full{width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-x-\(--active-tab-left\){--tw-translate-x:var(--active-tab-left);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\(--active-tab-bottom\){--tw-translate-y:calc(var(--active-tab-bottom) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-x-0\.5{column-gap:calc(var(--spacing) * .5)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-destructive{border-color:var(--danger-fg)}.border-input{border-color:var(--line-strong)}.border-transparent{border-color:#0000}.bg-accent-foreground{background-color:var(--accent-hover)}.bg-background{background-color:var(--surface)}.bg-destructive{background-color:var(--danger-fg)}.bg-muted{background-color:var(--bg-subtle)}.bg-primary{background-color:var(--text)}.bg-secondary{background-color:var(--bg-subtle)}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--warning-fg)}.p-0\.5{padding:calc(var(--spacing) * .5)}.whitespace-nowrap{white-space:nowrap}.text-destructive{color:var(--danger-fg)}.text-destructive-foreground{color:var(--on-accent)}.text-foreground{color:var(--text)}.text-muted-foreground{color:var(--text-muted)}.text-primary-foreground{color:var(--surface)}.text-secondary-foreground{color:var(--text)}.text-warning-foreground{color:var(--on-accent)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--accent)}.enabled\:active\:bg-destructive\/15:enabled:active{background-color:var(--danger-fg)}@supports (color:color-mix(in lab, red, red)){.enabled\:active\:bg-destructive\/15:enabled:active{background-color:color-mix(in oklab, var(--danger-fg) 15%, transparent)}}.enabled\:active\:bg-destructive\/95:enabled:active{background-color:var(--danger-fg)}@supports (color:color-mix(in lab, red, red)){.enabled\:active\:bg-destructive\/95:enabled:active{background-color:color-mix(in oklab, var(--danger-fg) 95%, transparent)}}.enabled\:active\:bg-primary\/95:enabled:active{background-color:var(--text)}@supports (color:color-mix(in lab, red, red)){.enabled\:active\:bg-primary\/95:enabled:active{background-color:color-mix(in oklab, var(--text) 95%, transparent)}}.enabled\:active\:bg-secondary:enabled:active,.enabled\:active\:bg-secondary\/80:enabled:active{background-color:var(--bg-subtle)}@supports (color:color-mix(in lab, red, red)){.enabled\:active\:bg-secondary\/80:enabled:active{background-color:color-mix(in oklab, var(--bg-subtle) 80%, transparent)}}.enabled\:active\:bg-warning\/95:enabled:active{background-color:var(--warning-fg)}@supports (color:color-mix(in lab, red, red)){.enabled\:active\:bg-warning\/95:enabled:active{background-color:color-mix(in oklab, var(--warning-fg) 95%, transparent)}}.enabled\:active\:underline:enabled:active{text-decoration-line:underline}.disabled\:border-border:disabled{border-color:var(--line)}.disabled\:bg-muted:disabled{background-color:var(--bg-subtle)}.disabled\:text-muted-foreground:disabled{color:var(--text-muted)}.aria-disabled\:border-border[aria-disabled=true]{border-color:var(--line)}.aria-disabled\:bg-muted[aria-disabled=true]{background-color:var(--bg-subtle)}.aria-disabled\:text-muted-foreground[aria-disabled=true]{color:var(--text-muted)}.data-active\:text-foreground[data-active]{color:var(--text)}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:text-muted-foreground[data-disabled]{color:var(--text-muted)}.data-\[disabled\]\:border-border[data-disabled]{border-color:var(--line)}.data-\[disabled\]\:bg-muted[data-disabled]{background-color:var(--bg-subtle)}.data-\[disabled\]\:text-muted-foreground[data-disabled]{color:var(--text-muted)}.data-\[loading\]\:text-transparent[data-loading]{color:#0000}.data-\[orientation\=horizontal\]\:h-0\.5[data-orientation=horizontal]{height:calc(var(--spacing) * .5)}.data-\[orientation\=horizontal\]\:translate-y-px[data-orientation=horizontal]{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[orientation\=horizontal\]\:py-1[data-orientation=horizontal]{padding-block:var(--spacing)}.data-\[orientation\=vertical\]\:w-0\.5[data-orientation=vertical]{width:calc(var(--spacing) * .5)}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:-translate-x-px[data-orientation=vertical]{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[orientation\=vertical\]\:flex-row[data-orientation=vertical]{flex-direction:row}.data-\[orientation\=vertical\]\:justify-start[data-orientation=vertical]{justify-content:flex-start}.data-\[orientation\=vertical\]\:px-1[data-orientation=vertical]{padding-inline:var(--spacing)}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media (hover:hover){@media (hover:hover){.\[\@media\(hover\:hover\)\]\:not-data-disabled\:hover\:text-foreground:not([data-disabled]):hover{color:var(--text)}.\[\@media\(hover\:hover\)\]\:enabled\:hover\:bg-destructive\/10:enabled:hover{background-color:var(--danger-fg)}@supports (color:color-mix(in lab, red, red)){.\[\@media\(hover\:hover\)\]\:enabled\:hover\:bg-destructive\/10:enabled:hover{background-color:color-mix(in oklab, var(--danger-fg) 10%, transparent)}}.\[\@media\(hover\:hover\)\]\:enabled\:hover\:bg-destructive\/90:enabled:hover{background-color:var(--danger-fg)}@supports (color:color-mix(in lab, red, red)){.\[\@media\(hover\:hover\)\]\:enabled\:hover\:bg-destructive\/90:enabled:hover{background-color:color-mix(in oklab, var(--danger-fg) 90%, transparent)}}.\[\@media\(hover\:hover\)\]\:enabled\:hover\:bg-muted:enabled:hover{background-color:var(--bg-subtle)}.\[\@media\(hover\:hover\)\]\:enabled\:hover\:bg-primary\/90:enabled:hover{background-color:var(--text)}@supports (color:color-mix(in lab, red, red)){.\[\@media\(hover\:hover\)\]\:enabled\:hover\:bg-primary\/90:enabled:hover{background-color:color-mix(in oklab, var(--text) 90%, transparent)}}.\[\@media\(hover\:hover\)\]\:enabled\:hover\:bg-warning\/90:enabled:hover{background-color:var(--warning-fg)}@supports (color:color-mix(in lab, red, red)){.\[\@media\(hover\:hover\)\]\:enabled\:hover\:bg-warning\/90:enabled:hover{background-color:color-mix(in oklab, var(--warning-fg) 90%, transparent)}}.\[\@media\(hover\:hover\)\]\:enabled\:hover\:underline:enabled:hover{text-decoration-line:underline}}}}.fe{--background:var(--surface);--foreground:var(--text);--muted:var(--bg-subtle);--muted-foreground:var(--text-muted);--border:var(--line);--input:var(--line-strong);--ring:var(--accent);--destructive:var(--danger-fg);--popover:var(--surface);--card:var(--surface);--radius:var(--r-sm);--component-unit:.0625rem}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}
