/* Exact component declarations ported from the owner's v2.1/style.css.
   Source SHA256 a5c0537ae628f26101298e44fddbfb437cb497c5f1c84410bec7c66ecb2a54d1.
   Selectors are scoped to HOME; class names are prefixed h21 to avoid collisions.
   Layout-only resets below remove old component styling, not business behavior. */
.h21-wordmark,.h21-nav-content{display:none}
#phone[data-current-page="home"] .topbar,#phone[data-current-page="home"] #scrollBody,#phone[data-current-page="home"] .tabbar{font:14px/1.5 "Segoe UI",Arial,sans-serif;color:var(--text)}
#phone[data-current-page="home"] :where(.topbar,.tabbar,#page-home) button{font:inherit;cursor:pointer;color:inherit;border:0;background:none;padding:2px 6px;letter-spacing:normal;-webkit-tap-highlight-color:transparent}
#phone[data-current-page="home"] :where(.topbar,.tabbar,#page-home) button:active{transform:translateY(1px)}
#phone[data-current-page="home"] :where(.topbar,.tabbar,#page-home) a{color:inherit}
#phone[data-current-page="home"] #page-home{padding:0}
#phone[data-current-page="home"] :where(#page-home) :where(h1,h2,h3){font-family:inherit;font-weight:bold;letter-spacing:normal;line-height:1.5;margin-top:0}
#phone[data-current-page="home"] :where(#page-home) :where(p){margin:0 0 1em}
#phone[data-current-page="home"] .topbar>.brand{display:none}
#phone[data-current-page="home"] .header-level{max-width:none;text-align:left}
#phone[data-current-page="home"] .avatar-top .stud-avatar{display:block;width:100%;height:100%}
#phone[data-current-page="home"] .h21-guestcard{color:var(--text)}
#phone[data-current-page="home"] .h21-guestcard:after{display:block}
#phone[data-current-page="home"] .h21-identity{min-width:0}
#phone[data-current-page="home"] .h21-cardname{overflow-wrap:anywhere}
#phone[data-current-page="home"] .h21-balancevalue{overflow-wrap:anywhere}
#phone[data-current-page="home"] .h21-qrbutton{flex-shrink:0}
#phone[data-current-page="home"] #guestBonusRules{min-height:0;position:relative}
#phone[data-current-page="home"] #guestBonusRules:before{content:'';position:absolute;inset:-8.75px 0}
#phone[data-current-page="home"] .h21-booking{border:0;text-decoration:none;box-shadow:none}
#phone[data-current-page="home"] #serverActivity{border-left:0;border-right:0;border-radius:0;background:none;overflow:visible}
#phone[data-current-page="home"] #serverActivity .stud-history{padding:0;margin:0;border:0;border-radius:0;background:none}
#phone[data-current-page="home"] #serverActivity summary.h21-listbutton{list-style:none;padding:14px 0;font-size:12px;min-height:0;border-bottom:1px solid var(--line)}
#phone[data-current-page="home"] #serverActivity summary::-webkit-details-marker{display:none}
#phone[data-current-page="home"] #serverActivity details:last-child summary{border:0}
#phone[data-current-page="home"] .h21-feature{box-shadow:var(--shadow)}
#phone[data-current-page="home"] .h21-feature p{margin-top:0}
#phone[data-current-page="home"] #passNews{padding:0;margin:0}
#phone[data-current-page="home"] .h21-newsitem{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;margin:0}
#phone[data-current-page="home"] .h21-newsitem time,#phone[data-current-page="home"] .h21-newsitem .pass-news-demo{display:inline;padding:0;margin:0;border:0;border-radius:0;background:none;color:var(--muted)}
#phone[data-current-page="home"] .h21-newsitem .pass-news-demo:after{content:' · '}
#phone[data-current-page="home"] .h21-socials{display:block;gap:normal;border:0;border-top:1px solid var(--line)}
#phone[data-current-page="home"] .h21-socialrow .pass-social-link{flex:initial;min-height:42px;flex-direction:row;white-space:normal;opacity:1}
#phone[data-current-page="home"] .h21-socialrow .pass-social-link>svg,#phone[data-current-page="home"] .h21-socialrow .pass-social-link>small{display:none}
#phone[data-current-page="home"] .tabbar{position:relative;left:auto;bottom:auto;transform:none;max-width:none;width:auto;min-height:0;flex-shrink:0;backdrop-filter:none}
#phone[data-current-page="home"] .tabbar .tab{display:grid;min-height:0;align-items:normal;justify-content:normal;line-height:1.5;letter-spacing:normal;touch-action:manipulation}
#phone[data-current-page="home"] .tabbar .tab>*:not(.h21-nav-content){display:none}
#phone[data-current-page="home"] .h21-nav-content{display:contents}
#phone[data-current-page="home"] .tabbar .tab.active:after{display:none;content:none}
#phone[data-current-page="home"]{color-scheme:light;--bg:#f5eee3;--surface:#fffaf3;--raised:#efe3d3;--text:#33271f;--muted:#796b60;--line:#6e45251e;--accent:#9f2638;--accentText:#fff9f0;--amber:#be8048;--soft:#d9bda0;--card:#f0e1cb;--shadow:0 12px 30px #55391c08;--gold:#a96522;--purple:#9b69ba}
:root[data-theme="graphite"] #phone[data-current-page="home"]{color-scheme:dark;--bg:#191714;--surface:#24201c;--raised:#302920;--text:#f1e7d9;--muted:#b8a798;--line:#e3c3a321;--accent:#dca16e;--accentText:#2b1b13;--amber:#dca16e;--soft:#8e6547;--card:#30251d;--shadow:0 12px 30px #0001;--gold:#e6b777;--purple:#c19bd8}
:root[data-theme="burgundy"] #phone[data-current-page="home"]{color-scheme:dark;--bg:#29171b;--surface:#382127;--raised:#492c32;--text:#f8ecdd;--muted:#c8aaa7;--line:#f3c2b424;--accent:#efd8b9;--accentText:#602632;--amber:#d89c77;--soft:#90605c;--card:#f0dfc9;--shadow:0 12px 30px #10060a14;--gold:#eac08b;--purple:#d2abdb}
#phone[data-current-page="home"] .topbar{height:87px;display:flex;align-items:center;justify-content:space-between;padding:16px 22px;position:sticky;top:0;background:var(--bg);z-index:4;border-bottom:1px solid var(--line)}
#phone[data-current-page="home"] .h21-wordmark{display:flex;align-items:center;gap:10px;text-align:left;padding:0}
#phone[data-current-page="home"] .h21-logo{display:grid;place-items:center;background:var(--accent);color:var(--accentText);width:39px;height:42px;border-radius:12px 12px 12px 3px;font-size:28px;font-weight:900;position:relative}
#phone[data-current-page="home"] .h21-logo sup{position:absolute;top:1px;right:5px;font-size:12px}
#phone[data-current-page="home"] .h21-wordmark b{display:block;font-size:18px;line-height:1.25;font-weight:850;letter-spacing:-.6px}
#phone[data-current-page="home"] .h21-wordmark em{font-style:normal;color:var(--accent)}
#phone[data-current-page="home"] .h21-wordmark small{font-size:9px;letter-spacing:.8px;color:var(--muted)}
#phone[data-current-page="home"] .top-actions{display:flex;align-items:center;gap:8px}
#phone[data-current-page="home"] .header-level{font-size:9px;letter-spacing:.5px;font-weight:700;color:var(--muted)}
#phone[data-current-page="home"] .avatar-top{border-radius:50%;width:39px;height:39px;overflow:hidden;padding:0;background:var(--raised);flex-shrink:0;border:1px solid var(--line)}
#phone[data-current-page="home"] .avatar-top svg{width:100%;height:100%;display:block}
#phone[data-current-page="home"] .h21-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}
#phone[data-current-page="home"] .h21-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
#phone[data-current-page="home"] .h21-grow{flex:1;min-width:0}
#phone[data-current-page="home"] .h21-muted{color:var(--muted)}
#phone[data-current-page="home"] .h21-small{font-size:11px;color:var(--muted)}
#phone[data-current-page="home"] .h21-eyebrow{font-size:9px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;color:var(--muted)}
#phone[data-current-page="home"] #scrollBody{padding:22px 22px 28px;min-height:650px}
#phone[data-current-page="home"] .h21-card{border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);padding:19px;margin-bottom:16px}
#phone[data-current-page="home"] .h21-guestcard{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--card),var(--surface));isolation:isolate}
#phone[data-current-page="home"] .h21-guestcard:after{content:'✦';position:absolute;right:-22px;top:-40px;font-size:260px;line-height:1;color:var(--amber);opacity:.09;z-index:-1}
#phone[data-current-page="home"] .h21-cardtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}
#phone[data-current-page="home"] .h21-cardtop .h21-eyebrow{font-size:10px;color:var(--text)}
#phone[data-current-page="home"] .h21-activebadge{display:flex;gap:4px;align-items:center;font-size:8px;color:var(--muted);letter-spacing:.5px}
#phone[data-current-page="home"] .h21-activebadge i{width:4px;height:4px;background:#7e8650;border-radius:50%}
#phone[data-current-page="home"] .h21-cardname{font-size:24px;margin:0;font-weight:650;letter-spacing:-.7px}
#phone[data-current-page="home"] .h21-cardno{font-size:10px;color:var(--muted);margin-top:3px}
#phone[data-current-page="home"] .h21-identity{display:flex;align-items:center;gap:12px;margin-bottom:18px}
#phone[data-current-page="home"] .h21-identity .avatar-top{height:55px;width:55px;border-radius:16px;position:relative}
#phone[data-current-page="home"] .h21-balancerow{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:17px;margin-top:17px;gap:15px}
#phone[data-current-page="home"] .h21-balancevalue{font-size:31px;letter-spacing:-1px;line-height:1.2;font-weight:600;margin-top:3px}
#phone[data-current-page="home"] .h21-balancevalue small{font-size:21px}
#phone[data-current-page="home"] .h21-qrbutton{background:var(--text);color:var(--bg);border-radius:13px;padding:11px 14px;display:flex;align-items:center;gap:9px;min-height:47px;font-size:12px;font-weight:650}
#phone[data-current-page="home"] .h21-qrbutton svg{width:23px;height:23px}
#phone[data-current-page="home"] .h21-cardfoot{display:flex;justify-content:space-between;align-items:center;margin-top:13px}
#phone[data-current-page="home"] .h21-linkbtn{font-size:11px;text-decoration:underline;text-underline-offset:3px;color:var(--muted);padding:5px 0}
#phone[data-current-page="home"] .h21-primary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 18px;border-radius:12px;background:var(--accent);color:var(--accentText);font-size:12px;font-weight:700}
#phone[data-current-page="home"] .h21-secondary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;border-radius:12px;background:transparent;border:1px solid var(--line);font-size:12px;font-weight:600}
#phone[data-current-page="home"] .h21-full{width:100%;margin-top:10px}
#phone[data-current-page="home"] .h21-booking{display:flex;gap:13px;align-items:center;text-align:left;width:100%;padding:13px 15px;background:var(--accent);color:var(--accentText);border-radius:15px;margin:16px 0 20px;min-height:69px}
#phone[data-current-page="home"] .h21-booking .h21-iconbox{width:36px;height:36px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;opacity:.8}
#phone[data-current-page="home"] .h21-booking b{font-size:13px}
#phone[data-current-page="home"] .h21-booking small{display:block;font-size:10px;opacity:.78}
#phone[data-current-page="home"] .h21-booking>.h21-icon{width:18px}
#phone[data-current-page="home"] .h21-sectionheading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:27px 0 13px}
#phone[data-current-page="home"] .h21-sectionheading h2{font-size:19px;letter-spacing:-.5px;margin:4px 0 0;line-height:1.2}
#phone[data-current-page="home"] .h21-sectionheading .h21-eyebrow{color:var(--accent)}
#phone[data-current-page="home"] .h21-count{font-size:9px;color:var(--muted);border:1px solid var(--line);border-radius:7px;padding:4px 7px;white-space:nowrap}
#phone[data-current-page="home"] .h21-listbutton{display:flex;align-items:center;gap:11px;border:0;border-bottom:1px solid var(--line);padding:14px 0;width:100%;text-align:left;font-size:12px;background:none}
#phone[data-current-page="home"] .h21-listbutton:last-child{border:0}
#phone[data-current-page="home"] .h21-listbutton .h21-icon:first-child{color:var(--amber);width:19px}
#phone[data-current-page="home"] .h21-listbutton .h21-icon:last-child{width:16px;color:var(--muted)}
#phone[data-current-page="home"] .h21-listbutton small{font-size:10px;color:var(--muted)}
#phone[data-current-page="home"] .h21-linedlist{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0}
#phone[data-current-page="home"] .h21-feature{padding:0;overflow:hidden;position:relative;display:flex;min-height:237px;background:#292321;color:#fff3df;border:1px solid #b48c5d3d;border-radius:20px;width:100%;text-align:left}
#phone[data-current-page="home"] .h21-featurevisual{position:relative;width:37%;flex-shrink:0;overflow:hidden;background:#282636}
#phone[data-current-page="home"] .h21-featurevisual img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;position:absolute;inset:0;filter:sepia(.15)}
#phone[data-current-page="home"] .h21-featurevisual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 50%,#292321)}
#phone[data-current-page="home"] .h21-hard{position:absolute;top:13px;left:10px;font-size:7px;letter-spacing:.6px;background:#241b19cd;border:1px solid #e0c19a55;padding:5px 6px;border-radius:5px;z-index:1;color:#ead0a6}
#phone[data-current-page="home"] .h21-featurecopy{padding:20px 16px 20px 8px;flex:1;min-width:0;position:relative}
#phone[data-current-page="home"] .h21-feature .h21-eyebrow{color:#c9ac8b;font-size:8px;letter-spacing:1px}
#phone[data-current-page="home"] .h21-feature h3{font-size:26px;font-weight:850;line-height:1.06;letter-spacing:-.7px;margin:10px 0}
#phone[data-current-page="home"] .h21-feature p{font-size:10px;color:#cabcae;margin-bottom:11px;line-height:1.6}
#phone[data-current-page="home"] .h21-gamemeta{display:flex;gap:12px;align-items:center;color:#ddc6a4;font-size:9px;margin-bottom:14px}
#phone[data-current-page="home"] .h21-playbtn{display:flex;justify-content:space-between;align-items:center;background:#d6ab7d;color:#241b16;padding:10px 12px;border-radius:9px;font-size:11px;font-weight:800}
#phone[data-current-page="home"] .h21-playbtn .h21-icon{width:17px}
#phone[data-current-page="home"] .h21-campusgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#phone[data-current-page="home"] .h21-campusitem{padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
#phone[data-current-page="home"] .h21-campusitem>.h21-icon{color:var(--amber);margin-bottom:12px}
#phone[data-current-page="home"] .h21-campusitem b{font-size:11px;display:block}
#phone[data-current-page="home"] .h21-campusitem small{font-size:9px;color:var(--muted)}
#phone[data-current-page="home"] .h21-tag{display:inline-block;font-size:8px;padding:3px 6px;background:var(--raised);border-radius:5px;color:var(--muted);margin-top:10px}
#phone[data-current-page="home"] .h21-venue{margin-top:24px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
#phone[data-current-page="home"] .h21-venuephoto{height:155px;position:relative}
#phone[data-current-page="home"] .h21-venuephoto img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
#phone[data-current-page="home"] .h21-venuephoto:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#241c16aa,transparent)}
#phone[data-current-page="home"] .h21-venuephoto span{position:absolute;left:17px;bottom:12px;color:#fff3e0;font:22px Georgia,serif;z-index:1}
#phone[data-current-page="home"] .h21-venuebody{padding:16px}
#phone[data-current-page="home"] .h21-venuebody h3{font-size:13px;margin:5px 0}
#phone[data-current-page="home"] .h21-venuebody p{font-size:11px;color:var(--muted);margin:0}
#phone[data-current-page="home"] .h21-socials{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}
#phone[data-current-page="home"] .h21-socials>span{display:block;text-align:center;font-size:9px;letter-spacing:1.4px;color:var(--muted);margin-bottom:12px}
#phone[data-current-page="home"] .h21-socialrow{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
#phone[data-current-page="home"] .h21-socialrow a,#phone[data-current-page="home"] .h21-socialrow button{display:flex;align-items:center;justify-content:center;gap:5px;text-decoration:none;border:1px solid var(--line);border-radius:9px;padding:10px 3px;min-height:42px;font-size:9px;background:var(--surface)}
#phone[data-current-page="home"] .h21-socialicon{font-size:12px;font-weight:700}
#phone[data-current-page="home"] .h21-footertext{font-size:9px;color:var(--muted);text-align:center;margin:17px 5px 0;line-height:1.7}
#phone[data-current-page="home"] .tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:12px 8px 17px;z-index:5;gap:3px}
#phone[data-current-page="home"] .tabbar button{display:grid;justify-items:center;gap:5px;padding:6px 0;color:var(--muted);font-size:9px;border-radius:10px}
#phone[data-current-page="home"] .tabbar button.active{background:var(--raised);color:var(--accent)}
#phone[data-current-page="home"] .tabbar .h21-icon{width:20px;height:20px}
#phone[data-current-page="home"] .h21-note{font-size:10px;line-height:1.8;color:var(--muted)}
#phone[data-current-page="home"] .h21-newsitem{padding:15px 0;border-bottom:1px solid var(--line)}
#phone[data-current-page="home"] .h21-newsitem h3{font-size:13px;margin:5px 0}
#phone[data-current-page="home"] .h21-newsitem p{font-size:11px;color:var(--muted);margin:0}
:root[data-theme="burgundy"] #phone[data-current-page="home"] .h21-guestcard{color:#3f2824;background:linear-gradient(130deg,#f3e5cf,#e2c6aa);--text:#3f2824;--muted:#826456;--line:#6e452528;--bg:#f3e5cf;--surface:#fff4e2;--accent:#852d3c}
:root[data-theme="graphite"] #phone[data-current-page="home"] .h21-guestcard{border-color:#dca16e40}
@media(max-width:800px){
#phone[data-current-page="home"] .topbar{height:78px;padding:15px 20px}
#phone[data-current-page="home"] #scrollBody{min-height:calc(100dvh - 175px);padding:20px 20px 105px}
#phone[data-current-page="home"] .tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:460px;padding-bottom:max(15px,env(safe-area-inset-bottom))}
}
@media(max-width:359px){
#phone[data-current-page="home"] #scrollBody{padding-left:15px;padding-right:15px}
#phone[data-current-page="home"] .topbar{padding-left:15px;padding-right:15px}
#phone[data-current-page="home"] .header-level{font-size:8px}
#phone[data-current-page="home"] .h21-wordmark b{font-size:17px}
#phone[data-current-page="home"] .h21-feature h3{font-size:23px}
#phone[data-current-page="home"] .h21-featurecopy{padding-right:12px}
#phone[data-current-page="home"] .h21-qrbutton{padding:10px;font-size:11px;gap:6px}
#phone[data-current-page="home"] .h21-balancevalue{font-size:28px}
#phone[data-current-page="home"] .h21-card{padding:16px}
#phone[data-current-page="home"] .h21-socialrow a,#phone[data-current-page="home"] .h21-socialrow button{font-size:8px}
}
#phone[data-current-page="home"] .h21-feature{background:var(--surface);color:var(--text);border-color:var(--line);box-shadow:var(--shadow)}
#phone[data-current-page="home"] .h21-featurevisual{background:var(--raised);border-right:1px solid var(--line)}
#phone[data-current-page="home"] .h21-featurevisual img{filter:none;object-position:center;object-fit:cover}
#phone[data-current-page="home"] .h21-featurevisual:after{display:none}
#phone[data-current-page="home"] .h21-feature .h21-eyebrow{color:var(--accent)}
#phone[data-current-page="home"] .h21-feature p{color:var(--muted)}
#phone[data-current-page="home"] .h21-gamemeta{color:var(--muted)}
#phone[data-current-page="home"] .h21-playbtn{background:var(--accent);color:var(--accentText)}
#phone[data-current-page="home"] .h21-hard{color:var(--text);background:var(--surface);border-color:var(--line);font-size:7px}
#phone[data-current-page="home"] .h21-feature h3{font-size:25px;letter-spacing:-.6px}
#phone[data-current-page="home"] .h21-featurecopy{padding-left:15px}
:root[data-theme="burgundy"] #phone[data-current-page="home"] .h21-feature{background:#eddec9;color:#402a25;--text:#402a25;--muted:#795d50;--accent:#8b3341;--accentText:#fff4e1;--line:#79513a29;--raised:#d9c3a9}
@media(max-width:359px){
#phone[data-current-page="home"] .h21-feature h3{font-size:22px}
#phone[data-current-page="home"] .h21-featurecopy{padding-left:11px}
}
#phone[data-current-page="home"] .h21-warm-game-frame{filter:sepia(.65) saturate(.65)!important}
#phone[data-current-page="home"] .h21-featurevisual:before{content:'';position:absolute;inset:17% auto 15% 0;width:8%;background:#89775f;z-index:1;opacity:.9}
#phone[data-current-page="home"] .tabbar{position:relative;left:auto;bottom:auto;transform:none;width:auto;max-width:none}
#phone[data-current-page="home"] .h21-socialrow [aria-disabled="true"]{display:flex;align-items:center;justify-content:center;gap:5px;text-decoration:none;border:1px solid var(--line);border-radius:9px;padding:10px 3px;min-height:42px;font-size:9px;background:var(--surface);color:var(--text)}
@media(max-width:359px){#phone[data-current-page="home"] .h21-socialrow [aria-disabled="true"]{font-size:8px}}
/* Reset two residual rules from the previous live components. */
#phone[data-current-page="home"] #serverActivity summary.h21-listbutton{font-weight:400}
#phone[data-current-page="home"] #homeBooking>.h21-grow{display:block;gap:normal}
#phone[data-current-page="home"] #homeBooking b{font-weight:700}
#phone[data-current-page="home"] .h21-newsitem p{line-height:1.5}
#phone[data-current-page="home"] #guestQrBtn{margin:0}

/* Fit the actual flex shell, including the staging banner and short viewports. */
#phone[data-current-page="home"] #scrollBody{min-height:0}
#phone[data-current-page="home"] .h21-balancevalue,#phone[data-current-page="home"] .h21-balancevalue small{font-family:Arial,"Segoe UI",sans-serif;font-weight:600;font-style:normal}
/* This is now a direct capture of the working renderer, without fake scenery. */
#phone[data-current-page="home"] .h21-warm-game-frame{filter:none!important}
#phone[data-current-page="home"] .h21-featurevisual:before{display:none}
