:root{--bg:#05060b;--ink:#eef0ff;--ink-soft:#dee2ffb3;--ink-faint:#dee2ff73;--glass:#1011229e;--glass-edge:#bec8ff24;--blue:#7c9cff;--word:linear-gradient(100deg, #5ee7ff 0%, #7c9cff 35%, #a78bfa 68%, #ff7ad9 100%);--danger:#ff9b9b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Geist,system-ui,sans-serif;overflow:hidden}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.inset-0{inset:0}.inline-block{display:inline-block}.shrink-0{flex-shrink:0}.rounded-full{border-radius:9999px}.border-0{border:0}.bg-transparent{background:0 0}.p-0{padding:0}.align-middle{vertical-align:middle}.outline-none{outline:none}.select-none{-webkit-user-select:none;user-select:none}.pointer-events-none{pointer-events:none}.max-w-none{max-width:none}.overflow-visible{overflow:visible}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.h-full{height:100%}.w-full{width:100%}.room{position:fixed;inset:0;overflow:hidden}.backdrop,.splat,.scrim{width:100%;height:100%;position:absolute;inset:0}.backdrop{background:url(/scene/room.jpg) 50%/cover no-repeat;transition:opacity 1.2s}.splat{opacity:0;touch-action:pan-y;transition:opacity 1.2s;display:block}.is-live .splat{opacity:1}.is-live .backdrop{opacity:0}.scrim{pointer-events:none;background:linear-gradient(#05060b8c 0%,#0000 16%),linear-gradient(#0000 56%,#05060b80 76%,#05060be0 100%)}.pins{pointer-events:none;position:absolute;inset:0}.pin{transform-origin:0 0;position:absolute;top:0;left:0}.mascot-ui{--gap:calc(var(--r) * var(--k,.69));position:absolute}.mascot{pointer-events:auto;filter:drop-shadow(0 18px 40px #3c46c873);position:absolute;translate:-50% -50%}.bubble{left:50%;bottom:calc(var(--gap) * .82 + 6px);background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(16px)saturate(1.3);border-radius:18px;width:max-content;max-width:min(340px,78vw);padding:12px 14px;animation:.35s cubic-bezier(.2,.9,.3,1.3) both pop;position:absolute;translate:-50%;box-shadow:0 20px 50px -20px #000000b3}.bubble p{margin:0}.heard{font-family:Sora,sans-serif;font-size:15px;font-weight:600;line-height:1.35}.caret{vertical-align:-2px;background:var(--blue);width:2px;height:1em;margin-left:2px;animation:.8s step-end infinite blink;display:inline-block}.bubble code{color:#ffc98a;background:#ffbe6e1a;border:1px solid #ffbe6e2e;border-radius:8px;margin-top:8px;padding:3px 8px;font:500 12px/1.4 Geist Mono,ui-monospace,monospace;display:inline-block}.bubble code span{color:var(--ink-faint)}.reply{color:var(--ink-soft);font-size:13.5px;margin-top:8px!important}.card-wrap{animation:.5s cubic-bezier(.2,.9,.3,1.2) both rise;position:absolute;top:0;translate:0 -50%}.card-wrap.side-right{left:calc(var(--gap) * .85 + 20px)}.card-wrap.side-left{right:calc(var(--gap) * .85 + 20px)}.dock{top:calc(max(16px, env(safe-area-inset-top)) + 50px);z-index:40;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;left:16px;right:16px}.dock .card-wrap,.dock .bubble{position:static;translate:none}.dock .bubble{max-width:100%}.card{border:1px solid color-mix(in oklab, var(--accent) 35%, #ffffff1a);width:250px;box-shadow:0 30px 60px -24px #000c, 0 0 40px -12px color-mix(in oklab, var(--accent) 50%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.4);background:linear-gradient(160deg,#1e203cc7,#0c0d1ac7);border-radius:22px;padding:14px}.card header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.card-icon{width:28px;height:28px;color:var(--accent);background:color-mix(in oklab, var(--accent) 16%, transparent);border:1px solid color-mix(in oklab, var(--accent) 30%, transparent);border-radius:9px;place-items:center;display:grid}.card-title{white-space:nowrap;font:600 14px Sora,sans-serif}.card-kicker{letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--ink-faint);margin-left:auto;font-size:10.5px}.big{letter-spacing:-.02em;font:600 30px/1 Sora,sans-serif}.big.small{font-size:19px;line-height:1.2}.big small{font-size:.55em}.big em{color:var(--ink-soft);letter-spacing:0;margin-left:4px;font:400 12.5px Geist,sans-serif}.tiles{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px;display:grid}.tile{color:var(--ink-faint);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;padding:8px;font-size:10.5px;position:relative}.tile b{color:var(--ink);margin-top:2px;font-size:12px;display:block}.tile.on{background:color-mix(in oklab, var(--accent) 12%, transparent);border-color:color-mix(in oklab, var(--accent) 35%, transparent)}.switch{background:#ffffff2e;border-radius:9px;width:16px;height:9px;position:absolute;top:8px;right:8px}.tile.on .switch{background:var(--accent)}.hours{color:var(--ink-faint);text-align:center;justify-content:space-between;margin-top:12px;font-size:11px;display:flex}.hours div{justify-items:center;gap:4px;display:grid}.hours i{background:linear-gradient(#9fd4ff,#5b7cff);border-radius:3px;align-self:end;width:6px;display:block}.hours b{color:var(--ink);font-weight:500}.route{align-items:center;gap:10px;display:flex}.route>div:not(.route-line) b{font:600 22px Sora,sans-serif;display:block}.route>div span{color:var(--ink-faint);font-size:11px}.route-line{text-align:center;flex:1}.route-line i{background:linear-gradient(90deg, transparent, var(--accent), transparent);height:2px;margin-bottom:6px;display:block}.price{color:var(--ink-faint);border-top:1px solid #ffffff14;justify-content:space-between;align-items:baseline;margin-top:12px;padding-top:10px;font-size:12px;display:flex}.price b{color:var(--accent);font:600 20px Sora,sans-serif}.meter{background:#ffffff1a;border-radius:4px;height:4px;margin:12px 0 8px}.meter i{background:var(--accent);border-radius:4px;height:100%;display:block}.meta{color:var(--ink-faint);justify-content:space-between;font-size:11px;display:flex}.eq{align-items:flex-end;gap:3px;height:30px;margin:10px 0 8px;display:flex}.eq i{background:linear-gradient(0deg, #a78bfa, var(--accent));border-radius:2px;flex:1;animation:.7s ease-in-out infinite alternate eq}.ring-row{align-items:center;gap:12px;display:flex}.ring{animation:1.2s cubic-bezier(.2,.8,.2,1) both ring}.hover-tip{z-index:60;white-space:nowrap;pointer-events:none;background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:8px;padding:7px 12px 7px 8px;font-size:12.5px;display:flex;position:fixed;top:0;left:0}.tip-icon{color:#fff;background:var(--word);border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.top{padding:max(16px, env(safe-area-inset-top)) clamp(16px, 3vw, 32px) 0;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;inset:0 0 auto}.top>*{pointer-events:auto}.brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:8px;font:600 19px Sora,sans-serif;text-decoration:none;display:flex}.found{background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(14px);color:var(--ink-soft);border-radius:999px;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-size:12px;display:flex}.found ol{gap:4px;margin:0;padding:0;list-style:none;display:flex}.found li{border:1px dashed #c8d2ff40;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.found li i{background:#c8d2ff59;border-radius:50%;width:4px;height:4px}.found li.got{color:#fff;background:var(--word);border:0;animation:.4s cubic-bezier(.2,.9,.3,1.5) both pop}.found li.got svg{width:13px;height:13px}.found b{text-align:center;min-width:30px;color:var(--ink);background:#ffffff14;border-radius:999px;padding:3px 8px;font:600 11.5px Geist Mono,monospace}.cta{left:50%;bottom:max(24px, env(safe-area-inset-bottom));text-align:center;pointer-events:none;width:min(620px,100% - 32px);position:absolute;translate:-50%}.cta>*{pointer-events:auto}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:8px;margin:0 0 10px;font:500 11px Geist Mono,monospace;display:inline-flex}.eyebrow .dot{background:#a78bfa;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #a78bfa}h1{letter-spacing:-.045em;text-shadow:0 6px 40px #05060bb3;margin:0;font:700 clamp(2.4rem,6.4vw,4.4rem)/1 Sora,sans-serif}.grad{background:var(--word);color:#0000;-webkit-background-clip:text;background-clip:text}.lede{max-width:480px;color:var(--ink-soft);margin:12px auto 18px;font-size:clamp(.95rem,1.6vw,1.05rem);line-height:1.5}.lede strong{color:var(--ink)}.pill{border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(18px)saturate(1.3);background:#0e0f1eb8;border-radius:999px;align-items:center;gap:6px;max-width:480px;margin:0 auto;padding:6px 6px 6px 20px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 24px 60px -24px #000c}.pill:focus-within{border-color:#7c9cff99;box-shadow:0 24px 60px -24px #000c,0 0 0 4px #7c9cff26}.pill input{min-width:0;height:44px;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:16px}.pill input::placeholder{color:var(--ink-faint)}.pill button{color:#11121c;white-space:nowrap;cursor:pointer;background:#fff;border:0;border-radius:999px;align-items:center;gap:8px;height:44px;padding:0 18px 0 8px;font:600 14px Geist,sans-serif;transition:transform .15s,opacity .15s;display:inline-flex}.pill button:hover:not(:disabled){transform:translateY(-1px)}.pill button:disabled{opacity:.6;cursor:default}.pill button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.orb{background:radial-gradient(circle at 35% 30%,#e6ecff,#8fa6ff 45%,#6d5cf0 80%);border-radius:50%;width:30px;height:30px;box-shadow:inset 0 -3px 6px #28147859}.note{min-height:1.3em;color:var(--ink-faint);margin:12px 0 0;font-size:12.5px}.note.error{color:var(--danger)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes pop{0%{opacity:0;transform:scale(.85)}}@keyframes rise{0%{opacity:0;filter:blur(6px);transform:translateY(14px)scale(.94)}}@keyframes blink{50%{opacity:0}}@keyframes eq{0%{height:15%}to{height:100%}}@keyframes ring{0%{stroke-dashoffset:163px}}@media (width<=640px){.found-label{display:none}.found li{width:20px;height:20px}.brand span{display:none}.pill button{padding-right:14px}.card{width:220px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important}}
