:root{--ivory:#f4efe4;--paper:#fbf8f1;--ink:#2b2823;--muted:#8a8275;--gold:#a88a55;--line:#e2dacb}
*{box-sizing:border-box}
html,body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-tap-highlight-color:transparent}
.top{background:var(--ivory);padding:calc(14px + env(safe-area-inset-top)) 18px 10px}
h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:30px;margin:0;letter-spacing:.02em}
main{max-width:560px;margin:0 auto;padding:0 14px calc(110px + env(safe-area-inset-bottom))}
.hero{text-align:center;padding-top:20px}
.next-num{font-family:'Cormorant Garamond',serif;font-size:72px;color:var(--gold);letter-spacing:.04em}
.sub{color:var(--muted);margin:0 0 26px;font-style:italic;font-family:'Cormorant Garamond',serif;font-size:20px}
button{cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
.primary{background:var(--ink);color:var(--paper);border:0;padding:16px 30px;border-radius:999px;font:600 16px Inter;letter-spacing:.02em}
.ghost{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.4);padding:13px 20px;border-radius:999px;font:500 14px Inter}
.ghost.dark{color:var(--ink);border-color:var(--line);background:var(--paper)}
.limit{color:var(--muted);font-size:13px;margin-top:14px}
.status{min-height:20px;font-size:14px}
#latest img{width:100%;height:auto;aspect-ratio:5/7;object-fit:contain;max-width:380px;margin-top:14px;border-radius:10px;box-shadow:0 10px 30px rgba(60,50,30,.18)}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.grid img{width:100%;height:auto;aspect-ratio:5/7;object-fit:contain;border-radius:8px;display:block;box-shadow:0 4px 14px rgba(60,50,30,.15)}

.overlay{position:fixed;inset:0;z-index:20;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center}
.overlay.light{background:rgba(244,239,228,.97);padding:16px}
.hidden{display:none!important}
#video,#snap{width:100%;height:100%;object-fit:contain;background:#111}
.cam-hint{position:absolute;top:calc(16px + env(safe-area-inset-top));color:#fff;font-size:12px;letter-spacing:.15em;text-transform:uppercase;opacity:.8}
.cam-controls{position:absolute;bottom:calc(28px + env(safe-area-inset-bottom));left:0;right:0;display:flex;justify-content:space-around;align-items:center}
.spacer{width:80px}
.shutter{width:74px;height:74px;border-radius:50%;border:5px solid #fff;background:rgba(255,255,255,.3)}
#viewer-img{max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 12px 40px rgba(60,50,30,.25)}
.viewer-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}

/* First capture */
.grid .cell{position:relative}
.disc-badge,.ed-badge{position:absolute;top:8px;right:8px;font:600 10px Inter;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:999px;pointer-events:none}
.disc-badge{background:linear-gradient(120deg,#b8862b,#f6e27a,#f3d9ff,#9fe3ff,#c9a24a);color:#3a2a0c;box-shadow:0 2px 8px rgba(120,90,20,.35)}
.ed-badge{background:rgba(43,40,35,.75);color:#fbf8f1}
.cam-hint.undiscovered{color:#f6e27a;opacity:1;font-weight:600}
.toast{position:fixed;left:50%;top:90px;transform:translate(-50%,-20px) scale(.95);opacity:0;z-index:50;background:var(--ink);color:var(--paper);padding:14px 20px;border-radius:16px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:all .35s cubic-bezier(.2,1.4,.4,1);pointer-events:none;max-width:90vw}
.toast.show{opacity:1;transform:translate(-50%,0) scale(1)}
.toast strong{display:block;font:600 22px 'Cormorant Garamond',serif}
.toast span{font-size:12px;opacity:.85}
.toast.gold{background:linear-gradient(120deg,#a8752a,#f6e27a,#f3d9ff,#9fe3ff,#c9a24a);color:#3a2a0c;background-size:300% 100%;animation:foil 2.5s linear infinite}
@keyframes foil{to{background-position:300% 0}}

/* Landmark identification */
.loading{margin:18px auto 0;max-width:300px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 18px;box-shadow:0 8px 24px rgba(60,50,30,.10)}
.step{display:flex;align-items:center;gap:10px;font:500 14px Inter;color:var(--muted);padding:6px 0;opacity:.45;transition:opacity .3s}
.step i{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);flex:none;box-sizing:border-box}
.step.active{opacity:1;color:var(--ink)}
.step.active i{border-color:#b39762 transparent #b39762 transparent;animation:spin .9s linear infinite}
.step.done{opacity:1;color:var(--ink)}
.step.done i{border:none;background:#b39762;position:relative}
.step.done i::after{content:'✓';position:absolute;inset:0;color:#fff;font-size:11px;line-height:16px;text-align:center}
@keyframes spin{to{transform:rotate(360deg)}}
.place-row{margin:16px auto 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 8px;font:600 20px 'Cormorant Garamond',serif;color:var(--ink)}
.place-row .pin{color:#b39762;font-size:14px}
.place-row small{font:500 11px Inter;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.edit-btn{font:500 12px Inter;color:#8a6d3b;background:transparent;border:1px solid #d9cfbb;border-radius:999px;padding:4px 10px;cursor:pointer}
.place-form{flex-basis:100%;display:flex;gap:6px;justify-content:center;margin-top:6px}
.place-form input{font:500 15px Inter;padding:9px 12px;border:1px solid #cdb88a;border-radius:10px;background:#fffdf8;min-width:0;flex:1;max-width:220px}
button.small{padding:8px 12px;font-size:13px}

/* login */
.overlay.login{z-index:60;background:var(--ivory)}
.login-card{width:min(360px,90vw);background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:30px 26px;text-align:center;box-shadow:0 14px 40px rgba(60,50,30,.12);position:relative}
.login-card::before{content:'';position:absolute;inset:8px;border:1px solid #d9cfbb;border-radius:12px;pointer-events:none}
.login-eyebrow{font:500 11px Inter;letter-spacing:.3em;color:var(--muted)}
.login-card h2{font:600 34px 'Cormorant Garamond',serif;margin:8px 0 2px}
.login-sub{color:var(--muted);font:italic 18px 'Cormorant Garamond',serif;margin:0 0 20px}
.login-card input{display:block;width:100%;box-sizing:border-box;margin:0 0 10px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;font:16px Inter;color:var(--ink)}
.login-card input:focus{outline:none;border-color:var(--gold)}
.login-card .primary{width:100%;margin-top:6px;position:relative}
.login-err{color:#a4442f;font-size:13px;min-height:18px;margin:10px 0 0}
.login-note{color:var(--muted);font-size:12px;margin:6px 0 0}
.card-ph{aspect-ratio:5/7;border-radius:8px;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);font:italic 16px 'Cormorant Garamond',serif}

/* card kinds */
.modes{display:inline-flex;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px;margin:0 0 14px}
.mode{border:0;background:transparent;padding:8px 16px;border-radius:999px;font:500 14px Inter;color:var(--muted)}
.mode.active{background:var(--ink);color:var(--paper)}
.filters{display:flex;width:max-content;margin:0 auto}
.mode-opts{display:none;margin:0 auto 14px;color:var(--muted);font-size:14px}.mode-opts.on{display:block}
.mode-opts input{padding:11px 14px;border:1px solid var(--line);border-radius:12px;font:16px Inter;background:#fff;width:min(260px,80vw);text-align:center}
.mode-opts select{font:15px Inter;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:#fff}
.kind-badge{position:absolute;top:8px;left:8px;font:600 10px Inter;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:rgba(251,248,241,.9);color:#6f685c;pointer-events:none}

/* home (collection) */
.top-row{display:flex;align-items:center;justify-content:space-between;max-width:560px;margin:0 auto}
.me{position:relative}
.me-btn{width:36px;height:36px;border-radius:50%;border:1px solid #cdb88a;background:var(--paper);color:#8a6d3b;font:600 18px 'Cormorant Garamond',serif;display:grid;place-items:center;padding:0}
.me-menu{position:absolute;right:0;top:44px;z-index:30;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px rgba(60,50,30,.18);min-width:170px;padding:6px;text-align:left}
.me-name{font:600 18px 'Cormorant Garamond',serif;padding:8px 12px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}
.me-item{display:block;width:100%;text-align:left;border:0;background:none;padding:10px 12px;border-radius:10px;font:500 14px Inter;color:#a4442f}
.me-item:active{background:#f1e9da}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:560px;margin:12px auto 0;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:10px 4px}
.stats div{text-align:center;border-left:1px solid var(--line);min-width:0}.stats div:first-child{border-left:0}
.stats b{display:block;font:600 24px/1.05 'Cormorant Garamond',serif;color:var(--ink)}
.stats div:nth-child(3) b{color:#a8752a}
.stats span{font:500 10px Inter;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.filter-bar{position:sticky;top:0;z-index:5;background:linear-gradient(var(--ivory) 80%,rgba(244,239,228,0));padding:calc(10px + env(safe-area-inset-top)) 0 14px;margin:0 -14px;display:flex;justify-content:center}
.grid .cell{cursor:pointer;transition:transform .2s}
.grid .cell:active{transform:scale(.98)}
.grid .cell.new{animation:pop 1.2s ease}
.grid .cell.new img,.grid .cell.new .card-ph{box-shadow:0 0 0 3px #e9cf7d,0 10px 30px rgba(168,117,42,.45)}
@keyframes pop{0%{transform:scale(.85);opacity:0}40%{transform:scale(1.04);opacity:1}100%{transform:scale(1)}}
.empty{text-align:center;color:var(--muted);padding:40px 20px 0}
.empty-mark{font-size:28px;color:#c9a24a}
.empty h2{font:600 30px/1.1 'Cormorant Garamond',serif;color:var(--ink);margin:10px 0 8px}
.empty p{font:italic 19px 'Cormorant Garamond',serif;margin:0 auto;max-width:300px}
.empty-arrow{font-size:34px;color:#b8862b;margin-top:26px;animation:bob 1.4s ease-in-out infinite}
.empty.filtered .empty-arrow{display:none}
@keyframes bob{50%{transform:translateY(10px)}}
.fab{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:9px;border:0;border-radius:999px;padding:15px 26px 15px 22px;
  background:linear-gradient(135deg,#c9a24a,#f2dc8e 45%,#b8862b);color:#3a2a0c;font:600 16px Inter;letter-spacing:.03em;box-shadow:0 10px 28px rgba(120,85,20,.38),inset 0 1px 0 rgba(255,255,255,.6)}
.fab:active{transform:translateX(-50%) scale(.96)}
.fab.pulse{animation:fabpulse 2s ease-in-out infinite}
@keyframes fabpulse{50%{box-shadow:0 10px 28px rgba(120,85,20,.38),0 0 0 10px rgba(201,162,74,.18)}}
/* capture sheet */
.sheet{position:fixed;inset:0;z-index:15;background:rgba(43,40,35,0);pointer-events:none;transition:background .3s}
.sheet.open{background:rgba(43,40,35,.35);pointer-events:auto}
.sheet-panel{position:absolute;inset:0;top:env(safe-area-inset-top);background:var(--ivory);border-radius:22px 22px 0 0;transform:translateY(105%);transition:transform .38s cubic-bezier(.2,.9,.25,1);overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:0 18px calc(30px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px rgba(0,0,0,.15)}
.sheet.open .sheet-panel{transform:translateY(0)}
.sheet-panel.dragging{transition:none}
.sheet-grip{display:flex;justify-content:center;padding:10px 0 4px;touch-action:none}.sheet-grip i{width:42px;height:5px;border-radius:3px;background:#d9cfbb}
.sheet-x{position:absolute;right:14px;top:12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--muted);font:500 15px Inter}
.sheet .hero{padding-top:8px;max-width:520px;margin:0 auto}
#sheet-done{margin-top:16px}
.viewer-hint{color:var(--muted);font:italic 15px 'Cormorant Garamond',serif;margin-top:8px}

/* location warning */
.loc-warn{margin:16px auto 0;max-width:340px;background:#fff8ec;border:1px solid #e3c98f;border-radius:16px;padding:14px 16px;text-align:left;color:#5d4a26}
.loc-warn strong{font:600 20px 'Cormorant Garamond',serif;color:#2b2823}
.loc-warn p{margin:6px 0 0;font-size:14px;line-height:1.4}
.loc-help{color:var(--muted);font-size:12.5px!important}.loc-help:empty{display:none}
.loc-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.untagged-note{color:var(--muted);font:italic 16px 'Cormorant Garamond',serif;margin:10px 0 0}

/* card viewer */
.viewer{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:rgba(24,21,17,.72);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1);animation:vfade .25s ease;touch-action:pan-x}
@keyframes vfade{from{opacity:0}}
.v-top{display:flex;align-items:center;justify-content:center;position:relative;padding:calc(14px + env(safe-area-inset-top)) 16px 4px;min-height:52px}
.v-pos{font:italic 500 20px 'Cormorant Garamond',serif;color:#f1e3bd;letter-spacing:.06em}
.v-x{position:absolute;right:14px;top:calc(10px + env(safe-area-inset-top));width:36px;height:36px;border-radius:50%;border:1px solid rgba(233,207,125,.55);background:rgba(255,255,255,.06);color:#f1e3bd;font:500 14px Inter}
.v-track{flex:1;display:flex;align-items:center;gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 9vw;perspective:1200px;transition:transform .25s,opacity .25s}
.v-track::-webkit-scrollbar{display:none}
.v-slide{flex:0 0 82vw;max-width:520px;scroll-snap-align:center;display:flex;justify-content:center;align-items:center;height:100%;padding:0 2vw}
.v-card{position:relative;max-height:calc(100dvh - 190px);max-width:100%;aspect-ratio:5/7;border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.5);transform-style:preserve-3d;will-change:transform}
.v-card img{display:block;width:100%;height:100%;object-fit:contain}
.v-card.holo::after{content:'';position:absolute;inset:0;pointer-events:none;mix-blend-mode:color-dodge;opacity:var(--holo,0);
  background:linear-gradient(115deg,transparent 20%,rgba(255,240,170,.55) 35%,rgba(240,190,255,.45) 45%,rgba(150,230,255,.45) 55%,transparent 70%);background-size:250% 250%;background-position:var(--hx,50%) 50%}
.v-actions{display:flex;justify-content:center;gap:18px;padding:10px 0 calc(22px + env(safe-area-inset-bottom))}
.v-btn{position:relative;width:46px;height:46px;border-radius:50%;border:1.5px solid #c9a24a;background:rgba(251,248,241,.08);display:grid;place-items:center;padding:0;color:#e9cf7d}
.v-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v-btn:active{transform:scale(.92)}
.v-btn.soon{opacity:.55}.v-btn.soon em{position:absolute;bottom:-15px;font:italic 500 12px 'Cormorant Garamond',serif;color:#cdb88a}
.v-btn:disabled{cursor:default}
@media (min-width:700px){.v-slide{flex-basis:46vw}.v-track{padding:0 27vw}}

/* ---- binder vibe ---- */
body{background:
  radial-gradient(120% 60% at 50% 0%,#f8f2e4 0%,rgba(248,242,228,0) 60%),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .36 0 0 0 0 .2 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
  linear-gradient(#f3ecdc,#ece2cd);background-attachment:fixed}
.top{background:transparent}
.stats{display:flex;justify-content:space-around;background:none;border:0;border-radius:0;padding:12px 0 10px;margin-top:10px;position:relative;
  border-top:1px solid rgba(168,138,85,.35);border-bottom:1px solid rgba(168,138,85,.35)}
.stats::before,.stats::after{content:'◆';position:absolute;left:50%;transform:translateX(-50%);font-size:8px;color:#b8955a;background:#f5efe1;padding:0 6px;line-height:1}
.stats::before{top:-5px}.stats::after{bottom:-5px}
.stats .stat{border:0;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:6px;align-items:center;justify-items:start}
.stats .stat svg{grid-row:1;width:18px;height:18px;fill:none;stroke:#a8752a;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.stats .stat.gold svg{fill:#e9cf7d;stroke:#a8752a}
.stats .stat:nth-child(2) svg{fill:#f3d9a0}
.stats b{grid-row:1;font:600 26px/1 'Cormorant Garamond',serif}
.stats .stat.gold b{color:#a8752a}
.stats span{grid-column:1/3;font:500 9.5px Inter;letter-spacing:.14em;color:#8a7a5c;margin-top:2px}
.filter-bar{background:linear-gradient(rgba(243,236,220,.96) 75%,rgba(243,236,220,0))}
.filters{background:rgba(251,248,241,.7);border:1px solid rgba(201,162,74,.45);box-shadow:inset 0 1px 0 #fff;padding:3px}
.filters .mode{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;font:500 13px Inter;color:#7a6a4c}
.filters .mode svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.filters .mode.active{background:linear-gradient(#34302a,#211e1a);color:#f1dfa8;box-shadow:inset 0 0 0 1px rgba(233,207,125,.35)}
.grid{gap:22px 16px;padding:4px 4px 0}
.grid .cell{position:relative}
.grid .cell img,.grid .card-ph{border-radius:9px;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 2px 4px rgba(70,50,20,.18),0 12px 24px -8px rgba(70,50,20,.35)}
.grid .cell::after{content:'';position:absolute;left:0;right:0;top:0;aspect-ratio:5/7;border-radius:9px;pointer-events:none;
  background:linear-gradient(125deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 28%,rgba(255,255,255,0) 70%,rgba(255,255,255,.14) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.cap{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:9px;font:italic 500 15px 'Cormorant Garamond',serif;color:#8a7a5c;letter-spacing:.06em}
.cap b{color:#b8862b;font-style:normal;font-size:12px}
.gem{width:8px;height:8px;transform:rotate(45deg);border-radius:1.5px;display:inline-block;background:#cfc6b4;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.gem.common{background:linear-gradient(135deg,#e6dfd0,#a59c8b)}
.gem.uncommon{background:linear-gradient(135deg,#bfe3c6,#4f7a5a)}
.gem.rare{background:linear-gradient(135deg,#c7dcf3,#3f6a96)}
.gem.epic{background:linear-gradient(135deg,#e7d0f5,#7a4f96)}
.gem.legendary{background:linear-gradient(135deg,#fff3c2,#c9a24a 50%,#8a5a12);box-shadow:0 0 6px rgba(233,190,90,.8)}
.gem.none{background:transparent;box-shadow:inset 0 0 0 1px #b9ad95}
.bottom-fade{position:fixed;left:0;right:0;bottom:0;height:calc(120px + env(safe-area-inset-bottom));z-index:9;pointer-events:none;background:linear-gradient(rgba(236,226,205,0),rgba(236,226,205,.92) 62%)}
.fab{padding:12px 22px 12px 18px;font:600 15px Inter;letter-spacing:.06em;text-transform:uppercase;color:#3a2a0c;
  background:radial-gradient(120% 90% at 50% 0%,#fff1bf 0%,rgba(255,241,191,0) 55%),linear-gradient(135deg,#b8862b,#e9cf7d 48%,#a8752a);
  border:1px solid rgba(120,85,20,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 0 12px rgba(255,236,170,.6),0 8px 22px rgba(110,78,18,.35),0 0 0 4px rgba(243,236,220,.85)}
.fab svg{width:19px;height:19px}
@media (max-width:380px){.filters .mode{padding:7px 9px;font-size:12px;gap:4px}.filters .mode svg{width:12px;height:12px}}

/* ---- capture sheet: open a pack ---- */
.sheet-panel{background:radial-gradient(120% 50% at 50% 0%,#faf5e8,rgba(250,245,232,0) 70%),linear-gradient(#f4eddd,#ece2cd)}
.sheet .hero{display:flex;flex-direction:column;align-items:center;min-height:calc(100dvh - 70px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding-top:2px}
.sheet-eyebrow{font:500 10.5px Inter;letter-spacing:.32em;text-transform:uppercase;color:#9a8763;margin:14px 0 12px}
.sets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;background:none;border:0;padding:0;margin:0 0 16px}
.set-tile{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px 10px;border-radius:14px;border:1px solid rgba(201,162,74,.4);background:rgba(251,248,241,.65);color:#6f6250;box-shadow:inset 0 1px 0 #fff;transition:all .2s}
.set-tile svg{width:26px;height:26px;fill:none;stroke:#a8752a;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:2px}
.set-tile b{font:600 17px 'Cormorant Garamond',serif;color:#2b2823}
.set-tile small{font:italic 13px 'Cormorant Garamond',serif;color:#8a7a5c;white-space:nowrap}
.set-tile em{font:500 9px Inter;letter-spacing:.12em;text-transform:uppercase;font-style:normal;color:#a8954f;margin-top:3px}
.set-tile.active{background:linear-gradient(#34302a,#1f1c18);border-color:#c9a24a;box-shadow:0 8px 18px rgba(60,40,10,.25),inset 0 0 0 1px rgba(233,207,125,.3);transform:translateY(-2px)}
.set-tile.active b{color:#f6e7b8}.set-tile.active small{color:#cdb88a}.set-tile.active svg{stroke:#e9cf7d}.set-tile.active em{color:#e9cf7d}
.card-back{width:min(62vw,250px);aspect-ratio:5/7;border-radius:14px;padding:9px;margin:2px 0 14px;flex:none;
  background:linear-gradient(135deg,#b8862b,#f2dc8e 30%,#c9a24a 55%,#f6e7b8 75%,#a8752a);box-shadow:0 18px 36px -10px rgba(70,45,10,.5),inset 0 1px 0 rgba(255,255,255,.6)}
.cb-inner{height:100%;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;position:relative;overflow:hidden;
  background:repeating-linear-gradient(45deg,rgba(201,162,74,.07) 0 2px,transparent 2px 9px),radial-gradient(circle at 50% 42%,#3a342b,#1d1a16 75%);box-shadow:inset 0 0 0 1px rgba(233,207,125,.5),inset 0 0 0 6px #1d1a16,inset 0 0 0 7px rgba(233,207,125,.35)}
.cb-top{position:absolute;top:18px;font:500 8.5px Inter;letter-spacing:.38em;color:#cdb88a}
.cb-emblem{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(233,207,125,.6);box-shadow:0 0 0 5px rgba(233,207,125,.08),inset 0 0 18px rgba(233,207,125,.15)}
.cb-emblem svg{width:32px;height:32px;fill:none;stroke:#e9cf7d;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.card-back .next-num{font:600 44px/1 'Cormorant Garamond',serif;letter-spacing:.06em;color:#e9cf7d;text-shadow:0 1px 0 #000,0 -1px 0 rgba(255,240,190,.35)}
.cb-set{font:500 9px Inter;letter-spacing:.3em;text-transform:uppercase;color:#cdb88a}
.card-back .sub{position:absolute;bottom:14px;left:10px;right:10px;margin:0;font:italic 13px 'Cormorant Garamond',serif;color:#b3a27a}
.sheet.revealing .card-back,.sheet.revealing .sets,.sheet.revealing .sheet-eyebrow,.sheet.revealing .mode-opts,.sheet.revealing #add-btn,.sheet.revealing .loc-chip{display:none!important}
.gold-input{background:transparent!important;border:0!important;border-bottom:1.5px solid #c9a24a!important;border-radius:0!important;font:italic 500 22px 'Cormorant Garamond',serif!important;color:#2b2823;padding:6px 4px!important;width:min(240px,70vw)!important;text-align:center}
.gold-input::placeholder{color:#a8977a}
.gold-input:focus{outline:none;border-bottom-color:#8a5a12!important}
.mode-opts{margin:0 auto 6px}
.stars{display:flex;gap:6px;justify-content:center}
.stars button{border:0;background:none;font-size:30px;line-height:1;color:#d9ccb0;padding:2px;transition:transform .15s,color .15s}
.stars button.on{color:#c9a24a;text-shadow:0 1px 0 #8a5a12,0 0 10px rgba(233,190,90,.5)}
.stars button:active{transform:scale(1.2)}
.adult-note{display:block;margin-top:2px;font:500 10px Inter;letter-spacing:.14em;text-transform:uppercase;color:#9a8763}
.loc-chip{font:500 12px Inter;color:#8a7a5c;margin:4px 0 0;min-height:18px;display:flex;align-items:center;gap:5px}
.loc-chip::before{content:'';width:9px;height:9px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#cdb88a}
.loc-chip.on{color:#8a6d3b}.loc-chip.on::before{background:linear-gradient(135deg,#f2dc8e,#a8752a)}
.loc-chip.off{color:#a4442f}.loc-chip.off::before{background:#c96a52}
.shutter-btn{margin-top:auto;border:0;background:none;padding:10px 0 0;display:flex;flex-direction:column;align-items:center;gap:7px;color:#3a2a0c}
.sb-ring{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(100% 80% at 50% 10%,#fff3c2 0%,rgba(255,243,194,0) 55%),linear-gradient(135deg,#b8862b,#e9cf7d 50%,#a8752a);
  box-shadow:0 0 0 4px #f4eddd,0 0 0 5.5px rgba(168,117,42,.55),inset 0 1px 0 rgba(255,255,255,.75),inset 0 0 14px rgba(255,236,170,.6),0 12px 26px rgba(110,78,18,.38);transition:transform .15s}
.sb-ring svg{width:30px;height:30px}
.shutter-btn:active .sb-ring{transform:scale(.94)}
.shutter-btn.checking .sb-ring{animation:pulse 1s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 4px #f4eddd,0 0 0 9px rgba(201,162,74,.35),0 12px 26px rgba(110,78,18,.38)}}
.sb-label{font:600 12px Inter;letter-spacing:.24em;text-transform:uppercase;color:#6f5a2e}
.sheet .limit{margin:12px 0 0;font:500 11px Inter;letter-spacing:.12em;text-transform:uppercase;color:#9a8763}
.sheet .limit b{font:600 18px 'Cormorant Garamond',serif;letter-spacing:.02em;color:#a8752a;margin-left:4px;text-transform:none}
@media (max-height:700px){.card-back{width:min(46vw,180px)}.card-back .next-num{font-size:34px}.cb-emblem{width:48px;height:48px}}
.v-btn.busy{animation:pulse 1s ease-in-out infinite}

/* share my collection (home) */
.share-row{display:flex;justify-content:center;align-items:center;gap:14px;margin:10px auto 0}
.share-binder{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(168,138,85,.45);background:rgba(251,248,241,.7);color:#2b2823;border-radius:999px;padding:7px 14px;font:500 12.5px Inter;letter-spacing:.04em;cursor:pointer}
.share-binder svg{width:15px;height:15px;fill:none;stroke:#a8752a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.share-binder.busy{opacity:.6;pointer-events:none}
.unshare-binder{border:0;background:none;color:#a4442f;font:500 12px Inter;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 2px}
