:root{--card:#231f1d;--card2:#2d2825;--fg:#f4eee6;--muted:#b3a99e;--line:#3d3631;--accent:#e9a764;--accent-deep:#6b4526;--mint:#9fd8c6;--paper:#f3ede5;--ink:#2a2420}
*{box-sizing:border-box}
html,body{margin:0;color:var(--fg);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:15px}
body{min-height:100vh;background:#5a3a22 url(img/desk.jpg) center/cover fixed no-repeat;padding:4vh 1rem 1rem}
h1,h2,h3{font-family:Georgia,"Iowan Old Style","Times New Roman",serif;font-weight:500;margin:.2rem 0;letter-spacing:-.01em}
h3{font-size:1.15rem;margin-top:1.4rem}
a{color:var(--mint)}
.muted{color:var(--muted)}.small{font-size:.86rem}.fine{font-size:.78rem;line-height:1.45}.demo{color:#efd27a}
.shell{position:relative;max-width:64rem;margin:0 auto;background:var(--card);border-radius:1.25rem;box-shadow:0 30px 80px #0009,0 0 0 1px #ffffff0d;padding:1.4rem 1.6rem 0;display:flex;flex-direction:column;min-height:min(84vh,46rem)}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.email{margin:0;font-size:.82rem;color:var(--muted)}
h1{font-size:2.3rem;line-height:1.1;margin:.25rem 0 .2rem}
.counter{margin:0;font-size:.95rem;color:var(--mint)}
.me{display:flex;align-items:center;gap:.7rem;flex:none}
.freepill{min-height:2.1rem;padding:0 .95rem;border-radius:999px;background:var(--paper);color:var(--ink);border:0;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}
.freepill[aria-pressed=true]{outline:2px solid var(--accent)}
.acct{display:flex;align-items:center;gap:.5rem}
.avatar{width:2.3rem;height:2.3rem;border-radius:50%;background:linear-gradient(135deg,#e9a764,#b8673a);color:#fff;display:grid;place-items:center;font-weight:700}
.avatar.ghost{background:var(--card2);color:var(--muted);border:1px solid var(--line)}
.acname{display:flex;flex-direction:column;font-size:.85rem;line-height:1.2}
.linkbtn{background:none;border:0;padding:0;color:var(--muted);font:inherit;font-size:.78rem;text-align:left;cursor:pointer;text-decoration:underline}
.linkbtn:disabled{cursor:default;text-decoration:none}
.tabs{display:flex;gap:1.6rem;margin-top:1rem;border-bottom:1px solid var(--line)}
.tabs button{background:none;border:0;color:var(--muted);font:inherit;font-size:.95rem;padding:.55rem 0;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs button[aria-pressed=true]{color:var(--fg);border-bottom-color:var(--fg)}
main{flex:1;padding:1.1rem 0 1.2rem}
.btn{min-height:2.5rem;padding:0 1.05rem;border-radius:999px;background:var(--card2);color:var(--fg);border:1px solid var(--line);font:inherit;cursor:pointer;font-weight:500}
.btn.sm{min-height:2.1rem;font-size:.85rem;padding:0 .85rem}
.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed}
.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
/* lineup */
.lineup{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}
.rcard{background:var(--paper);color:var(--ink);border-radius:1rem;overflow:hidden;cursor:pointer;outline-offset:3px;transition:transform .15s}
.rcard:hover{transform:translateY(-2px)}
.rcard.on{outline:2px solid var(--accent)}
.rcard:focus-visible{outline:2px solid var(--mint)}
.art{position:relative;aspect-ratio:1/1;background:#ece7e0}
.art img{width:100%;height:100%;object-fit:cover;display:block}
.art .charm{position:absolute;left:.5rem;top:.5rem;width:1.9rem;height:1.9rem;border-radius:50%;background:#fffd;display:grid;place-items:center;box-shadow:0 0 0 2px var(--charm)}
.art .aitag{position:absolute;right:.45rem;top:.5rem;font-size:.62rem;font-weight:600;letter-spacing:.02em;color:#4a3f37;background:#fffc;padding:.1rem .4rem;border-radius:999px}
.art .sig{position:absolute;right:.6rem;bottom:.4rem;font-family:Georgia,serif;font-style:italic;color:#3b2f27;font-size:.95rem;background:#fff9;padding:0 .4rem;border-radius:.4rem}
.cap{display:flex;justify-content:space-between;align-items:flex-end;gap:.4rem;padding:.6rem .7rem .7rem}
.cap p{margin:0}
.nm{font-weight:650;font-size:.95rem}
.cc{font-size:.78rem;color:#6d6158;margin-top:.1rem}
.ed{font-size:.72rem;color:#8d8278;margin-top:.15rem}
.charmbtn{flex:none;width:2.4rem;height:2.4rem;border-radius:50%;background:#fff;border:1px solid #d9d0c6;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 6px #0002}
.charmbtn[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent)}
.hint{margin:.9rem 0 0;text-align:center}
/* pinned bottom bar */
#bar{position:sticky;bottom:0;margin:0 -1.6rem;z-index:3}
.bar{background:#1b1816f2;backdrop-filter:blur(6px);border-top:1px solid var(--line);border-radius:0 0 1.25rem 1.25rem;padding:.8rem 1.6rem 1rem}
.barrow{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.signas{font-size:.85rem;color:var(--muted);margin:0}
#nm{flex:1;min-width:9rem;max-width:18rem;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--fg);font-family:Georgia,serif;font-style:italic;font-size:1.15rem;padding:.3rem .2rem}
#nm:focus{outline:none;border-bottom-color:var(--accent)}
.claims{margin-left:auto;color:var(--mint);font-size:.88rem;font-weight:600}
.ctl{margin-top:.7rem;justify-content:space-between;flex-wrap:nowrap}
.round{display:flex;flex-direction:column;align-items:center;gap:.25rem;font-size:.75rem;color:var(--muted);flex:none;min-width:5.5rem}
.rbtn{width:3.2rem;height:3.2rem;border-radius:50%;background:var(--card2);color:var(--fg);border:1px solid var(--line);display:grid;place-items:center;cursor:pointer}
.rbtn:hover{border-color:var(--muted)}
.rbtn.claim{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.rbtn:disabled{opacity:.45;cursor:not-allowed}
.slide{flex:1;display:flex;flex-direction:column;gap:.2rem;max-width:26rem}
.slide label{font-size:.75rem;color:var(--muted);text-align:center}
input[type=range]{width:100%;accent-color:var(--accent)}
/* album, swap */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.9rem}
.card{background:var(--paper);color:var(--ink);border:0;border-radius:1rem;overflow:hidden;padding:0 0 .55rem}
.card p{margin:.35rem .7rem 0;font-size:.85rem}.card .muted{color:#7d7168}
.card.pick{display:block;width:100%;text-align:left;font:inherit;cursor:pointer}
.card[aria-pressed=true],.card.pick[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}
.empty{border:1px dashed var(--line);border-radius:1rem;padding:2rem 1rem;text-align:center;color:var(--muted)}
.empty img{border-radius:50%;opacity:.85;display:block;margin:0 auto .8rem}
.empty p{margin:.2rem 0 1rem;font-family:Georgia,serif;font-size:1.15rem;color:var(--fg)}
.boot{text-align:center;padding:4rem 0}.boot img{border-radius:50%;opacity:.7}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}
.chip{min-height:2.1rem;padding:0 .9rem;border-radius:999px;background:var(--card2);color:var(--fg);border:1px solid var(--line);font:inherit;font-size:.85rem;cursor:pointer}
.chip[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.spot{margin:.4rem 0 1rem}.spot .grid{max-width:200px}
.offer{border:1px solid var(--accent);border-radius:1rem;padding:.9rem 1rem;margin:1rem 0;background:#2d2620}
.offer p{margin:.3rem 0}
main h2{font-size:1.35rem}
.pill{font-size:.72rem;padding:.15rem .55rem;border-radius:999px;background:var(--accent-deep);border:1px solid var(--accent);color:var(--fg)}
.packs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.8rem;margin-top:.6rem}
.pack{background:var(--card2);border:1px solid var(--line);border-radius:1rem;padding:.8rem;text-align:center}
.pack .big{font-size:1.8rem;margin:.1rem 0;font-family:Georgia,serif}
.how{line-height:1.6;padding-left:1.1rem}
.log{padding-left:1.1rem;color:var(--muted)}
.consent{display:flex;gap:.55rem;align-items:flex-start;margin:.7rem 0;line-height:1.45;text-align:left}
.consent input{margin-top:.2rem;flex:none;accent-color:var(--accent)}
/* sign-in */
.shell.signin,.shell.boot{max-width:30rem;min-height:0;padding-bottom:1.4rem;margin-top:8vh}
.shell.signin .top,.shell.signin .tabs,.shell.boot .tabs{display:none}
.shell.signin main{padding:0}
section.signin{text-align:left}
.kicker{margin:0;font-size:.82rem;color:var(--muted);letter-spacing:.04em}
section.signin h2{font-size:2rem;margin:.3rem 0 .4rem}
section.signin>p{margin:.5rem 0}
.gbtn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:2.9rem;margin:1rem 0 .8rem;border-radius:999px;border:0;background:var(--paper);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}
.gbtn:hover{background:#fff}
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);background:var(--card);border:1px solid var(--accent);padding:.7rem 1.1rem;border-radius:999px;z-index:9;box-shadow:0 8px 30px #0008}
footer{max-width:56rem;margin:1rem auto 0;padding:.5rem 1rem;border-radius:.8rem;background:#1b1816b3;font-size:.78rem;line-height:1.5;color:#fffd;text-shadow:0 1px 3px #000c;text-align:center}
footer p{margin:.3rem auto;max-width:52rem}footer a{color:#fff}
main.doc{max-width:46rem;margin:0 auto;line-height:1.6;background:var(--card);border-radius:1.25rem;padding:1.6rem 1.8rem;box-shadow:0 30px 80px #0009}.doc h2{margin-top:1.4rem}
label{color:var(--muted)}
@media(max-width:820px){.lineup{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:1.9rem}}
@media(max-width:560px){body{padding:0}.shell{border-radius:0;padding:1rem 1rem 0;min-height:100vh}#bar{margin:0 -1rem}.bar{border-radius:0;padding:.7rem 1rem .9rem}
 .top{flex-direction:column}.me{align-self:stretch;justify-content:space-between}.claims{margin-left:0;width:100%}.round{min-width:4.2rem}
 .shell.signin{min-height:100vh}footer{padding:0 1rem 1rem}}
.testmode{border:1px dashed var(--accent);color:var(--fg);background:#2d2620;padding:.5rem .75rem;border-radius:.6rem}
.notice{display:flex;gap:.75rem;align-items:center;justify-content:space-between;margin:.6rem 0;padding:.55rem .8rem;border:1px solid var(--accent);border-radius:.6rem;background:#2d2620;color:var(--fg)}
.notice[hidden]{display:none}
.notice a{color:inherit;text-decoration:underline}
/* Variation history */
.vsets{display:flex;align-items:center;gap:.25rem;margin-top:.35rem;flex-wrap:wrap;justify-content:center}
.vlabel{font-size:.68rem;color:var(--muted);width:100%;text-align:center}
.vset{width:1.6rem;height:1.6rem;border-radius:999px;border:1px solid var(--line);background:var(--card2);color:var(--fg);font:inherit;font-size:.72rem;cursor:pointer;padding:0}
.vset[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-deep)}
.vset:disabled{opacity:.35;cursor:default}
.vset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Lighting & angle: turntable-style 3D turn of the pictures */
.lineup.turn .art{perspective:800px;overflow:hidden}
.lineup.turn .art img{transform:rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg)) scale(.94);transform-origin:50% 60%;transition:transform .12s ease-out;filter:drop-shadow(var(--sh,0px) 6px 8px rgba(0,0,0,.18))}
@media(prefers-reduced-motion:reduce){.lineup.turn .art img{transition:none}}
/* Shop modal over the crew */
.modal{position:fixed;inset:0;background:#0f0d0cb8;display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;z-index:8;overflow:auto}
.modal[hidden]{display:none}
.mpanel{background:var(--card);border:1px solid var(--line);border-radius:1rem;max-width:44rem;width:100%;padding:1rem 1.25rem 1.25rem;box-shadow:0 20px 60px #0009}
.mhead{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.mhead h2{margin:0;font-size:1.4rem}
body.modal-on{overflow:hidden}
.mpanel .packs{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:560px){.mpanel .packs{grid-template-columns:repeat(2,minmax(0,1fr))}.modal{padding:0}.mpanel{border-radius:0;min-height:100%}}
/* v3 preview only (tokensV3): edition looks by fixed number, pitch, tier table. Visual only. */
.art.v3 .fig{position:absolute;inset:0}
.art.v3 .fig img{filter:var(--tf,none)}
.art.v3 .fig .acc{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 .5px .6px rgba(0,0,0,.35))}
.lineup.turn .art.v3 .fig{transform:rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg)) scale(.94);transform-origin:50% 60%;transition:transform .12s ease-out}
.lineup.turn .art.v3 .fig img{transform:none;filter:var(--tf,none) drop-shadow(var(--sh,0px) 6px 8px rgba(0,0,0,.18))}
@media(prefers-reduced-motion:reduce){.lineup.turn .art.v3 .fig{transition:none}}
.art.tier-chrome{--tf:grayscale(.55) contrast(1.12) brightness(1.06);box-shadow:inset 0 0 0 3px #c9d0d8}
.art.tier-gold,.art.tier-crown{--tf:sepia(.38) saturate(1.45) hue-rotate(-6deg) brightness(1.04) contrast(1.04);box-shadow:inset 0 0 0 3px #e2b54a}
.art.tier-crown{box-shadow:inset 0 0 0 3px #e2b54a,inset 0 0 0 6px #7b2d8e}
.art.v3[class*=tier-] .fig::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(115deg,transparent 28%,rgba(255,255,255,.28) 44%,transparent 58%)}
.art.tier-gold .fig::after,.art.tier-crown .fig::after{background:linear-gradient(115deg,transparent 28%,rgba(255,236,170,.32) 44%,transparent 58%)}
.art .tierbadge{position:absolute;left:.5rem;bottom:.45rem;font-size:.66rem;font-weight:700;letter-spacing:.02em;padding:.12rem .5rem;border-radius:999px;color:#2a2420;background:linear-gradient(120deg,#f4f6f8,#c3cad3);box-shadow:0 1px 2px rgba(0,0,0,.25)}
.art.tier-gold .tierbadge,.art.tier-crown .tierbadge{background:linear-gradient(120deg,#fff0b0,#e2b54a)}
.art.tier-crown .tierbadge{color:#fff;background:linear-gradient(120deg,#9a3cb0,#5b1f6b);box-shadow:0 0 0 1.5px #e2b54a}
.pitch{font-size:1rem;font-weight:600;line-height:1.4;margin:.6rem 0;white-space:normal;overflow:visible}
.costnote{margin:.6rem 0 .2rem}
table.tiers{width:100%;border-collapse:collapse;margin:.6rem 0}
table.tiers caption{text-align:left;font-weight:600;padding-bottom:.3rem}
table.tiers th,table.tiers td{text-align:left;padding:.3rem .4rem;border-bottom:1px solid rgba(127,127,127,.3)}
table.tiers tr.now td{font-weight:700;background:rgba(226,181,74,.16)}
.bonusline{margin:.6rem 0 .2rem;font-weight:600}
