.stud-pass-card{margin:0 0 22px;padding:22px;background:linear-gradient(125deg,#314d3d,#252641 82%);border:1px solid #8ba86b;box-shadow:0 14px 38px #04091855}.stud-pass-card h1{font-size:clamp(28px,8vw,36px);overflow-wrap:anywhere;margin:16px 0 5px;letter-spacing:-.045em}.stud-card-number{color:#bfcbd6;font-size:13px}.stud-balance{display:flex;flex-direction:column;gap:5px;margin:22px 0}.stud-balance>span{font-size:12px;color:#c4d1d9}.stud-balance>strong{font-size:46px;letter-spacing:-.05em;color:var(--lime)}.stud-balance small{font-size:10px;color:#aebdcd}.smok-text-button{border:0;background:transparent;color:#d1ebae;padding:12px 0;font-size:12px;text-align:left}.smok-outline{background:transparent;color:#d9ecc4;border:1px solid #849c69}.stud-history{border:1px solid #39465a;border-radius:14px;padding:14px;margin:10px 0;background:#1d2637}.stud-history summary{font-size:13px;font-weight:800;cursor:pointer}.stud-history p{font-size:12px;line-height:1.6;margin-top:13px;border-top:1px solid #354155;padding-top:10px}.stud-history small{display:block;color:#a5b4c7}.stud-settings{padding:18px 0}.stud-settings>p{margin:8px 0}.smok-guest-dialog p{line-height:1.65;margin-bottom:15px}.smok-input{font-size:16px;min-height:46px}.smok-guest-dialog{padding-bottom:max(24px,env(safe-area-inset-bottom));max-height:90svh}.medal-card.earned{border-color:#7d986a;background:linear-gradient(155deg,#303b3d,#1e2935)}#serverActivity{margin-bottom:24px}.stud-settings button{min-height:40px}#page-profile .passport-top{font-size:9px}#page-profile #editProfile{width:100%;margin:10px 0;padding:14px;border:1px solid #465270;border-radius:12px;background:#263047;color:#d9e4f0}
/* Compact real guest card; the QR dialog retains its original 260px surface. */
.stud-pass-card{margin-bottom:16px;padding:16px 18px}.stud-pass-card h1{font-size:clamp(25px,7vw,30px);margin:10px 0 3px;line-height:1.15}.stud-pass-card .stud-card-number{margin:0;color:#c6d3d8}.stud-pass-card .stud-balance{margin:12px 0 8px;gap:2px}.stud-pass-card .stud-balance>strong{font-size:36px;line-height:1.15;overflow-wrap:anywhere}.stud-pass-card .stud-balance small:empty{display:none}.stud-pass-card #guestQrBtn{min-height:46px;margin:4px 0}.stud-pass-card #guestBonusRules{min-height:44px;padding:9px 0 0}.stud-pass-card .passport-top{gap:10px}
/* Four blur panels leave the real highlighted element uncovered (Safari fallback
   is plain dimming). No screenshot/QR clone or new server requests are needed. */
#studTour{position:fixed;z-index:500;isolation:isolate;overflow:hidden;color:#f5f7f2;font-family:inherit}.stud-tour-shade{position:absolute;background:rgba(3,9,9,.83);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.stud-tour-ring{position:absolute;border:1.5px solid #cafd68;border-radius:18px;box-shadow:0 0 20px #cafd6814;pointer-events:none}.stud-tour-dialog{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(420px,calc(100% - 28px));max-height:calc(100% - 32px);overflow:auto;border:1px solid #8bb55b;border-radius:20px;background:linear-gradient(135deg,#14281f,#101c20 75%);padding:20px;box-shadow:0 20px 60px #0008;outline:none}.stud-tour-kicker{display:flex;justify-content:space-between;gap:8px;font-size:9px;font-weight:800;letter-spacing:.08em;color:#cafd68}.stud-tour-dialog h2{font-size:23px;line-height:1.15;letter-spacing:-.04em;margin:14px 0 10px}.stud-tour-dialog p{font-size:15px;line-height:1.55;color:#e0e8df;margin:0 0 18px}.stud-tour-actions{display:flex;gap:12px;align-items:center}.stud-tour-actions button{min-height:46px;padding:10px 16px;border-radius:12px;font:inherit;font-size:14px;font-weight:750;cursor:pointer}.stud-tour-actions #smokTutorialNext{flex:1;background:#cafd68;border:1px solid #cafd68;color:#18231b}.stud-tour-actions #smokTutorialSkip{background:transparent;border:1px solid transparent;color:#c0d1c1}.stud-tour-actions button:focus-visible{outline:3px solid white;outline-offset:3px}.stud-tour-arrow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.stud-tour-arrow path{fill:none;stroke:#cafd68;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.stud-tour-arrow marker path{stroke-width:1.5}
@media(max-height:620px){.stud-tour-dialog{padding:14px;bottom:12px}.stud-tour-dialog h2{font-size:20px;margin:10px 0 7px}.stud-tour-dialog p{font-size:13px;margin-bottom:10px}}
/* Profile: guest identity, game progress, then account settings. */
.profile-identity .passport-main{gap:14px}.profile-identity h2{overflow-wrap:anywhere;line-height:1.2}.profile-identity .passport-id{overflow-wrap:anywhere;margin-top:7px}.profile-avatar-edit{position:relative;flex-shrink:0;border:1px solid #7c9561;cursor:pointer;color:inherit;font:inherit;font-size:34px;padding:0}.profile-avatar-edit:hover{border-color:var(--lime)}.profile-avatar-edit:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.profile-avatar-pencil{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--lime);color:#1d291a;font-size:16px;border:2px solid #202b32}.profile-avatar-hint{font-size:11px;color:#b5c7b4;margin:12px 0}.profile-contact{font-size:13px;margin-top:15px}.profile-section{margin:18px 0;border:1px solid #384656;border-radius:18px;padding:18px;background:#172132}.profile-section>h2{font-size:18px;letter-spacing:-.035em;margin:0 0 14px}.profile-current-level{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:#b9c9bd}.profile-current-level>b{background:#cafd68;color:#1b271c;border-radius:8px;padding:5px 9px}.profile-current-level>strong{font-size:14px;color:#eff5ea}.profile-details{border-top:1px solid #394654;margin-top:14px;padding-top:4px}.profile-details>summary{cursor:pointer;font-size:13px;font-weight:750;min-height:44px;align-content:center;padding:10px 0;color:#e2ebdf}.profile-details>summary:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.profile-details summary span{float:right;font-size:11px;color:#cafd68}.profile-details .xp-budget{margin:4px 0;padding:12px}.profile-earned-level{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:11px 0;border-top:1px solid #344251;font-size:12px}.profile-earned-level>b{color:#cafd68}.profile-earned-level>span{flex:1}.profile-earned-level>small{font-size:10px;color:#cafd68}.profile-action-list{display:flex;flex-direction:column;gap:6px}.profile-action-list button{width:100%;min-height:46px;text-align:left;border:1px solid #3d4d5d;border-radius:11px;padding:11px 12px;background:#233345;color:#e8eee5;font:inherit;font-size:13px;cursor:pointer}.profile-action-list button span{float:right;color:#cafd68}.profile-action-list button.profile-logout-all{border-color:transparent;background:transparent;color:#b9c8ca;font-size:12px}.profile-action-list button:disabled{opacity:.5;cursor:wait}#page-profile .stud-settings{padding:18px}.profile-details .detail-stat-grid{margin:8px 0}.profile-identity .passport-top{margin-bottom:16px}
.profile-identity .passport-main>div{min-width:0;flex:1}.profile-identity .passport-main h2{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
/* Editorial blocks publish only validated owner-supplied data. */
#homeBooking[hidden],#booking[hidden],.pass-socials[hidden]{display:none!important}.pass-booking-link{display:flex;text-decoration:none;color:inherit;min-height:64px;margin:0 0 18px}.pass-booking-link:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.pass-news{margin-top:24px}.pass-news-status{font-size:12px;line-height:1.6;color:#b0bdcb;border:1px dashed #3d4b5d;border-radius:14px;padding:16px}.pass-news-card{border:1px solid #3c4b5a;border-radius:16px;padding:16px;margin:12px 0;background:#192333;overflow:hidden;overflow-wrap:anywhere}.pass-news-card time{display:block;font-size:10px;color:#b4c3b3;margin-bottom:8px}.pass-news-card h3{font-size:18px;line-height:1.25;letter-spacing:-.025em;margin:0 0 9px}.pass-news-card p{font-size:13px;line-height:1.6;color:#ccd5d9;margin:0}.pass-news-image{display:block;width:100%;height:auto;max-height:190px;object-fit:cover;border-radius:10px;margin-bottom:14px}.pass-news-more{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;color:#cafd68;font-size:12px}.pass-socials{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:20px 0 2px;padding-top:12px;border-top:1px solid #344150}.pass-social-link{display:inline-flex;align-items:center;gap:6px;padding:8px 9px;min-height:44px;color:#becfbc;font-size:11px;text-decoration:none;border-radius:10px}.pass-social-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.pass-social-link:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.pass-news-demo{display:inline-flex;border:1px solid #778350;border-radius:7px;padding:3px 7px;margin-bottom:10px;font-size:9px;color:#d3e5a7}
/* Compact wallet: identity left, actual bonus balance right; QR size unchanged. */
.stud-wallet-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px;align-items:center;margin:12px 0 8px}.stud-wallet-identity{min-width:0}.stud-pass-card .stud-wallet-identity h1{font-size:22px;line-height:1.16;margin:0 0 5px}.stud-pass-card .stud-wallet-identity .stud-card-number{font-size:11px;line-height:1.4;margin:0}.stud-pass-card .stud-wallet-row .stud-balance{min-width:0;margin:0;text-align:right;gap:3px}.stud-pass-card .stud-wallet-row .stud-balance>span{font-size:11px;line-height:1.3}.stud-pass-card .stud-wallet-row .stud-balance>strong{font-size:34px;line-height:1.12;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stud-pass-card .stud-wallet-row .stud-balance-large>strong{font-size:clamp(20px,5vw,24px);letter-spacing:-.055em}.stud-wallet-offline{font-size:11px;line-height:1.4;color:#ffbd9d;margin:4px 0 10px}.stud-pass-card.stud-wallet-connected{padding-top:14px;padding-bottom:12px}
[data-guest-only][hidden],[data-guest-prompt][hidden]{display:none!important}.pass-signin-prompt{padding:18px;border:1px solid #465466;border-radius:16px;background:#192536;margin:14px 0}.pass-signin-prompt p{font-size:13px;line-height:1.6;color:#becbd6;margin:12px 0}.pass-signin-prompt h2{font-size:24px}

/* Verified leaderboard: authenticated viewing, no personal data in static cache. */
.leaderboard-open{display:block;width:100%;margin:14px 0;padding:13px;border-radius:12px;border:1px solid #66864c;background:#263729;color:#d8fb9d;font-weight:850}
.leaderboard-dialog{width:min(430px,calc(100% - 28px));max-height:85dvh;overflow:auto;border:1px solid #66864c;border-radius:20px;padding:24px;background:#172338;color:#f2f5ff}
.leaderboard-dialog::backdrop{background:#080c17de;backdrop-filter:blur(4px)}
.leaderboard-dialog p{font-size:13px;line-height:1.6;margin:14px 0}.leaderboard-dialog h2{padding-right:25px}
.leaderboard-dialog button{border:1px solid #66864c;border-radius:10px;padding:11px;background:#263729;color:#d8fb9d;margin:7px 0;width:100%}.leaderboard-dialog button:disabled{opacity:.45;cursor:default}
.leaderboard-dialog .leaderboard-close{position:absolute;right:10px;top:6px;width:34px;font-size:22px;padding:2px}
.leaderboard-list{list-style:none;padding:0;margin:12px 0}.leaderboard-row{display:grid;grid-template-columns:2em minmax(0,1fr) auto;gap:8px;align-items:center;padding:12px 7px;border-bottom:1px solid #3c465b;font-size:13px}.leaderboard-row strong{overflow-wrap:anywhere}.leaderboard-mine{background:#31432b;border-radius:9px}.leaderboard-row small{color:#d8fb9d}
#leaderboardError{color:#ff9d9d}

.smok-phone-field{display:flex;align-items:center;background:#0c1526;border:1px solid #435573;border-radius:11px}.smok-phone-prefix{padding:13px 0 13px 13px;font-weight:850}.smok-phone-field .smok-input{border:0;min-width:0;background:transparent}.smok-phone-field:focus-within{outline:2px solid #cafd68;outline-offset:2px}
.guest-level-card{border:1px solid #53614c;border-radius:18px;padding:16px;background:linear-gradient(135deg,#23342c,#1a2335);margin:14px 0}.guest-level-card h2{margin:0 0 12px}.guest-level-card .profile-current-level{margin:0 0 14px}.guest-benefits-title{font-size:13px;margin:12px 0 7px;color:#d1f89a}#guestLevelBenefits p{font-size:12px;line-height:1.5}.guest-level-avatars{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px;font-size:21px}.guest-level-card .profile-details{margin:10px 0 0;background:#101a25a0}.profile-earned-level.locked{opacity:.5}.profile-earned-level.earned{border-color:#53614c}.profile-earned-level.current{border:1px solid #cafd68;background:#2b3a2a}.guest-level-unlock{font-size:12px;color:#c6d5be}#guestLevelNext{font-size:12px;line-height:1.5;margin-top:10px}#rewardsList{display:grid;gap:8px}

.profile-level-section{padding:0;border:0;background:transparent}.guest-level-card{margin:0 0 14px}.guest-level-card h2{font-size:20px}.guest-level-avatars{gap:6px;font-size:20px}
#rewardsList .profile-earned-level{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:12px 8px;border-radius:9px}#rewardsList .profile-earned-level>b{grid-area:1/1;line-height:1.4}#rewardsList .profile-earned-level>small{grid-area:1/2;text-align:right;line-height:1.4;max-width:150px}#rewardsList .profile-earned-level>span:not(.guest-level-unlock){grid-area:2/1/3/3;font-size:13px;overflow-wrap:anywhere}#rewardsList .guest-level-unlock{grid-area:3/1/4/3}#rewardsList .profile-earned-level.locked{opacity:.62}
.smok-phone-prefix{flex:none;white-space:nowrap}.smok-phone-field .smok-input{flex:1;width:0;padding-left:6px}.smok-phone-field .smok-input:focus{outline:none;box-shadow:none}
