:root{color-scheme:dark;--bg:#0b0910;--ink:#fff9f8;--muted:#a99eab;--pulse:#ff4967;--line:#ffffff1c;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{min-height:100svh;background:radial-gradient(circle at 50% 28%,#ff49671c,transparent 32rem),var(--bg)}button,input{font:inherit}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.shell{width:min(100%,520px);min-height:100svh;margin:auto;padding:max(18px,env(safe-area-inset-top)) 22px max(26px,env(safe-area-inset-bottom));display:flex;flex-direction:column}.topbar{height:44px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}.brand{font-size:14px;font-weight:900;letter-spacing:.24em}.brand span{color:var(--pulse);font-size:19px}.icon-button{width:42px;height:42px;border:0;border-radius:50%;background:#ffffff0f;color:#fff;font-size:24px;position:absolute}.room-pill{font-size:12px;font-weight:800;letter-spacing:.13em;background:#ffffff12;border:1px solid var(--line);padding:8px 11px;border-radius:999px}.view{display:none;flex:1;flex-direction:column;text-align:center;justify-content:center;animation:fade .35s ease}.view.active{display:flex}@keyframes fade{from{opacity:0;transform:translateY(7px)}}.eyebrow{margin:0 0 13px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800;color:var(--pulse)}h1{font-size:clamp(38px,11vw,58px);line-height:.98;letter-spacing:-.055em;margin:0}.lead{color:var(--muted);font-size:17px;line-height:1.5;margin:22px auto 31px;max-width:350px}.compact{font-size:15px;margin:15px auto 22px}.microcopy,.hint{font-size:12px;color:#817583;line-height:1.45}.home-heart{width:130px;height:130px;margin:0 auto 34px;border-radius:50%;display:grid;place-items:center;font-size:36px;background:radial-gradient(circle,#ff5a70 0 18%,#ff496733 19% 43%,#ff496712 44% 62%,transparent 63%);animation:breathe 2.4s ease-in-out infinite}@keyframes breathe{50%{transform:scale(1.06)}}.actions,.join-form{display:grid;gap:12px;width:100%}.button{border:0;border-radius:18px;min-height:58px;padding:15px 22px;font-weight:800;cursor:pointer}.button:active{transform:scale(.975)}.button:disabled{opacity:.5}.primary{background:linear-gradient(135deg,var(--pulse),#ff795f);color:#fff;box-shadow:0 12px 35px #ff496730}.secondary{background:#ffffff0f;border:1px solid var(--line);color:#fff}.join-form{margin-top:38px}.code-input{width:100%;height:80px;border-radius:19px;border:1px solid var(--line);background:#ffffff0e;color:#fff;text-align:center;font-size:34px;font-weight:800;letter-spacing:.21em;padding-left:.21em;outline:none}.code-input:focus{border-color:var(--pulse)}.join-form .hint{margin:0 0 15px}.code-card{border:1px solid var(--line);background:#ffffff0e;color:#fff;border-radius:24px;width:100%;padding:25px 12px 20px;margin:30px 0 14px}.big-code{display:block;font-size:44px;font-weight:900;letter-spacing:.17em;padding-left:.17em}.code-card>span:last-child{display:block;color:var(--muted);font-size:11px;margin-top:8px}.waiting-line{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:13px;margin-top:25px}.waiting-line i,.live i{width:8px;height:8px;border-radius:50%;background:#69df96;display:inline-block;animation:ping 1.5s infinite}@keyframes ping{70%{box-shadow:0 0 0 8px transparent}}.live{color:#78e2a0}.beat-button{width:min(56vw,230px);aspect-ratio:1;margin:10px auto 8px;border:0;border-radius:50%;position:relative;background:radial-gradient(circle at 44% 38%,#ff8392,var(--pulse) 48%,#d5264a);color:#fff;box-shadow:0 20px 70px #ff496745;touch-action:manipulation}.beat-button>span:last-child{font-size:75px;position:relative}.rings{position:absolute;inset:-15px;border:1px solid #ff496740;border-radius:50%}.pulse .rings,.receive-orb.pulse:before{animation:ring .55s ease-out}.beat-button.pulse>span:last-child{animation:heart .34s ease}@keyframes ring{to{transform:scale(1.2);opacity:0}}@keyframes heart{40%{transform:scale(1.2)}}.tap-label{font-size:10px;letter-spacing:.25em;color:#bcaeba;font-weight:800;margin:5px 0 20px}.bpm{display:flex;align-items:baseline;justify-content:center;gap:8px}.bpm strong{font-size:23px}.bpm small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.phone-hint{width:118px;height:174px;border:4px solid #594b5c;border-radius:26px;margin:32px auto 25px;display:grid;place-items:center;font-size:45px;color:var(--pulse)}.receive-orb{width:min(65vw,275px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;margin:25px auto 30px;font-size:72px;color:var(--pulse);background:radial-gradient(circle,#ff496740,#ff49670f 45%,transparent 66%);position:relative}.receive-orb:before{content:"";position:absolute;inset:18%;border-radius:50%;border:1px solid #ff496738}.receive-orb.pulse{animation:orb .55s ease}@keyframes orb{35%{transform:scale(1.08);filter:brightness(1.35)}}.receive-title{font-size:38px}.toast{position:fixed;left:50%;bottom:max(25px,env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#fff;color:#171017;border-radius:99px;padding:11px 17px;font-size:12px;font-weight:800;opacity:0;transition:.25s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-height:670px){.home-heart{width:90px;height:90px;margin-bottom:20px}.beat-button{width:180px}.lead{margin:14px auto 20px}.receive-orb{width:190px;margin:10px auto 16px}h1{font-size:38px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important}}
