:root{--ink:#111;--paper:#f6f3ec;--signal:#f3e3a1;--stone:#8a8a88;--moss:#2e3b30;--wood:#7b4a26;--accent:#fd6c40;--line:#e2ddd2;--font-display:"Unbounded", "Arial Black", system-ui, sans-serif;--font-text:"Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.25rem;--motion-fast:.18s;--motion-base:.32s;--motion-slow:.64s;--easing:cubic-bezier(.2, 0, .1, 1)}@media (prefers-reduced-motion:reduce){:root{--motion-fast:1ms;--motion-base:1ms;--motion-slow:1ms}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-text);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}.app{background:var(--paper);min-height:100dvh;color:var(--ink);padding-bottom:calc(64px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.topbar{z-index:10;background:var(--paper);border-bottom:1px solid var(--line);padding:var(--space-4) var(--space-4) var(--space-2);position:sticky;top:0}.topbar h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.25rem}.topbar .place{color:var(--stone);margin:2px 0 0;font-size:.85rem}.ribbon{gap:var(--space-2);padding:var(--space-3) var(--space-4);scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.ribbon::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;transition:background var(--motion-fast) var(--easing);background:0 0;border-radius:999px;flex:none;padding:8px 14px;font-size:.9rem}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.list{background:var(--line);margin:0 0 var(--space-8);flex-direction:column;gap:1px;display:flex}.card{justify-content:space-between;align-items:baseline;gap:var(--space-4);background:var(--paper);width:100%;color:inherit;font:inherit;text-align:left;padding:var(--space-4);cursor:pointer;border:0;display:flex}.card:active{background:#efebe1}.card h3{margin:0 0 2px;font-size:1rem;font-weight:600}.card p{color:var(--stone);margin:0;font-size:.85rem;line-height:1.35}.card .from{font-family:var(--font-display);white-space:nowrap;flex:none;font-weight:700}.sheet-backdrop{z-index:20;background:#11111159;border:0;padding:0;position:fixed;inset:0}.sheet{z-index:21;background:var(--paper);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:88dvh;animation:rise var(--motion-base) var(--easing);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}@keyframes rise{0%{transform:translateY(12%)}}.sheet-handle{background:var(--line);width:36px;height:4px;margin:var(--space-3) auto var(--space-2);border-radius:2px}.sheet-body{padding:0 var(--space-4) var(--space-4);overflow-y:auto}.sheet h2{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:1.35rem}.sheet .lead{margin:0 0 var(--space-6);color:var(--stone);font-size:.9rem}.group{margin-bottom:var(--space-6)}.group h4{margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.06em;color:var(--stone);font-size:.8rem}.options{gap:var(--space-2);flex-wrap:wrap;display:flex}.option{border:1px solid var(--line);color:var(--ink);border-radius:var(--radius-sm);font:inherit;cursor:pointer;background:0 0;padding:10px 12px;font-size:.9rem}.option[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.option .delta{color:var(--stone);margin-left:6px;font-size:.82rem}.option[aria-pressed=true] .delta{color:var(--ink)}.primary{border-radius:var(--radius-md);background:var(--ink);width:100%;color:var(--paper);font:inherit;cursor:pointer;border:0;padding:16px;font-size:1.05rem;font-weight:600;display:block}.primary:disabled{opacity:.4;cursor:default}.primary.accent{background:var(--accent);color:#fff}.sheet-footer{padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.qty{align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.qty button{border-radius:var(--radius-sm);border:1px solid var(--line);width:40px;height:40px;font:inherit;cursor:pointer;background:0 0;font-size:1.2rem}.qty span{text-align:center;min-width:2ch;font-weight:600}.bar{left:var(--space-4);right:var(--space-4);bottom:calc(72px + env(safe-area-inset-bottom));z-index:15;position:fixed}.rows{flex-direction:column;display:flex}.row{justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--line);display:flex}.row .mods{color:var(--stone);margin-top:2px;font-size:.82rem}.row .price{white-space:nowrap;font-weight:600}.screen{padding:var(--space-4)}.total{margin:var(--space-4) 0;font-family:var(--font-display);justify-content:space-between;align-items:baseline;font-size:1.2rem;font-weight:700;display:flex}.await{text-align:center;place-content:center;gap:var(--space-4);padding:var(--space-8) var(--space-4);flex:1;display:grid}.await .label{color:var(--stone);letter-spacing:.04em;text-transform:uppercase;font-size:.9rem}.await .number{font-family:var(--font-display);font-size:clamp(4rem,28vw,8rem);font-weight:800;line-height:.9}.await .status{font-size:1.1rem;font-weight:600}.await .eta{color:var(--stone)}.await.ready .spot{min-width:120px;padding:var(--space-4) var(--space-6);background:var(--signal);border-radius:var(--radius-md);place-content:center;display:inline-grid}.await.ready .spot .cell{font-family:var(--font-display);font-size:3.5rem;font-weight:800;line-height:1}.await.ready .spot .caption{text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.nav{z-index:18;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.nav button{color:var(--stone);font:inherit;cursor:pointer;background:0 0;border:0;padding:10px 0 12px;font-size:.78rem}.nav button[aria-current=page]{color:var(--ink);font-weight:600}.nav .badge{background:var(--accent);color:#fff;border-radius:9px;min-width:18px;margin-left:4px;padding:0 5px;font-size:.7rem;line-height:18px;display:inline-block}.field{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--ink);margin-bottom:var(--space-3);background:0 0;padding:14px;font-size:1.05rem}.note{color:var(--stone);font-size:.85rem;line-height:1.45}.error{color:var(--accent);margin:var(--space-2) 0;font-size:.9rem}.muted-screen{place-content:center;gap:var(--space-2);text-align:center;padding:var(--space-8) var(--space-4);color:var(--stone);display:grid}.outcomes{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.outcome{border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;text-align:left;cursor:pointer;color:var(--ink);background:0 0;padding:14px}.outcome b{display:block}.outcome span{color:var(--stone);font-size:.85rem}.home{gap:var(--space-6);padding-bottom:var(--space-8);flex-direction:column;display:flex}.hero{aspect-ratio:16/9;background:var(--line);max-height:34dvh}.block{padding:0 var(--space-4)}.block-title{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:1.05rem}.active-row{align-items:center;gap:var(--space-4);border:2px solid var(--ink);border-radius:var(--radius-md);width:100%;color:inherit;font:inherit;text-align:left;padding:var(--space-4);cursor:pointer;margin-bottom:var(--space-2);background:#efeade;display:flex}.active-row.is-ready{background:var(--signal);border-color:var(--ink)}.active-row .num{font-family:var(--font-display);white-space:nowrap;font-size:2rem;font-weight:800;line-height:1}.active-row .mid{flex-direction:column;flex:1;min-width:0;display:flex}.active-row .st{font-size:1.05rem;font-weight:700}.active-row .sub{color:var(--stone);font-size:.85rem}.active-row .chev{color:var(--stone);font-size:1.4rem;line-height:1}.repeats{gap:var(--space-2);flex-direction:column;display:flex}.repeat{justify-content:space-between;align-items:baseline;gap:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);width:100%;color:inherit;font:inherit;text-align:left;padding:var(--space-3) var(--space-4);cursor:pointer;background:0 0;display:flex}.repeat .what{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.repeat .sum{white-space:nowrap;flex:none;font-weight:700}.repeat:disabled{opacity:.5}.cart-btn{border-radius:var(--radius-md);background:var(--accent);color:#fff;width:100%;font:inherit;cursor:pointer;border:0;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;display:flex}.cart-count{opacity:.9;font-size:.8rem}.cart-sum{font-family:var(--font-display);font-size:1.2rem;font-weight:700;line-height:1.1}.nav{grid-template-columns:repeat(4,1fr)}.cart-line{padding:var(--space-4) 0;align-items:flex-start}.cart-main{flex:1;min-width:0}.cart-name{font-size:1.05rem;font-weight:600}.parts{margin:var(--space-2) 0 0;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.parts li{justify-content:space-between;gap:var(--space-3);color:var(--stone);font-size:.88rem;display:flex}.parts .part-price{white-space:nowrap;color:var(--ink)}.cart-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.cart-actions .qty{margin-bottom:0}.card.gone,.option.gone{opacity:.45;cursor:not-allowed}.card.gone h3{text-decoration:line-through}.card.gone .from,.option.gone .delta{font-family:var(--font-text);color:var(--stone);text-transform:lowercase;font-size:.8rem;font-weight:400}.option.gone{text-decoration:line-through}.cart-line.gone{border-left:3px solid var(--accent);padding-left:var(--space-3)}.gone-note{margin:2px 0 var(--space-2);color:var(--accent);font-size:.85rem}.cancel-own{gap:var(--space-2);justify-items:center;display:grid}.cancel-row{gap:var(--space-2);display:flex}.chip.danger{border-color:var(--accent);color:var(--accent)}.refund{gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);text-align:left;display:grid}.refund .why{font-weight:600}.refund .sum{color:var(--stone);font-size:.9rem;line-height:1.4}.install{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px dashed var(--line);border-radius:var(--radius-md);text-align:left;display:flex}.install-text{color:var(--stone);flex:1;font-size:.85rem;line-height:1.45}.install-text b{color:var(--ink);white-space:nowrap;font-weight:600}
