/* VERSUS / Signal — shared visual system. Artwork is local, scalable SVG. */
:root{--signal:#ff205b;--signal-bright:#ff487c;--signal-line:#773148;--signal-muted:#a6a5b7;--signal-panel:#10111b}
html:not([data-theme=light]) body{background:#05060c;color:#f5f3f8}
html:not([data-theme=light]) .shell{background:radial-gradient(ellipse at 100% 0,#810d2820,transparent 40%),#06070e}
.shell{padding-bottom:calc(env(safe-area-inset-bottom) + 110px)}
/* Photo header; logo remains the original VERSUS mark. */
.shell>.top{isolation:isolate;position:relative;margin-bottom:0;border-bottom:1px solid #be20473d;background:linear-gradient(90deg,#05060c6b,#05060cc7 47%,#05060c5e),url('/assets/club-interior-v30.webp') center 37%/cover;padding-top:14px;padding-bottom:16px;gap:12px}
.shell>.top:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,#06070d4d,transparent)}
.shell>.top>img{width:53px;height:53px;border:1px solid #c72c6057;border-radius:16px;box-shadow:0 0 22px #ff00592e}
.top .brand{min-width:0}.top .brand .eyebrow{font-size:10px;letter-spacing:2.1px;color:#ff5c89}.top h1{font-size:28px;line-height:1.1;letter-spacing:3px;margin:4px 0 6px}.top #currentClubLabel{font-size:11px;color:#bab9c6;line-height:1.4;white-space:normal}
#settingsTop{width:43px;height:43px;flex-shrink:0;border-radius:50%;padding:11px;border:1px solid #e731625e;background:radial-gradient(ellipse at top,#7f163452,#0b0b13);box-shadow:inset 0 1px #ff497d26,0 0 16px #ff064221;color:#fff}#settingsTop [data-icon]{display:grid;place-items:center;width:100%;height:100%}#settingsTop .vs-icon{width:22px;height:22px}
/* Home: the large artwork and three photo cards follow one spacing rhythm. */
#homeView{padding-top:12px}.home-ad{padding:26px 22px 30px;margin-bottom:14px;border:1px solid #aa284f9e;border-radius:21px;background:linear-gradient(90deg,#07071022,#07071000),url('/assets/versus-signal.svg') center/cover;box-shadow:inset 0 1px #ff66842b,inset 8px 0 20px #fc003624,0 0 24px #e9002f15}
.home-ad:before,.home-ad:after{display:none}.home-ad-kicker{left:18px;top:18px;font-size:9px;letter-spacing:2.4px;color:#c9b9c7}.home-ad-symbol{width:58px;height:58px;border-radius:15px;background:#110b1394;border:1px dashed #db467586;box-shadow:0 0 35px #f1003a13;color:#ff4b80;font-size:34px;margin-bottom:19px}.home-ad h2{font-size:clamp(25px,7.1vw,39px);font-weight:750;line-height:1.13;letter-spacing:-.7px;text-shadow:0 3px 18px #000b}.home-ad h2 em{font-style:normal;color:#ff3f77}.home-ad p{font-size:12px;color:#bdbece;line-height:1.5;margin-top:16px}
#homeView .home-places-entry,#homeView .home-map-entry,#homeView .home-instagram{position:relative;isolation:isolate;display:grid;grid-template-columns:43px minmax(0,1fr) 34px;align-items:center;gap:12px;min-height:77px;padding:14px;margin:0 0 11px;border:1px solid #8d304858;border-radius:17px;text-align:left;color:#f4f2f7;overflow:hidden;text-decoration:none;box-shadow:inset 0 1px #ffffff07,0 6px 20px #0003;transition:border-color .15s,box-shadow .15s}
#homeView .home-places-entry{border-color:#ff2d67bd;background:linear-gradient(90deg,#320d20f0,#170b15d9 53%,#0a09103b),url('/assets/club-interior-v30.webp') right 43%/cover;box-shadow:inset 7px 0 15px #fa00352c,0 0 17px #ff034d27}
#homeView .home-map-entry{background:linear-gradient(90deg,#0b0b15f5,#0b0b15d1 47%,#0b0b1522),url('/assets/versus-map-art.svg') right center/auto 100%;border-color:#75354e70}
#homeView .home-instagram{background:linear-gradient(90deg,#0b0c16f2,#0b0c16cc 53%,#0b0c1633),url('/assets/versus-social-art.svg') right center/auto 100%;border-color:#49405270}
#homeView .home-places-entry>span:first-child,#homeView .home-map-art,#homeView .home-instagram>span:first-child{display:grid;place-items:center;width:43px;height:46px;padding:0;flex:none;border-radius:13px;border:1px solid #bb275849;background:linear-gradient(145deg,#5011265e,#0a0812bb);box-shadow:inset 0 1px #ff567d12;color:#ff4a82}
#homeView .home-places-entry .vs-icon,#homeView .home-map-art .vs-icon{width:25px;height:25px}#homeView .home-instagram .vs-icon{width:29px;height:29px}
#homeView .home-places-entry>span:nth-child(2),#homeView .home-map-entry>span:nth-child(2),#homeView .home-instagram>span:nth-child(2){min-width:0}
#homeView .home-places-entry strong,#homeView .home-map-entry strong,#homeView .home-instagram strong{display:block;font-size:14px;line-height:1.3;font-weight:650;letter-spacing:-.15px}
#homeView .home-places-entry small,#homeView .home-map-entry small,#homeView .home-instagram small{display:block;margin-top:5px;font-size:10px;line-height:1.4;color:#b7b6c8}
#homeView .home-places-entry>span:last-child,#homeView .home-map-entry>span:last-child,#homeView .home-instagram>span:last-child{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #c235604d;background:radial-gradient(ellipse at top,#8f18375e,#080913c9);box-shadow:inset 0 1px #f6648c21,0 0 12px #f9004021;color:#eee6f1;font-size:24px;font-weight:300;line-height:1}
#homeView .home-places-entry:active,#homeView .home-map-entry:active,#homeView .home-instagram:active{border-color:#ff4b7f;box-shadow:0 0 22px #fa0c4740}
/* Seven equal columns. The QR frame and caption share the same grid centre. */
.bottom{width:min(calc(100% - 16px),604px);bottom:8px;height:calc(74px + env(safe-area-inset-bottom));padding:5px 3px calc(5px + env(safe-area-inset-bottom));border:1px solid #a7214694;border-radius:20px;background:linear-gradient(155deg,#110a14f7,#060910fa 70%);box-shadow:inset 0 1px #ff36632b,0 -2px 21px #eb003b18,0 0 24px #0007;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;overflow:visible}
.bottom button,.bottom button.nav-qr{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:36px 13px;align-content:center;justify-content:stretch;align-items:center;justify-items:center;gap:5px;padding:0;margin:0;min-width:0;color:#9b9caf}
.bottom button>[data-icon],.bottom button.nav-qr>[data-icon]{display:grid;place-items:center;justify-self:center;align-self:center;width:36px;height:36px;min-width:0;margin:0;padding:0;transform:none;background:none;border:0;box-shadow:none;box-sizing:border-box;border-radius:12px}
.bottom button>[data-icon]>.vs-icon{display:grid;place-items:center;width:23px;height:23px;margin:0;padding:0;transform:none;color:inherit}
.bottom button small,.bottom button.nav-qr small{display:block;justify-self:stretch;align-self:center;width:100%;margin:0;padding:0;text-align:center;transform:none;font-size:8.5px;line-height:13px;letter-spacing:0;font-weight:600;white-space:nowrap}
.bottom .nav-qr>[data-icon]{border:1px solid #b92e5469;background:radial-gradient(ellipse at top,#5d152e99,#140d19);box-shadow:inset 0 1px #fb3a6e21,0 0 15px #e9003918;border-radius:13px}
.bottom .nav-qr .vs-icon,.bottom .nav-qr.active .vs-icon{width:23px;height:23px;margin:0;padding:0;transform:none;box-sizing:border-box;border:0;border-radius:0;background:none;box-shadow:none;color:inherit}
.bottom button.active{color:#ff316b}.bottom button.active>[data-icon]{background:radial-gradient(ellipse at center,#aa124b38,#110914);box-shadow:0 0 15px #ff034125;border:1px solid #9a214842}.bottom .nav-qr.active>[data-icon]{border-color:#ff2a65b3;box-shadow:0 0 19px #ff004a38;background:linear-gradient(145deg,#6f1435,#220c1b)}
@media(min-width:400px){.bottom button small,.bottom button.nav-qr small{font-size:9px}}@media(min-width:600px){.bottom button small,.bottom button.nav-qr small{font-size:10px}}
/* Each application screen uses the same luminous outline and quiet typography. */
html:not([data-theme=light]) .view>.sectionHead h2{color:#f6f2f8;font-weight:750;letter-spacing:-.7px}html:not([data-theme=light]) .view>.sectionHead p{color:#aaa8bb}
html:not([data-theme=light]) .surface,html:not([data-theme=light]) .settings-panel,html:not([data-theme=light]) .settings-notifications,html:not([data-theme=light]) .loyalty-progress,html:not([data-theme=light]) #historyFilter{background:radial-gradient(ellipse at right top,#8a0e2a15,transparent 75%),linear-gradient(145deg,#13121d,#0b0d15);border-color:#64304960;box-shadow:inset 0 1px #f8d1e609,0 9px 30px #0003}
html:not([data-theme=light]) .primary{background:linear-gradient(110deg,#ff0b51,#d90540 70%,#a80833);border:1px solid #ff6c8d7a;box-shadow:inset 0 1px #ffa1b63d,0 5px 23px #ff00382b;color:#fff}
html:not([data-theme=light]) input:not([type=checkbox]),html:not([data-theme=light]) select{background:#10101b;border-color:#50364c;color:#f3eff7}html:not([data-theme=light]) input:focus,html:not([data-theme=light]) select:focus{outline:2px solid #fc386c70;outline-offset:1px;border-color:#ff3b72}
#clubsView .locationRow{border-color:#67324c6b;box-shadow:inset 0 1px #ffffff08;background:linear-gradient(90deg,#100d17eb,#100b17c2 48%,#080b146e),url('/assets/club-interior-v30.webp') center 42%/cover}#clubsView .locationRow.selected{border-color:#fb2d65b0;box-shadow:inset 4px 0 17px #fa00352a,0 0 17px #ff024621}#clubsView .locationPin{border:1px solid #ba285340;background:linear-gradient(145deg,#61132c8c,#160e1bbf);color:#ff4076}#clubsView .locationInfo strong{font-size:15px}#clubsView .places-card-stats{border-top-color:#b43e6333}#clubsView .locationActions .primary{border-radius:14px}#clubsView .club-contacts a{border-radius:12px;border-color:#6e344c61;background:linear-gradient(145deg,#1a111e,#0e1019)}#clubsView .booking-detail{background:linear-gradient(130deg,#30102065,#0c0f18);border-color:#88314c60}
html:not([data-theme=light]) .activity-view .profile-action,html:not([data-theme=light]) .activity-view .bk-entry,html:not([data-theme=light]) .places-view .bk-entry,html:not([data-theme=light]) .places-view .places-entry{background:linear-gradient(115deg,#46112655,#11101b 60%,#0a0d15);border-color:#9b2c5059;box-shadow:inset 0 1px #ff638617,0 6px 22px #0003}
.activity-view .profile-action>span:last-child,.activity-view .bk-entry>span:last-child{margin-left:auto;color:#fd467d}.activity-view .profile-action .vs-icon{color:#ff3974}.places-view .contacts-heading{font-size:12px;text-transform:uppercase;letter-spacing:1.6px;color:#ca748f}.club-contact-row{border-bottom-color:#5f2e434d}.club-contact-row a{background:linear-gradient(145deg,#58152950,#100d17);border-color:#8d264a69;color:#ff719b}
html:not([data-theme=light]) #profileView .profile-balance{border-color:#75304e70;background:radial-gradient(ellipse at right,#a0143d1f,transparent 70%),#10111b;box-shadow:inset 0 1px #f9a9c111,0 5px 25px #0003}#profileView .balance-caption>svg{color:#ff3069}#profileView .balance-caption strong{font-weight:750;letter-spacing:-.6px}#profileView .balance-caption span{color:#b4afc4}#profileView .privilege-grid>div,#profileView .privilege-grid>button{border-color:#4f304660;background:linear-gradient(145deg,#17101b,#090e16);box-shadow:inset 0 1px #ffc7db08}#profileView .privilege-grid svg{color:#ff2867;filter:drop-shadow(0 0 7px #ff004936)}#profileView .loyalty-progress{border-color:#83456061}
html:not([data-theme=light]) #historyView .history-tabs{background:#0c0d16;border-color:#6232496b}html:not([data-theme=light]) #historyView .history-tabs button[aria-pressed=true]{background:linear-gradient(115deg,#6b163655,#281220);border-color:#ff3b715b;box-shadow:inset 0 1px #fa8aac14;color:#ff6d9e}html:not([data-theme=light]) #historyFilter input,html:not([data-theme=light]) #historyFilter select{background:#0c0e18;border-color:#63384e70}#historyView .history-summary{border-radius:17px;border-color:#84365070;background:linear-gradient(130deg,#43132963,#11111d)}.history-event{border-color:#59334863;border-radius:15px;background:linear-gradient(145deg,#14111d,#0b0e17)}
html:not([data-theme=light]) .settings-row{border-bottom-color:#7d315032}.settings-row .setting-icon{border:1px solid #bb265546;border-radius:14px;background:linear-gradient(145deg,#6f15327d,#20101f);color:#ff3b76}.settings-row strong{font-size:15px}.settings-row small{font-size:11px;line-height:1.45}.settings-theme .eyebrow,.settings-notifications>.eyebrow{font-size:10px;color:#d66e91;letter-spacing:2px}.theme-choices button{border-radius:17px}.theme-choices button[aria-pressed=true]{box-shadow:inset 0 1px #ff759322,0 0 18px #ff00451b;border-color:#fa376c96}#changeClub{border-radius:12px}
.places-dialog,.club-map-dialog{border-color:#a7436666;box-shadow:inset 0 1px #ff70951c,0 24px 100px #000d}.places-top .eyebrow,.club-map-head .eyebrow{letter-spacing:2.5px;color:#ef7196}.places-top h2,.club-map-head h2{letter-spacing:-.7px}.places-close,.club-map-close{border-radius:50%;border-color:#ff397363;background:radial-gradient(ellipse at top,#71203c50,#11121e);box-shadow:0 0 14px #ff00451a}.places-summary{border-color:#34856b65;background:linear-gradient(120deg,#0b29244a,#10141b);box-shadow:inset 0 1px #9fffd70a}.places-main-count strong{font-weight:700;color:#70e0b7}.places-room-button{border-color:#54374d7d;background:linear-gradient(145deg,#1d1523,#11131e)}.places-room-button.is-active{background:linear-gradient(140deg,#70193870,#2c1122);border-color:#ff3f7b8c;box-shadow:inset 0 1px #ff98b12b,0 0 14px #f9003a18}.places-pc.free{background:radial-gradient(ellipse at top,#205b4859,#0b1d1c);border-color:#438d745e}.places-pc.busy{background:radial-gradient(ellipse at top,#77203d59,#29101e);border-color:#c534616b}.club-map-choice[aria-pressed=true]{background:linear-gradient(140deg,#6216317d,#201020);border-color:#ff397776}.club-map-route{border-color:#af31596b;background:linear-gradient(145deg,#5f153254,#110d19)}
/* Registration stays compact while sharing the new visual treatment. */
html:not([data-theme=light]) #registrationDialog{background:radial-gradient(ellipse at 95% 0,#7c102329,transparent 48%),#090b13;border-color:#97355170}html:not([data-theme=light]) .rg-method{background:linear-gradient(145deg,#1b1422,#10121d);border-color:#66334b67}html:not([data-theme=light]) .rg-method[aria-pressed=true]{background:linear-gradient(140deg,#7c173945,#301224);border-color:#ff346f9e}
/* Focus remains visible on photo backgrounds. */
#homeView button:focus-visible,#homeView a:focus-visible,.bottom button:focus-visible{outline:2px solid #ff85aa;outline-offset:3px}
@media(prefers-reduced-motion:reduce){#homeView button,#homeView a{transition:none}}
@media(max-width:350px){#homeView .home-places-entry,#homeView .home-map-entry,#homeView .home-instagram{grid-template-columns:38px minmax(0,1fr) 29px;gap:9px;padding:12px}.home-ad h2{font-size:25px}#homeView .home-places-entry strong,#homeView .home-map-entry strong,#homeView .home-instagram strong{font-size:13px}#homeView .home-places-entry>span:first-child,#homeView .home-map-art,#homeView .home-instagram>span:first-child{width:38px;height:41px}#homeView .home-places-entry>span:last-child,#homeView .home-map-entry>span:last-child,#homeView .home-instagram>span:last-child{width:29px;height:29px}.bottom{width:calc(100% - 10px);padding-left:1px;padding-right:1px}.bottom button small,.bottom button.nav-qr small{font-size:7.5px}.top h1{font-size:25px}}
