:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f6f6fa;background:#111219}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 88% -8%,#6e172d52,transparent 43%),#111219}.shell{max-width:620px;min-height:100vh;margin:auto;padding:calc(env(safe-area-inset-top) + 14px) 18px calc(env(safe-area-inset-bottom) + 100px)}.top{height:82px;display:flex;align-items:center;gap:13px;border-bottom:1px solid #3b3c47;margin:0 -18px;padding:0 20px}.top img{width:52px;height:52px;border-radius:14px}.brand{flex:1}.eyebrow{color:#ff516a;letter-spacing:.18em;font-size:10px;font-weight:800}.brand h1{margin:2px 0;font-size:23px;letter-spacing:.1em}.brand #currentClubLabel{font-size:12px;color:#b4b7c4}.iconButton{background:none;border:0;color:#ccd0da;font-size:23px;padding:9px}.view{padding-top:27px}.sectionHead h2{font-size:30px;line-height:1.14;margin:7px 0}.sectionHead p{color:#b2b6c3;font-size:14px;line-height:1.55;margin:6px 0 25px}.surface,.clubItem,.newsItem{border:1px solid #3d404b;background:linear-gradient(145deg,#242630,#1b1d27);border-radius:20px;padding:22px;box-shadow:0 12px 34px #0004}.surface{margin-top:20px}.surface:before{content:"";display:block;height:2px;width:72px;background:#f52d50;border-radius:5px;margin:-22px 0 20px}.clubRibbon{padding:12px;border-radius:11px;color:#ffe7eb;background:#67223655;font-weight:700;font-size:14px}.clubList,.feed{display:grid;gap:12px}.clubItem{width:100%;text-align:left;color:inherit;display:grid;grid-template-columns:40px 1fr 22px;gap:10px;align-items:center;cursor:pointer}.clubItem .pin{font-size:27px;color:#ff4564}.clubItem strong{display:block;font-size:17px}.clubItem small{display:block;color:#aaadba;font-size:13px;margin-top:5px;line-height:1.4}.clubItem.selected{border-color:#f44764;box-shadow:0 0 0 1px #f4476448,0 12px 34px #0004}.clubItem .check{font-size:22px;color:#ff5973}.newsItem{padding:19px}.newsItem time{display:block;color:#ff6279;font-size:12px;margin-bottom:9px}.newsItem h3{margin:0 0 10px;font-size:19px}.newsItem p{white-space:pre-line;color:#c6c9d3;line-height:1.5;margin:0}.empty{padding:36px 20px;border-radius:17px;background:#20222b;text-align:center;color:#a4a8b6;line-height:1.5}label{display:block;color:#e1e3eb;font-weight:700;font-size:13px;margin:17px 0 8px}input{width:100%;border:1px solid #4c4f5c;background:#12131b;border-radius:11px;color:white;padding:15px;font-size:17px;outline:none}input:focus{border-color:#fa4160;box-shadow:0 0 0 3px #e92b5239}input::placeholder{color:#838695}button{font:inherit;touch-action:manipulation;cursor:pointer}button:disabled{opacity:.55;cursor:default}.primary{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid #ff7084;border-radius:12px;background:linear-gradient(115deg,#f42c50,#ab1637);color:#fff;font-weight:800;padding:16px;font-size:16px;margin-top:22px;box-shadow:0 8px 22px #a8143540}.quiet{width:100%;border:1px solid #5b5d6b;background:transparent;color:#d7dae3;border-radius:12px;padding:13px;font-size:14px;margin-top:13px}.message{min-height:1.2em;color:#ffb1c0;font-size:14px;line-height:1.4;margin:13px 0}.hint,.muted{color:#b5b9c5;line-height:1.5;font-size:14px}.readyTag{border-top:1px solid #454651;padding-top:20px;color:#e7e8ee;font-size:14px}.station{background:#301725;border:1px solid #ed4163;padding:23px;border-radius:14px;text-align:center;font-weight:800;font-size:24px;margin-bottom:15px}.manual{border-top:1px solid #41434e;margin-top:20px;padding-top:16px;color:#c9ccd5;font-size:14px}.manualRow{display:flex;gap:8px}.manualRow input{min-width:0}.manualRow button{border:1px solid #985064;background:#432535;color:#fff;border-radius:10px;padding:0 13px;font-weight:700}#camera{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:13px;border:1px solid #fa4160;margin-top:18px}.avatar{width:66px;height:66px;display:grid;place-items:center;background:linear-gradient(135deg,#ef294f,#4d1837);border-radius:20px;font-size:22px;font-weight:900}.surface h3{font-size:24px;margin:16px 0 6px}.settings>div{padding:10px 0;border-bottom:1px solid #3e414d}.settings>div:last-child{border:0}.settings p{color:#acb0be;line-height:1.5;font-size:14px}.success{text-align:center;padding-top:35px}.successIcon{margin:auto;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#20593d;color:#a4f6bd;font-size:30px}.banner{background:#583047;color:#ffe5ea;padding:13px;border:1px solid #d46279;border-radius:11px;margin:14px 0;font-size:14px}.bottom{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(100%,620px);height:calc(70px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:#1c1e27;border-top:1px solid #444651;z-index:10}.bottom button{flex:1;border:0;background:none;color:#9fa3b1;font-size:10px;font-weight:700;display:grid;place-content:center;gap:3px;min-width:0}.bottom button span{font-size:23px;line-height:1}.bottom button.active{color:#ff536e}.bottom button.active:before{content:"";height:3px;background:#f6385a;position:absolute;top:0;width:14%;margin-left:3%}[hidden]{display:none!important}@media(max-width:360px){.shell{padding-left:13px;padding-right:13px}.surface{padding:18px}.bottom button{font-size:9px}} 

.surface a.primary{text-decoration:none}
.savedAccounts{margin-top:17px}.savedAccounts .hint{margin:0 0 9px}.savedCard{display:block;width:100%;text-align:left;background:#342334;color:#f9e5ea;border:1px solid #e84668;border-radius:11px;padding:13px 15px;margin:8px 0;font-weight:700}

/* Keep the QR camera centered while the rest of the page is scrolled. */
#cameraPanel:not([hidden]){position:fixed;inset:0 auto 0 50%;transform:translateX(-50%);z-index:40;width:min(100%,620px);height:100dvh;min-height:100vh;background:#111219f7;padding:calc(env(safe-area-inset-top) + 20px) 22px calc(env(safe-area-inset-bottom) + 20px);display:flex;flex-direction:column;justify-content:center;gap:14px;overflow:auto}
#cameraPanel #camera{width:100%;max-height:65vh;aspect-ratio:4/3;object-fit:cover;margin:0;border:3px solid #ff4567}
#cameraPanel #cameraMessage{margin:0;text-align:center}
#cameraPanel #stopCamera{margin:0}

.contactCard{margin:0 0 20px}.contactCard h3{margin-top:0}.contactCard .quiet{display:block;text-align:center;text-decoration:none}.contactCard a[hidden]{display:none}.contactLinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.contactLinks:empty{display:none}

.locationCard{margin-top:0}.locationCard h3{margin-top:0;font-size:20px}.locationCard p{color:#b2b6c3;line-height:1.5}.locationCard a{text-decoration:none}.locationCard .quiet{display:block;text-align:center}

.locationCard button.selected{border-color:#ff315d;background:#402032;color:#fff}
