:root{--bg:#e7ece9;--panel:#f6f8f7;--tile:#fff;--ink:#16221e;--muted:#5b6a64;--line:#d2dbd6;--line-strong:#b6c3bd;--line-field:#82918b;--pine:#1e4a3b;--pine-soft:#e0ebe5;--berry:#a8192e;--berry-hover:#8f1426;--stage:#121916;--stage-ink:#e8eee9;--stage-muted:#9fb0a8;--amber:#f3c76d;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Bricolage Grotesque Variable,ui-sans-serif,system-ui,sans-serif;font-size:15px;line-height:1.45}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--pine);outline-offset:2px}[hidden]{display:none!important}.app{grid-template-columns:minmax(340px,400px) 1fr;height:100dvh;display:grid}.side{background:var(--panel);border-right:1px solid var(--line);min-height:0;overflow-y:auto}.masthead{padding:22px 24px 0}.panel{padding:0 24px 48px}.stage{background:var(--stage);color:var(--stage-ink);position:relative;overflow:hidden}.stage canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.brand{align-items:center;gap:12px;margin-bottom:8px;display:flex}.brand a{color:inherit;text-decoration:none;display:flex}.logo{flex:none;width:38px;height:38px}.logo path{fill:var(--berry)}.logo circle{fill:var(--panel)}.brand h1{letter-spacing:-.02em;font-variation-settings:"wdth" 90;margin:0;font-size:22px;font-weight:720;line-height:1.15}.brand p{color:var(--muted);margin:2px 0 0;font-size:13.5px}.deadline{background:var(--pine-soft);color:var(--pine);border-radius:999px;margin:6px 0 0;padding:5px 12px;font-size:13.5px;font-weight:650;display:inline-block}.deadline.soon{color:var(--berry);background:#fbe9eb}section{margin-top:26px}h2{letter-spacing:-.005em;margin:0 0 10px;font-size:15px;font-weight:650}.hint{color:var(--muted);margin:8px 0 0;font-size:13px}.hint.warn{color:var(--berry)}.section-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.section-head h2{margin:0}.chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chips button{border:1px solid var(--line);background:var(--tile);color:var(--muted);border-radius:999px;padding:4px 11px;font-size:13.5px}.chips button:hover{border-color:var(--line-strong);color:var(--ink)}.chips button[aria-pressed=true]{border-color:var(--pine);background:var(--pine);color:#fff}.designs{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.design{background:var(--tile);border:1px solid var(--line);text-align:center;border-radius:12px;grid-template-rows:1fr auto;gap:4px;padding:10px 6px 7px;transition:border-color .15s;display:grid}.design svg{aspect-ratio:1;filter:drop-shadow(0 1px .5px #16221e2e);width:100%}.design span{color:var(--muted);font-size:12px;line-height:1.2}.design:hover{border-color:var(--line-strong)}.design[aria-pressed=true]{border-color:var(--pine);box-shadow:inset 0 0 0 1px var(--pine);background:var(--pine-soft)}.design[aria-pressed=true] span{color:var(--pine);font-weight:600}.show-all{border:1px dashed var(--line-strong);width:100%;color:var(--pine);background:0 0;border-radius:10px;margin-top:8px;padding:9px 12px;font-size:14px;font-weight:600;display:block}.show-all:hover{background:var(--tile);border-style:solid}.shop-colors{gap:14px;display:grid}.tone-label{justify-content:space-between;gap:8px;margin:0 0 7px;font-size:14px;display:flex}.tone-label span{color:var(--muted)}.tones,.pairs{flex-wrap:wrap;gap:6px;display:flex}.tone{background:var(--c);border:0;border-radius:50%;width:32px;height:32px;padding:0;box-shadow:inset 0 0 0 1px #16221e29,inset 0 -5px 8px #0000001a}.tone[aria-pressed=true],.pair[aria-pressed=true]{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--pine)}.pair{background:var(--b);min-width:46px;height:32px;color:var(--a);letter-spacing:-.01em;text-shadow:0 1px 1px #00000047;border:0;border-radius:8px;padding:0 10px;font-size:16px;font-weight:750;box-shadow:inset 0 0 0 1px #16221e29}textarea{background:var(--tile);border:1px solid var(--line-field);resize:vertical;border-radius:10px;width:100%;padding:10px 12px;font-size:19px;line-height:1.3;display:block}textarea:focus{border-color:var(--pine);outline:none;box-shadow:0 0 0 3px #1e4a3b26}#names{font-size:16px;line-height:1.45}.tiers{margin-top:14px}.tiers-title{color:var(--muted);margin:0 0 6px;font-size:13px;font-weight:600}.tier-list{flex-wrap:wrap;gap:6px;display:flex}.tier{border:1px solid var(--line);background:var(--tile);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;gap:4px;padding:3px 9px;font-size:12.5px;display:inline-flex}.tier b{font-weight:650}.tier[aria-current=true]{border-color:var(--pine);background:var(--pine);color:#fff}.fonts{grid-template-columns:1fr 1fr;gap:6px;max-height:292px;margin:-2px -4px 0 -2px;padding:2px 4px 2px 2px;display:grid;overflow-y:auto}.font{background:var(--tile);border:1px solid var(--line);text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:8px 10px 7px;display:flex}.font .sample{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:22px;line-height:1.35;overflow:hidden}.font .name{color:var(--muted);font-size:11.5px}.font:hover{border-color:var(--line-strong)}.font[aria-pressed=true]{border-color:var(--pine);box-shadow:inset 0 0 0 1px var(--pine);background:var(--pine-soft)}.font[aria-disabled=true]{cursor:not-allowed}.font[aria-disabled=true]:not([aria-pressed=true]):hover{border-color:var(--line)}.font[aria-disabled=true] .sample{opacity:.3}.font .lacks{color:var(--berry)}.upload{color:var(--pine);cursor:pointer;margin-top:10px;font-size:13.5px;display:inline-block}.upload input{opacity:0;width:1px;height:1px;position:absolute}.upload span{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.upload:focus-within span{outline:2px solid var(--pine);outline-offset:2px}.styles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.style{background:var(--tile);border:1px solid var(--line);border-radius:10px;justify-items:center;gap:2px;padding:8px 4px 7px;font-size:13.5px;display:grid}.style svg{width:48px;height:24px}.style .slab{fill:#c9d3ce}.style .ink{fill:var(--berry)}.style[aria-pressed=true]{border-color:var(--pine);box-shadow:inset 0 0 0 1px var(--pine);background:var(--pine-soft)}.style[aria-pressed=true] .slab{fill:var(--pine);opacity:.35}.style:disabled{opacity:.4;cursor:not-allowed}.size-tiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.size-tile{background:var(--tile);border:1px solid var(--line);border-radius:10px;justify-items:center;padding:8px 4px;line-height:1.25;display:grid}.size-tile b{letter-spacing:-.01em;font-size:20px;font-weight:700}.size-tile span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}.size-tile .price{color:var(--ink);margin-top:3px;font-size:13.5px;font-weight:600}.size-tile:hover{border-color:var(--line-strong)}.size-tile[aria-pressed=true]{border-color:var(--pine);box-shadow:inset 0 0 0 1px var(--pine);background:var(--pine-soft)}.size-tile[aria-pressed=true] b{color:var(--pine)}.fields{gap:14px;display:grid}.field{grid-template-columns:1fr auto;align-items:baseline;row-gap:4px;display:grid}.field label{font-size:14px}.field .value{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13.5px}.field input{grid-column:1/-1}input[type=range]{--p:50%;appearance:none;cursor:pointer;background:0 0;width:100%;height:22px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--pine) var(--p), var(--line) var(--p));border-radius:2px;height:4px}input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--pine) var(--p), var(--line) var(--p));border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--tile);border:2px solid var(--pine);border-radius:50%;width:18px;height:18px;margin-top:-7px;box-shadow:0 1px 2px #00000026}input[type=range]::-moz-range-thumb{background:var(--tile);border:2px solid var(--pine);border-radius:50%;width:14px;height:14px}input[type=range]:focus-visible{outline:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #1e4a3b33}.size-field{align-items:center}.num{color:var(--muted);align-items:baseline;gap:4px;font-size:13.5px;display:inline-flex}.num input{border:1px solid var(--line-field);background:var(--tile);width:58px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;border-radius:7px;padding:3px 6px;font-size:15px;font-weight:600}.num input:focus{border-color:var(--pine);outline:none;box-shadow:0 0 0 3px #1e4a3b26}.size-field .seg{grid-column:1/-1;justify-self:start}.seg.seg-light{background:#e3e9e6}.seg.seg-light button{color:var(--muted);padding:4px 12px;font-size:13.5px}.seg.seg-light button[aria-pressed=true]{background:var(--tile);color:var(--ink);box-shadow:0 1px 2px #16221e1f}.toggles{gap:10px;margin-top:16px;display:grid}.switch{cursor:pointer;justify-content:space-between;align-items:center;font-size:14px;display:flex}.switch input{appearance:none;background:var(--line-strong);cursor:pointer;border-radius:10px;width:36px;height:20px;margin:0;transition:background .15s;position:relative}.switch input:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.switch input:checked{background:var(--pine)}.switch input:checked:after{transform:translate(16px)}.more{border-top:1px solid var(--line);margin-top:26px;padding-top:14px}.more summary{cursor:pointer;align-items:center;gap:8px;font-weight:650;list-style:none;display:flex}.more summary::-webkit-details-marker{display:none}.more summary:before{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transition:transform .15s;transform:rotate(-45deg)}.more[open] summary:before{transform:rotate(45deg)}.more .fields{margin-top:16px}.product-notes{color:var(--muted);margin:12px 0 0;padding-left:18px;font-size:13px;line-height:1.5}.product-notes li+li{margin-top:6px}#product-info .hint a{color:inherit}.link{color:var(--pine);text-underline-offset:3px;background:0 0;border:0;margin-top:18px;padding:0;font-size:13.5px;text-decoration:underline}.stage-top{pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:16px;left:16px;right:16px}.stage-top>*{pointer-events:auto}.top-right{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.readout{font-variant-numeric:tabular-nums;letter-spacing:.01em;background:#ffffff12;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:14px;display:flex}.busy-dot{background:var(--stage-muted);opacity:.5;border-radius:50%;width:7px;height:7px}.busy .busy-dot{background:var(--amber);opacity:1;animation:.9s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}.views{background:#ffffff12;border-radius:999px;padding:3px;display:flex}.views button{color:var(--stage-muted);background:0 0;border:0;border-radius:999px;padding:4px 12px;font-size:13.5px}.views button[aria-pressed=true]{color:var(--stage-ink);background:#ffffff24}.messages{pointer-events:none;gap:6px;max-width:min(440px,100% - 32px);display:grid;position:absolute;top:58px;left:16px}.messages p{color:var(--amber);background:#f3c76d24;border-radius:10px;margin:0;padding:7px 12px;font-size:13.5px}.set-grid{left:16px;right:16px;top:var(--inset-top,64px);bottom:var(--inset-bottom,96px);grid-template-columns:repeat(auto-fill,minmax(128px,1fr));align-content:start;gap:10px;padding:2px;display:grid;position:absolute;overflow-y:auto}.stage.grid canvas,.stage.grid .messages{visibility:hidden}.set-summary{color:var(--stage-muted);grid-column:1/-1;margin:0 0 2px;font-size:13.5px}.set-summary .flagged{color:var(--amber)}.set-empty{max-width:300px;color:var(--stage-muted);text-align:center;grid-column:1/-1;margin:18vh auto 0}.set-card{min-width:0;color:var(--stage-ink);background:#ffffff0d;border:0;border-radius:12px;align-content:start;justify-items:center;gap:5px;padding:10px 8px 9px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0f}.set-card:hover{background:#ffffff17}.set-card[aria-pressed=true]{box-shadow:inset 0 0 0 2px #ffffff80}.set-card svg,.set-pending{aspect-ratio:1;width:100%}.set-card svg{filter:drop-shadow(0 2px 3px #00000059)}.set-pending{background:#ffffff0a;border-radius:10px}.set-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13.5px;font-weight:600;overflow:hidden}.set-issue{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11.5px}.set-issue.warn{color:var(--amber);background:#f3c76d24}.set-issue.error{color:#ffa3a3;background:#ff787829}.dock{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e1412d1;border:1px solid #ffffff12;border-radius:16px;align-items:center;gap:18px;padding:12px 14px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.color-count{color:var(--stage-muted);align-items:center;gap:10px;font-size:14px;display:flex}.seg{background:#ffffff0f;border-radius:10px;padding:3px;display:flex}.seg button{min-width:32px;color:var(--stage-muted);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:7px;padding:4px 10px}.seg button[aria-pressed=true]{color:var(--stage-ink);background:#ffffff29}.slots{flex:1;gap:6px;min-width:0;display:flex;overflow-x:auto}.slot{color:var(--stage-ink);white-space:nowrap;background:#ffffff0d;border:0;border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 5px;font-size:14px;display:flex}.slot:hover{background:#ffffff1a}.slot-name{text-align:left;line-height:1.2;display:grid}.spool{background:var(--c);border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff2e,inset 0 -6px 10px #0000002e}.spool b{width:15px;height:15px;color:var(--stage-ink);background:#0e1412c7;border-radius:50%;place-items:center;font-size:10.5px;font-weight:650;display:grid}.actions{align-items:center;gap:8px;display:flex}.offer{justify-items:end;margin-right:6px;line-height:1.2;display:grid}.offer .price{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.offer .ship{color:var(--stage-muted);white-space:nowrap;font-size:12.5px}.offer .ship .short{display:none}.app.shop .dock{left:auto}.offer .each{color:var(--stage-muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:7px;font-size:13px}.primary,.ghost{white-space:nowrap;border-radius:10px;padding:9px 16px;font-weight:600}.primary{background:var(--berry);color:#fff;border:0}.primary:not(:disabled):hover{background:var(--berry-hover)}.primary:disabled{color:var(--stage-muted);cursor:not-allowed;background:#ffffff1a}.ghost{color:var(--stage-ink);background:0 0;border:1px solid #ffffff2e}.ghost:hover{background:#ffffff12}.actions .cart-link{flex:none;place-items:center;width:42px;height:40px;padding:0;text-decoration:none;display:inline-grid;position:relative}.cart-count{background:var(--amber);color:#1c1a14;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;line-height:18px;position:absolute;top:-6px;right:-6px}.cart-count:empty{display:none}.dock :focus-visible{outline-color:var(--amber)}.popover{background:#1b2420;border:1px solid #ffffff1a;border-radius:14px;width:252px;padding:12px;position:absolute;bottom:calc(100% + 10px);box-shadow:0 16px 40px #00000073}.swatches{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.swatch{aspect-ratio:1;background:var(--c);border:0;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff26}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px #1b2420, 0 0 0 4px var(--stage-ink)}.custom{color:var(--stage-muted);cursor:pointer;align-items:center;gap:8px;margin-top:12px;font-size:13.5px;display:flex}.custom input{cursor:pointer;background:0 0;border:0;border-radius:50%;width:28px;height:28px;padding:0}.custom input::-webkit-color-swatch-wrapper{padding:0}.custom input::-webkit-color-swatch{border:1px solid #fff3;border-radius:50%}@media (width<=1100px){.dock{flex-wrap:wrap}.slots{flex-basis:100%;order:3}.actions{margin-left:auto}}@media (width<=860px){:root{--stage-h:clamp(240px, 42svh, 420px);scroll-padding-top:calc(var(--stage-h) + 12px)}.app{flex-direction:column;height:auto;display:flex}.side{display:contents}.masthead{background:var(--panel);order:0;padding:14px 16px 12px}.logo{width:32px;height:32px}.brand h1{font-size:20px}.stage{z-index:2;height:var(--stage-h);flex:none;order:1;position:sticky;top:0}.panel{background:var(--panel);padding:0 16px calc(var(--dock-h,72px) + 32px);order:2}.panel section:first-child{margin-top:20px}.stage-top{top:10px;left:10px;right:10px}.readout{white-space:nowrap;padding:5px 10px;font-size:13px}.views button{padding:4px 10px}.messages{top:48px;left:10px}.dock,.app.shop .dock{z-index:3;padding:10px 16px max(10px, env(safe-area-inset-bottom));background:#0e1412f0;border-width:1px 0 0;border-radius:18px 18px 0 0;gap:8px 10px;position:fixed;bottom:0;left:0;right:0}.color-count>span{display:none}.slots{flex:1 1 0;order:0}.actions{flex:100%;margin-left:0}.app:not(.shop) .actions button{flex:1;padding:8px 12px}.offer{flex:auto;justify-items:start;min-width:0;margin-right:0}.offer .price{font-size:19px}.offer .each{margin-left:0;font-size:12px;display:block}.offer .each:empty{display:none}.offer .ship{font-size:12px}.offer .ship .long{display:none}.offer .ship .short{display:inline}.actions .cart-link{width:46px;height:46px}.app.shop .actions .primary{flex:none;padding:13px 18px;font-size:15.5px}.spool{width:26px;height:26px}}@media (width<=480px){.slot-name{display:none}.set-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;left:8px;right:8px}.set-card{padding:8px 6px 7px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
