@font-face{font-family:Barlow;src:url(/fonts/barlow-condensed-black.ttf)}@font-face{font-family:DM;src:url(/fonts/dm-sans-400.ttf)}@font-face{font-family:DM;src:url(/fonts/dm-sans-700.ttf);font-weight:700}
*{box-sizing:border-box}body{margin:0;background:#f7f6ef;color:#171730;font:16px DM,sans-serif}header,main{width:min(1280px,92%);margin:auto}header{height:72px;display:flex;align-items:center;gap:20px;border-bottom:1px solid #cdcdc4}a{color:inherit;text-decoration:none}.brand{font:34px Barlow}.brand span{font:12px DM;vertical-align:top}.navtag,.kicker,.topline,.stagefoot>span,.finish small{font:700 10px DM;letter-spacing:.13em}.backlink{margin-left:auto;font-size:13px}.intro{padding:34px 0 24px}.kicker{display:flex;align-items:center;gap:10px}.kicker i{display:inline-block;width:9px;height:9px;background:#2b26e7;border-radius:50%}h1,h2,p{margin:0}h1{font:clamp(60px,7.8vw,112px)/1 Barlow;letter-spacing:-.025em;margin:6px 0 8px}h1 em{color:#2b26e7;font-style:normal}.intro p{color:#545463;max-width:680px}.studio{display:grid;grid-template-columns:1.7fr 1fr;border:1px solid #cfcfc7;border-radius:20px;overflow:hidden;background:#fdfcf8}.stage{--base:#2b26e7;--light:#4640f0;--dark:#2119bb;--reverse:#17144e;--ink:#fff8ef;--white:#fff8ef;background-color:#e7e6e0;background-image:radial-gradient(#c4c3bc .8px,transparent .9px);background-size:14px 14px;padding:22px 26px;display:flex;flex-direction:column;gap:14px;min-width:0}.topline,.stagefoot,footer{display:flex;align-items:center;justify-content:space-between}.topline span{opacity:.65}.scene{width:100%;min-height:255px;flex:1;display:grid;place-items:center;perspective:960px;touch-action:pan-y;cursor:grab;user-select:none}.scene:active{cursor:grabbing}.card{width:min(78%,470px);aspect-ratio:1420/896;position:relative;transform-style:preserve-3d;transform:rotateX(var(--rx,8deg)) rotateY(var(--ry,-12deg));transition:transform .55s cubic-bezier(.22,.7,.3,1)}.dragging .card{transition:none}.face{position:absolute;inset:0;border-radius:4.5%/7%;overflow:hidden;backface-visibility:hidden;box-shadow:0 2px 1px #666,0 16px 24px -12px #15142b80}.front{background:var(--base);transform:translateZ(1px)}.art{display:block;width:100%;height:100%;fill:none}.art text{font-family:Barlow;fill:var(--ink)}.mark{font-size:73px}.reverse{background:var(--reverse);transform:rotateY(180deg) translateZ(1px);display:flex;align-items:center}.qr{margin-left:7.5%;width:29%;text-align:center;color:var(--white);container-type:inline-size}.qr img{display:block;width:100%;background:white}.qr small{display:block;margin-top:5%;font-size:7cqw}.stagefoot button{border:1px solid #a8a7a0;background:#f9f8f3;border-radius:30px;font:700 13px DM;padding:10px 18px;cursor:pointer}aside{padding:clamp(24px,3vw,48px);border-left:1px solid #cfcfc7}h2{font:52px/1 Barlow;margin:10px 0 24px}label,legend{font-weight:700;font-size:14px}input{width:100%;margin:8px 0 20px;padding:12px;border:1px solid #aaa9ae;border-radius:8px;font:16px DM;color:inherit;background:white}fieldset{border:0;padding:0;margin:0}legend{padding:0}#colors{display:flex;gap:10px;margin:12px 0 18px}.swatch{display:block;position:relative;width:40px;height:40px}.swatch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.swatch i{display:grid;place-items:center;height:100%;border-radius:50%;background:var(--swatch);pointer-events:none}.swatch input:checked+i{outline:2px solid #171730;outline-offset:2px}.swatch input:checked+i:after{content:'✓';color:white}.swatch input:focus-visible+i,button:focus-visible{outline:3px solid #356fff;outline-offset:4px}.finish{border-top:1px solid #deded5;padding-top:18px;display:flex;align-items:center;gap:12px}.chip{background:var(--chip,#2b26e7);width:8px;height:32px;border-radius:3px}.finish strong,.finish small{display:block}.finish strong{font-size:20px}footer{gap:18px;border-top:1px solid #cdcdc4;padding:18px 0;margin-top:26px;font-size:13px}footer b{font:22px Barlow}
@media(max-width:720px){header{height:55px}.navtag{display:none}.intro{padding:24px 0 16px}.intro p{font-size:14px}.studio{grid-template-columns:1fr}.stage{padding:15px;gap:8px}.scene{min-height:0;padding:22px 0}.card{width:79%}aside{border-left:0;border-top:1px solid #cfcfc7;padding:22px}h2{font-size:38px;margin:7px 0 16px}footer{align-items:flex-start;flex-direction:column}.stagefoot button{padding:8px 14px}}@media(prefers-reduced-motion:reduce){.card{transition:none}}
