:root{--bg:#0e0c10;--ink:#efe6d6;--serif:"DM Serif Display", Georgia, serif;--sans:"Bricolage Grotesque", system-ui, sans-serif;--mono:"Courier Prime", "Courier New", monospace;--pad:max(20px, env(safe-area-inset-left,0px))}html,body{background:var(--bg);height:100%;color:var(--ink);margin:0;transition:background-color 1.2s,color 1.2s;overflow:hidden}body{font-family:var(--sans);-webkit-font-smoothing:antialiased}canvas{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}canvas.grab{cursor:grab}canvas.grabbing{cursor:grabbing}canvas.point{cursor:pointer}.top{top:max(18px, env(safe-area-inset-top,0px));left:var(--pad);pointer-events:none;position:fixed}.title{font:italic 400 clamp(46px, 7.4vw, 96px)/.9 var(--serif);letter-spacing:-.015em;margin:0}.sub{font:500 11px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;opacity:.72;max-width:34em;margin:10px 0 0 4px}.line{left:16px;right:16px;bottom:calc(122px + env(safe-area-inset-bottom,0px));text-align:center;font:italic 400 clamp(22px, 3.2vw, 34px)/1.15 var(--serif);pointer-events:none;opacity:0;margin:0;transition:opacity 1.2s,transform 1.2s;position:fixed;transform:translateY(6px)}.line.on{opacity:1;transform:none}.hint{left:0;right:0;bottom:calc(66px + env(safe-area-inset-bottom,0px));text-align:center;text-wrap:balance;font:500 11px/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;pointer-events:none;margin:0;padding:0 24px;transition:opacity .8s;position:fixed}.hint:after{content:"";transform-origin:top;background:currentColor;width:1px;height:18px;margin:10px auto 0;animation:2.4s ease-in-out infinite drip;display:block}@keyframes drip{0%,to{opacity:.2;transform:scaleY(.2)}50%{opacity:.8;transform:scaleY(1)}}.hint.gone{opacity:0}.keys button{font:500 13px var(--sans);letter-spacing:.08em;color:var(--bg);background:var(--ink);opacity:0;pointer-events:none;border:0;border-radius:999px;min-height:44px;padding:12px 20px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.keys button:focus-visible{opacity:1;pointer-events:auto;outline:3px solid var(--ink);outline-offset:3px}.keys #read{top:calc(50% + 56px)}.care{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;background:#08060673;place-items:center;animation:.35s ease-out fade;display:grid;position:fixed;inset:0}.care[hidden]{display:none}@keyframes fade{0%{opacity:0}}.care-tag{color:#2b2622;width:min(300px,78vw);font:700 14px/1.55 var(--mono);text-transform:uppercase;letter-spacing:.06em;text-align:center;background:linear-gradient(100deg,#f6f3ec 0%,#fffdf8 38%,#ece7dc 62%,#f8f5ee 100%);padding:34px 26px 26px;animation:.5s cubic-bezier(.2,.8,.2,1) rise;position:relative;box-shadow:0 30px 60px #00000059,0 2px #00000014}.care-tag:before{content:"";border-top:2px dashed #2b262259;position:absolute;top:12px;left:10px;right:10px}@keyframes rise{0%{opacity:0;transform:translateY(24px)rotate(-2deg)}}.care-brand{font:italic 400 30px/1 var(--serif);letter-spacing:0;text-transform:none;margin:0}.care-n{opacity:.7;margin:8px 0 18px;font-size:11px;font-weight:400}.care-lines{margin:0;padding:0;list-style:none}.care-icons{justify-content:center;gap:12px;margin-top:20px;display:flex}.care-icons svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;width:26px;height:26px}.care-close{font:500 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#f2e6d0;cursor:pointer;background:0 0;border:1px solid #f2e6d080;border-radius:999px;min-height:40px;margin-top:18px;padding:10px 18px}.care-close:focus-visible{outline-offset:3px;outline:3px solid #f2e6d0}.noscript{font:italic 22px/1.3 var(--serif);position:fixed;inset:auto 20px 50%}@media (width<=520px){.sub{max-width:13em}}@media (prefers-reduced-motion:reduce){.hint:after,.care,.care-tag{animation:none}.line{transform:none}}@media (width<=520px){.hint{bottom:calc(76px + env(safe-area-inset-bottom,0px))}.hint:after{height:12px;margin-top:8px}.line{bottom:calc(124px + env(safe-area-inset-bottom,0px))}}.product{top:max(22px, env(safe-area-inset-top,0px));right:var(--pad);text-align:right;width:min(260px,40vw);text-shadow:0 1px 14px color-mix(in srgb, var(--bg) 70%, transparent);transition:opacity .6s;position:fixed}.product.away{opacity:0;pointer-events:none}.p-n{font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;opacity:.72;margin:0}.p-n b{font-weight:500}.p-name{font:italic 400 clamp(30px, 3.6vw, 44px)/1 var(--serif);margin:8px 0 0}.p-meta{font:500 12px/1.4 var(--sans);letter-spacing:.08em;margin:6px 0 0}.p-fabric{font:400 13px/1.45 var(--sans);opacity:.78;text-wrap:balance;margin:4px 0 0}.p-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.p-actions button,.set-actions button{font:500 12px/1 var(--sans);letter-spacing:.08em;cursor:pointer;border-radius:999px;min-height:40px;padding:10px 16px}.p-want,.set-order{color:var(--bg);background:var(--ink);border:1px solid var(--ink)}.p-label,.set-again{color:var(--ink);background:color-mix(in srgb, var(--bg) 62%, transparent);border:1px solid color-mix(in srgb, var(--ink) 45%, transparent)}.p-actions button:focus-visible,.set-actions button:focus-visible,.sheet-cta:focus-visible,.sheet-close:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.sheet{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;background:#08060680;place-items:center;padding:20px;animation:.35s ease-out fade;display:grid;position:fixed;inset:0}.sheet[hidden]{display:none}.sheet-card{color:#1d1916;background:#f6f1e7;border-radius:6px;width:min(420px,100%);padding:28px;animation:.5s cubic-bezier(.2,.8,.2,1) rise;box-shadow:0 30px 60px #00000059}.sheet-card h2{font:italic 400 34px/1 var(--serif);margin:0}.sheet-card p{font:400 15px/1.55 var(--sans);text-wrap:pretty;margin:12px 0 20px}.sheet-cta{color:#f6f1e7;min-height:44px;font:500 13px var(--sans);background:#1d1916;border-radius:999px;align-items:center;padding:0 18px;text-decoration:none;display:inline-flex}.sheet-close{color:#1d1916;min-height:44px;font:500 13px var(--sans);cursor:pointer;background:0 0;border:1px solid #1d191659;border-radius:999px;margin-left:10px;padding:0 16px}.sheet-cta:focus-visible,.sheet-close:focus-visible{outline-color:#1d1916}.set{left:var(--pad);bottom:calc(70px + env(safe-area-inset-bottom,0px));width:min(420px,100vw - 40px);animation:.9s cubic-bezier(.2,.8,.2,1) rise;position:fixed}.set[hidden]{display:none}.set-kicker{font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;opacity:.72;margin:0}.set-title{font:italic 400 clamp(28px, 3.4vw, 42px)/1.05 var(--serif);text-wrap:balance;margin:10px 0 14px}.set-list{font:500 12px/1.3 var(--sans);letter-spacing:.06em;flex-wrap:wrap;gap:14px;margin:0 0 14px;padding:0;list-style:none;display:flex}.set-list b{font:italic 400 18px/1 var(--serif);letter-spacing:0;margin-right:4px}.set-body,.set-give{font:400 14px/1.55 var(--sans);opacity:.85;text-wrap:pretty;margin:0 0 10px}.set-give{opacity:1}.set-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}body.finale .top .sub,body.finale .hint,body.finale .line{opacity:0}@media (width<=520px){.product{width:54vw}.p-fabric{display:none}.p-name{font-size:28px}.p-actions{gap:6px}.p-actions button{letter-spacing:.04em;padding:8px 12px;font-size:11px}.set{bottom:calc(64px + env(safe-area-inset-bottom,0px))}.set-body{display:none}}.spots[hidden],.note[hidden]{display:none}.spot{cursor:pointer;width:44px;height:44px;transform:translate(var(--x,-99px), var(--y,-99px));background:0 0;border:0;margin:-22px 0 0 -22px;padding:0;transition:opacity .4s;position:fixed;top:0;left:0}.spot:before{content:"";background:#fff8ec2e;border:1.5px solid #fff8ec;border-radius:50%;transition:transform .25s,background-color .25s;position:absolute;inset:14px;box-shadow:0 1px 6px #00000059}.spot:after{content:"";border:1px solid #fff8ec;border-radius:50%;animation:2.6s ease-out infinite ping;position:absolute;inset:14px}.spot:hover:before,.spot[aria-pressed=true]:before{background:#fff8ec;transform:scale(1.25)}.spot[aria-pressed=true]:after{opacity:0;animation:none}.spot.behind{opacity:0;pointer-events:none}.spot:focus-visible{outline:none}.spot:focus-visible:before{outline-offset:4px;outline:3px solid #fff8ec}@keyframes ping{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}.note{left:var(--pad);bottom:calc(76px + env(safe-area-inset-bottom,0px));pointer-events:none;width:min(330px,100vw - 40px);animation:.5s cubic-bezier(.2,.8,.2,1) rise;position:fixed}.note-k{font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;opacity:.72;margin:0}.note-t{font:italic 400 clamp(22px, 2.3vw, 28px)/1.2 var(--serif);text-wrap:pretty;margin:10px 0 0}body.inspecting .line{opacity:0}@media (width<=520px){.note{width:auto;left:12px;right:12px;bottom:calc(68px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg) 88%, transparent);border-radius:10px;padding:14px 16px 16px}.note-t{font-size:20px}body.noting .hint{opacity:0}}@media (prefers-reduced-motion:reduce){.spot:after{opacity:0;animation:none}.note{animation:none}}.fallback{left:var(--pad);right:var(--pad);max-width:30em;font:italic 400 clamp(20px, 2.4vw, 26px)/1.35 var(--serif);margin:0;position:fixed;top:50%;transform:translateY(-50%)}.fallback[hidden],body.flat .product,body.flat .hint,body.flat .keys{display:none}
