:root{--bg-app:radial-gradient(120% 120% at 20% 0%,#dceef3 0%,#f6fbfc 60%);--bg-shell:#fff;--bg-nav:#f7f9fa;--surface:#fff;--surface-hover:#f4f7f8;--sunk:#f1f5f6;--border:#e4eaeb;--border-strong:#d2dbdc;--text:#0f1a1c;--text-2:#56666a;--text-3:#849698;--accent:#1e9fb8;--accent-hover:#1789a0;--accent-ink:#fff;--accent-wash:linear-gradient(135deg,#2e7482,#1b4a55);--good:#1b7a55;--warn:#96690a;--bad:#b03a2c;--wash-ink:#edf2f2;--wash-ink-2:#a9c2c6;--shadow-card:0 1px 2px #0f1a1c0a,0 8px 24px -16px #0f1a1c33;--shadow-pop:0 2px 4px #0f1a1c0f,0 16px 40px -20px #0f1a1c47;--s4:4px;--s8:8px;--s12:12px;--s16:16px;--s20:20px;--s24:24px;--s32:32px;--s40:40px;--s56:56px;--s72:72px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;--t-fast:120ms;--t-base:200ms;--t-slow:320ms;--ease-enter:cubic-bezier(0.2,0,0,1);--ease-exit:cubic-bezier(0.4,0,1,1);--font:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-app:radial-gradient(120% 120% at 20% 0%,#0b2a30 0%,#123f47 55%,#0b2226 100%);--bg-shell:#101314;--bg-nav:#15191a;--surface:#1c2021;--surface-hover:#232829;--sunk:#0c0f10;--border:#ffffff12;--border-strong:#ffffff1f;--text:#edf2f2;--text-2:#a2afb0;--text-3:#6c7a7b;--accent:#4fc9de;--accent-hover:#6fd6e7;--accent-ink:#08181c;--good:#45c08a;--warn:#e5b04a;--bad:#e8705f;--shadow-card:none;--shadow-pop:0 0 0 1px var(--border-strong);color-scheme:dark}}[data-theme=dark]{--bg-app:radial-gradient(120% 120% at 20% 0%,#0b2a30 0%,#123f47 55%,#0b2226 100%);--bg-shell:#101314;--bg-nav:#15191a;--surface:#1c2021;--surface-hover:#232829;--sunk:#0c0f10;--border:#ffffff12;--border-strong:#ffffff1f;--text:#edf2f2;--text-2:#a2afb0;--text-3:#6c7a7b;--accent:#4fc9de;--accent-hover:#6fd6e7;--accent-ink:#08181c;--accent-wash:linear-gradient(135deg,#2e7482,#1b4a55);--good:#45c08a;--warn:#e5b04a;--bad:#e8705f;--shadow-card:none;--shadow-pop:0 0 0 1px var(--border-strong);color-scheme:dark}[data-theme=light]{--bg-app:radial-gradient(120% 120% at 20% 0%,#dceef3 0%,#f6fbfc 60%);--bg-shell:#fff;--bg-nav:#f7f9fa;--surface:#fff;--surface-hover:#f4f7f8;--sunk:#f1f5f6;--border:#e4eaeb;--border-strong:#d2dbdc;--text:#0f1a1c;--text-2:#56666a;--text-3:#849698;--accent:#1e9fb8;--accent-hover:#1789a0;--accent-ink:#fff;--accent-wash:linear-gradient(135deg,#2e7482,#1b4a55);--good:#1b7a55;--warn:#96690a;--bad:#b03a2c;--shadow-card:0 1px 2px #0f1a1c0a,0 8px 24px -16px #0f1a1c33;--shadow-pop:0 2px 4px #0f1a1c0f,0 16px 40px -20px #0f1a1c47;color-scheme:light}*{box-sizing:border-box}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;font-feature-settings:"tnum";background:#fff;background:var(--bg-shell);color:#0f1a1c;color:var(--text);font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font);font-size:14.5px;font-variant-numeric:tabular-nums;line-height:1.55;margin:0}.t-display{font-size:34px;font-weight:600;letter-spacing:-.02em;line-height:1.05}.t-h1{font-size:26px;letter-spacing:-.015em;line-height:1.15}.t-h1,.t-h2{font-weight:600}.t-h2{font-size:20px;letter-spacing:-.01em;line-height:1.25}.t-h3{font-size:16px;font-weight:600;line-height:1.35}.t-body{font-size:14.5px;font-weight:400;line-height:1.55}.t-small{font-size:13px;font-weight:400;line-height:1.45}.t-label{font-size:11.5px;font-weight:600;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}h1,h2,h3,p{margin:0}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:#56666a;color:var(--text-2)}.muted-3{color:#849698;color:var(--text-3)}a{color:#1e9fb8;color:var(--accent);text-decoration:none}:where(a,button,input,select,textarea,[tabindex]):focus-visible{border-radius:8px;border-radius:var(--r-sm);outline:2px solid #1e9fb8;outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app-bg{background:var(--bg-app);filter:blur(60px) saturate(1.1);inset:0;position:fixed;transform:scale(1.2);z-index:-1}.shell{background:#0000;color:var(--text);min-height:100%}.shell-layout{display:flex;min-height:100vh}.sidebar{background:var(--bg-nav);border-right:1px solid var(--border);display:flex;flex:none;flex-direction:column;gap:var(--s24);padding:var(--s20) var(--s12);width:232px}.sidebar .brand{align-items:center;display:flex;gap:var(--s8);padding:0 var(--s8)}.sidebar .brand-mark{background:var(--accent);border-radius:var(--r-sm);color:var(--accent-ink);display:grid;font-weight:700;height:28px;place-items:center;width:28px}.nav-group{display:flex;flex-direction:column;gap:var(--s4)}.main-col{display:flex;flex:1 1;flex-direction:column;min-width:0}.topbar{align-items:center;background:var(--bg-shell);border-bottom:1px solid var(--border);display:flex;flex:none;height:56px;justify-content:space-between;padding:0 var(--s24)}.page{padding:var(--s24)}@media (min-width:900px){.page{padding:var(--s40)}}.page-content{max-width:1080px}.section{margin-bottom:var(--s32)}.stack{display:flex;flex-direction:column;gap:var(--s12)}.row,.row-between{align-items:center;display:flex;gap:var(--s12)}.row-between{justify-content:space-between}.grid{grid-gap:var(--s12);display:grid;gap:var(--s12)}@media (min-width:720px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}}.mnav{background:var(--bg-nav);border-top:1px solid var(--border);bottom:0;display:flex;left:0;position:fixed;right:0;z-index:20}.mnav a{align-items:center;color:var(--text-2);display:flex;flex:1 1;flex-direction:column;font-size:11.5px;gap:2px;justify-content:center;letter-spacing:.02em;min-height:56px}.mnav a.active{color:var(--text)}.mnav a.active .mnav-dot{background:var(--accent)}.mnav-dot{background:#0000;border-radius:var(--r-pill);height:3px;margin-bottom:2px;width:20px}@media (max-width:899px){.sidebar{display:none}.page{padding-bottom:88px}}@media (min-width:900px){.mnav{display:none}}.nav-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--r-md);color:var(--text-2);cursor:pointer;display:flex;font:inherit;gap:var(--s12);min-height:44px;padding:0 var(--s12);text-align:left;transition:background var(--t-fast) var(--ease-enter),color var(--t-fast) var(--ease-enter);width:100%}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:#0000;border-color:var(--border-strong);color:var(--text)}.nav-item .icon{color:currentColor}.btn{align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text);cursor:pointer;display:inline-flex;font:inherit;font-size:14.5px;font-weight:600;gap:var(--s8);justify-content:center;min-height:40px;min-width:40px;padding:0 var(--s16);transition:background var(--t-fast) var(--ease-enter),border-color var(--t-fast) var(--ease-enter),opacity var(--t-fast)}.btn:hover{background:var(--surface-hover)}.btn:active{transform:translateY(1px)}.btn.is-loading,.btn[disabled]{cursor:not-allowed;opacity:.5}.btn.tap{min-height:48px}.btn-primary{background:var(--accent);border-color:#0000;color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:#0000;border-color:#0000;color:var(--text)}.btn-ghost:hover{background:var(--surface-hover)}.btn-danger{background:#0000;border-color:var(--bad);color:var(--bad)}.btn-danger:hover{background:color-mix(in srgb,var(--bad) 12%,#0000)}.btn-sm{border-radius:var(--r-sm);font-size:13px;min-height:32px;padding:0 var(--s12)}.btn-block{width:100%}.spinner{animation:spin .7s linear infinite;border:2px solid;border-radius:50%;border-top:2px solid #0000;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.field{display:flex;flex-direction:column;gap:var(--s8);margin-bottom:var(--s16)}.field>.lbl{color:var(--text-2)}.input,.select,.textarea{background:var(--sunk);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font:inherit;font-size:14.5px;min-height:44px;padding:10px var(--s12);transition:border-color var(--t-fast) var(--ease-enter);width:100%}.textarea{min-height:96px;padding:var(--s12);resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);outline:none}.field.has-error .input,.field.has-error .select,.field.has-error .textarea{border-color:var(--bad)}.hint{color:var(--text-3);font-size:13px}.err-text{color:var(--bad);font-size:13px}.search{position:relative}.search .input{padding-left:40px}.search .icon{color:var(--text-3);left:var(--s12);position:absolute;top:50%;transform:translateY(-50%)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--s20)}.card.interactive{cursor:pointer;transition:background var(--t-fast) var(--ease-enter),border-color var(--t-fast) var(--ease-enter),transform var(--t-fast) var(--ease-enter)}.card.interactive:hover{background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-1px)}.card.selected{background:var(--accent-wash);border-color:#0000;box-shadow:none;color:var(--wash-ink)}.card.selected .muted,.card.selected .muted-3{color:color-mix(in srgb,var(--wash-ink) 75%,#0000)}.card-footer{border-top:1px solid var(--border);color:var(--text-3);font-size:13px;margin-top:var(--s16);padding-top:var(--s12)}.tbl-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}table.tbl{border-collapse:collapse;font-size:14.5px;width:100%}.tbl thead th{background:var(--sunk);border-bottom:1px solid var(--border);color:var(--text-2);cursor:default;font-size:11.5px;font-weight:600;letter-spacing:.08em;padding:var(--s12) var(--s16);position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;-webkit-user-select:none;user-select:none}.tbl thead th.sortable{cursor:pointer}.tbl td.num,.tbl thead th.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.tbl tbody td{border-bottom:1px solid var(--border);color:var(--text);padding:var(--s12) var(--s16)}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr:hover td{background:var(--surface-hover)}.chip{align-items:center;background:var(--sunk);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-2);display:inline-flex;font-size:13px;font-weight:600;gap:6px;height:24px;padding:0 10px}.chip .dot{background:currentColor;border-radius:50%;height:7px;width:7px}.chip.good{border-color:color-mix(in srgb,var(--good) 40%,#0000);color:var(--good)}.chip.warn{border-color:color-mix(in srgb,var(--warn) 40%,#0000);color:var(--warn)}.chip.bad{border-color:color-mix(in srgb,var(--bad) 40%,#0000);color:var(--bad)}.segmented{background:var(--sunk);border:1px solid var(--border);border-radius:var(--r-pill);display:inline-flex;gap:2px;padding:3px}.segmented button{align-items:center;background:#0000;border:none;border-radius:var(--r-pill);color:var(--text-2);cursor:pointer;display:inline-flex;font:inherit;font-size:13px;font-weight:600;gap:6px;min-height:32px;padding:0 12px;transition:background var(--t-fast) var(--ease-enter),color var(--t-fast) var(--ease-enter)}.segmented button.active{background:var(--surface);color:var(--text)}.tabs{border-bottom:1px solid var(--border);display:flex;gap:var(--s20)}.tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-2);cursor:pointer;font:inherit;font-weight:600;margin-bottom:-1px;padding:var(--s12) 0;transition:color var(--t-base) var(--ease-enter),border-color var(--t-base) var(--ease-enter)}.tab.active{border-color:var(--accent);color:var(--text)}.crumbs{align-items:center;color:var(--text-3);display:flex;font-size:13px;gap:var(--s8)}.crumbs a{color:var(--text-2)}.pager{align-items:center;display:flex;gap:var(--s4)}.pager .pg{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);cursor:pointer;font:inherit;font-size:13px;height:36px;min-width:36px;padding:0 10px}.pager .pg.active{border-color:var(--border-strong);color:var(--text)}.pager .pg[disabled]{cursor:not-allowed;opacity:.4}.empty{align-items:center;border:1px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--text-2);display:flex;flex-direction:column;gap:var(--s16);padding:var(--s56) var(--s24);text-align:center}.empty .empty-icon{background:var(--sunk);border-radius:var(--r-md);color:var(--text-3);display:grid;height:44px;place-items:center;width:44px}.sk{background:var(--surface-hover);border-radius:var(--r-sm);overflow:hidden;position:relative}.sk:after{animation:sweep 1.4s var(--ease-enter) 1 both;background:linear-gradient(90deg,#0000,color-mix(in srgb,var(--text) 6%,#0000),#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes sweep{to{transform:translateX(100%)}}.sk-line{height:12px}.sk-title{height:20px;width:40%}.sk-card{border-radius:var(--r-lg);height:96px}.avatar,.initials{background:var(--sunk);border:1px solid var(--border);border-radius:50%;color:var(--text-2);display:grid;flex:none;font-size:13px;font-weight:600;height:32px;object-fit:cover;place-items:center;width:32px}.menu{position:relative}.menu-btn{background:#0000;border:1px solid #0000;border-radius:var(--r-sm);color:var(--text-2);cursor:pointer;display:grid;height:36px;place-items:center;width:36px}.menu-btn:hover{background:var(--surface-hover);color:var(--text)}.menu-pop{animation:pop var(--t-base) var(--ease-enter);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop);min-width:180px;padding:var(--s4);position:absolute;right:0;top:calc(100% + 6px);z-index:30}.menu-pop button{background:#0000;border:none;border-radius:var(--r-sm);color:var(--text);cursor:pointer;display:block;font:inherit;font-size:14.5px;padding:var(--s8) var(--s12);text-align:left;width:100%}.menu-pop button:hover{background:var(--surface-hover)}.overlay{animation:fade var(--t-slow) var(--ease-enter);background:#040a0c8c;display:flex;inset:0;position:fixed;z-index:40}.overlay.center{align-items:center;justify-content:center;padding:var(--s24)}.overlay.right{justify-content:flex-end}.modal{animation:modalIn var(--t-slow) var(--ease-enter);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);max-width:440px}.drawer,.modal{background:var(--surface);padding:var(--s24);width:100%}.drawer{animation:slide var(--t-slow) var(--ease-enter);border-left:1px solid var(--border-strong);height:100%;max-width:400px;overflow:auto}.drawer .actions,.modal .actions{display:flex;gap:var(--s12);margin-top:var(--s24)}.drawer .actions .btn,.modal .actions .btn{flex:1 1}.toast-wrap{bottom:var(--s24);display:flex;flex-direction:column;gap:var(--s8);right:var(--s24)}.toast{align-items:center;animation:toastIn var(--t-base) var(--ease-enter);background:var(--surface);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--r-md);box-shadow:var(--shadow-pop);color:var(--text);display:flex;gap:var(--s12);min-width:260px;padding:var(--s12) var(--s16)}.toast.good{border-left-color:var(--good)}.toast.bad{border-left-color:var(--bad)}.toast.warn{border-left-color:var(--warn)}.tip{display:inline-flex;position:relative}.tip .tip-body{background:var(--text);border-radius:var(--r-sm);bottom:calc(100% + 8px);color:var(--bg-shell);font-size:13px;font-weight:500;left:50%;opacity:0;padding:6px 10px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity var(--t-fast) var(--ease-enter);white-space:nowrap}.tip:focus-within .tip-body,.tip:hover .tip-body{opacity:1}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes modalIn{0%{opacity:0;transform:scale(.98)}}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}}@keyframes slide{0%{transform:translateX(16px)}}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}}.divider{background:var(--border);border:none;height:1px;margin:var(--s16) 0}.swatch{border:1px solid var(--border);border-radius:var(--r-md);height:56px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.right{text-align:right}.page-enter-fwd{animation:pageFwd var(--t-base) var(--ease-enter)}.page-enter-back{animation:pageBack var(--t-base) var(--ease-enter)}@keyframes pageFwd{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}@keyframes pageBack{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.page-enter-back,.page-enter-fwd{animation:none}}.nav-group-heading{color:var(--text-3);margin:20px 0 8px;padding:0 8px}.nav-group-heading:first-child{margin-top:8px}.status-chips{flex-wrap:wrap;gap:8px}.offline-banner,.status-chips{align-items:center;display:flex}.offline-banner{background:color-mix(in srgb,var(--warn) 14%,var(--surface));border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text);gap:var(--s8);margin-bottom:var(--s16);padding:var(--s12) var(--s16)}.offline-banner .dot{background:var(--warn);border-radius:999px;flex:none;height:8px;width:8px}.placeholder{margin:56px auto;max-width:460px;text-align:center}.placeholder .ph-icon{align-items:center;background:var(--sunk);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text-2);display:inline-flex;height:56px;justify-content:center;margin-bottom:var(--s16);width:56px}.sheet-list{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.sheet-item{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);display:flex;gap:var(--s12);min-height:56px;padding:var(--s12);text-decoration:none}.sheet-item .icon{color:var(--text-2)}.sheet-group-heading{color:var(--text-3);grid-column:1/-1;margin:12px 0 0}.install-btn{white-space:nowrap}.counter-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:900px){.counter-grid{align-items:start;grid-template-columns:1.4fr 1fr}}.counter-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:var(--s4);min-height:72px;padding:var(--s12);text-align:left}.counter-item:hover{background:var(--surface-hover)}.counter-item:disabled{cursor:not-allowed;opacity:.5}.cart-line{border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:8px 0}.cart-line,.qty{align-items:center;gap:8px}.qty{display:inline-flex}.qty button{height:36px;min-height:36px;min-width:36px;padding:0;width:36px}.toast-wrap{grid-gap:8px;bottom:88px;display:grid;gap:8px;left:50%;position:fixed;transform:translateX(-50%);z-index:60}@media (min-width:900px){.toast-wrap{bottom:24px}}.mnav a,.mnav button{align-items:center;background:none;border:none;color:var(--text-3);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:11px;gap:2px;justify-content:center;min-height:56px;padding:6px 4px;text-decoration:none}.mnav a.active,.mnav button.active{color:var(--accent)}.mnav a span,.mnav button span{font-weight:600;letter-spacing:.02em}.hide-mobile{display:none}@media (min-width:900px){.hide-mobile{display:inline-flex}}.cmd-fab{align-items:center;background:var(--accent);border:none;border-radius:50%;bottom:84px;box-shadow:var(--shadow-pop);color:var(--accent-ink);cursor:pointer;display:flex;height:54px;justify-content:center;position:fixed;right:var(--s16);transition:background var(--t-fast) var(--ease-enter),transform var(--t-fast) var(--ease-enter);width:54px;z-index:60}.cmd-fab:hover{background:var(--accent-hover);transform:translateY(-1px)}@media (min-width:900px){.cmd-fab{bottom:var(--s24);right:var(--s24)}}.cmd-panel{animation:rise var(--t-base) var(--ease-enter);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);bottom:84px;box-shadow:var(--shadow-pop);color:var(--text);padding:var(--s16);position:fixed;right:var(--s16);width:min(420px,calc(100vw - 32px));z-index:61}@media (min-width:900px){.cmd-panel{bottom:var(--s24);right:var(--s24)}}@keyframes cmd-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.cmd-head{justify-content:space-between;margin-bottom:var(--s8)}.cmd-head,.cmd-inputrow{align-items:center;display:flex}.cmd-inputrow{gap:var(--s8)}.cmd-inputrow .input{flex:1 1}.cmd-card{background:var(--sunk);border:1px solid var(--border);border-radius:var(--r-md);margin-top:var(--s12);padding:var(--s12)}.cmd-done{border-color:var(--good)}.App{min-height:100%}.sf{--sf-fontsize:16px;--sf-radius:14px;--sf-maxw:960px;-webkit-font-smoothing:antialiased;background:var(--sf-bg);color:var(--sf-fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100vh;padding-bottom:96px}.sf *,.sf :after,.sf :before{box-sizing:border-box}.sf[data-sf-theme=clean][data-sf-mode=light]{--sf-bg:#fdfdfc;--sf-surface:#fff;--sf-fg:#16161a;--sf-muted:#6b6b72;--sf-accent:#16161a;--sf-accent-fg:#fff;--sf-border:#e6e6e3}.sf[data-sf-theme=clean][data-sf-mode=dark]{--sf-bg:#141416;--sf-surface:#1d1d20;--sf-fg:#f5f5f4;--sf-muted:#a0a0a6;--sf-accent:#f5f5f4;--sf-accent-fg:#141416;--sf-border:#2c2c30}.sf[data-sf-theme=warm][data-sf-mode=light]{--sf-bg:#fbf3e8;--sf-surface:#fff9f0;--sf-fg:#3b2c1e;--sf-muted:#8a7358;--sf-accent:#c0552f;--sf-accent-fg:#fff9f0;--sf-border:#ead9c4}.sf[data-sf-theme=warm][data-sf-mode=dark]{--sf-bg:#241a12;--sf-surface:#2e2219;--sf-fg:#f3e4d2;--sf-muted:#b79c81;--sf-accent:#e08a5b;--sf-accent-fg:#241a12;--sf-border:#3e2f22}.sf[data-sf-theme=night][data-sf-mode=light]{--sf-bg:#edeef0;--sf-surface:#fff;--sf-fg:#0c0d0f;--sf-muted:#55575e;--sf-accent:#0c0d0f;--sf-accent-fg:#fff;--sf-border:#d5d7dc}.sf[data-sf-theme=night][data-sf-mode=dark]{--sf-bg:#0b0c0e;--sf-surface:#16181b;--sf-fg:#f2f3f5;--sf-muted:#9a9da6;--sf-accent:#f2f3f5;--sf-accent-fg:#0b0c0e;--sf-border:#24272c}.sf[data-sf-theme=fresh][data-sf-mode=light]{--sf-bg:#f2fbfc;--sf-surface:#fff;--sf-fg:#0c2529;--sf-muted:#4e7178;--sf-accent:#0aa7c2;--sf-accent-fg:#fff;--sf-border:#cfeaef}.sf[data-sf-theme=fresh][data-sf-mode=dark]{--sf-bg:#05191d;--sf-surface:#0c262b;--sf-fg:#e4f6f9;--sf-muted:#7fb3bc;--sf-accent:#16c7e6;--sf-accent-fg:#05191d;--sf-border:#123840}.sf-wrap{padding:16px}.sf-header,.sf-wrap{margin:0 auto;max-width:var(--sf-maxw)}.sf-header{align-items:center;display:flex;gap:12px;padding:18px 16px 8px}.sf-logo{background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:12px;height:44px;object-fit:cover;width:44px}.sf-shopname{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0}.sf-muted{color:var(--sf-muted)}.sf-card{background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:var(--sf-radius);overflow:hidden}.sf-img{background:var(--sf-border);display:block;object-fit:cover;width:100%}.sf-soldout{background:var(--sf-fg);border-radius:999px;color:var(--sf-bg);font-size:11px;font-weight:700;left:8px;letter-spacing:.04em;padding:3px 8px;position:absolute;text-transform:uppercase;top:8px}.sf-btn{-webkit-tap-highlight-color:transparent;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:999px;color:var(--sf-fg);cursor:pointer;font:inherit;font-weight:600;padding:10px 16px;transition:transform .08s ease,background-color .15s ease}.sf-btn:active{transform:scale(.97)}.sf-btn.primary{background:var(--sf-accent);border-color:#0000;color:var(--sf-accent-fg)}.sf-btn.block{font-size:16px;padding:14px 16px;width:100%}.sf-btn.ghost{background:#0000}.sf-btn:disabled{cursor:not-allowed;opacity:.5}.sf-chip{align-items:center;background:#0000;border:1px solid var(--sf-border);border-radius:999px;color:var(--sf-fg);cursor:pointer;display:inline-flex;font:inherit;font-size:13px;font-weight:600;gap:6px;padding:6px 11px}.sf-chip.on{background:var(--sf-accent);border-color:#0000;color:var(--sf-accent-fg)}.sf-swatch{border:1px solid #00000026;border-radius:50%;display:inline-block;height:12px;width:12px}.sf-price{font-weight:700}.sf-input{background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:12px;color:var(--sf-fg);font:inherit;padding:12px 14px;width:100%}.sf-input:focus{outline:2px solid var(--sf-accent);outline-offset:1px}.sf-label{display:block;font-size:13px;font-weight:600;margin:12px 0 6px}.sf-grid.counter{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:560px){.sf-grid.counter{grid-template-columns:1fr 1fr}}.sf-grid.counter .sf-img{aspect-ratio:4/3}.sf-grid.counter .sf-body{padding:14px}.sf-grid.counter .sf-name{font-size:18px;font-weight:700;margin:0 0 2px}.sf-grid.counter .sf-price{font-size:20px}.sf-grid.counter .sf-desc{font-size:14px;margin:6px 0 12px}.sf-grid.rack{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}@media (min-width:720px){.sf-grid.rack{grid-template-columns:repeat(4,1fr)}}.sf-grid.rack .sf-img{aspect-ratio:1/1}.sf-grid.rack .sf-body{padding:9px}.sf-grid.rack .sf-name{font-size:13px;font-weight:600;line-height:1.25;margin:0}.sf-grid.rack .sf-price{font-size:14px;margin-top:2px}.sf-grid.rack .sf-vars{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.sf-grid.rack .sf-vtag{border:1px solid var(--sf-border);border-radius:6px;color:var(--sf-muted);font-size:11px;padding:2px 6px}.sf-single .sf-hero{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr}@media (min-width:720px){.sf-single .sf-hero{grid-template-columns:1.1fr 1fr}}.sf-single .sf-hero .sf-img{aspect-ratio:1/1;height:100%}.sf-single .sf-hero-body{display:flex;flex-direction:column;justify-content:center;padding:24px}.sf-single .sf-name{font-size:30px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px}.sf-single .sf-price{font-size:24px;margin-bottom:12px}.sf-single .sf-story{color:var(--sf-muted);font-size:16px;line-height:1.6;margin:0 0 20px}.sf-single .sf-rest-title{color:var(--sf-muted);font-size:14px;font-weight:700;letter-spacing:.05em;margin:28px 0 12px;text-transform:uppercase}.sf-single .sf-rest{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}@media (min-width:560px){.sf-single .sf-rest{grid-template-columns:repeat(3,1fr)}}.sf-single .sf-rest .sf-img{aspect-ratio:1/1}.sf-single .sf-rest .sf-body{padding:9px}.sf-single .sf-rest .sf-name{font-size:13px;font-weight:600}.sf-bar{background:var(--sf-surface);border-top:1px solid var(--sf-border);bottom:0;left:0;padding:12px 16px;position:fixed;right:0;z-index:20}.sf-bar-in{margin:0 auto;max-width:var(--sf-maxw)}.sf-bar-in,.sf-row-between{align-items:center;display:flex;gap:12px}.sf-row-between{justify-content:space-between}.sf-qty{gap:12px}.sf-qty,.sf-qtybtn{align-items:center;display:inline-flex}.sf-qtybtn{border-radius:50%;height:32px;justify-content:center;width:32px}.sf-stack>*+*{margin-top:12px}.sf-divider{background:var(--sf-border);height:1px;margin:12px 0}.sf-center{padding:64px 20px;text-align:center}.sf-back{align-items:center;background:none;border:none;color:var(--sf-muted);cursor:pointer;display:inline-flex;font:inherit;font-weight:600;gap:6px;padding:8px 0}.sf-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.sf-thumbs img{border:1px solid var(--sf-border);border-radius:10px;height:64px;object-fit:cover;width:64px}.studio-grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:1fr}@media (min-width:900px){.studio-grid{align-items:start;grid-template-columns:380px 1fr}}.studio-preview{position:-webkit-sticky;position:sticky;top:16px}.sf-preview-frame{border:1px solid #e5e5e5;border:1px solid var(--border,#e5e5e5);border-radius:16px;max-height:620px;overflow:hidden;overflow-y:auto}.pick-row{align-items:center;background:#0000;border:1px solid #e5e5e5;border:1px solid var(--border,#e5e5e5);border-radius:12px;color:inherit;cursor:pointer;display:flex;font:inherit;gap:12px;justify-content:space-between;padding:14px 16px;text-align:left;width:100%}.pick-row.on{border-color:currentColor;box-shadow:inset 0 0 0 1px currentColor}.swatch-btn{align-items:center;background:#0000;border:1px solid #e5e5e5;border:1px solid var(--border,#e5e5e5);border-radius:999px;color:inherit;cursor:pointer;display:inline-flex;font:inherit;font-weight:600;gap:8px;padding:9px 14px}.swatch-btn.on{box-shadow:inset 0 0 0 2px currentColor}.swatch-dot{border:1px solid #00000026;border-radius:50%;display:inline-block;height:16px;width:16px}.pill{background:#0000;border:1px solid #e5e5e5;border:1px solid var(--border,#e5e5e5);border-radius:999px;color:inherit;cursor:pointer;font:inherit;font-weight:600;padding:8px 16px}.pill.on{background:#16161a;border-color:#16161a;color:#fff}.link-btn{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;font-weight:600;gap:4px;opacity:.8;text-decoration:underline}
/*# sourceMappingURL=main.7cd2104b.css.map*/