:root{--bg: #07080d;--navy: #0c1220;--navy-2: #12192a;--gold: #d4af6a;--gold-bright: #f0d78c;--gold-dim: #8c7344;--ink: #f6efe3;--muted: #b8ae9c;--line: rgba(212, 175, 106, .28);--shadow: 0 18px 40px rgba(0, 0, 0, .45);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--card-h: min(20dvh, 176px);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Outfit,system-ui,sans-serif}body{min-height:100dvh;background:radial-gradient(1200px 700px at 50% -10%,rgba(212,175,106,.14),transparent 55%),radial-gradient(800px 500px at 110% 80%,rgba(70,40,90,.25),transparent 50%),var(--bg)}img{max-width:100%;display:block}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a{color:var(--gold-bright)}.grain{pointer-events:none;position:fixed;inset:0;z-index:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.app{position:relative;z-index:1;width:min(430px,100%);margin:0 auto;min-height:100dvh;padding:calc(8px + var(--safe-top)) 14px calc(88px + var(--safe-bottom));display:flex;flex-direction:column}.hero{text-align:center;padding:2px 8px 8px}.city-wrap{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:2px;margin:0 -4px 2px}.city-chevron{width:36px;height:36px;display:grid;place-items:center;color:var(--gold);opacity:.75}.city-chevron svg{width:16px;height:16px}.city-chevron:active{transform:scale(.94)}.city-scroller{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none}.city-scroller::-webkit-scrollbar{display:none}.city-slide{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;margin:0;padding:6px 0;background:transparent;text-align:center;letter-spacing:.36em;text-transform:uppercase;font-size:clamp(.72rem,3.4vw,.86rem);font-weight:600;color:var(--gold);user-select:none}.city-dots{display:flex;justify-content:center;gap:6px;min-height:10px;margin-bottom:2px}.city-dot{width:5px;height:5px;border-radius:50%;background:#d4af6a47}.city-dot.is-on{background:var(--gold)}.hero h1{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(1.85rem,8vw,2.35rem);letter-spacing:.01em;line-height:1.05;color:var(--ink)}.tagline{margin:6px 0 0;color:var(--muted);font-size:.86rem}.reels{display:flex;flex-direction:column;gap:8px;flex:1}.reel{position:relative;display:grid;grid-template-columns:34px auto minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:8px;row-gap:4px;align-items:center;padding:7px 8px 8px;background:linear-gradient(180deg,#12192aeb,#080a10eb);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.reel-label{grid-column:1 / -1;font-size:.68rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);text-align:center}.nudges{grid-column:1;grid-row:2;display:flex;flex-direction:column;justify-content:center;gap:8px}.nudge{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);color:var(--gold-bright);display:grid;place-items:center;background:#07080d8c}.nudge:active{transform:scale(.94);background:#d4af6a29}.nudge svg{width:16px;height:16px}.window-wrap{grid-column:2;grid-row:2;display:flex;justify-content:center}.window{position:relative;height:var(--card-h);aspect-ratio:4 / 5;overflow:hidden;border-radius:14px;border:1px solid rgba(240,215,140,.55);box-shadow:inset 0 0 0 1px #00000059,0 0 0 4px #d4af6a14;touch-action:none;background:#0a0d14}.strip{will-change:transform}.card{height:var(--card-h);position:relative}.card img{width:100%;height:100%;object-fit:cover;object-position:center}.card-fallback{width:100%;height:100%;display:grid;place-items:center;padding:12px;text-align:center;background:radial-gradient(circle at 50% 20%,#2a2114,#0c1018 70%);color:var(--gold-bright);font-family:Cormorant Garamond,Georgia,serif;font-size:1.15rem}.reveal{grid-column:3;grid-row:2;min-height:0;padding:0 2px 0 0;align-self:center}.reveal h3{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.12rem;font-weight:600;line-height:1.15}.area{margin:1px 0 0;color:var(--gold);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.vibe{margin:4px 0 0;color:var(--muted);font-size:.74rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.links{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.links a{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-bright);background:#d4af6a14}.links a:active{background:#d4af6a33}.reveal.is-pending h3,.reveal.is-pending .area,.reveal.is-pending .vibe,.reveal.is-pending .links{opacity:.28;filter:blur(2px)}.dock{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(430px,100%);padding:10px 16px calc(12px + var(--safe-bottom));background:linear-gradient(180deg,transparent,rgba(7,8,13,.92) 28%);z-index:3;display:flex;gap:8px}.share-btn{flex:0 0 92px;height:54px;border-radius:999px;border:1px solid var(--line);color:var(--gold-bright);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;background:#0c1220d9}.spin{flex:1;height:54px;border-radius:999px;background:linear-gradient(180deg,#f0d78c,#d4af6a 48%,#b48b3f);color:#1a1408;font-weight:700;letter-spacing:.34em;text-transform:uppercase;box-shadow:0 10px 24px #b48b3f47,inset 0 1px #ffffff73}.spin:active:not(:disabled){transform:translateY(1px) scale(.99)}.spin:disabled{opacity:.55;cursor:wait}.spin.is-spinning .spin-label{animation:pulse .7s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}.sheet{position:fixed;inset:0;z-index:8;display:grid;place-items:end center;background:#05060a9e;padding:16px 16px calc(16px + var(--safe-bottom))}.sheet[hidden]{display:none}.sheet-card{position:relative;width:min(430px,100%);padding:22px 18px 18px;border-radius:22px 22px 18px 18px;border:1px solid var(--line);background:linear-gradient(180deg,#141b2c,#0a0d14);box-shadow:0 24px 60px #00000073}.sheet-close{position:absolute;top:10px;right:12px;width:36px;height:36px;color:var(--muted);font-size:1.4rem}.sheet-kicker{margin:0 0 6px;letter-spacing:.22em;text-transform:uppercase;font-size:.68rem;color:var(--gold);font-weight:600}.sheet-card h2{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-weight:600}.sheet-picks{margin:8px 0 16px;color:var(--muted);font-size:.9rem;line-height:1.4}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.share-action{min-height:44px;border-radius:12px;border:1px solid var(--line);color:var(--gold-bright);background:#d4af6a14;font-size:.78rem;font-weight:600}.share-action:active{background:#d4af6a33}.sheet-status{min-height:1.2em;margin:10px 0 0;color:var(--gold-bright);font-size:.78rem}.subscribe{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.subscribe input{width:100%;margin-top:8px;min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:#07080da6;color:var(--ink);font:inherit}.subscribe-btn{width:100%;margin-top:10px;min-height:44px;border-radius:12px;background:var(--gold);color:#1a1408;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.subscribe-note{margin:8px 0 0;color:var(--muted);font-size:.72rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(max-height:760px){.tagline{display:none}:root{--card-h: min(18dvh, 150px)}}@media(min-width:860px){body{background:radial-gradient(900px 600px at 50% 0%,rgba(212,175,106,.12),transparent 50%),#05060a}.app{margin-top:24px;margin-bottom:24px;min-height:calc(100dvh - 48px);border:1px solid var(--line);border-radius:28px;background:#07080db8;box-shadow:0 30px 80px #00000073}}
