:root{--accent: #00B14F;--accent-hover: #009641;--accent-soft: #e6f7ed;--gold: #FFD600;--gold-soft: #fff7cc;--bg: #f3f5f7;--panel: #ffffff;--panel-muted: #f7f8fa;--border: #e2e5ea;--text: #1a1f24;--muted: #6b7280;--danger: #e11d48;--radius: 14px;--shadow-sm: 0 2px 6px rgba(24, 39, 75, .06);--shadow: 0 10px 28px rgba(24, 39, 75, .12);--shadow-lg: 0 24px 48px rgba(24, 39, 75, .18);--visual-viewport-height: 100dvh;--visual-viewport-width: 100vw}*{box-sizing:border-box}html,body,#root{width:100%;min-width:0;height:100%;min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Outfit,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-feature-settings:"ss01","ss02"}html.map-html,body.map-body{overflow:hidden;overscroll-behavior:none}.display-serif{font-family:Fraunces,Outfit,serif;letter-spacing:-.015em;font-variation-settings:"opsz" 48}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}.welcome-cta{padding:12px 20px;background:var(--accent);color:#fff;border-radius:12px;font-weight:700;box-shadow:0 6px 16px #00b14f40;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,opacity .12s ease}.welcome-cta:not(:disabled):hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 10px 22px #00b14f52}.welcome-cta:not(:disabled):active{transform:translateY(0)}.welcome-cta:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.app-header{position:absolute;top:0;left:0;right:0;padding:max(14px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 14px max(18px,env(safe-area-inset-left));z-index:20;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}.app-header>*{pointer-events:auto}.brand{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;background:var(--panel);border-radius:999px;box-shadow:var(--shadow);font-family:"Baloo 2",Outfit,sans-serif;font-weight:800;font-size:18px;line-height:1;letter-spacing:-.01em;color:var(--text);transition:transform .12s ease}.brand>span{transform:translateY(1px)}.brand:hover{transform:translateY(-1px)}.brand-logo{width:26px;height:26px;display:block}.brand-accent{color:var(--accent)}.top-right{display:inline-flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;background:var(--panel);border-radius:999px;box-shadow:var(--shadow);cursor:pointer;color:var(--text);font-family:inherit;transition:transform .12s ease,box-shadow .12s ease}.top-right:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.top-right.active{border-color:var(--accent)}.top-right .who{font-size:13px;font-weight:500;color:var(--text);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-right .avatar-btn{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;transition:transform .12s ease,box-shadow .12s ease}.top-right .avatar-btn:hover{transform:scale(1.05);box-shadow:0 0 0 4px var(--accent-soft)}.top-right .avatar-btn.active{outline:3px solid var(--gold);outline-offset:1px}.map-shell{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:transparent;touch-action:none}#map{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0}.maplibregl-map,.maplibregl-canvas-container,.maplibregl-canvas{width:100%!important;height:100%!important}.collection-widget{position:absolute;left:max(16px,calc(env(safe-area-inset-left) + 12px));bottom:max(16px,calc(env(safe-area-inset-bottom) + 12px));z-index:15;display:flex;flex-direction:column;gap:8px;padding:12px 14px;min-width:220px;background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.collection-widget:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.collection-widget .cw-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.collection-widget .cw-count{font-weight:700;color:var(--text);font-size:14px;text-transform:none;letter-spacing:0}.collection-widget .cw-count b{color:var(--accent);font-size:18px}.collection-widget .cw-progress{width:100%;height:6px;background:var(--panel-muted);border-radius:999px;overflow:hidden}.collection-widget .cw-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));transition:width .3s ease}.collection-widget .cw-thumbs{display:flex;gap:4px;padding-bottom:4px;overflow:visible}.collection-widget .cw-thumb{width:32px;height:32px;display:grid;place-items:center;overflow:visible}.collection-widget .cw-thumb.empty{border-radius:50%;background:var(--panel-muted);border:1px dashed var(--border);opacity:.6}.collection-widget .cw-empty{font-size:12px;color:var(--muted)}.hud{position:absolute;right:max(16px,calc(env(safe-area-inset-right) + 12px));bottom:max(16px,calc(env(safe-area-inset-bottom) + 12px));z-index:15;display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:60vw}.hud-pill{padding:8px 12px;background:var(--panel);border-radius:999px;box-shadow:var(--shadow);color:var(--text);font-size:13px;font-weight:500;white-space:nowrap}.hud-pill .hud-num{font-weight:700;color:var(--accent);margin-right:4px}.hud-pill.hot .hud-num{color:#b38900}.hud-pill.hot{background:var(--gold-soft);border-color:var(--gold);box-shadow:0 0 0 4px #ffd60040,var(--shadow)}.hud-pill.btn{color:var(--muted);cursor:pointer}.hud-pill.btn.on{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.hud-pill.btn:hover{color:var(--text)}.hud-pill--warn{color:#a55200!important;background:#fff6ec!important;border-color:#f59e0b!important;box-shadow:0 0 0 3px #f59e0b2e,var(--shadow);animation:hud-warn-pulse 2s ease-in-out infinite}.hud-pill--warn:hover{color:#7c3d00!important}@keyframes hud-warn-pulse{0%,to{box-shadow:0 0 0 3px #f59e0b2e,var(--shadow)}50%{box-shadow:0 0 0 6px #f59e0b0d,var(--shadow)}}.loc-help-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f148c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:55;padding:20px;animation:lb-fade .16s ease}.loc-help-card{position:relative;width:min(420px,100%);padding:26px 24px 22px;background:var(--panel);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);text-align:left;animation:welcome-in .2s ease}.loc-help-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:var(--panel-muted);color:var(--muted);font-size:22px;line-height:1;display:grid;place-items:center;transition:background .12s ease}.loc-help-close:hover{background:var(--border);color:var(--text)}.loc-help-icon{margin:0 0 6px;font-size:36px;line-height:1}.loc-help-card h2{margin:0 0 8px;font-size:20px;font-weight:700;letter-spacing:-.01em}.loc-help-body{margin:0 0 10px;font-size:14px;line-height:1.5;color:var(--text)}.loc-help-body.small{font-size:12px}.loc-help-body.muted{color:var(--muted)}.loc-help-steps{margin:0 0 16px;padding-left:20px;font-size:14px;line-height:1.55;color:var(--text)}.loc-help-steps li{margin-bottom:4px}.loc-help-steps b{font-weight:700}.loc-help-cta{width:100%;padding:12px 18px;background:var(--accent);color:#fff;border-radius:12px;font-weight:700;font-family:inherit;font-size:14px;transition:background .12s ease,transform .12s ease}.loc-help-cta:hover{background:var(--accent-hover);transform:translateY(-1px)}.welcome-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffff8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:30;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.welcome-card{width:min(460px,100%);padding:28px 26px 22px;background:var(--panel);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-lg);animation:welcome-in .22s ease}@keyframes welcome-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-hero{display:flex;align-items:center;gap:12px;margin-bottom:16px}.welcome-hero img{width:48px;height:48px;border-radius:14px;box-shadow:var(--shadow-sm)}.welcome-hero h1{margin:0;font-family:Fraunces,Outfit,serif;font-variation-settings:"opsz" 96;font-size:32px;letter-spacing:-.025em;line-height:1.05;font-weight:800}.welcome-hero h1 .accent{color:var(--accent)}.welcome-eyebrow{font-size:11px;color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin:0}.welcome-tagline{color:var(--muted);margin:0 0 18px;font-size:15px;line-height:1.45}.welcome-steps{display:grid;gap:10px;margin:0 0 20px;padding:0;list-style:none}.welcome-steps li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;font-size:14px;line-height:1.4;color:var(--text)}.welcome-step-num{width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:12px;font-weight:800}.welcome-card form{display:grid;grid-template-columns:1fr;gap:10px}.welcome-card form .welcome-cta{width:100%}.welcome-card input{flex:1;padding:12px 14px;background:var(--panel-muted);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:16px;font-family:inherit;min-width:0}.welcome-card input::placeholder{color:var(--muted)}.welcome-card input:focus{outline:2px solid var(--accent);background:#fff;border-color:transparent}.welcome-card .welcome-cta{padding:12px 20px;background:var(--accent);color:#fff;border-radius:12px;font-weight:700;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.welcome-card .welcome-cta:disabled{opacity:.45;cursor:not-allowed}.welcome-card .welcome-cta:not(:disabled):hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 8px 20px #00b14f4d}.welcome-card .error{color:var(--danger);margin-top:12px;font-size:13px}.welcome-foot{margin-top:14px;font-size:12px;color:var(--muted);text-align:center}.welcome-credit{margin-top:22px;font-size:11px;color:var(--muted);text-align:center}.welcome-credit a{color:inherit;text-decoration:underline}.page{height:100vh;height:100dvh;overflow-y:auto;scrollbar-gutter:stable;position:relative;padding-top:calc(82px + env(safe-area-inset-top));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:var(--bg)}.profile{max-width:720px;margin:0 auto;padding:8px 20px 60px;display:flex;flex-direction:column;gap:28px}.profile h2{margin:0 0 12px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.profile h1{margin:0;font-family:Outfit,system-ui,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.01em}.profile .muted{color:var(--muted);margin:4px 0 0}.profile .muted.small{font-size:12px}.profile-head{display:flex;align-items:center;gap:16px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}.profile-head .avatar{width:60px;height:60px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;font-size:24px;box-shadow:0 0 0 4px var(--accent-soft)}.leaderboard-section{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow-sm)}.leaderboard-list{display:grid;gap:8px}.leaderboard-row{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:10px 12px;background:var(--panel-muted);border:1px solid transparent;border-radius:12px;font-size:13px}.leaderboard-row.me{border-color:var(--accent);background:var(--accent-soft)}.leaderboard-rank{color:var(--accent);font-weight:800}.leaderboard-name{font-weight:700}.leaderboard-score{color:var(--muted);white-space:nowrap}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.sticker-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:12px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .12s ease,box-shadow .12s ease;box-shadow:var(--shadow-sm);cursor:pointer;font-family:inherit;color:inherit;width:100%}.sticker-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.sticker-card.missing{background:var(--panel-muted)}.sticker-card.rarity-legendary.got{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b33,var(--shadow-sm)}.sticker-card.rarity-rare.got{border-color:#a855f7}.sticker-card.rarity-uncommon.got{border-color:#3b82f6}.sticker-card-name{font-size:12px;color:var(--text);font-weight:600;line-height:1.2;min-height:28px;display:flex;align-items:center;justify-content:center}.sticker-card.missing .sticker-card-name{color:var(--muted);font-style:italic}.sticker-card-rarity{font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--muted)}.sticker-card-rarity.rarity-legendary{color:#f59e0b}.sticker-card-rarity.rarity-rare{color:#a855f7}.sticker-card-rarity.rarity-uncommon{color:#3b82f6}.collection-section{display:flex;flex-direction:column;gap:10px}.collection-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.collection-section h2{margin:0;color:var(--text);text-transform:none;letter-spacing:-.01em;font-size:18px;font-weight:700}.collection-section.complete h2:after{content:" ✓";color:var(--accent)}.collection-progress{font-size:13px;color:var(--muted);font-weight:600;display:inline-flex;align-items:center;gap:8px}.collection-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.collection-theme{color:var(--muted);font-size:13px;margin:0 0 4px;line-height:1.4}.sticker-v2{display:inline-block;position:relative;transition:transform .16s ease}.sticker-v2-img{width:100%;height:100%;filter:drop-shadow(0 3px 6px rgba(0,0,0,.12));transition:filter .22s ease,opacity .22s ease}.sticker-clickable{cursor:pointer}.sticker-clickable:hover{transform:translateY(-2px) scale(1.05)}.sticker-placeholder{border-radius:50%;background:var(--panel-muted);border:1px dashed var(--border);display:grid;place-items:center;color:var(--muted);font-weight:700;font-size:calc(var(--sticker-size, 72px) * .4)}.sticker-v2.is-silhouette .sticker-v2-img{filter:brightness(0) opacity(.32) drop-shadow(0 2px 4px rgba(0,0,0,.18))}.sticker-mystery{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:800;font-size:calc(var(--sticker-size, 72px) * .55);line-height:1;text-shadow:0 2px 6px rgba(0,0,0,.4);pointer-events:none;-webkit-user-select:none;user-select:none}.btn-ghost{align-self:flex-start;background:var(--panel);color:var(--muted);border:1px solid var(--border);padding:10px 16px;border-radius:10px;font-weight:500;transition:color .12s ease}.btn-ghost:hover{color:var(--text)}.loading{display:grid;place-items:center;height:100%;color:var(--muted)}.sticker-marker{cursor:pointer}.sticker-marker-dot{position:relative;width:64px;height:64px;display:grid;place-items:center;transition:transform .12s ease}.sticker-marker-dot:before{content:"";position:absolute;left:50%;bottom:-2px;width:34px;height:8px;transform:translate(-50%);background:radial-gradient(ellipse at center,#00000047,#0000 70%);pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:-1}.marker-sprite{position:relative;z-index:1;width:100%;height:100%;background-repeat:no-repeat}.marker-sprite--placeholder{border-radius:50%;background:#fff;border:2.5px solid var(--accent);display:grid;place-items:center;font-size:22px;font-weight:700;color:var(--accent)}.sticker-marker:hover .sticker-marker-dot{transform:scale(1.12)}.sticker-marker.in-range .sticker-marker-dot:after{content:"";position:absolute;top:50%;left:50%;width:72px;height:72px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at center,#ffd6008c,#ffd60000 65%);pointer-events:none;z-index:0;animation:marker-halo 1.4s ease-in-out infinite}.sticker-marker.in-range .sticker-marker-dot{animation:marker-pulse 1.2s ease-in-out infinite}@keyframes marker-halo{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}}@keyframes marker-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.sticker-marker--caught{animation:marker-catch .32s ease forwards;pointer-events:none}@keyframes marker-catch{0%{transform:scale(1);opacity:1}40%{transform:scale(1.35);opacity:1}to{transform:scale(.4);opacity:0}}.eating-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#0a0d12;display:grid;place-items:center;z-index:40;animation:eating-fade-in .22s ease forwards}@keyframes eating-fade-in{0%{opacity:0}to{opacity:1}}.eating-scene{position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;background-image:var(--bg-portrait);background-size:cover;background-position:center;animation:eating-bg-zoom 18s ease-in-out infinite alternate,eating-bg-in .5s ease-out both;will-change:transform}@media (orientation: landscape) and (min-width: 720px){.eating-scene{background-image:var(--bg-landscape)}}@keyframes eating-bg-zoom{0%{transform:scale(1) translate(0)}to{transform:scale(1.08) translate(1%,-1%)}}@keyframes eating-bg-in{0%{opacity:0;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.eating-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#0000004d,#0000008c 55%,#000000b8),linear-gradient(to bottom,#00000026,#00000059);pointer-events:none}.eating-particles-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:45}.eating-stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:18px;padding:20px;max-width:92vw;animation:eating-pop-in .28s cubic-bezier(.2,.9,.35,1.25) both}@keyframes eating-pop-in{0%{transform:scale(.7) translateY(12px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.eating-title{font-family:Fraunces,Outfit,serif;font-size:26px;font-weight:700;color:#fff;letter-spacing:-.015em;text-shadow:0 2px 12px rgba(0,0,0,.45);text-align:center}.eating-title.finishing{animation:eating-title-yum .7s cubic-bezier(.2,.9,.35,1.25)}@keyframes eating-title-yum{0%{transform:scale(1);color:#fff}40%{transform:scale(1.4);color:var(--gold)}to{transform:scale(1);color:var(--gold)}}.eating-target{position:relative;background:transparent;border:none;padding:0;cursor:pointer;display:grid;place-items:center;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:transform .12s ease}.eating-target:active{transform:scale(.98)}.eating-target.finishing{animation:eating-sticker-celebrate .7s cubic-bezier(.2,.9,.35,1.25) forwards;pointer-events:none}@keyframes eating-sticker-celebrate{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.35) rotate(-4deg)}70%{transform:scale(1.1) rotate(3deg)}to{transform:scale(0) rotate(0);opacity:0}}.eating-target-img{width:100%;height:100%;transition:opacity .16s ease}.eating-target.shake .eating-target-img{animation:eating-shake .24s cubic-bezier(.36,.07,.19,.97)}@keyframes eating-shake{0%,to{transform:translate(0) rotate(0)}15%{transform:translate(-6px,2px) rotate(-2deg)}30%{transform:translate(5px,-3px) rotate(2deg)}50%{transform:translate(-4px,1px) rotate(-1.5deg)}70%{transform:translate(3px,-1px) rotate(1deg)}}.eating-hint{display:flex;flex-direction:column;align-items:center;gap:10px;color:#ffffffe6;font-size:14px;font-weight:600}.eating-hint-text{text-shadow:0 1px 6px rgba(0,0,0,.4);letter-spacing:.02em}.eating-bites{display:inline-flex;gap:6px}.eating-bite-pip{width:10px;height:10px;border-radius:50%;background:#ffffff40;border:1.5px solid rgba(255,255,255,.5);transition:transform .22s cubic-bezier(.2,.9,.35,1.25),background .22s ease,border-color .22s ease}.eating-bite-pip.eaten{background:var(--gold);border-color:var(--gold);transform:scale(1.25)}.eating-cancel{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:3;padding:10px 22px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);color:#ffffffc7;font-size:13px;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .12s ease,color .12s ease,transform .12s ease}.eating-cancel:hover{background:#ffffff2e;color:#fff;transform:translate(-50%) translateY(-1px)}.eating-crumb,.eating-drop{position:fixed;pointer-events:none;transform:translate(-50%,-50%);will-change:transform,opacity}.eating-crumb{border-radius:2px;box-shadow:0 1px 2px #00000040}.eating-drop{border-radius:50% 50% 55% 45%/55% 45%;box-shadow:0 1px 3px #00000059,inset 2px 2px 4px #ffffff40}.haptic-switch{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;top:0;left:0;margin:0;border:0;padding:0;clip-path:inset(50%);-webkit-appearance:none;-moz-appearance:none;appearance:none}.toast{position:fixed;top:calc(82px + env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:50;padding:10px 20px;max-width:calc(100vw - 32px);background:var(--accent);color:#fff;border-radius:999px;font-size:14px;font-weight:500;letter-spacing:-.005em;line-height:1.2;animation:toast-in .18s ease both;pointer-events:none;text-align:center;white-space:nowrap}.toast--warning{background:#f59e0b}.toast--error{background:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.success-stage{position:relative;z-index:2;width:min(420px,92vw);padding:26px 22px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;background:#161a20b8;backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border:1px solid rgba(255,255,255,.08);border-radius:26px;box-shadow:0 30px 70px #00000073;animation:success-card-in .42s cubic-bezier(.2,.9,.35,1.25) both;color:#fff;text-align:center}@keyframes success-card-in{0%{opacity:0;transform:scale(.85) translateY(20px)}60%{opacity:1;transform:scale(1.03) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.success-badge{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);padding:6px 14px;background:#ffd60024;border:1px solid rgba(255,214,0,.35);border-radius:999px;animation:success-badge-pop .5s cubic-bezier(.2,.9,.35,1.25) .1s both}@keyframes success-badge-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.success-sticker{width:220px;height:220px;background-repeat:no-repeat;filter:drop-shadow(0 18px 32px rgba(0,0,0,.4));animation:success-sticker-in .6s cubic-bezier(.2,.9,.35,1.25) .18s both,success-sticker-float 3.6s ease-in-out .78s infinite alternate}@keyframes success-sticker-in{0%{opacity:0;transform:scale(.2) rotate(-12deg)}60%{opacity:1;transform:scale(1.15) rotate(4deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes success-sticker-float{0%{transform:translateY(0) rotate(-1.5deg)}to{transform:translateY(-6px) rotate(1.5deg)}}.success-info{display:flex;flex-direction:column;align-items:center;gap:4px}.success-rarity{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;padding:4px 10px;border-radius:999px;background:#ffffff14;color:#ffffffb8}.success-rarity.rarity-legendary{color:#ffcf4d;background:#f59e0b2e}.success-rarity.rarity-rare{color:#c4a5ff;background:#a855f738}.success-rarity.rarity-uncommon{color:#8ed4ff;background:#3b82f638}.success-name{font-family:Fraunces,Outfit,serif;font-size:26px;font-weight:700;letter-spacing:-.018em;margin:2px 0 0;line-height:1.1}.success-blurb{font-size:13.5px;color:#ffffffb8;margin:4px 6px 0;line-height:1.4;font-weight:500;max-width:320px}.success-poi{font-size:12.5px;color:#fff9;margin:4px 0 0;font-weight:500}.success-poi b{color:#ffffffeb;font-weight:700}.success-meta{width:100%;margin-top:8px;padding:12px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:14px;display:flex;flex-direction:column;gap:6px}.success-meta-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.success-meta-label{color:#ffffff8c;font-weight:500;letter-spacing:.01em}.success-meta-value{color:#fff;font-weight:700;display:inline-flex;align-items:center;gap:8px}.success-new-pill{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--gold);color:#1a1f24}.success-continue{width:100%;margin-top:6px;padding:14px 22px;background:#fff;color:#1a1f24;border-radius:14px;font-size:15px;font-weight:800;letter-spacing:-.005em;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;box-shadow:0 10px 24px #00000040}.success-continue:hover{transform:translateY(-1px);box-shadow:0 14px 30px #0000004d}.success-continue:active{transform:translateY(0)}@media (max-width: 480px){.success-sticker{width:180px;height:180px}.success-name{font-size:22px}.success-stage{padding:22px 18px 16px;border-radius:22px}}.hud-icon{margin-right:6px;font-size:14px}.lb-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f1452;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:40;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));animation:lb-fade .16s ease}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}.lb-card{width:min(420px,100%);max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;padding:22px 22px 18px;background:var(--panel);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-lg);animation:welcome-in .2s ease}.lb-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.lb-head h2{margin:0;font-family:Fraunces,Outfit,serif;font-variation-settings:"opsz" 72;font-weight:800;font-size:24px;letter-spacing:-.02em}.lb-eyebrow{margin:0;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.lb-close{width:32px;height:32px;border-radius:50%;background:var(--panel-muted);color:var(--muted);font-size:22px;line-height:1;display:grid;place-items:center;transition:background .12s ease,color .12s ease}.lb-close:hover{background:var(--border);color:var(--text)}.lb-loading,.lb-error{margin:12px 0;font-size:14px;color:var(--muted);text-align:center}.lb-error{color:var(--danger)}.lb-empty{text-align:center;padding:28px 10px}.lb-empty-icon{font-size:44px;margin-bottom:8px}.lb-empty p{margin:4px 0;font-size:14px}.lb-empty .muted{color:var(--muted)}.lb-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.lb-list--me{margin-top:2px}.lb-row{display:grid;grid-template-columns:40px 34px 1fr auto;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-radius:12px;transition:background .12s ease,transform .12s ease;animation:lb-row-in .26s ease both}@keyframes lb-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.lb-row:hover{background:var(--panel-muted)}.lb-row--me{background:var(--accent-soft);border-color:var(--accent)}.lb-row--me:hover{background:var(--accent-soft)}.lb-row--highlight{box-shadow:0 0 0 3px #ffd60059}.lb-rank{font-variant-numeric:tabular-nums;font-weight:700;color:var(--muted);font-size:13px;text-align:center}.lb-rank--medal{font-size:22px;color:transparent}.lb-avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}.lb-row--me .lb-avatar{background:var(--accent-hover);box-shadow:0 0 0 3px #ffd60066}.lb-name{font-weight:600;font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.lb-you{font-size:10px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;background:#fff;padding:2px 6px;border-radius:999px;border:1px solid var(--accent)}.lb-count{display:flex;flex-direction:column;align-items:flex-end;line-height:1}.lb-count b{font-size:18px;color:var(--text);font-weight:800;font-variant-numeric:tabular-nums}.lb-count small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.lb-divider{text-align:center;color:var(--muted);font-size:14px;padding:6px 0;letter-spacing:.3em}.lb-foot{margin:12px 0 0;font-size:11px;color:var(--muted);text-align:center}.vm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080e148c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:60;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));animation:lb-fade .16s ease;overflow:hidden}.vm-card{position:relative;width:min(440px,100%);padding:26px 22px 20px;background:var(--panel);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-lg),0 0 0 6px #ffd6002e;animation:vm-in .28s cubic-bezier(.2,.9,.3,1.2);text-align:center}@keyframes vm-in{0%{opacity:0;transform:translateY(18px) scale(.92) rotate(-1deg)}60%{opacity:1;transform:translateY(-4px) scale(1.02) rotate(.6deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.vm-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;background:var(--panel-muted);color:var(--muted);font-size:22px;line-height:1;display:grid;place-items:center;transition:background .12s ease}.vm-close:hover{background:var(--border);color:var(--text)}.vm-header{margin-bottom:14px}.vm-eyebrow{margin:0 0 4px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.vm-card h2{margin:0;font-family:Fraunces,Outfit,serif;font-variation-settings:"opsz" 96;font-weight:800;font-size:30px;letter-spacing:-.025em;line-height:1.05}.vm-theme{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.vm-sticker-row{display:flex;justify-content:center;align-items:flex-end;gap:6px;flex-wrap:wrap;margin:14px 0 18px;min-height:72px}.vm-sticker-slot{opacity:0;transform:translateY(8px) scale(.85);animation:vm-slot-in .42s cubic-bezier(.2,.9,.3,1.2) forwards}@keyframes vm-slot-in{to{opacity:1;transform:translateY(0) scale(1)}}.vm-reward{padding:14px 12px 10px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:16px;margin-bottom:12px}.vm-amount{display:inline-flex;align-items:baseline;gap:4px;font-family:Fraunces,Outfit,serif;font-variation-settings:"opsz" 120;font-weight:800;color:var(--accent);line-height:1}.vm-amount-cur{font-size:16px;letter-spacing:.02em}.vm-amount-value{font-size:56px;letter-spacing:-.04em}.vm-reward-label{margin:4px 0 0;font-size:13px;font-weight:600;color:var(--text);letter-spacing:.01em}.vm-code{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;width:100%;padding:12px 16px;background:var(--panel-muted);border:1px dashed var(--border);border-radius:12px;text-align:left;margin-bottom:14px;transition:border-color .12s ease,background .12s ease;cursor:pointer}.vm-code:hover{border-color:var(--accent);background:#fff}.vm-code-label{grid-column:1;font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}.vm-code-value{grid-column:1;grid-row:2;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-weight:700;font-size:16px;color:var(--text);letter-spacing:.04em}.vm-code-copy{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;background:#fff;border:1px solid var(--accent);padding:4px 10px;border-radius:999px;transition:background .12s ease,color .12s ease}.vm-code-copy--done{background:var(--accent);color:#fff}.vm-cta{width:100%;padding:12px 18px;background:var(--accent);color:#fff;border-radius:12px;font-weight:700;transition:background .12s ease,transform .12s ease,box-shadow .12s ease}.vm-cta:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 8px 20px #00b14f4d}.vm-foot{margin:10px 0 0;font-size:11px;color:var(--muted);line-height:1.4}.vm-confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.vm-confetti-piece{position:absolute;top:-20px;border-radius:2px;transform-origin:center;animation:vm-confetti-fall linear forwards;opacity:.9}@keyframes vm-confetti-fall{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(110vh) rotate(520deg);opacity:.8}}.profile-head-meta{min-width:0}.profile-stats{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-top:4px}.profile-stats b{color:var(--text);font-weight:700}.profile-stats-sep{color:var(--border)}.profile-stats-money{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}.profile-head .small{font-size:12px;margin-top:4px}.share-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(135deg,#00b14f1a,#00b14f05);color:var(--text);font-family:inherit;text-align:left;cursor:pointer;transition:transform .12s ease,box-shadow .16s ease,background .16s ease}.share-banner:hover{box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#00b14f24,#00b14f0a)}.share-banner:active{transform:scale(.99)}.share-banner-copy{min-width:0}.share-banner-title{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-banner-sub{font-size:12px;color:var(--muted);margin-top:2px}.share-banner-icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #00b14f38}.tab-bar{display:flex;gap:4px;padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-sm);align-self:stretch;margin:0}.tab{flex:1;padding:8px 14px;border-radius:999px;font-family:inherit;font-size:13px;font-weight:600;color:var(--muted);background:transparent;transition:color .12s ease,background .16s ease}.tab:hover{color:var(--text)}.tab--active,.tab--active:hover{background:var(--accent);color:#fff;box-shadow:0 4px 10px #00b14f38}.stickers-tab{display:flex;flex-direction:column;gap:8px}.collection-accordion{background:var(--panel);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:border-color .12s ease,box-shadow .12s ease}.collection-accordion.complete{border-color:var(--accent);background:var(--accent-soft)}.collection-accordion.open{box-shadow:var(--shadow)}.collection-accordion-head{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 16px;background:transparent;text-align:left;cursor:pointer;transition:background .12s ease}.collection-accordion-head:hover{background:var(--panel-muted)}.collection-accordion-title{display:flex;align-items:center;gap:8px;min-width:0}.collection-accordion-title h3{margin:0;font-family:inherit;font-weight:700;font-size:15px;color:var(--text);letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-accordion-meta{display:flex;align-items:center;gap:10px;min-width:140px}.collection-accordion-progress{width:80px;height:5px;background:var(--panel-muted);border-radius:999px;overflow:hidden}.collection-accordion-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));transition:width .3s ease}.collection-accordion-count{font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.collection-accordion.complete .collection-accordion-count{color:var(--accent)}.collection-accordion-body{padding:0 16px 16px;animation:accordion-in .22s ease}@keyframes accordion-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.collection-theme{margin:0 0 12px;font-size:13px;color:var(--muted);line-height:1.45}.collection-badge{background:var(--accent);color:#fff;font-size:11px;font-weight:800;padding:2px 6px;border-radius:999px;letter-spacing:.04em}.board-empty{padding:28px 12px;text-align:center;color:var(--muted);background:var(--panel);border:1px solid var(--border);border-radius:14px}.profile-logout{margin-top:0}.profile-foot{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.vouchers-section{display:flex;flex-direction:column;gap:12px}.vouchers-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.vouchers-head h2{margin:0 0 4px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.vouchers-head .muted{margin:0;font-size:13px}.vouchers-total{display:inline-flex;align-items:baseline;gap:4px;padding:8px 14px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:14px;font-family:Fraunces,Outfit,serif;font-variation-settings:"opsz" 96;font-weight:800;color:var(--accent);line-height:1}.vouchers-total-cur{font-size:12px;letter-spacing:.04em}.vouchers-total-val{font-size:28px;letter-spacing:-.03em}.voucher-list{display:flex;flex-direction:column;gap:8px}.voucher-list--locked{opacity:.85}.vouchers-locked-label{margin:8px 0 0;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.voucher-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);transition:border-color .12s ease,transform .12s ease}.voucher-row--unlocked{border-color:var(--accent);background:var(--accent-soft)}.voucher-row--unlocked:hover{transform:translateY(-1px)}.voucher-row--pending{border-color:var(--gold);background:var(--gold-soft)}.voucher-row--locked{background:var(--panel-muted)}.voucher-pending{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;white-space:nowrap}.voucher-pending-pos{font-size:13px;font-weight:600;color:#8a5a00}.voucher-pending-pos b{font-size:16px;font-weight:800;color:var(--text);margin-right:2px}.voucher-pending-sub{font-size:11px;color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-weight:600}.vouchers-pool-summary{margin-top:4px}.vouchers-pool-summary b{color:var(--text);font-weight:700}.success-vouchers{width:100%;display:flex;flex-direction:column;gap:8px;margin-top:4px}.success-voucher{padding:12px 14px;border-radius:14px;background:#00b14f1f;border:1px solid rgba(0,177,79,.4);text-align:left}.success-voucher--pending{background:#ffd6001f;border-color:#ffd60073}.success-voucher-head{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}.success-voucher--granted .success-voucher-head{color:#82e8a8}.success-voucher-body{display:flex;flex-direction:column;gap:2px;margin-top:4px}.success-voucher-code{font-family:Fraunces,Outfit,serif;font-weight:800;font-size:18px;color:#fff;letter-spacing:.03em}.success-voucher-hint{font-size:12.5px;color:#ffffffb8;font-weight:500}.voucher-row-left{display:flex;align-items:center;gap:12px;min-width:0}.voucher-amount{display:inline-flex;align-items:baseline;gap:2px;padding:8px 12px;min-width:64px;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:12px;font-family:Fraunces,Outfit,serif;font-variation-settings:"opsz" 96;font-weight:800;color:var(--accent);line-height:1}.voucher-row--locked .voucher-amount{color:var(--muted)}.voucher-cur{font-size:11px;letter-spacing:.04em}.voucher-val{font-size:22px;letter-spacing:-.03em}.voucher-meta{min-width:0}.voucher-set{font-weight:700;font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voucher-label{font-size:11px;color:var(--muted);margin-top:2px;letter-spacing:.02em}.voucher-code{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px dashed var(--accent);border-radius:10px;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-weight:700;font-size:13px;color:var(--text);letter-spacing:.04em;transition:background .12s ease,border-style .12s ease}.voucher-code:hover{background:var(--accent-soft);border-style:solid}.voucher-code-copy{font-family:Outfit,sans-serif;font-size:10px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;background:var(--accent-soft);padding:3px 7px;border-radius:999px;transition:background .12s ease,color .12s ease}.voucher-code-copy--done{background:var(--accent);color:#fff}.voucher-locked-note{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.02em}.vouchers-foot{margin:10px 0 0;font-size:12px;line-height:1.5}.sd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f147a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:50;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));animation:lb-fade .16s ease}.sd-card{position:relative;width:min(380px,100%);max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;padding:24px 22px 22px;background:var(--panel);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-lg);animation:welcome-in .2s ease;text-align:center}.sd-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:var(--panel-muted);color:var(--muted);font-size:22px;line-height:1;display:grid;place-items:center;transition:background .12s ease,color .12s ease}.sd-close:hover{background:var(--border);color:var(--text)}.sd-hero{display:grid;place-items:center;padding:4px 0 12px}.sd-body{display:flex;flex-direction:column;gap:8px}.sd-rarity{align-self:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--panel-muted);color:var(--muted);border:1px solid var(--border)}.sd-rarity.rarity-uncommon{color:#2563eb;border-color:#bfdbfe;background:#eff6ff}.sd-rarity.rarity-rare{color:#7c3aed;border-color:#ddd6fe;background:#f5f3ff}.sd-rarity.rarity-legendary{color:#b45309;border-color:#fde68a;background:#fffbeb}.sd-name{margin:2px 0;font-size:22px;font-weight:700;letter-spacing:-.01em}.sd-meta{display:flex;flex-direction:column;align-items:center;gap:3px;margin:0;line-height:1.2}.sd-meta-label{text-transform:uppercase;font-size:10.5px;font-weight:800;letter-spacing:.14em;color:var(--muted)}.sd-meta>span:last-child{color:var(--text);font-weight:600;font-size:14px}.sd-blurb{margin:6px 0 8px;font-size:14px;line-height:1.45;color:var(--text)}.sd-claim{margin:6px 0;background:var(--accent-soft);border:1px solid var(--accent);border-radius:14px;text-align:left;overflow:hidden}.sd-claim-body{padding:10px 14px 12px}.sd-map{width:100%;height:140px;background:var(--panel-muted);border-bottom:1px solid var(--accent);pointer-events:none}.sd-map-pin{width:40px;height:40px;display:grid;place-items:end center;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}.sd-map-pin img{width:100%;height:100%;object-fit:contain}.sd-claim-head{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.sd-claim-poi{margin-top:2px;font-size:15px;font-weight:700;color:var(--text);line-height:1.3}.sd-claim-time{margin-top:2px;font-size:12px;color:var(--muted)}.sd-locked{font-size:14px;line-height:1.5;color:var(--muted);margin:4px 0 6px}.sd-locked-origin{color:var(--text);font-weight:600}.sd-collection-tag{margin-top:4px;font-size:12px;color:var(--muted)}.sd-collection-tag b{color:var(--text);font-weight:700}.merchant-shell{min-height:100%;background:var(--bg);display:flex;flex-direction:column}.merchant-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.merchant-header .brand{box-shadow:none}.merchant-chip{margin-left:4px;padding:3px 8px;background:var(--gold-soft);color:#8a6d00;font-family:Outfit,sans-serif;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;border:1px solid var(--gold)}.merchant-top-right{display:flex;align-items:center;gap:10px}.merchant-top-right .who{font-size:13px;font-weight:600}.merchant-back{padding:6px 12px;font-size:13px}.merchant-main{max-width:780px;margin:0 auto;width:100%;padding:24px 20px 60px;display:flex;flex-direction:column;gap:20px}.merchant-new h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.01em}.merchant-login{min-height:100%;display:grid;place-items:center;padding:40px 20px;background:var(--bg)}.merchant-login-card{width:min(480px,100%);padding:28px 26px 22px;background:var(--panel);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-lg)}.merchant-login-card h1{margin:4px 0 10px;font-size:26px;font-weight:700;letter-spacing:-.015em}.merchant-login-card form{display:grid;gap:10px;margin-top:14px}.merchant-login-card input{padding:12px 14px;background:var(--panel-muted);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:16px;font-family:inherit}.merchant-login-card input:focus{outline:2px solid var(--accent);background:#fff;border-color:transparent}.merchant-login-card .welcome-cta{width:100%;margin-top:4px;padding:14px 20px;background:var(--accent);color:#fff;border-radius:12px;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:.01em;box-shadow:0 8px 20px #00b14f40;transition:background .12s ease,transform .12s ease,box-shadow .12s ease}.merchant-login-card .welcome-cta:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 12px 28px #00b14f59}.merchant-login-card .welcome-cta:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px #00b14f40}.merchant-login-card .welcome-cta:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.merchant-benefits{list-style:none;padding:0;margin:4px 0 6px;display:grid;gap:8px}.merchant-benefits li{padding:10px 12px;background:var(--panel-muted);border:1px solid var(--border);border-radius:12px;font-size:13px;line-height:1.4}.merchant-empty{text-align:center;padding:48px 24px;background:var(--panel);border:1px dashed var(--border);border-radius:20px}.merchant-empty h1{margin:0 0 8px;font-size:24px;font-weight:700;letter-spacing:-.01em}.merchant-empty .welcome-cta{margin-top:16px;display:inline-block}.merchant-past-campaign{margin-top:18px}.campaign-card{display:grid;grid-template-columns:148px 1fr;gap:22px;padding:22px;background:var(--panel);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);position:relative}.campaign-live-chip{position:absolute;top:14px;right:18px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.campaign-live-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #00b14f40;animation:live-pulse 1.6s ease-in-out infinite}@keyframes live-pulse{0%,to{box-shadow:0 0 0 3px #00b14f40}50%{box-shadow:0 0 0 6px #00b14f0d}}.campaign-sticker{width:140px;height:140px;border-radius:16px;background:var(--panel);border:1px solid var(--border);display:grid;place-items:center}.campaign-sticker img{width:124px;height:124px;object-fit:contain}.campaign-meta h1{margin:4px 0 2px;font-size:22px;font-weight:700;letter-spacing:-.01em}.campaign-stats{display:flex;gap:14px;margin:14px 0 12px;flex-wrap:wrap}.campaign-stat{min-width:90px;padding:10px 14px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.campaign-stat-value{font-weight:800;font-size:20px;color:var(--accent);font-variant-numeric:tabular-nums}.campaign-stat-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:2px;font-weight:700}.campaign-code{display:flex;gap:10px;align-items:center;padding:8px 12px;background:#fff;border:1px dashed var(--accent);border-radius:10px;margin-top:8px}.campaign-code--button{width:100%;font-family:inherit;color:inherit;text-align:left;cursor:pointer;transition:background .12s ease,border-style .12s ease}.campaign-code--button:hover{background:var(--accent-soft);border-style:solid}.campaign-code-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.campaign-code-value{font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-weight:700;font-size:14px;letter-spacing:.04em;flex:1}.campaign-code-copy{font-size:10px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;background:var(--accent-soft);border:1px solid var(--accent);padding:3px 8px;border-radius:999px;transition:background .12s ease,color .12s ease}.campaign-code-copy--done{background:var(--accent);color:#fff}.campaign-reward-label{margin:10px 0 12px;font-weight:600;font-size:14px}.campaign-end{margin-top:6px}.claims-section h2{margin:0 0 10px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.claims-empty{padding:20px;background:var(--panel);border:1px dashed var(--border);border-radius:14px;text-align:center}.claims-empty p{margin:4px 0;font-size:14px}.claims-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.claim-row{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:10px;padding:10px 14px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.claim-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.claim-name{font-weight:600;font-size:14px}.claim-time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.campaign-form{display:flex;flex-direction:column;gap:18px}.campaign-step{padding:18px 18px 16px;background:var(--panel);border:1px solid var(--border);border-radius:16px}.step-label{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14px;margin-bottom:10px}.step-num{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.campaign-step input[type=text],.campaign-step input[type=number],.campaign-step input[type=email]{width:100%;padding:10px 12px;background:var(--panel-muted);border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:14px}.campaign-step input:focus{outline:2px solid var(--accent);background:#fff;border-color:transparent}.poi-list{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:4px}.poi-row{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 12px;background:var(--panel-muted);border:1px solid var(--border);border-radius:10px;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease;font-family:inherit;color:inherit}.poi-row:hover{background:#fff;border-color:var(--accent)}.poi-row--selected{background:var(--accent-soft);border-color:var(--accent)}.poi-name{font-weight:700;font-size:14px}.poi-addr{font-size:12px;color:var(--muted);margin-top:2px}.poi-tick{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800}.poi-preview{margin-top:12px;border:1px solid var(--accent);border-radius:14px;overflow:hidden;animation:wizard-in .24s cubic-bezier(.2,.9,.3,1.1)}.poi-preview-map{width:100%;height:160px;background:var(--panel-muted);pointer-events:none}.poi-preview-pin{width:44px;height:44px;display:grid;place-items:end center;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}.poi-preview-pin img{width:100%;height:100%;object-fit:contain}.poi-preview-caption{padding:10px 14px;font-size:13px;color:var(--text);background:var(--accent-soft);border-top:1px solid var(--accent)}.poi-preview-caption b{font-weight:700;color:var(--accent)}.sticker-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;max-height:320px;overflow-y:auto;padding:4px;margin:0 -4px;scrollbar-gutter:stable}.sticker-picker-item{aspect-ratio:1;background:var(--panel-muted);border:2px solid var(--border);border-radius:14px;padding:6px;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}.sticker-picker-item img{width:100%;height:100%;object-fit:contain}.sticker-picker-item:hover{transform:translateY(-2px)}.sticker-picker-item.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px #00b14f2e}.reward-inputs{display:grid;grid-template-columns:110px 1fr;gap:8px}.reward-amount-field{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px;padding:0 0 0 12px;background:var(--panel-muted);border:1px solid var(--border);border-radius:10px}.reward-amount-field .reward-cur{font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.08em}.reward-amount-field input{border:none!important;background:transparent!important;padding:10px 8px}.welcome-merchant-link{color:var(--accent);font-weight:600;border-bottom:1px dotted var(--accent)}.welcome-merchant-link:hover{color:var(--accent-hover)}.campaign-reward-card{border-color:var(--gold)!important;box-shadow:var(--shadow-lg),0 0 0 6px #ffd60038!important}.campaign-reward-card .vm-eyebrow{color:#a07800}.campaign-reward-card .vm-reward{background:var(--gold-soft);border-color:var(--gold)}.campaign-reward-card .vm-amount{color:#a07800}.campaign-reward-card .vm-code{border-color:var(--gold)}.campaign-reward-card .vm-code-copy{color:#a07800;border-color:var(--gold);background:var(--gold-soft)}.campaign-reward-card .vm-code-copy--done{background:var(--gold);color:#5a4700}.campaign-reward-card .vm-cta{background:var(--accent)}.merchant-empty .welcome-cta,.campaign-launch-btn{width:100%;padding:14px 20px;background:var(--accent);color:#fff;border-radius:12px;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:.01em;box-shadow:0 8px 20px #00b14f40;transition:background .12s ease,transform .12s ease,box-shadow .12s ease}.merchant-empty .welcome-cta:hover:not(:disabled),.campaign-launch-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 12px 28px #00b14f59}.merchant-empty .welcome-cta:active:not(:disabled),.campaign-launch-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px #00b14f40}.merchant-empty .welcome-cta:disabled,.campaign-launch-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.merchant-empty .welcome-cta{max-width:280px}.pill-group-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px}.pill-group-label:first-child{margin-top:4px}.pill-group{display:flex;flex-wrap:wrap;gap:6px}.pill{padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;color:var(--text);background:var(--panel-muted);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.pill:hover{border-color:var(--accent)}.pill--selected{background:var(--accent);color:#fff;border-color:var(--accent)}.campaign-pricing{background:var(--panel)}.pricing-grid{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:14px;margin-bottom:12px}.pricing-row{display:flex;justify-content:space-between;align-items:baseline;font-size:14px}.pricing-label{color:var(--text);display:flex;flex-direction:column}.pricing-label small{color:var(--muted);font-size:11px;margin-top:2px;font-weight:500}.pricing-value{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}.pricing-row--emph{font-weight:700;color:var(--accent)}.pricing-row--emph .pricing-value{color:var(--accent)}.pricing-divider{height:1px;background:var(--border);margin:2px 0}.pricing-row--total{font-size:15px}.pricing-total{font-family:inherit;font-size:18px;font-weight:800;color:var(--accent);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.pricing-foot{margin:0 0 14px;font-size:12px;line-height:1.5;color:var(--muted)}.pricing-foot b{color:var(--text);font-weight:700}.pricing-note{margin-top:10px;text-align:center;font-size:13px;color:var(--text)}.pricing-note b{font-weight:700;color:var(--accent)}.sticker-picker-fallback{display:grid;place-items:center;width:100%;height:100%;font-family:Fraunces,Outfit,serif;font-weight:800;color:var(--accent);font-size:24px;text-transform:uppercase}.wizard-progress{list-style:none;margin:0 0 6px;padding:0;display:flex;align-items:center;gap:0}.wizard-progress-step{display:flex;align-items:center;flex:0 0 auto}.wizard-progress-step:not(:last-child){flex:1}.wizard-progress-btn{width:30px;height:30px;border-radius:50%;background:var(--panel);border:2px solid var(--border);color:var(--muted);font-weight:700;font-size:13px;display:grid;place-items:center;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;flex-shrink:0}.wizard-progress-btn:disabled{cursor:not-allowed}.wizard-progress-btn:not(:disabled){cursor:pointer}.wizard-progress-btn:not(:disabled):hover{transform:scale(1.05)}.wizard-progress-step--active .wizard-progress-btn{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px var(--accent-soft)}.wizard-progress-step--done .wizard-progress-btn{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.wizard-progress-bar{flex:1;height:2px;background:var(--border);margin:0 4px;position:relative;overflow:hidden}.wizard-progress-step--done .wizard-progress-bar{background:var(--accent)}.wizard-step{animation:wizard-in .26s cubic-bezier(.2,.9,.3,1.1)}@keyframes wizard-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.wizard-nav{display:flex;gap:10px;align-items:center}.wizard-nav .btn-ghost{padding:12px 16px;font-size:14px}.wizard-nav .campaign-launch-btn{flex:1}.rollup{display:flex;align-items:stretch;gap:6px;padding:14px 18px;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}.rollup-stat{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.rollup-value{display:flex;align-items:baseline;gap:4px;font-family:inherit;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.rollup-cur{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.08em}.rollup-num{font-size:22px;color:var(--accent);letter-spacing:-.01em}.rollup-sub{font-size:12px;color:var(--muted);font-weight:600}.rollup-label{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-top:4px}.rollup-divider{width:1px;background:var(--border)}.dashboard-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.dashboard-summary h1{margin:0;font-size:24px;font-weight:700;letter-spacing:-.01em}.dashboard-summary .muted{margin:4px 0 0;font-size:14px}.dashboard-new-btn{padding:10px 18px;background:var(--accent);color:#fff;border-radius:12px;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.01em;white-space:nowrap;box-shadow:0 8px 20px #00b14f40;transition:background .12s ease,transform .12s ease,box-shadow .12s ease}.dashboard-new-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 12px 28px #00b14f59}.dashboard-new-btn:active{transform:translateY(0);box-shadow:0 4px 12px #00b14f40}.campaigns-group{display:flex;flex-direction:column;gap:10px}.campaigns-group-head{margin:0;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.campaigns-stack{display:flex;flex-direction:column;gap:14px}.campaign-card--ended{opacity:.75;border-style:dashed}.campaign-ended-chip{position:absolute;top:14px;right:18px;padding:4px 10px;background:var(--panel-muted);color:var(--muted);border:1px solid var(--border);border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.campaign-title{margin:4px 0 2px;font-size:20px;font-weight:700;letter-spacing:-.01em}.campaign-sub{margin:0 0 14px}.campaign-progress-block{padding:12px 14px;background:var(--panel-muted);border:1px solid var(--border);border-radius:12px;margin-bottom:14px}.campaign-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:13px}.campaign-progress-current{font-family:Fraunces,Outfit,serif;font-variation-settings:"opsz" 96;font-size:20px;font-weight:800;color:var(--accent);letter-spacing:-.015em;font-variant-numeric:tabular-nums}.campaign-progress-count{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums}.campaign-progress-bar{height:8px;background:var(--border);border-radius:999px;overflow:hidden}.campaign-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));transition:width .4s ease}.campaign-claims-details{margin:12px 0 10px;border-top:1px solid var(--border);padding-top:10px}.campaign-claims-details summary{cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);list-style:none}.campaign-claims-details summary::-webkit-details-marker{display:none}.campaign-claims-details summary:before{content:"▸";display:inline-block;margin-right:6px;transition:transform .16s ease;color:var(--accent)}.campaign-claims-details[open] summary:before{transform:rotate(90deg)}.campaign-claims-details .claims-list{margin-top:8px}@media (max-width: 560px){.app-header{padding:max(10px,env(safe-area-inset-top)) max(12px,calc(env(safe-area-inset-right) + 8px)) 10px max(12px,calc(env(safe-area-inset-left) + 8px))}.brand{font-size:15px;padding:6px 12px 6px 8px}.brand-logo{width:24px;height:24px}.top-right{padding:4px 4px 4px 12px;gap:6px}.top-right .who{max-width:90px;font-size:12px}.top-right .avatar-btn{width:30px;height:30px;font-size:13px}.collection-widget{left:max(10px,calc(env(safe-area-inset-left) + 8px));bottom:max(10px,calc(env(safe-area-inset-bottom) + 8px));padding:10px 12px 14px;min-width:160px;max-width:calc(100vw - 124px - env(safe-area-inset-left) - env(safe-area-inset-right))}.collection-widget .cw-thumbs{display:flex;gap:3px;min-width:0;overflow:visible;padding-bottom:4px}.collection-widget .cw-thumb{width:24px;height:24px;flex:0 0 24px;overflow:visible}.collection-widget .cw-thumb .sticker-v2{transform:scale(.75)}.collection-widget .cw-empty{font-size:11px;line-height:24px;white-space:nowrap}.hud{right:max(10px,calc(env(safe-area-inset-right) + 8px));bottom:max(10px,calc(env(safe-area-inset-bottom) + 8px));gap:4px;max-width:112px}.hud-pill{padding:6px 10px;font-size:12px}.welcome-card{padding:22px 18px 18px;border-radius:18px}.welcome-hero h1{font-size:22px}.welcome-hero img{width:40px;height:40px}.welcome-card form{grid-template-columns:1fr}.welcome-card .welcome-cta{width:100%}.profile{padding:8px 14px 40px;gap:20px}.profile-head .avatar{width:48px;height:48px;font-size:20px;box-shadow:0 0 0 3px var(--accent-soft)}.profile h1{font-size:20px}.sticker-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.sticker-card{padding:8px 4px}.sticker-card-name{font-size:11px;min-height:24px}.leaderboard-row{grid-template-columns:34px 1fr}.leaderboard-score{grid-column:2;white-space:normal}.lb-card{padding:18px 16px 14px;border-radius:18px}.lb-head h2{font-size:20px}.lb-row{grid-template-columns:32px 28px 1fr auto;gap:8px;padding:8px 10px}.lb-rank{font-size:12px}.lb-rank--medal{font-size:18px}.lb-avatar{width:26px;height:26px;font-size:12px}.lb-name{font-size:13px}.lb-count b{font-size:16px}.vm-card{padding:22px 18px 16px;border-radius:18px}.vm-card h2{font-size:24px}.vm-amount-value{font-size:44px}.vm-sticker-row{min-height:56px}.merchant-header{padding:10px 14px}.merchant-main{padding:18px 14px 40px}.merchant-chip{display:none}.campaign-card{grid-template-columns:1fr;padding:16px;gap:14px}.campaign-sticker{width:100%;height:180px}.campaign-stats{gap:8px}.campaign-stat{flex:1;min-width:0;padding:8px 10px}.campaign-stat-value{font-size:18px}.reward-inputs{grid-template-columns:1fr}.tab{padding:7px 10px;font-size:12px}.profile-stats{font-size:12px}.collection-accordion-head{padding:12px 14px}.collection-accordion-title h3{font-size:14px}.collection-accordion-meta{min-width:110px}.collection-accordion-progress{width:54px}.collection-accordion-count{font-size:11px}.collection-accordion-body{padding:0 12px 14px}.voucher-row{flex-direction:column;align-items:stretch;gap:10px;padding:10px 12px}.voucher-row-left{gap:10px}.voucher-code,.voucher-locked-note{align-self:flex-end}.vouchers-total-val{font-size:22px}}.admin-gate{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:40px 20px;background:var(--bg)}.admin-gate-card{width:min(420px,100%);padding:28px 24px;background:var(--panel);border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.admin-gate-card h1{margin:0;font-family:Fraunces,Outfit,serif;font-size:24px;letter-spacing:-.015em;font-weight:700}.admin-gate-card form{display:flex;flex-direction:column;gap:10px}.admin-gate-card input{padding:12px 14px;background:var(--panel-muted);border:1px solid var(--border);border-radius:12px;font:inherit;font-family:SF Mono,Menlo,monospace}.admin-gate-card input:focus{outline:2px solid var(--accent);border-color:transparent;background:#fff}.admin-gate-card .error{color:var(--danger);margin:0;font-size:13px}.admin-shell{min-height:100vh;min-height:100dvh;background:var(--bg);padding:20px 24px 60px;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.admin-header h1{margin:0;font-family:Fraunces,Outfit,serif;font-weight:700;font-size:26px;letter-spacing:-.02em}.admin-banner{padding:12px 16px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent-hover);font-size:14px;font-weight:500}.admin-banner--error{background:#fde8ea;border-color:var(--danger);color:var(--danger)}.admin-grid{display:grid;grid-template-columns:360px 1fr;gap:20px;align-items:start}.admin-add,.admin-pool{background:var(--panel);border-radius:18px;box-shadow:var(--shadow-sm);padding:20px}.admin-add h2,.admin-pool h2{margin:0 0 14px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.admin-add form{display:flex;flex-direction:column;gap:12px}.admin-add label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--text)}.admin-add select,.admin-add textarea{padding:10px 12px;background:var(--panel-muted);border:1px solid var(--border);border-radius:10px;font:inherit;font-family:SF Mono,Menlo,monospace;font-size:13px}.admin-add textarea{min-height:140px;resize:vertical}.admin-add .welcome-cta{width:100%}.admin-collections{display:flex;flex-direction:column;gap:12px}.admin-collection{padding:14px;background:var(--panel-muted);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:8px}.admin-collection header{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-collection h3{margin:0;font-size:15px;font-weight:700}.admin-collection-chip{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.admin-collection-meta{display:flex;gap:12px;font-size:12px;color:var(--muted)}.admin-pending{color:#8a5a00;font-weight:600}.admin-codes{font-size:12px;color:var(--muted)}.admin-codes summary{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-codes ul,.admin-codes ol{margin:6px 0 0;padding:0 0 0 18px}.admin-codes li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0}.admin-codes code{font-family:SF Mono,Menlo,monospace;font-size:12px;color:var(--text)}.admin-codes-time{color:var(--muted);font-size:11px}@media (max-width: 760px){.admin-grid{grid-template-columns:1fr}}.admin-voucher-spec{display:flex;gap:14px;padding:12px 14px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:12px;align-items:center}.admin-voucher-spec-amount{display:inline-flex;flex-direction:column;align-items:center;gap:0;padding:8px 14px;background:#fff;border-radius:10px;font-family:Fraunces,Outfit,serif;font-weight:800;color:var(--accent);line-height:1;min-width:70px}.admin-voucher-spec-cur{font-size:11px;letter-spacing:.04em;font-weight:700}.admin-voucher-spec-val{font-size:26px;letter-spacing:-.03em}.admin-voucher-spec-body{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-voucher-spec-label{font-size:13px;font-weight:700;color:var(--text)}.admin-voucher-spec-hint{font-size:12px;color:var(--muted);font-weight:500;line-height:1.4}.admin-voucher-spec-hint b{color:var(--text);font-weight:700}.admin-voucher-confirm{margin:0;padding:10px 12px;background:var(--panel-muted);border-radius:10px;border:1px solid var(--border);font-size:12.5px!important;color:var(--muted)!important}.admin-voucher-confirm b{color:var(--text);font-weight:700}.admin-collection-title{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-collection-voucher{font-size:11px;font-weight:600;color:var(--accent);letter-spacing:.02em}
