:root{color-scheme:only dark;--background:#000000;--surface:#111111;--surface-highlight:#1a1a1d;--primary:#4A9EFF;--primary-dim:rgba(74,158,255,0.25);--text-primary:#FFFFFF;--text-dim:#dddddd;--text-secondary:#bbbbbb;--text-muted:#888888;--border:rgba(255,255,255,0.08);--border-light:rgba(255,255,255,0.12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,system-ui,sans-serif;color:var(--text-primary);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:where(a,button):focus-visible{outline:3px solid #8cc7ff;outline-offset:4px}@media (forced-colors:active){:where(a,button):focus-visible{outline-color:CanvasText}}.preview-gallery{width:100%;min-width:0;align-self:stretch;min-height:100vh;padding:56px clamp(20px,5vw,72px) 80px;background:#070b14;color:#f7f9ff}.preview-gallery-header{max-width:760px;margin:0 auto 40px}.preview-gallery-header h1{margin:8px 0 12px;font-size:clamp(38px,6vw,72px);letter-spacing:-.05em}.preview-gallery-header p{color:#aeb8cb}.preview-gallery-header .eyebrow{color:#82ead2;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));grid-gap:28px;gap:28px;max-width:1480px;margin:0 auto}.preview-tile{padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:#101725}.preview-tile-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.preview-tile-heading h2{margin:0;font-size:18px}.preview-tile-heading a{color:#82ead2;font-size:13px}.preview-route-pattern{display:block;margin:-4px 0 14px;color:rgba(235,235,245,.55);font-size:12px;overflow-wrap:anywhere}.preview-tile img{display:block;width:100%;height:auto;border-radius:14px}main{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px}.card{width:min(560px,100%);background:var(--surface);border-radius:24px;padding:48px 32px;border:1px solid var(--border);text-align:center;animation:rise .6s ease-out}.desktop-card{width:min(860px,100%)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:700;color:var(--text-muted);margin-bottom:24px}h1{font-size:clamp(2.5rem,5vw,3.5rem);margin:0 0 16px;line-height:1.1;font-weight:800;letter-spacing:-.02em}.lead{font-size:1.125rem;line-height:1.6;color:var(--text-secondary);max-width:480px;margin:0 auto 32px}.preview-load-notice{width:min(100%,480px);margin:-8px auto 32px;padding:16px;display:grid;justify-items:start;grid-gap:8px;gap:8px;text-align:left;border:1px solid rgba(255,186,73,.55);border-radius:16px;background:rgba(255,186,73,.08)}.preview-load-notice h2,.preview-load-notice p{margin:0}.preview-load-notice h2{font-size:1rem;line-height:1.3}.preview-load-notice p{color:var(--text-secondary);font-size:.95rem;line-height:1.45}.preview-retry{min-height:42px;padding:9px 16px;margin-top:4px}.preview-retry:disabled{cursor:not-allowed;opacity:.6}.preview-retry:disabled:hover{background:transparent;transform:none}.detail-list{margin:0 auto 32px;width:min(100%,520px);display:grid;grid-gap:12px;gap:12px;text-align:left}.detail-item{display:grid;grid-template-columns:78px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start;padding:14px 16px;border-radius:16px;border:1px solid var(--border-light);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02)),var(--surface-highlight)}.detail-item dt{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.detail-item dd{margin:0;font-size:1rem;line-height:1.45;color:var(--text-primary)}.code-block{border:1px solid var(--border);background:var(--surface-highlight);border-radius:12px;padding:16px;margin-bottom:24px;display:grid;grid-gap:6px;gap:6px}.code-block span{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.code-block code{font-family:SF Mono,Monaco,Cascadia Code,Courier New,monospace;font-size:.9rem;color:var(--primary);padding:6px 8px;background:rgba(74,158,255,.1);border-radius:6px}.button-row{display:flex;flex-direction:column;gap:12px;max-width:320px;margin:0 auto}.button{display:inline-flex;align-items:center;justify-content:center;padding:18px 24px;min-height:56px;border-radius:12px;font-size:1.125rem;font-weight:600;text-decoration:none;border:none;transition:transform .2s ease,opacity .2s ease;cursor:pointer}.button.primary{background:linear-gradient(135deg,#4A9EFF,#B366FF);color:#ffffff;box-shadow:0 8px 24px rgba(74,158,255,.3)}.button.primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(74,158,255,.4)}.button.primary:active{transform:translateY(0)}.button.ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border-light);min-height:48px;padding:12px 24px;border-radius:24px;font-size:1rem}.button.ghost:hover{background:var(--surface-highlight);border-color:var(--border-light);transform:translateY(-1px)}.hint{margin-top:16px;color:var(--text-muted);font-size:.875rem;text-align:center}.desktop-handoff{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);grid-gap:28px;gap:28px;align-items:center;margin:0 auto;max-width:720px}.qr-panel{display:grid;justify-items:center;grid-gap:14px;gap:14px}.qr-frame{width:min(320px,100%);aspect-ratio:1;background:#ffffff;border-radius:28px;padding:20px;box-shadow:0 20px 48px rgba(0,0,0,.28)}.qr-image{width:100%;height:100%;display:block;border-radius:18px}.qr-placeholder{width:240px;height:240px;border-radius:12px;background:rgba(255,255,255,.08)}.qr-label{margin:0;color:var(--text-dim);font-size:1rem;font-weight:600}.desktop-actions{display:grid;justify-items:stretch;grid-gap:8px;gap:8px}.desktop-actions .button-row{max-width:none;margin:8px 0 0}.copy-feedback{min-height:1.25rem;margin:0;color:var(--primary);font-size:.95rem;font-weight:600;opacity:0;transition:opacity .16s ease}.copy-feedback.is-visible{opacity:1}.desktop-footer-note{margin-top:28px}.app-icon{width:96px;height:96px;border-radius:24px}.app-icon,.logo{margin:0 auto 32px;display:block}.logo{max-width:180px;height:auto}.legal-links{margin-top:20px;display:inline-flex;align-items:center;gap:10px;color:var(--text-muted);font-size:.9rem}.legal-links a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px}.legal-page{width:min(860px,100%);margin:0 auto}.legal-card{width:100%;background:var(--surface);border-radius:24px;padding:40px 32px;border:1px solid var(--border);display:grid;grid-gap:20px;gap:20px}.legal-card h1{margin-bottom:0}.legal-card h2{margin:0 0 10px;font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.legal-card h3{margin:0 0 8px;font-size:1rem;font-weight:700;color:var(--text-dim)}.legal-card p{line-height:1.6}.legal-card p,.legal-card ul{margin:0;color:var(--text-secondary)}.legal-card ul{padding-left:20px}.legal-card li{margin:0 0 6px}.legal-meta{color:var(--text-muted);font-size:.9rem}.legal-placeholder{padding:14px 16px;border-radius:10px;border:1px dashed var(--border-light);background:var(--surface-highlight)}.legal-nav{display:inline-flex;align-items:center;gap:10px;font-size:.95rem}@media (max-width:760px){.desktop-handoff{grid-template-columns:1fr}.desktop-actions{max-width:360px;width:100%;margin:0 auto}}.legal-nav a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}@media (max-width:600px){.card{padding:32px 24px}h1{font-size:2rem}.lead{font-size:1rem}.detail-item{grid-template-columns:1fr;gap:6px}.button-row{gap:10px;max-width:100%}.app-icon{width:80px;height:80px;margin-bottom:24px}.legal-card{padding:28px 22px}}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@font-face{font-family:Figtree;src:url(/fonts/Figtree-600.ttf) format("truetype");font-weight:400 600;font-display:swap}@font-face{font-family:Figtree;src:url(/fonts/Figtree-800.ttf) format("truetype");font-weight:700 900;font-display:swap}:root{--ink:#ececf1;--accent-blue:#4a9eff;--accent-teal:#2dd4bf;--accent-orange:#ff9e80;--accent-violet:#9b7fe8;--accent-slate:#b4bcc9;--accent-neutral:#888888}.share-landing{width:min(400px,100%);display:flex;flex-direction:column;gap:20px;font-family:Figtree,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;animation:rise .5s ease-out}.share-landing.is-desktop{width:min(560px,100%)}.landing-lockup{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800;color:var(--text-secondary)}.share-landing h1{margin:0;font-size:30px;line-height:1.08;font-weight:800;letter-spacing:-.02em;text-wrap:balance}.landing-sub{margin:0;color:var(--text-secondary);font-size:15px;line-height:1.45}.landing-kicker,.ticket-kicker{font-size:11px;font-weight:800;letter-spacing:.14em}.landing-kicker{margin-bottom:-10px}.accent-blue{color:var(--accent-blue)}.accent-teal{color:var(--accent-teal)}.accent-orange{color:var(--accent-orange)}.accent-violet{color:var(--accent-violet)}.accent-slate{color:var(--accent-slate)}.accent-neutral{color:var(--accent-neutral)}.ticket{display:grid;grid-template-columns:88px minmax(0,1fr);border-radius:16px;overflow:hidden;background:var(--surface);border:1px solid var(--border)}.ticket-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 0;border-right:2px dashed rgba(255,255,255,.14)}.ticket-stub-blue{background:linear-gradient(170deg,#1a2a45,#0f1626)}.ticket-stub-orange{background:linear-gradient(170deg,#45241a,#22130d)}.ticket-stub-violet{background:linear-gradient(170deg,#2a2048,#151027)}.ticket-stub-teal{background:linear-gradient(170deg,#12342f,#0b1f1d)}.ticket-stub-slate{background:linear-gradient(170deg,#262a33,#16181d)}.ticket-dow,.ticket-mon{font-size:11px;font-weight:800;letter-spacing:.14em}.ticket-stub-blue .ticket-dow{color:var(--accent-blue)}.ticket-stub-orange .ticket-dow{color:var(--accent-orange)}.ticket-stub-teal .ticket-dow{color:var(--accent-teal)}.ticket-mon{color:var(--text-secondary)}.ticket-day{font-size:40px;font-weight:800;line-height:1;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ticket-day-range,.ticket-tbd{font-size:26px}.ticket-tbd{font-weight:800}.ticket-ring{display:flex;flex-direction:column;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;border:2px dashed var(--accent-violet)}.ticket-ring .ticket-day{font-size:24px}.ticket-ring.is-range .ticket-day{font-size:16px}.ticket-ring .ticket-mon{font-size:9px}.ticket-info{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:14px 16px;min-width:0}.ticket-primary{font-size:22px;font-weight:800;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ticket-primary.is-soft{color:var(--text-secondary);font-size:19px}.ticket-primary small{margin-left:5px;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--text-muted)}.ticket-plus{margin-left:3px;font-size:11px;color:var(--accent-orange)}.ticket-place,.ticket-secondary{font-size:14px;font-weight:600;color:var(--ink)}.ticket-place.is-soft{color:var(--text-secondary)}.ticket-area{font-size:13px;color:var(--text-muted)}.ticket-bar{margin:4px 0 2px}.ticket-track{position:relative;height:6px;border-radius:4px;background:rgba(255,255,255,.08)}.ticket-fill{position:absolute;top:0;bottom:0;border-radius:4px;background:linear-gradient(90deg,#ff9e7a,#f26e45)}.ticket-ticks{position:relative;height:14px;margin-top:3px;font-size:10px;color:var(--text-muted)}.ticket-ticks span{position:absolute;transform:translateX(-50%)}.poll-rows{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.poll-row{display:grid;grid-template-columns:auto minmax(0,1fr);border-radius:12px;overflow:hidden;background:var(--surface);border:1px solid var(--border)}.poll-row-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;padding:6px 0;background:linear-gradient(170deg,#12342f,#0b1f1d)}.poll-row-stub b{font-size:9px;letter-spacing:.14em;color:var(--accent-teal)}.poll-row-stub span{font-size:20px;font-weight:800;line-height:1.05}.poll-row-label{display:flex;align-items:center;padding:10px 14px;font-size:15px;font-weight:600}.poll-row-text{grid-column:1/-1}.landing-profile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.landing-avatar{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;object-fit:cover;font-size:40px;font-weight:800;color:#e8eef8;background:radial-gradient(circle at 30% 25%,#5a6e8c 0,#2b3445 70%);box-shadow:0 0 0 4px var(--background),0 0 0 5px rgba(255,255,255,.18)}.landing-actions{display:grid;grid-gap:12px;gap:12px;margin-top:4px}.landing-button{display:block;width:100%;border:0;cursor:pointer;text-align:center;text-decoration:none;font:inherit;font-size:17px;font-weight:800;color:#ffffff;background:var(--primary);padding:15px;border-radius:14px}.landing-store{margin:0;text-align:center;font-size:14px;color:var(--text-muted)}.landing-store a{color:var(--text-primary);font-weight:700;text-decoration:none}.landing-store a:hover{text-decoration:underline}.landing-desktop{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:24px;gap:24px;align-items:center;padding:20px;border-radius:18px;background:var(--surface);border:1px solid var(--border)}.landing-desktop .qr-frame{width:200px;height:200px}.landing-desktop-actions{display:grid;grid-gap:10px;gap:10px}.landing-desktop-label{margin:0;color:var(--text-secondary);font-size:15px}@media (max-width:560px){.landing-desktop{grid-template-columns:minmax(0,1fr);justify-items:center}}.gallery-group{max-width:1480px;margin:0 auto 40px}.gallery-group h2{font-size:22px;margin:0 0 16px;color:#f7f9ff}.preview-tile-heading h3{margin:0;font-size:17px}.gallery-bubble{border-radius:18px;overflow:hidden;background:#26252a;max-width:340px}.gallery-bubble img{border-radius:0!important;aspect-ratio:1/1}.gallery-caption{display:flex;flex-direction:column;gap:1px;padding:9px 13px 11px}.gallery-caption b{font-size:14px;color:#ffffff}.gallery-caption span{font-size:13px;color:#888888}.landing-fallback{margin-top:-8px}.invite-copy{margin:0;text-align:center;font-size:14px;color:var(--accent-teal);display:grid;grid-gap:8px;gap:8px}.invite-copy p{margin:0;color:var(--text-secondary)}.invite-copy-field{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border-light);background:var(--surface);color:var(--text-primary);font:inherit;font-size:13px}