:root{--ink: #2b2230;--ink-soft: #6d6272;--glass: rgba(255, 252, 249, .72);--glass-edge: rgba(255, 255, 255, .9);--accent: #ff7aa8;--accent-2: #8f7cff;--shadow: 0 1.2vmin 4vmin rgba(60, 30, 50, .16);--r: 2.2vmin;--safe: 3.2vmin;font-family:Nunito,system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#f3ece6}#stage{position:fixed;inset:0;width:100vw;height:100vh;display:block;outline:none}[hidden]{display:none!important}.glass{background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border:1px solid var(--glass-edge);box-shadow:var(--shadow);border-radius:var(--r)}#hud{position:fixed;top:var(--safe);left:var(--safe);right:var(--safe);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2vmin;pointer-events:none}#hud .title{font-weight:900;font-size:clamp(16px,2.6vmin,40px);letter-spacing:.01em}#hud .count{justify-self:end;font-weight:800;font-size:clamp(14px,2vmin,30px);color:var(--ink-soft)}.progress{padding:1.1vmin 2.4vmin;min-width:34vmin;text-align:center}.progress{background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:99px;box-shadow:var(--shadow);border:1px solid var(--glass-edge)}.where{font-weight:800;font-size:clamp(14px,2.2vmin,34px)}.where .dot{margin:0 .8vmin;color:var(--ink-soft)}.bar{height:.8vmin;min-height:5px;border-radius:99px;background:#00000014;margin-top:.8vmin;overflow:hidden}.bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .4s cubic-bezier(.2,.8,.2,1)}#dock{position:fixed;left:var(--safe);right:var(--safe);bottom:calc(var(--safe) + 2.4vmin);display:flex;align-items:flex-end;justify-content:space-between;gap:2vmin;pointer-events:none}#tray{display:flex;gap:1.6vmin;padding:1.4vmin;pointer-events:auto;min-height:17vmin}#tray:empty{visibility:hidden}#tray{background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--glass-edge)}.piece{position:relative;width:15vmin;height:15vmin;min-width:84px;min-height:84px;border-radius:1.6vmin;background:#ffffffa6;border:.35vmin solid transparent;cursor:pointer;transition:transform .16s cubic-bezier(.3,1.6,.5,1),border-color .12s,box-shadow .16s;display:grid;place-items:center;padding:0}.piece img{width:88%;height:88%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 .6vmin .8vmin rgba(0,0,0,.18))}.piece .qty{position:absolute;left:.8vmin;top:.5vmin;font-weight:900;font-size:clamp(14px,2.4vmin,36px)}.piece.focus{transform:translateY(-1vmin) scale(1.08);border-color:var(--accent);box-shadow:0 0 0 .6vmin #ff7aa840,var(--shadow)}.piece:hover{transform:translateY(-.6vmin) scale(1.04)}.piece.pop{animation:pop .26s cubic-bezier(.3,1.6,.5,1)}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}#prompts{display:flex;gap:1.2vmin;flex-wrap:wrap;justify-content:flex-end;max-width:46vw;pointer-events:none}.prompt{display:flex;align-items:center;gap:.8vmin;padding:.8vmin 1.4vmin .8vmin .9vmin;border-radius:99px;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);font-weight:800;font-size:clamp(12px,1.8vmin,28px)}.glyph{display:inline-grid;place-items:center;min-width:3.4vmin;height:3.4vmin;min-height:22px;min-width:22px;padding:0 .6vmin;border-radius:99px;color:#fff;font-weight:900;font-size:clamp(11px,1.7vmin,26px);background:#555}.glyph.a{background:#4caf50}.glyph.b{background:#e5484d}.glyph.x{background:#3b82f6}.glyph.y{background:#f2b705}.glyph.key{background:#fff;color:var(--ink);border:1px solid rgba(0,0,0,.15);border-radius:.8vmin}.overlay{position:fixed;inset:0;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .4s}.overlay.show{opacity:1;pointer-events:auto}#home{background:radial-gradient(120% 90% at 50% 10%,#fff7f2,#f6e7ee 55%,#e9e1f6);align-content:center;gap:2vmin}.brand{font-size:clamp(42px,11vmin,180px);font-weight:900;letter-spacing:-.03em;line-height:1;text-align:center}.brand span{background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.tag{text-align:center;color:var(--ink-soft);font-size:clamp(16px,2.8vmin,44px);margin:0 0 3vmin;font-weight:700}#models{display:flex;gap:3vmin;justify-content:center;flex-wrap:wrap;padding:2vmin}.model{width:30vmin;min-width:180px;padding:2.4vmin;border-radius:var(--r);background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:.4vmin solid transparent;box-shadow:var(--shadow);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:transform .18s cubic-bezier(.3,1.6,.5,1),border-color .15s}.model h2{margin:0 0 .6vmin;font-size:clamp(18px,3vmin,46px);font-weight:900}.model p{margin:0;color:var(--ink-soft);font-weight:700;font-size:clamp(13px,1.9vmin,30px)}.model.focus,.model:hover{transform:translateY(-1vmin) scale(1.04);border-color:var(--accent)}.hint{text-align:center;color:var(--ink-soft);font-weight:700;font-size:clamp(13px,1.9vmin,30px)}#bag{background:#f3ece659}.bagcard{padding:4vmin 7vmin;text-align:center;transform:scale(.8);transition:transform .5s cubic-bezier(.3,1.6,.5,1);background:linear-gradient(160deg,#ffffffe6,#fff0f6d9);border-radius:4vmin;box-shadow:var(--shadow)}#bag.show .bagcard{transform:scale(1)}.bagnum{font-size:clamp(60px,20vmin,300px);font-weight:900;line-height:1;background:linear-gradient(160deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.baglabel{font-weight:900;font-size:clamp(18px,3.4vmin,50px);color:var(--ink-soft)}#done{align-items:start;padding-top:10vh;pointer-events:none}.donecard{text-align:center;padding:1.6vmin 4vmin;background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:4vmin;box-shadow:var(--shadow)}.donecard h1{margin:0;font-size:clamp(22px,3.6vmin,60px);font-weight:900}.donecard p{margin:1vmin 0 0;font-weight:700;color:var(--ink-soft);font-size:clamp(14px,2.2vmin,34px)}.sparkle{font-size:clamp(20px,3.4vmin,54px);color:var(--accent);animation:spin 3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.legal{position:fixed;bottom:.6vmin;left:0;right:0;text-align:center;font-size:11px;color:#2b223073;pointer-events:none}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.drawer{position:fixed;top:calc(var(--safe) + 9vmin);right:var(--safe);bottom:calc(var(--safe) + 3vmin);width:clamp(260px,30vmin,520px);display:flex;flex-direction:column;gap:1vmin;padding:1.2vmin;border-radius:var(--r);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border:1px solid var(--glass-edge);box-shadow:var(--shadow);transform:translate(calc(100% + var(--safe) + 2vmin));transition:transform .28s cubic-bezier(.2,.9,.2,1)}.drawer.open{transform:none}.drawer .tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:.5vmin}.drawer .tab{border:0;border-radius:1vmin;background:transparent;padding:.5vmin 0;cursor:pointer;font:inherit;color:var(--ink-soft);display:grid;place-items:center}.drawer .tab span{font-size:clamp(16px,2.4vmin,36px)}.drawer .tab small{font-size:clamp(9px,1.2vmin,18px);font-weight:800}.drawer .tab.on{background:#fff;color:var(--ink);box-shadow:0 .3vmin 1vmin #00000014}.drawer .swatches{display:grid;grid-template-columns:repeat(9,1fr);gap:.5vmin;padding:.6vmin;border-radius:1.2vmin;border:.3vmin solid transparent}.drawer .swatches.focus{border-color:var(--accent)}.drawer .sw{aspect-ratio:1;border-radius:50%;border:2px solid rgba(0,0,0,.12);background:var(--c);cursor:pointer;padding:0}.drawer .sw.trans{background:linear-gradient(135deg,var(--c),rgba(255,255,255,.4));opacity:.8}.drawer .sw.metal{background:radial-gradient(circle at 30% 30%,#fff8,var(--c) 55%)}.drawer .sw.glow{box-shadow:0 0 .8vmin var(--c)}.drawer .sw.on{outline:.35vmin solid var(--ink);outline-offset:.2vmin}.drawer .colorname{font-weight:800;color:var(--ink-soft);font-size:clamp(12px,1.6vmin,24px);text-align:center}.drawer .grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:.8vmin;align-content:start;padding:.3vmin}.drawer .cell{aspect-ratio:1;border-radius:1.2vmin;border:.3vmin solid transparent;background:#ffffffb3;cursor:pointer;padding:.4vmin;display:grid;grid-template-rows:1fr auto;font:inherit}.drawer .cell img{width:100%;height:100%;object-fit:contain;min-height:0}.drawer .cell small{font-size:clamp(9px,1.1vmin,16px);font-weight:800;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .cell.focus,.drawer .cell:hover{border-color:var(--accent);transform:scale(1.04)}.shelf{width:min(92vw,1600px)}.shelf h3{margin:1.5vmin 0 .8vmin 1vmin;font-weight:900;font-size:clamp(16px,2.4vmin,36px);color:var(--ink-soft)}.row{display:flex;gap:2vmin;overflow-x:auto;padding:1.4vmin 1vmin 2vmin;scroll-padding:2vmin}.model .stars{color:#f2b705;font-size:clamp(14px,2.2vmin,32px);letter-spacing:.1em}.model .cont{display:inline-block;margin-top:.8vmin;padding:.3vmin 1vmin;border-radius:99px;background:var(--accent);color:#fff;font-weight:900;font-size:clamp(11px,1.5vmin,22px)}.model.new{border-style:dashed;border-color:#00000026;display:grid;place-items:center;text-align:center}.model.new h2{font-size:clamp(30px,6vmin,90px);color:var(--accent)}.focusable.focus{transform:translateY(-1vmin) scale(1.04);border-color:var(--accent)!important;box-shadow:0 0 0 .6vmin #ff7aa840,var(--shadow)}#modes{background:#2b223059}.sheet{width:min(90vw,900px);padding:3vmin;border-radius:3vmin;background:#fffcf9eb;box-shadow:var(--shadow)}.sheet h2{margin:0 0 2vmin;font-size:clamp(22px,4vmin,60px);font-weight:900}.mode-opt{display:grid;grid-template-columns:1fr auto;gap:.4vmin 2vmin;width:100%;text-align:left;padding:1.6vmin 2vmin;margin:0 0 1.2vmin;border-radius:1.8vmin;border:.35vmin solid transparent;background:#fff;font:inherit;color:inherit;cursor:pointer;transition:transform .16s cubic-bezier(.3,1.6,.5,1)}.mode-opt b{font-size:clamp(16px,2.6vmin,40px);font-weight:900}.mode-opt span{grid-column:1;color:var(--ink-soft);font-weight:700;font-size:clamp(12px,1.9vmin,28px)}.mode-opt i{grid-row:1 / span 2;grid-column:2;align-self:center;font-style:normal;color:#f2b705;font-size:clamp(16px,2.6vmin,40px);letter-spacing:.1em}.mode-opt.primary{background:linear-gradient(90deg,#fff0f5,#f3efff)}.mode-opt:hover{border-color:var(--accent)}.page{position:fixed;top:calc(var(--safe) + 9vmin);left:var(--safe);width:clamp(240px,34vmin,560px);padding:1.2vmin;border-radius:1.6vmin;background:linear-gradient(180deg,#dfe9f5,#c9d8ea);box-shadow:var(--shadow);border:.3vmin solid white}.page .pnum{position:absolute;left:1.4vmin;top:.6vmin;font-weight:900;font-size:clamp(26px,5vmin,80px);color:#2b2230;z-index:1}.page .shot{width:100%;display:block;border-radius:1vmin}.page .callout{position:absolute;right:1.4vmin;top:1.4vmin;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6vmin;max-width:62%;padding:.8vmin;background:#ffffffe0;border:.25vmin solid #2b2230;border-radius:1vmin;z-index:1}.page .callout span{display:grid;justify-items:center;font-size:clamp(11px,1.6vmin,24px)}.page .callout img{width:clamp(28px,5.4vmin,90px);height:clamp(28px,5.4vmin,90px);object-fit:contain}#tray.big{max-width:60vw;overflow-x:auto}.piece.held{outline:.4vmin dashed var(--accent-2);outline-offset:-.6vmin}#hud .mode{margin-left:1vmin;padding:.2vmin 1vmin;border-radius:99px;background:var(--accent-2);color:#fff;font-size:.8em}.toast{position:fixed;left:50%;top:calc(var(--safe) + 10vmin);transform:translate(-50%,-1vmin);opacity:0;transition:opacity .2s,transform .2s;padding:1vmin 2.4vmin;border-radius:99px;background:#2b2230e0;color:#fff;font-weight:800;font-size:clamp(14px,2vmin,30px);pointer-events:none;z-index:5}.toast.show{opacity:1;transform:translate(-50%)}.stars{font-size:clamp(30px,6vmin,96px);color:#f2b705;letter-spacing:.15em;text-shadow:0 .4vmin 1.6vmin rgba(242,183,5,.4)}.stars.s3{animation:shine 1.6s ease-in-out infinite alternate}@keyframes shine{to{text-shadow:0 0 3vmin rgba(255,216,107,.95)}}.tier{max-width:60ch;margin-inline:auto!important}.secrets{list-style:none;padding:0;margin:1vmin 0 0;color:#b07d00;font-weight:800;font-size:clamp(13px,1.9vmin,28px)}body.free #dock{justify-content:flex-start}body.free #prompts{justify-content:flex-start;max-width:60vw}.mode-opt i small{display:block;font-size:.45em;color:var(--ink-soft);letter-spacing:0;text-align:right;font-weight:800}body.dusk #hud .title,body.dusk #hud .count{color:#f3ecff;text-shadow:0 .3vmin 1vmin rgba(0,0,0,.5)}body.dusk .legal{color:#fff6}.unlocked{color:#8f5bd6!important;font-weight:800!important}.by{font-style:italic}.center{text-align:center}.moon{font-size:clamp(40px,9vmin,140px);color:#8f7cff}#winddown{background:#2b27478c}#winddown h1{margin:0 0 1vmin;font-size:clamp(26px,5vmin,80px);font-weight:900}#winddown p{color:var(--ink-soft);font-weight:700;font-size:clamp(14px,2.2vmin,34px);margin:0 0 2.4vmin}body.flash:after{content:"";position:fixed;inset:0;background:#fff;animation:flash .35s ease-out forwards;pointer-events:none;z-index:20}@keyframes flash{0%{opacity:.9}to{opacity:0}}#parent{background:#2b223080;z-index:30}#parent .sheet{max-height:86vh;overflow-y:auto}#parent label{display:grid;gap:.5vmin;font-weight:800;margin:0 0 1.6vmin;font-size:clamp(13px,1.9vmin,28px)}#parent input,#parent select,#parent textarea{font:inherit;font-weight:700;padding:.8vmin 1.2vmin;border-radius:1vmin;border:2px solid #e5dde8}#parent .grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 2vmin}#parent button.act{font:inherit;font-weight:900;padding:1vmin 2vmin;border-radius:99px;border:0;background:var(--accent);color:#fff;cursor:pointer;margin:0 1vmin 1vmin 0}#parent button.act.ghost{background:#eee6f0;color:var(--ink)}#parent .fam li{display:flex;justify-content:space-between;gap:1vmin;padding:.6vmin 0;border-bottom:1px solid #eee;font-weight:700}.challenge{position:fixed;top:calc(var(--safe) + 9vmin);left:var(--safe);width:clamp(240px,32vmin,520px);padding:1.6vmin 2vmin;border-radius:var(--r);background:linear-gradient(160deg,#ffffffeb,#f3efffeb);box-shadow:var(--shadow)}.challenge h2{margin:0;font-size:clamp(16px,2.6vmin,40px);font-weight:900}.challenge .from{color:#8f5bd6;font-weight:800;font-size:clamp(11px,1.5vmin,22px)}.challenge p{margin:.6vmin 0 1vmin;color:var(--ink-soft);font-weight:700;font-size:clamp(12px,1.8vmin,26px)}.challenge ul{list-style:none;padding:0;margin:0}.challenge li{display:flex;justify-content:space-between;gap:1vmin;font-weight:800;font-size:clamp(12px,1.8vmin,26px);padding:.3vmin 0;color:var(--ink-soft)}.challenge li.ok{color:#2e9e5b}.challenge li.ok:before{content:"✓ "}.challenge .win{margin-top:1vmin;padding:.8vmin 1.4vmin;border-radius:1vmin;background:#2e9e5b;color:#fff;font-weight:900;text-align:center}.drawer .sw.locked{background:repeating-linear-gradient(45deg,#ddd 0 3px,#f4f4f4 3px 6px);box-shadow:none;position:relative}.drawer .sw.locked:after{content:"?";position:absolute;inset:0;display:grid;place-items:center;font-weight:900;color:#999;font-size:.8em}.drawer .cell.locked img{filter:grayscale(1) brightness(.2) opacity(.35)}.drawer .cell.locked:after{content:"🎁";position:absolute;font-size:clamp(16px,2.4vmin,36px)}.drawer .cell{position:relative}.drawer .cell.locked{place-items:center}#home{overflow-y:auto;align-content:start;padding:4vmin 0 6vmin}.model.ch{width:38vmin;min-width:220px;flex:none}.model.ch h2{font-size:clamp(16px,2.5vmin,38px);line-height:1.15}.model.ch p{font-size:clamp(12px,1.7vmin,24px);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.model.ch p:first-child{color:#8f5bd6;font-weight:900}.row{flex-wrap:nowrap}.row .model{flex:none}.piece.extras{background:linear-gradient(160deg,#fff0f6,#efeaff);display:grid;place-items:center;align-content:center;gap:.4vmin}.piece.extras .plus{font-size:clamp(26px,5vmin,80px);color:var(--accent-2);line-height:1}.piece.extras small{font-weight:900;color:var(--ink-soft);font-size:clamp(11px,1.6vmin,24px)}.lights{position:fixed;left:var(--safe);bottom:calc(var(--safe) + 3vmin);width:clamp(240px,30vmin,460px);padding:1.6vmin 2vmin;border-radius:var(--r);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border:1px solid var(--glass-edge);box-shadow:var(--shadow);z-index:6;color:var(--ink)}.lights h3{margin:0 0 1vmin;font-weight:900;font-size:clamp(14px,2.2vmin,34px)}.lights .presets{display:grid;grid-template-columns:repeat(4,1fr);gap:.6vmin;margin-bottom:1.2vmin}.lights .presets button{font:inherit;font-weight:800;font-size:clamp(11px,1.5vmin,22px);padding:.6vmin .2vmin;border-radius:1vmin;border:2px solid transparent;background:#ffffffb3;cursor:pointer}.lights .presets button.on{border-color:var(--accent);background:#fff}.lights label{display:grid;gap:.3vmin;font-weight:800;font-size:clamp(12px,1.6vmin,24px);margin-bottom:.9vmin}.lights input[type=range]{width:100%;accent-color:var(--accent)}.lights .toggle{display:flex;align-items:center;gap:.8vmin}.lights .keys{margin:.4vmin 0 0;color:var(--ink-soft);font-weight:700;font-size:clamp(10px,1.3vmin,20px)}body.dusk .lights{color:var(--ink)}.presence{position:fixed;inset:0;pointer-events:none;z-index:7}.ptag{position:fixed;left:0;top:0;padding:.4vmin 1.1vmin;border-radius:99px;background:var(--c);color:#fff;font-weight:800;font-size:clamp(11px,1.6vmin,24px);white-space:nowrap;box-shadow:0 .4vmin 1.2vmin #00000040}.ptag small{font-weight:700;opacity:.85;margin-left:.6vmin}.pemote{position:absolute;left:50%;bottom:120%;transform:translate(-50%);font-size:clamp(18px,3.2vmin,48px);white-space:nowrap;background:#fff;color:var(--ink);padding:.4vmin 1.2vmin;border-radius:99px;border:.3vmin solid var(--c);animation:emote 2.6s ease-out forwards}@keyframes emote{0%{opacity:0;transform:translate(-50%,1vmin) scale(.6)}12%{opacity:1;transform:translate(-50%) scale(1.1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-3vmin)}}.netbar{position:fixed;right:var(--safe);top:calc(var(--safe) + 8vmin);display:flex;gap:.8vmin;align-items:center;z-index:8}.netbar .chip{padding:.6vmin 1.2vmin;border-radius:99px;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);font-weight:800;font-size:clamp(11px,1.6vmin,24px)}.netbar .dot{display:inline-block;width:.9em;height:.9em;border-radius:50%;background:#2e9e5b;margin-right:.4em;vertical-align:-.1em}.netbar .dot.reconnecting{background:#f2b705;animation:blink 1s infinite}.netbar .dot.closed{background:#e5484d}@keyframes blink{50%{opacity:.3}}.netbar button{font:inherit;font-weight:900;border:0;border-radius:99px;padding:.6vmin 1.3vmin;cursor:pointer;background:#fff;box-shadow:var(--shadow);font-size:clamp(11px,1.6vmin,24px)}.netbar button.talk.on{background:#2e9e5b;color:#fff}.netbar button.talk.speaking{box-shadow:0 0 0 .5vmin #2e9e5b73,var(--shadow)}.netbar .partner.speaking{box-shadow:0 0 0 .5vmin var(--c),var(--shadow)}.emotes{position:fixed;right:var(--safe);top:calc(var(--safe) + 14vmin);display:grid;gap:.6vmin;z-index:8}.emotes button{font:inherit;font-size:clamp(14px,2.2vmin,32px);border:0;border-radius:1.2vmin;background:var(--glass);padding:.4vmin 1vmin;cursor:pointer;box-shadow:var(--shadow)}.turnbar{position:fixed;left:50%;top:calc(var(--safe) + 10vmin);transform:translate(-50%);padding:.8vmin 2vmin;border-radius:99px;color:#fff;font-weight:900;font-size:clamp(13px,2vmin,30px);z-index:8;box-shadow:var(--shadow)}.colours{display:flex;gap:1vmin;margin:0 0 1.6vmin}.colours .swatch{width:clamp(28px,4.4vmin,64px);aspect-ratio:1;border-radius:50%;background:var(--c);border:.35vmin solid white;box-shadow:var(--shadow);cursor:pointer}.colours .swatch.on{outline:.4vmin solid var(--ink);outline-offset:.2vmin}.pick{display:grid;gap:.4vmin;font-weight:800;margin:0 0 1.4vmin;font-size:clamp(13px,1.9vmin,28px)}.pick select,.pick input{font:inherit;font-weight:700;padding:.8vmin 1.2vmin;border-radius:1vmin;border:2px solid #e5dde8;background:#fff}input.code{font:inherit;font-weight:900;font-size:clamp(32px,7vmin,110px);letter-spacing:.4em;text-align:center;width:100%;padding:1vmin;margin:0 0 1.6vmin;border:.4vmin dashed var(--accent);border-radius:2vmin;text-transform:uppercase;background:#fff}
