:root{--bg:#060a13;--bg2:#0a1020;--panel:#101827;--panel2:#151f32;--panel3:#1a263b;--line:#26344c;--text:#f8fafc;--muted:#96a4bb;--purple:#7c3aed;--purple2:#a970ff;--cyan:#2dd4bf;--green:#35d17d;--yellow:#f4c95d;--red:#fb7185;--shadow:0 18px 55px rgba(0,0,0,.28);--radius:18px;--top:72px;--side:248px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 55% -10%,#182545 0,#090f1d 38%,#050810 78%);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,black,transparent 68%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.04;letter-spacing:-.045em;margin-bottom:14px}h2{letter-spacing:-.025em}small{color:var(--muted)}.app-shell{min-height:100vh}.main-shell{min-height:100vh;margin-left:var(--side);padding-top:var(--top)}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:var(--side);padding:22px 15px;display:flex;flex-direction:column;background:rgba(6,10,19,.91);border-right:1px solid rgba(255,255,255,.07);backdrop-filter:blur(22px)}.brand{display:flex;align-items:center;gap:12px;padding:8px 10px 26px;font-size:20px}.brand-mark{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,var(--purple),#4c1d95);box-shadow:0 10px 28px rgba(124,58,237,.35)}.brand span:last-child{display:grid}.brand small{font-size:11px;letter-spacing:.06em}.side-nav{display:grid;gap:6px}.side-nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:13px;color:#c7d0df;font-weight:650}.side-nav a span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.045);font-size:17px}.side-nav a:hover,.side-nav a.active{color:white;background:linear-gradient(90deg,rgba(124,58,237,.3),rgba(124,58,237,.04))}.side-nav a.active span{background:var(--purple)}.sidebar-user{margin-top:auto;border-top:1px solid var(--line);padding-top:14px}.sidebar-user>a{display:flex;align-items:center;gap:10px;padding:8px}.sidebar-user span:last-child{display:grid}.sidebar-user strong{font-size:13px}.sidebar-user small{font-size:11px}.topbar{position:fixed;z-index:25;top:0;left:var(--side);right:0;height:var(--top);padding:0 26px;display:flex;align-items:center;gap:18px;background:rgba(6,10,19,.83);border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(22px)}.mobile-brand{display:none;font-weight:800}.menu-button{display:none;border:0;background:transparent;color:white;font-size:23px}.topbar-search{flex:1;max-width:540px}.topbar-search form,.search-field{display:flex;align-items:center;background:#0d1524;border:1px solid var(--line);border-radius:12px;overflow:hidden}.topbar-search input,.search-field input{width:100%;border:0;outline:0;background:transparent;color:white;padding:11px 13px}.topbar-search button{border:0;background:transparent;color:var(--muted);padding:11px 14px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.top-actions form{margin:0}.quick-start{padding:10px 15px;border-radius:11px;background:linear-gradient(135deg,var(--purple),var(--purple2));font-weight:750}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:#101827;color:white}.avatar{width:44px;height:44px;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;border-radius:50%;background:linear-gradient(145deg,var(--purple),#273449);font-weight:800}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:34px;height:34px;font-size:12px}.content{position:relative;z-index:1;width:min(1440px,100%);margin:0 auto;padding:28px 32px 110px}.panel{background:linear-gradient(180deg,rgba(21,31,50,.96),rgba(13,21,35,.96));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:11px;padding:10px 15px;color:white;font-weight:750;line-height:1.2}.btn.primary{background:linear-gradient(135deg,var(--purple),var(--purple2));box-shadow:0 9px 24px rgba(124,58,237,.24)}.btn.ghost,.btn.secondary{border-color:var(--line);background:#111a2a}.btn.success{background:linear-gradient(135deg,#159a55,var(--green));color:#03150b}.btn.warning{background:linear-gradient(135deg,#eab308,var(--yellow));color:#211700;box-shadow:0 9px 24px rgba(244,201,93,.24)}.btn.large{padding:13px 19px;font-size:15px}.btn.small{padding:7px 10px;font-size:12px}.btn.wide{width:100%}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.eyebrow{display:block;margin-bottom:8px;color:#b998ff;font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.muted{color:var(--muted)}.center{text-align:center}.body-copy{color:#c4cedb;line-height:1.75}.alert{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:13px 16px;border-radius:12px;border:1px solid}.alert span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-weight:900}.alert.success{background:rgba(53,209,125,.11);border-color:rgba(53,209,125,.35);color:#a7f3c9}.alert.error{background:rgba(251,113,133,.11);border-color:rgba(251,113,133,.38);color:#fecdd3}.toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translate(-50%,20px);padding:12px 18px;border-radius:12px;background:#24134a;border:1px solid #6338b7;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}label{display:grid;gap:7px;color:#dbe4ef;font-size:12px;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#09111e;color:white;padding:11px 12px;outline:0}input:focus,select:focus,textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.14)}textarea{resize:vertical}.form-stack{display:grid;gap:15px}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid.four{grid-template-columns:repeat(4,1fr)}.check-label{display:flex;align-items:center;gap:9px;min-height:42px}.check-label input{width:auto}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-title h2{margin:0;font-size:21px}.section-title>a,.section-title>button{color:#b998ff}.section-title.spaced{margin-top:28px}.section-card{padding:20px;margin-bottom:18px}.page-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.page-hero.compact h1{font-size:clamp(2rem,3vw,3rem);margin-bottom:8px}.page-hero p{color:var(--muted);margin:0}.empty{padding:30px;color:var(--muted);text-align:center}.centered-state{min-height:65vh;display:grid;place-items:center;align-content:center;text-align:center}.error-orb{width:110px;height:110px;display:grid;place-items:center;border-radius:50%;background:#20113e;color:#c4a4ff;font-size:32px;font-weight:900;margin-bottom:18px}
/* authentication */.auth-wrap{min-height:calc(100vh - var(--top) - 70px);display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px;max-width:1180px;margin:0 auto}.auth-art{padding:40px}.auth-art h1{font-size:clamp(2.7rem,5vw,5.2rem)}.auth-art p{max-width:620px;color:#adbacb;font-size:18px;line-height:1.7}.auth-logo{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:var(--purple);box-shadow:0 14px 36px rgba(124,58,237,.35);font-size:24px;margin-bottom:26px}.auth-card{padding:32px;max-width:500px;width:100%;justify-self:center}.auth-card h2,.auth-card h1{font-size:29px}.form-links{display:flex;justify-content:space-between;gap:12px;margin-top:18px;color:#b998ff;font-size:12px}.admin-login-link{display:block;margin-top:26px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;text-align:center}.single-auth{min-height:calc(100vh - var(--top) - 60px);display:grid;place-items:center}.auth-preview{margin-top:30px;max-width:500px}.mini-score{padding:22px;border:1px solid var(--line);border-radius:18px;background:#0d1526;transform:rotate(-2deg);box-shadow:var(--shadow)}.mini-score>b{display:block;font-size:26px;margin:8px 0 15px}.mini-score>div{display:grid;grid-template-columns:30px 1fr auto;gap:10px;padding:11px;border-top:1px solid var(--line)}.mini-score .you{background:rgba(124,58,237,.14);border-radius:10px}.mini-score em{font-style:normal;color:var(--muted)}.feature-checks{display:grid;gap:11px;padding:0;list-style:none}.feature-checks li:before{content:"✓";display:inline-grid;place-items:center;width:24px;height:24px;margin-right:10px;border-radius:50%;background:rgba(53,209,125,.14);color:var(--green)}.feature-checks.compact li{font-size:13px}
/* landing */.landing-hero{min-height:680px;display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;padding:70px 2vw}.hero-copy h1{font-size:clamp(3.5rem,7vw,7rem)}.hero-copy h1 span{color:var(--purple2)}.hero-copy>p{max-width:680px;color:#b5c0cf;font-size:19px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.hero-stats{display:flex;gap:40px;margin-top:42px}.hero-stats div{display:grid}.hero-stats b{font-size:27px}.hero-stats span{color:var(--muted);font-size:12px}.hero-ui{padding:30px;background:radial-gradient(circle at 50% 0,rgba(124,58,237,.25),transparent 55%),#0c1424}.phone-score{max-width:390px;margin:auto;border:1px solid #34425d;border-radius:26px;padding:18px;background:#090f1b;box-shadow:0 35px 80px rgba(0,0,0,.45)}.phone-head{display:flex;justify-content:space-between;color:#b998ff;font-size:10px;font-weight:800}.phone-head i{font-style:normal;color:var(--muted)}.phone-game{display:flex;gap:13px;align-items:center;margin:20px 0}.phone-game img{width:68px;height:88px;object-fit:cover;border-radius:8px}.phone-game h3{margin:2px 0;font-size:24px}.phone-game span,.phone-game small{font-size:11px;color:var(--muted)}.live-player{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:13px 10px;border-top:1px solid var(--line)}.live-player.you{background:rgba(124,58,237,.13);border-radius:11px}.live-player em{font-style:normal;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#1d293b}.live-player span{display:grid}.live-player small{font-size:10px}.live-player b{font-size:22px}.phone-score>button{width:100%;margin-top:14px;padding:12px;border:0;border-radius:10px;background:var(--purple);color:white;font-weight:800}.landing-section{padding:70px 0}.section-heading{text-align:center;max-width:700px;margin:0 auto 32px}.section-heading h2{font-size:40px;margin-bottom:8px}.section-heading p{color:var(--muted)}.cover-row{display:flex;gap:18px;overflow:auto;padding:10px 2px 24px;scroll-snap-type:x mandatory}.cover-card{flex:0 0 190px;scroll-snap-align:start}.cover-card img{width:190px;height:255px;object-fit:cover;border-radius:13px;box-shadow:0 16px 35px rgba(0,0,0,.35);transition:.25s}.cover-card:hover img{transform:translateY(-8px) rotate(1deg)}.cover-card span{display:grid;margin-top:10px}.cover-card small{font-size:11px}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px 0 80px}.landing-features article{padding:25px}.feature-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;background:rgba(124,58,237,.16);color:#c4a4ff;font-size:22px}.landing-features h3{margin:18px 0 8px}.landing-features p{color:var(--muted)}
/* dashboard */.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:10px 0 24px}.welcome-row h1{font-size:clamp(2.2rem,4vw,3.8rem)}.welcome-row p{color:var(--muted)}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:26px}.stat-tile{padding:18px;border-radius:15px;background:linear-gradient(160deg,#172238,#0e1625);border:1px solid var(--line)}.stat-tile span,.stat-tile small{display:block;color:var(--muted);font-size:11px}.stat-tile b{display:block;font-size:29px;margin:5px 0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,.8fr);gap:26px}.game-shelf{display:flex;gap:14px;overflow:auto;padding:5px 2px 18px}.game-box{flex:0 0 152px}.game-box img{width:152px;height:205px;object-fit:cover;border-radius:12px;background:#111827;box-shadow:0 12px 28px rgba(0,0,0,.28);transition:.2s}.game-box:hover img{transform:translateY(-5px)}.game-box div{display:grid;margin-top:9px}.game-box b{font-size:13px}.game-box span{color:var(--muted);font-size:10px}.history-stack,.feed-stack{display:grid;gap:10px}.scroll-window{max-height:640px;overflow-y:auto;padding-right:4px;scrollbar-width:thin}.history-card{display:grid;grid-template-columns:75px 1fr auto;align-items:center;gap:13px;padding:11px}.history-card img{width:75px;height:95px;object-fit:cover;border-radius:9px}.history-card h3{margin:3px 0;font-size:16px}.history-card span{color:var(--muted);font-size:11px}.history-card>strong{font-size:25px;color:#c4a4ff}.feed-card{padding:15px}.feed-author{display:flex;gap:10px;align-items:center}.feed-author div{display:grid}.feed-game{display:grid;grid-template-columns:90px 1fr;gap:13px;margin-top:14px;padding:10px;border-radius:13px;background:#0b1322}.feed-game img{width:90px;height:115px;object-fit:cover;border-radius:8px}.feed-game h3{margin:4px 0}.feed-game p{margin:0;color:#b7c1ce;font-size:12px}.feed-game span{color:#b998ff;font-size:9px;font-weight:800}.feed-meta{display:flex;justify-content:space-between;margin-top:12px;color:var(--muted);font-size:11px}
/* game catalogue */.filter-bar{display:flex;gap:10px;align-items:center;padding:12px;margin-bottom:22px}.filter-bar .search-field{flex:1}.filter-bar .search-field span{padding-left:12px;color:var(--muted)}.filter-bar select{width:auto;min-width:160px}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.catalog-card{overflow:hidden;border-radius:16px;background:#101827;border:1px solid var(--line);transition:.2s}.catalog-card:hover{transform:translateY(-5px);border-color:#6540ad;box-shadow:var(--shadow)}.catalog-cover{position:relative;aspect-ratio:3/4;background:#0a1020;overflow:hidden}.catalog-cover img{width:100%;height:100%;object-fit:cover}.cover-badge{position:absolute;top:10px;left:10px;padding:5px 8px;border-radius:99px;background:var(--purple);font-size:9px;font-weight:800;text-transform:uppercase}.catalog-info{padding:14px}.catalog-info h3{margin-bottom:6px}.catalog-info p{height:39px;overflow:hidden;color:var(--muted);font-size:12px}.catalog-info>div{display:flex;flex-wrap:wrap;gap:10px;color:#b8c3d2;font-size:10px}.modal{width:min(560px,calc(100% - 24px));border:0;padding:0;background:transparent;color:white}.modal::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}.modal-card{position:relative;display:grid;gap:14px;padding:26px;border:1px solid var(--line);border-radius:18px;background:#111a2a;box-shadow:0 28px 90px rgba(0,0,0,.6)}.modal-close{position:absolute;right:13px;top:13px;width:34px;height:34px;border:0;border-radius:50%;background:#263248;color:white;font-size:20px}.game-detail-hero{display:grid;grid-template-columns:230px 1fr 180px;gap:25px;padding:24px;margin-bottom:22px;background:radial-gradient(circle at 20% 0,rgba(124,58,237,.23),transparent 45%),linear-gradient(145deg,#172339,#0d1524)}.detail-cover img{width:230px;height:305px;object-fit:cover;border-radius:14px;box-shadow:0 20px 40px rgba(0,0,0,.35)}.detail-copy{align-self:center}.detail-copy h1{font-size:clamp(2.6rem,5vw,5rem)}.detail-copy>p{max-width:800px;color:#bac5d3;font-size:16px}.game-pills{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.game-pills span,.mode-pill{padding:7px 10px;border-radius:99px;background:#0c1423;border:1px solid var(--line);color:#c7d1de;font-size:11px}.game-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);gap:20px}.credit-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.credit-row span{display:grid;padding:13px;border-radius:11px;background:#0b1321}.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.resource-card{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:13px;border-radius:12px;background:#0b1321;border:1px solid var(--line)}.resource-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:rgba(124,58,237,.15);color:#c4a4ff}.resource-card div{display:grid}.resource-card small{text-transform:capitalize}.resource-card em{font-style:normal;color:var(--muted)}.house-rule{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.house-rule>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(53,209,125,.12);color:var(--green)}.house-rule h3{margin:0 0 4px}.house-rule p{color:#b7c1ce}.side-stats{display:grid;gap:10px}.side-stats div{padding:14px;border-radius:12px;background:#0b1321}.side-stats b{display:block;font-size:25px}.side-stats span{color:var(--muted);font-size:11px}.mini-history{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.mini-history span{color:#b998ff;font-size:11px}.mini-history div{display:grid}.mini-history em{font-style:normal;color:var(--muted)}
/* scorekeeping */.setup-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.7fr);gap:20px}.setup-main,.setup-options{padding:22px}.setup-options{align-self:start;position:sticky;top:94px;display:grid;gap:15px}.step-head{display:flex;gap:13px;align-items:center;margin-bottom:18px}.step-head>span{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:var(--purple);font-weight:900}.step-head h2{margin:0}.step-head p{margin:2px 0 0;color:var(--muted);font-size:12px}.top-space{margin-top:28px}.game-picker-search{margin-bottom:14px}.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;max-height:440px;overflow-y:auto}.picker-game{position:relative;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#0a1120;color:white;text-align:left}.picker-game img{width:100%;aspect-ratio:3/4;object-fit:cover}.picker-game span{display:block;padding:8px;font-size:11px;font-weight:700}.picker-game.selected{border-color:var(--purple);box-shadow:0 0 0 3px rgba(124,58,237,.2)}.picker-game.selected:after{content:"✓";position:absolute;top:7px;right:7px;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--purple)}.player-builder{display:grid;gap:8px;margin-bottom:10px}.player-row{display:grid;grid-template-columns:24px 1fr 1fr 34px;gap:7px;align-items:center}.player-row .drag{color:#67758c}.player-row button{height:38px;border:0;border-radius:9px;background:#251725;color:#fb7185}.friend-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.friend-chips small{width:100%}.friend-chips button{border:1px solid var(--line);border-radius:99px;background:#111b2b;color:#ccd5e2;padding:7px 10px;font-size:11px}.offline-note,.queue-card{display:flex;gap:11px;align-items:center;padding:13px;border:1px solid rgba(45,212,191,.25);border-radius:12px;background:rgba(45,212,191,.07)}.offline-note>span,.queue-card>span{font-size:22px;color:var(--cyan)}.offline-note div,.queue-card div{display:grid}.offline-note small,.queue-card small{font-size:10px}.scorekeeper-shell{max-width:1250px;margin:auto}.scorekeeper-head{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;margin-bottom:16px}.score-game{display:flex;gap:14px;align-items:center}.score-game img{width:64px;height:82px;object-fit:cover;border-radius:8px}.score-game h1{font-size:25px;margin:0}.score-game p{margin:3px 0 0;color:var(--muted);font-size:12px}.score-status{display:flex;align-items:center;gap:7px}.online-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.online-dot.offline{background:var(--red);box-shadow:0 0 12px var(--red)}.session-clock{margin-left:10px;padding:8px 10px;border-radius:9px;background:#0b1321}.live-score-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}.score-panel,.round-history,.finish-card,.score-tools,.queue-card{padding:18px;margin-bottom:15px}.live-score-list{display:grid;gap:9px}.score-player{display:grid;grid-template-columns:36px 44px minmax(100px,1fr) 80px minmax(280px,1.2fr);align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#0b1321}.rank-circle{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#1d293b;font-weight:800}.score-player:first-child .rank-circle{background:rgba(244,201,93,.17);color:var(--yellow)}.player-name{display:grid}.player-name small{font-size:10px}.current-total{font-size:27px;text-align:right;color:#d8c6ff}.round-controls{display:grid;grid-template-columns:44px 38px 1fr 38px 44px;gap:5px}.round-controls button{border:1px solid var(--line);border-radius:8px;background:#162237;color:white}.round-controls input{text-align:center;padding:9px 4px}.round-note{margin-top:14px}.score-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:13px}.round-log{display:grid;grid-template-columns:90px repeat(auto-fit,minmax(110px,1fr));gap:9px;padding:11px 0;border-top:1px solid var(--line)}.round-log span{display:flex;justify-content:space-between;color:#b6c1ce;font-size:12px}.round-log strong{color:#c4a4ff}.finish-card{text-align:center;background:radial-gradient(circle at 50% 0,rgba(53,209,125,.13),transparent 60%),#101827}.finish-card p{color:var(--muted);font-size:12px}.score-tools{display:grid;gap:8px}.score-tools button,.score-tools a{border:0;border-radius:10px;background:#0b1321;color:#cbd5e1;padding:11px;text-align:left}.queue-card{padding:13px}.score-hidden .current-total{filter:blur(12px)}
/* history */.history-filter{max-width:850px}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:15px}.history-poster{display:grid;grid-template-columns:120px 1fr;overflow:hidden;min-height:170px}.history-poster>img{width:120px;height:100%;object-fit:cover}.history-poster-copy{padding:15px}.history-poster-copy h2{margin:4px 0}.history-poster-copy p{color:var(--muted);font-size:11px}.history-poster-copy>div{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.placement-chip{padding:6px 9px;border-radius:99px;background:rgba(124,58,237,.15);color:#c4a4ff;font-size:11px}.history-poster-copy strong{font-size:20px}.history-hero{display:grid;grid-template-columns:160px 1fr 190px;gap:22px;align-items:center;padding:20px;margin-bottom:18px;background:radial-gradient(circle at 20% 0,rgba(124,58,237,.22),transparent 48%),#101827}.history-cover{width:160px;height:205px;object-fit:cover;border-radius:12px}.history-title h1{font-size:44px;margin-bottom:4px}.history-title p{color:var(--muted)}.winner-card{display:grid;place-items:center;padding:19px;border-radius:15px;background:rgba(244,201,93,.08);border:1px solid rgba(244,201,93,.25);text-align:center}.winner-card>span{font-size:35px}.winner-card b{margin-top:7px}.winner-card strong{font-size:33px;color:var(--yellow)}.history-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.55fr);gap:18px}.standings-table{display:grid;gap:8px}.standing-row{display:grid;grid-template-columns:40px 44px 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:12px;background:#0b1321;border:1px solid transparent}.standing-row.you{border-color:#6942b4;background:rgba(124,58,237,.1)}.standing-row>strong{font-size:25px}.place{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#1f2b3d}.place-1{background:rgba(244,201,93,.16);color:var(--yellow)}.place-2{background:rgba(203,213,225,.13);color:#e2e8f0}.place-3{background:rgba(194,111,61,.15);color:#eaa273}.standing-row div{display:grid}.score-chart{width:100%;min-height:300px}.score-chart canvas,.dual-chart canvas{width:100%;height:auto}.round-score-grid{display:flex;gap:10px;overflow:auto;margin-top:10px}.round-score-grid>div{flex:0 0 160px;padding:11px;border-radius:11px;background:#0b1321}.round-score-grid b{display:block;margin-bottom:6px}.round-score-grid span{display:flex;justify-content:space-between;font-size:11px;color:#bdc7d4}.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.photo-gallery figure{margin:0}.photo-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:11px}.photo-gallery figcaption{padding-top:5px;color:var(--muted);font-size:10px}.comment-list article{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.comment-list article div{display:grid}.comment-list article p{margin:4px 0 0;color:#c1cbd8}.comment-form{display:flex;gap:8px;margin-top:12px}.mini-player{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.mini-player div{display:grid}.memory-stat{text-align:center;padding:23px}.memory-stat b{display:block;font-size:45px;color:#c4a4ff}.memory-stat span{font-weight:750}.memory-stat p{color:var(--muted);font-size:11px}.shared-banner{display:flex;align-items:center;gap:13px;padding:14px 18px;margin-bottom:15px;border-radius:14px;background:#221243;border:1px solid #58329c}.shared-banner>span{font-size:24px}.shared-banner>div{flex:1}.shared-banner p{margin:2px 0 0;color:#d4c5f7;font-size:11px}.signup-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px;margin-top:20px}
/* social/profile/forum */.feed-page{display:grid;grid-template-columns:minmax(0,780px) 310px;gap:20px;margin:auto;justify-content:center}.feed-column{display:grid;gap:14px}.social-post{padding:16px}.social-post>header{display:flex;align-items:center;gap:10px}.social-post header div{display:grid}.post-menu{margin-left:auto;border:0;background:transparent;color:var(--muted)}.social-game-card{display:grid;grid-template-columns:180px 1fr;gap:18px;margin-top:15px;overflow:hidden;border-radius:14px;background:#0b1321}.social-game-card img{width:180px;height:230px;object-fit:cover}.social-game-card div{align-self:center;padding-right:18px}.social-game-card span{color:#b998ff;font-size:10px;font-weight:800}.social-game-card h2{margin:6px 0}.social-game-card p{color:#c0cad6}.social-post footer{display:flex;gap:15px;padding-top:12px}.social-post footer button,.social-post footer a{border:0;background:transparent;color:#aeb8c6;font-size:12px}.reaction.active{color:var(--red)}.sticky-card{position:sticky;top:95px}.two-column{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.65fr);gap:18px}.friend-list{display:grid;gap:8px}.friend-list article{display:grid;grid-template-columns:44px 1fr auto auto;gap:10px;align-items:center;padding:11px;border-radius:12px;background:#0b1321}.friend-list article div{display:grid}.status{display:inline-flex;width:max-content;padding:4px 8px;border-radius:99px;background:#1d293b;color:#c5ceda;font-size:9px;font-weight:800;text-transform:uppercase}.status-active,.status-published,.status-approved,.status-accepted{background:rgba(53,209,125,.13);color:#7ee2a8}.status-pending,.status-open,.status-reviewing{background:rgba(244,201,93,.13);color:#f4d67a}.status-suspended,.status-hidden,.status-rejected,.status-removed,.status-deleted{background:rgba(251,113,133,.13);color:#fda4af}.data-list>div{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}.data-list span{display:grid}.profile-hero{display:flex;align-items:center;gap:22px;padding:26px;margin-bottom:15px}.profile-avatar{width:120px;height:120px;display:grid;place-items:center;overflow:hidden;border-radius:30px;background:linear-gradient(145deg,var(--purple),#2a3650);font-size:45px;font-weight:900}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-hero h1{margin:0;font-size:43px}.profile-hero p{color:var(--muted)}.profile-grid{display:grid;grid-template-columns:minmax(0,1.4fr) 330px;gap:18px}.compact-shelf{margin-bottom:20px}.profile-history{grid-template-columns:48px 1fr auto}.profile-history img{width:42px;height:55px;object-fit:cover;border-radius:6px}.mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.mini-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.forum-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.forum-categories{display:grid;gap:10px}.forum-category{display:grid;grid-template-columns:50px 1fr auto;gap:14px;align-items:center;padding:17px}.forum-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:rgba(124,58,237,.14);color:#c4a4ff;font-size:22px}.forum-category h2{margin:0 0 3px;font-size:18px}.forum-category p{margin:0;color:var(--muted);font-size:12px}.forum-category>strong{display:grid;text-align:center;font-size:22px}.forum-category>strong small{font-size:9px}.latest-topic{display:grid;padding:11px 0;border-top:1px solid var(--line)}.topic-list>a{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:15px;border-bottom:1px solid var(--line)}.topic-list h3{margin:0}.topic-list p{margin:3px 0 0;color:var(--muted);font-size:11px}.topic-list strong{display:grid;text-align:center}.editor-form{display:grid;gap:16px;max-width:900px;padding:24px}.forum-thread{display:grid;gap:10px}.thread-post{display:grid;grid-template-columns:150px 1fr;min-height:140px}.thread-post aside{display:grid;align-content:start;justify-items:center;gap:6px;padding:18px;border-right:1px solid var(--line)}.thread-post>div{padding:20px;color:#c4cedb}.reply-form{padding:20px}
/* admin */.admin-body{background:#080d16}.admin-name{display:grid;text-align:right;font-size:12px}.admin-name small{text-transform:capitalize}.admin-site-link{margin-top:auto;padding:12px;color:#b998ff;font-size:12px}.admin-content{max-width:1600px}.admin-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.admin-head h1{font-size:38px;margin-bottom:7px}.admin-head p{margin:0;color:var(--muted)}.admin-actions{display:flex;gap:9px}.admin-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.admin-kpis article{padding:17px;border:1px solid var(--line);border-radius:14px;background:#111a2a}.admin-kpis span,.admin-kpis small{display:block;color:var(--muted);font-size:10px}.admin-kpis b{display:block;font-size:28px;margin:5px 0}.admin-kpis .warning{border-color:rgba(244,201,93,.3)}.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) 340px;gap:18px}.dual-chart{min-height:330px}.audit-list>div{display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.audit-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#0b1321}.audit-list div div{display:grid}.audit-list time{color:var(--muted);font-size:10px}.popular-admin-games{display:grid;gap:9px}.popular-admin-games>div{display:grid;grid-template-columns:45px 1fr;gap:10px;align-items:center}.popular-admin-games img{width:45px;height:60px;object-fit:cover;border-radius:6px}.popular-admin-games span{display:grid}.health-list>div{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);font-size:12px}.ok{color:var(--green)}.bad{color:var(--red)}.data-table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:780px}.data-table th,.data-table td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;font-size:11px}.data-table th{color:#8f9db1;text-transform:uppercase;letter-spacing:.08em}.data-table td small{display:block}.table-user{display:flex;gap:9px;align-items:center}.table-user>span:last-child{display:grid}.review-banner{display:flex;align-items:center;gap:13px;padding:15px;margin-bottom:17px;border-color:rgba(244,201,93,.25)}.review-banner>span{font-size:25px;color:var(--yellow)}.review-banner>div{flex:1}.review-banner p{margin:1px 0;color:var(--muted);font-size:11px}.admin-game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:13px}.admin-game-card{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:11px}.admin-game-card>img{width:100px;height:134px;object-fit:cover;border-radius:9px}.admin-game-card h3{margin:8px 0 2px}.admin-game-card p{margin:0;color:var(--muted);font-size:11px}.admin-game-card small{display:block;margin:5px 0 11px}.admin-editor>.section-card{display:grid;grid-template-columns:260px 1fr;gap:22px}.editor-cover img{width:260px;height:350px;object-fit:cover;border-radius:13px}.upload-cover{margin-top:10px;padding:10px;border:1px dashed #4b5a72;border-radius:10px;text-align:center}.editor-fields{display:grid;gap:13px}.admin-resources{margin-top:18px}.resource-admin-list>div{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.resource-admin-list div div{display:grid}.danger-link{border:0;background:transparent;color:var(--red)}.import-grid{display:grid;grid-template-columns:minmax(0,1.3fr) 330px;gap:18px;margin-bottom:18px}.import-card{display:grid;gap:15px}.import-tabs,.moderation-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);padding-bottom:10px}.import-tabs button,.moderation-tabs button{border:0;border-radius:9px;background:transparent;color:#9ca9ba;padding:9px 12px}.import-tabs button.active,.moderation-tabs button.active{background:#25134a;color:white}.code-sample{overflow:auto;padding:12px;border-radius:10px;background:#070d17;color:#9ee7d8;font-size:10px}.moderation-tabs{margin-bottom:12px}.moderation-panel{padding:12px}.submission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.submission-card{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:11px;border-radius:12px;background:#0b1321}.submission-photo{width:110px;height:140px;display:grid;place-items:center;overflow:hidden;background:#131e30;color:var(--muted)}.submission-photo img{width:100%;height:100%;object-fit:cover}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-note{padding:12px;border-radius:10px;background:rgba(244,201,93,.08);color:#f1d98b;font-size:11px}.settings-save{grid-column:1/-1;justify-self:end}
.mobile-nav{display:none}
@media(max-width:1120px){:root{--side:210px}.content{padding-left:22px;padding-right:22px}.dashboard-grid,.admin-dashboard-grid{grid-template-columns:1fr}.game-detail-hero{grid-template-columns:180px 1fr}.game-detail-hero:after{display:none}.detail-cover img{width:180px;height:240px}.live-score-grid{grid-template-columns:1fr}.live-score-grid>aside{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.score-player{grid-template-columns:32px 40px 1fr 65px}.round-controls{grid-column:1/-1}.admin-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){:root{--top:62px}.sidebar{transform:translateX(-102%);transition:.25s;width:260px}.sidebar.open{transform:translateX(0);box-shadow:40px 0 80px rgba(0,0,0,.6)}.main-shell{margin-left:0;padding-top:var(--top)}.topbar{left:0;height:var(--top);padding:0 13px}.menu-button,.mobile-brand{display:block}.mobile-brand{margin-right:auto}.topbar-search{display:none}.quick-start{display:none}.content{padding:17px 12px 96px}.landing-hero,.auth-wrap{grid-template-columns:1fr;padding:30px 0;gap:20px}.auth-art{padding:20px 6px}.auth-wrap .auth-art{display:none}.single-auth{min-height:75vh}.landing-hero{min-height:auto}.hero-ui{display:none}.hero-copy h1{font-size:52px}.hero-stats{gap:20px}.landing-features{grid-template-columns:1fr}.welcome-row,.page-hero,.admin-head{align-items:flex-start;flex-direction:column}.stat-strip{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.game-detail-grid,.setup-layout,.history-detail-grid,.feed-page,.two-column,.profile-grid,.forum-layout,.import-grid,.settings-grid{grid-template-columns:1fr}.setup-options,.sticky-card{position:static}.game-detail-hero,.history-hero{grid-template-columns:115px 1fr;padding:13px}.detail-cover img,.history-cover{width:115px;height:155px}.detail-copy h1,.history-title h1{font-size:29px}.game-detail-hero .hero-actions,.history-hero .hero-actions{grid-column:1/-1}.winner-card{grid-column:1/-1;grid-template-columns:auto 1fr auto auto;gap:10px}.resource-grid{grid-template-columns:1fr}.credit-row{grid-template-columns:1fr}.live-score-grid>aside{display:block}.score-player{grid-template-columns:30px 38px 1fr 60px}.photo-gallery{grid-template-columns:repeat(2,1fr)}.social-game-card{grid-template-columns:110px 1fr}.social-game-card img{width:110px;height:150px}.profile-hero{align-items:flex-start}.profile-avatar{width:90px;height:90px}.form-grid.three,.form-grid.four{grid-template-columns:repeat(2,1fr)}.admin-kpis{grid-template-columns:repeat(2,1fr)}.admin-editor>.section-card{grid-template-columns:1fr}.editor-cover img{width:180px;height:245px}.settings-save{grid-column:auto;width:100%}.mobile-nav{position:fixed;z-index:24;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:7px 4px calc(7px + env(safe-area-inset-bottom));background:rgba(6,10,19,.94);border-top:1px solid var(--line);backdrop-filter:blur(18px)}.mobile-nav a{display:grid;justify-items:center;gap:2px;color:#8e9bac;font-size:9px}.mobile-nav a span{font-size:19px}.mobile-nav a.active{color:#c4a4ff}.mobile-nav .score-fab span{width:43px;height:43px;margin-top:-20px;display:grid;place-items:center;border-radius:50%;background:var(--purple);color:white;font-size:26px;box-shadow:0 7px 25px rgba(124,58,237,.45)}}
@media(max-width:560px){h1{font-size:34px}.form-grid.two,.form-grid.three,.form-grid.four{grid-template-columns:1fr}.filter-bar{display:grid;grid-template-columns:1fr}.filter-bar select{width:100%}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.catalog-info{padding:10px}.catalog-info h3{font-size:14px}.catalog-info p{display:none}.history-grid{grid-template-columns:1fr}.history-poster{grid-template-columns:95px 1fr}.history-poster>img{width:95px}.picker-grid{grid-template-columns:repeat(3,1fr)}.player-row{grid-template-columns:20px 1fr 32px}.player-row input[type=email]{grid-column:2/3}.scorekeeper-head{align-items:flex-start}.score-status{display:grid;justify-items:end}.score-player{grid-template-columns:28px 36px 1fr 55px;gap:6px}.round-controls{grid-template-columns:40px 35px 1fr 35px 40px}.round-controls button{padding:6px 2px}.score-actions{display:grid;grid-template-columns:1fr}.comment-form{display:grid}.history-hero{grid-template-columns:90px 1fr}.history-cover{width:90px;height:120px}.winner-card{display:none}.photo-gallery{grid-template-columns:1fr 1fr}.social-game-card{grid-template-columns:85px 1fr}.social-game-card img{width:85px;height:118px}.social-game-card h2{font-size:17px}.social-game-card p{font-size:11px}.thread-post{grid-template-columns:1fr}.thread-post aside{display:flex;justify-content:flex-start;border-right:0;border-bottom:1px solid var(--line);padding:10px}.admin-kpis{grid-template-columns:1fr 1fr}.admin-game-grid{grid-template-columns:1fr}.admin-actions{width:100%}.admin-actions .btn{flex:1}.signup-cta{align-items:flex-start;flex-direction:column}}

.notification-button{position:relative;width:42px;height:42px;border:1px solid var(--border);border-radius:12px;display:grid;place-items:center;background:var(--panel);font-size:20px}.notification-button b{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#fb7185;color:#fff;font-size:10px;display:grid;place-items:center}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}.template-card{padding:16px;display:grid;grid-template-columns:74px 1fr auto;gap:14px;align-items:start}.template-game{width:74px;height:96px;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#7c3aed,#18213a);display:grid;place-items:center;font-size:28px}.template-game img{width:100%;height:100%;object-fit:cover}.template-card h2{margin:4px 0}.template-card p{color:var(--muted);font-size:13px}.wide-modal{max-width:720px}.leaderboard-filters{padding:16px;display:flex;align-items:end;gap:12px;margin-bottom:16px}.leaderboard-filters label{flex:1}.leaderboard-card{overflow:hidden}.leaderboard-head,.leaderboard-row{display:grid;grid-template-columns:72px minmax(220px,1fr) repeat(4,100px);gap:10px;align-items:center;padding:13px 18px}.leaderboard-head{font-size:11px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}.leaderboard-row{border-bottom:1px solid var(--border)}.leaderboard-row:hover,.leaderboard-row.you{background:rgba(124,58,237,.12)}.leader-player{display:grid;grid-template-columns:42px 1fr;align-items:center}.leader-player .avatar{grid-row:1/3}.leader-player small{grid-column:2;color:var(--muted)}.your-rank{margin-top:14px;padding:18px;display:flex;align-items:center;gap:18px}.your-rank b{font-size:28px;color:var(--purple-light)}.notification-list{display:grid;gap:10px;max-width:880px}.notification-item{display:grid;grid-template-columns:52px 1fr 24px;gap:14px;align-items:center;padding:16px}.notification-item.unread{border-color:rgba(169,112,255,.7);background:linear-gradient(90deg,rgba(124,58,237,.16),var(--panel))}.notification-icon{width:46px;height:46px;border-radius:14px;background:rgba(124,58,237,.18);display:grid;place-items:center;font-size:21px}.notification-item h3{margin:0 0 4px}.notification-item p{margin:0;color:var(--muted)}.notification-item small{color:var(--muted)}.shared-banner{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:-6px 0 18px;padding:13px 18px;border:1px solid rgba(124,58,237,.4);border-radius:14px;background:rgba(124,58,237,.12)}.shared-banner p{margin:0}.signup-card{text-align:center;padding:22px}.signup-card>span{font-size:35px;color:var(--purple-light)}.signup-card .btn{margin-top:9px}@media(max-width:800px){.leaderboard-card{overflow-x:auto}.leaderboard-head,.leaderboard-row{min-width:720px}.leaderboard-filters{align-items:stretch;flex-direction:column}.template-grid{grid-template-columns:1fr}.notification-button{display:none}}


/* v2.7 scorecard selection and avatar consistency */
.avatar-xs{width:24px;height:24px;font-size:9px}.game-choice-panel{padding:20px}.direct-picker-grid{max-height:none;grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.picker-game-link{display:block;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.picker-game-link:hover,.picker-game-link:focus-visible{transform:translateY(-4px);border-color:var(--purple);box-shadow:0 14px 30px rgba(0,0,0,.34),0 0 0 3px rgba(124,58,237,.18);outline:0}.picker-game-link small{display:block;padding:0 8px 9px;color:var(--muted);font-size:10px}.selected-scorecard-hero{display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:18px;padding:17px;margin-bottom:18px;scroll-margin-top:90px}.selected-scorecard-hero>img{width:105px;height:138px;object-fit:cover;border-radius:11px}.selected-scorecard-hero h1{font-size:clamp(2rem,3vw,3rem);margin:0 0 7px}.selected-scorecard-hero p{margin:0 0 11px;color:var(--muted)}.friend-chips button{display:inline-flex;align-items:center;gap:7px}.friend-chips button .avatar{pointer-events:none}.friend-chips button>span:last-child{white-space:nowrap}@media(max-width:700px){.selected-scorecard-hero{grid-template-columns:82px 1fr}.selected-scorecard-hero>img{width:82px;height:108px}.selected-scorecard-hero>.btn{grid-column:1/-1}.direct-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v2.9 SMTP, personal library, active games and scoreboard controls */
.welcome-actions{display:flex;gap:10px;flex-wrap:wrap}.active-games-section{margin:4px 0 24px}.live-eyebrow{color:var(--green)}.active-count{padding:7px 11px;border-radius:99px;background:rgba(53,209,125,.12);color:var(--green);font-size:12px;font-weight:800}.active-game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}.active-game-card{display:grid;grid-template-columns:78px 1fr auto;gap:14px;align-items:center;padding:13px;border-color:rgba(53,209,125,.35);background:linear-gradient(145deg,rgba(53,209,125,.08),rgba(16,24,39,.97));transition:transform .2s,border-color .2s}.active-game-card:hover{transform:translateY(-2px);border-color:var(--green)}.active-game-card>img{width:78px;height:102px;border-radius:9px;object-fit:cover}.active-game-card>strong{color:var(--green);font-size:12px}.active-game-copy h3{margin:5px 0 2px}.active-game-copy p{margin:0 0 8px;color:var(--muted);font-size:12px}.active-game-copy>div{display:flex;gap:9px;flex-wrap:wrap;color:#aeb8c5;font-size:10px}.playing-badge{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.playing-badge i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(53,209,125,.12);animation:playingPulse 1.6s infinite}.playing-badge.small{font-size:9px}.playing-badge.small i{width:6px;height:6px}@keyframes playingPulse{50%{box-shadow:0 0 0 8px rgba(53,209,125,0)}}.history-active{border-color:rgba(53,209,125,.35)}
.library-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 15px}.library-summary a{padding:15px;display:grid;gap:3px;text-align:center}.library-summary b{font-size:25px;color:#d8c6ff}.library-summary span{font-size:11px;color:var(--muted)}.filter-check{display:flex!important;align-items:center;gap:7px;white-space:nowrap}.filter-check input{width:auto}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px}.library-card{overflow:hidden}.library-cover{display:block;position:relative;background:#080f1c}.library-cover img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}.collection-badge,.favorite-badge{position:absolute;top:10px;padding:6px 8px;border-radius:99px;background:rgba(6,10,18,.9);font-size:10px;font-weight:800;text-transform:uppercase}.collection-badge{left:10px}.favorite-badge{right:10px;color:var(--yellow);font-size:15px}.library-card-body{padding:13px;display:grid;gap:12px}.library-card-body h3{margin:0}.library-card-body p{margin:3px 0;color:var(--muted);font-size:11px;min-height:30px}.library-card-body small{font-size:10px}.library-edit{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px}.library-edit select{padding:8px}.library-edit label{display:flex;align-items:center;gap:5px;font-size:10px}.library-edit label input{width:auto}.library-actions{display:flex;align-items:center;gap:6px}.library-actions form{margin:0}.icon-action{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#101a29;color:#d8c6ff}.icon-action.danger{color:#fb7185}.inline-form{display:inline-flex;margin:0}.smtp-test-card{margin-top:18px}.inline-test-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end;max-width:720px}.inline-test-form label{margin:0}
.score-hidden .current-total{filter:none;color:transparent;position:relative;user-select:none}.score-hidden .current-total:after{content:"•••";position:absolute;inset:0;color:#8c98aa;text-align:right;letter-spacing:4px}.scorekeeper-shell:fullscreen,.scorekeeper-shell:-webkit-full-screen,.scorekeeper-shell.fullscreen-fallback{max-width:none;width:100%;min-height:100vh;margin:0;padding:18px;background:radial-gradient(circle at top,#16213a,#060a13 58%);overflow:auto}.scorekeeper-shell:fullscreen .live-score-grid,.scorekeeper-shell:-webkit-full-screen .live-score-grid,.scorekeeper-shell.fullscreen-fallback .live-score-grid{grid-template-columns:minmax(0,1fr) 310px}.scorekeeper-shell.fullscreen-fallback{position:fixed;inset:0;z-index:9999}.scoreboard-no-scroll{overflow:hidden}.scorekeeper-shell:fullscreen .scorekeeper-head,.scorekeeper-shell:-webkit-full-screen .scorekeeper-head,.scorekeeper-shell.fullscreen-fallback .scorekeeper-head{position:sticky;top:0;z-index:3;box-shadow:0 12px 30px rgba(0,0,0,.3)}
@media(max-width:850px){.library-summary{grid-template-columns:repeat(3,1fr)}.inline-test-form{grid-template-columns:1fr}.active-game-grid{grid-template-columns:1fr}.scorekeeper-shell:fullscreen .live-score-grid,.scorekeeper-shell:-webkit-full-screen .live-score-grid,.scorekeeper-shell.fullscreen-fallback .live-score-grid{grid-template-columns:1fr}}
@media(max-width:560px){.welcome-actions{display:grid;width:100%}.library-summary{grid-template-columns:repeat(2,1fr)}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.library-card-body{padding:9px}.library-edit{grid-template-columns:1fr}.active-game-card{grid-template-columns:65px 1fr}.active-game-card>img{width:65px;height:88px}.active-game-card>strong{grid-column:2}.scorekeeper-shell:fullscreen,.scorekeeper-shell:-webkit-full-screen,.scorekeeper-shell.fullscreen-fallback{padding:8px}.scorekeeper-shell:fullscreen .scorekeeper-head,.scorekeeper-shell:-webkit-full-screen .scorekeeper-head,.scorekeeper-shell.fullscreen-fallback .scorekeeper-head{position:relative}}


/* v3.0 mobile layout repair and cache-safe responsive UI */
html,body{max-width:100%;overflow-x:hidden}.content>*{min-width:0}.active-game-copy,.history-card>div,.game-box div,.library-card-body{min-width:0}.active-game-copy h3,.history-card h3,.game-box b,.library-card-body h3{overflow-wrap:anywhere}
@media(max-width:860px){
  .topbar{padding-left:max(13px,env(safe-area-inset-left));padding-right:max(13px,env(safe-area-inset-right))}.top-actions{gap:7px}.top-actions>.avatar{width:40px;height:40px}.icon-button{width:40px;height:40px}.mobile-brand{font-size:18px;white-space:nowrap}.content{width:100%;max-width:100%;padding:20px 14px calc(118px + env(safe-area-inset-bottom))}.welcome-row{margin-top:4px;width:100%}.welcome-row>div:first-child{width:100%}.welcome-row h1{max-width:620px;margin-bottom:12px}.welcome-actions{width:100%}.welcome-actions .btn{flex:1;min-height:48px}.active-games-section{width:100%}.active-game-grid{grid-template-columns:1fr}.active-game-card{width:100%;grid-template-columns:76px minmax(0,1fr) auto;gap:12px;padding:12px;overflow:hidden}.active-game-card>img{width:76px;height:101px;object-fit:cover;border-radius:10px}.active-game-copy h3{font-size:17px;margin:5px 0 4px}.active-game-copy p{line-height:1.35}.active-game-copy>div{gap:5px 10px}.active-game-card>strong{align-self:center;padding:8px 10px;border-radius:10px;background:rgba(53,209,125,.12);white-space:nowrap}.dashboard-grid{gap:22px}.game-shelf{scroll-snap-type:x proximity;margin-left:-2px;margin-right:-2px}.game-box{flex-basis:138px;scroll-snap-align:start}.game-box img{width:138px;height:184px}.scroll-window{max-height:none;overflow:visible;padding-right:0}.mobile-nav{min-height:68px}.mobile-nav a{min-width:0}.mobile-nav .score-fab span{width:48px;height:48px}.page-hero{width:100%}.page-hero .btn{min-height:48px}.filter-bar{width:100%}.filter-bar>*{min-width:0}.library-summary{display:flex;overflow-x:auto;gap:9px;padding:1px 1px 8px;scroll-snap-type:x proximity}.library-summary a{flex:0 0 112px;min-height:78px;scroll-snap-align:start;padding:12px}.library-summary b{font-size:23px}.library-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.library-card{min-width:0}.library-cover img{max-height:430px}.library-actions{flex-wrap:wrap}.library-edit{grid-template-columns:minmax(0,1fr) auto auto}.stat-strip{width:100%}.stat-tile{min-width:0}.section-title{align-items:flex-end}.section-title h2{font-size:20px}.history-card{min-width:0}.history-card>strong{white-space:nowrap}
}
@media(max-width:560px){
  h1{font-size:clamp(31px,9vw,40px)}.content{padding-left:12px;padding-right:12px}.topbar{gap:8px}.menu-button{padding:6px}.mobile-brand{font-size:17px}.top-actions>.avatar{width:38px;height:38px}.icon-button{width:38px;height:38px}.welcome-row{gap:15px;margin-bottom:20px}.welcome-row h1{font-size:36px;line-height:1.02}.welcome-row p{font-size:15px}.welcome-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.welcome-actions .btn{width:100%;padding:11px 9px;font-size:14px}.section-title{margin-bottom:12px}.active-game-card{grid-template-columns:68px minmax(0,1fr);align-items:start}.active-game-card>img{width:68px;height:91px}.active-game-card>strong{grid-column:1/-1;width:100%;text-align:center;margin-top:1px}.active-game-copy h3{font-size:16px}.active-game-copy p{font-size:11px}.active-game-copy>div{font-size:10px}.stat-strip{grid-template-columns:1fr 1fr;gap:10px}.stat-tile{padding:14px}.stat-tile b{font-size:27px}.game-shelf{gap:11px}.game-box{flex-basis:126px}.game-box img{width:126px;height:169px}.game-box b{font-size:12px}.history-card{grid-template-columns:62px minmax(0,1fr) auto;gap:10px;padding:10px}.history-card img{width:62px;height:82px}.history-card h3{font-size:14px}.history-card>strong{font-size:20px}.dashboard-grid>aside{margin-top:5px}.page-hero.compact h1{font-size:38px}.page-hero p{font-size:15px}.library-summary{margin-bottom:12px}.filter-bar{gap:10px;padding:11px}.filter-bar .search-field{min-height:48px}.filter-bar select,.filter-bar .btn{min-height:48px}.filter-check{padding:3px 1px}.library-grid{grid-template-columns:1fr;gap:12px}.library-card{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:stretch}.library-cover{height:100%;min-height:178px}.library-cover img{width:112px;height:100%;min-height:178px;aspect-ratio:auto;object-fit:cover}.collection-badge{left:6px;top:6px;padding:5px 6px;font-size:8px}.favorite-badge{right:6px;top:6px}.library-card-body{padding:11px;gap:9px}.library-card-body h3{font-size:17px;line-height:1.15}.library-card-body p{min-height:0;margin:4px 0;font-size:10px}.library-edit{grid-template-columns:1fr}.library-edit label{min-height:34px}.library-actions{gap:5px}.library-actions .btn{flex:1}.icon-action{width:33px;height:33px}.mobile-nav{padding-left:6px;padding-right:6px}.mobile-nav a{font-size:9px}.mobile-nav a span{font-size:18px}
}
@media(max-width:380px){
  .welcome-actions{grid-template-columns:1fr}.active-game-card{grid-template-columns:60px minmax(0,1fr)}.active-game-card>img{width:60px;height:82px}.history-card{grid-template-columns:56px minmax(0,1fr)}.history-card img{width:56px;height:75px}.history-card>strong{grid-column:2;justify-self:start}.library-card{grid-template-columns:96px minmax(0,1fr)}.library-cover img{width:96px}.library-summary a{flex-basis:102px}
}

/* v3.1 dashboard personal shelf, standings and box-art framing */
.active-cover-frame,.history-cover-frame,.feed-cover-frame,.my-game-cover-frame{display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#f7f7f8,#d9dee7);border:1px solid rgba(255,255,255,.08)}
.active-cover-frame{width:78px;height:102px;border-radius:10px}.active-cover-frame img{width:100%;height:100%;object-fit:contain;object-position:center}
.history-cover-frame{width:75px;height:95px;border-radius:9px}.history-cover-frame img{width:100%;height:100%;object-fit:contain;object-position:center}
.feed-cover-frame{width:90px;height:115px;border-radius:8px}.feed-cover-frame img{width:100%;height:100%;object-fit:contain;object-position:center}
.active-game-card>img,.history-card>img,.feed-game>img{display:none}

.my-games-shelf{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 18px;scroll-snap-type:x proximity;scrollbar-width:thin}
.my-game-box{flex:0 0 156px;min-width:0;scroll-snap-align:start;display:grid;gap:9px}
.my-game-cover-frame{position:relative;width:156px;height:208px;border-radius:14px;box-shadow:0 13px 30px rgba(0,0,0,.3);transition:transform .2s,border-color .2s}
.my-game-cover-frame img{width:100%;height:100%;padding:5px;object-fit:contain;object-position:center}
.my-game-box:hover .my-game-cover-frame{transform:translateY(-4px);border-color:rgba(169,112,255,.65)}
.my-game-box-copy{display:grid;gap:2px;min-width:0}.my-game-box-copy b{font-size:13px;line-height:1.25;overflow-wrap:anywhere}.my-game-box-copy small{font-size:10px;color:var(--muted)}.my-game-box-copy em{margin-top:3px;color:#c4a4ff;font-size:10px;font-style:normal;font-weight:800}
.my-games-empty{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px}.my-games-empty>div{display:grid;gap:4px}.my-games-empty span{color:var(--muted);font-size:12px}

.dashboard-standings{overflow:hidden;padding:7px}.dashboard-standing-row{display:grid;grid-template-columns:34px 34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border-radius:12px}.dashboard-standing-row:hover{background:rgba(255,255,255,.04)}.dashboard-standing-row.you{background:linear-gradient(90deg,rgba(124,58,237,.22),rgba(124,58,237,.04))}.dashboard-standing-row>strong{color:#c4a4ff;font-size:12px;text-align:center}.dashboard-standing-row>span:not(.avatar){display:grid;min-width:0}.dashboard-standing-row b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-standing-row small{font-size:9px}.dashboard-standing-row em{font-style:normal;color:var(--green);font-size:11px;font-weight:800}.standing-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin:4px 6px}.standing-divider:before,.standing-divider:after{content:"";height:1px;flex:1;background:var(--line)}.dashboard-feed-heading{margin-top:24px}

/* My Games is a personal library only; present each saved item without cropping box art. */
.library-cover{display:grid;place-items:center;background:linear-gradient(145deg,#f7f7f8,#d9dee7)}
.library-cover img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center;padding:7px;background:transparent}
.library-card{background:linear-gradient(180deg,rgba(21,31,50,.98),rgba(13,21,35,.98))}

@media(max-width:850px){
  .my-game-box{flex-basis:144px}.my-game-cover-frame{width:144px;height:192px}
  .dashboard-standings{margin-bottom:3px}
}
@media(max-width:560px){
  .active-cover-frame{width:68px;height:91px}.active-game-card{grid-template-columns:68px minmax(0,1fr)}
  .history-cover-frame{width:62px;height:82px}.history-card{grid-template-columns:62px minmax(0,1fr) auto}
  .feed-cover-frame{width:76px;height:100px}.feed-game{grid-template-columns:76px minmax(0,1fr)}
  .my-games-shelf{gap:11px;margin-left:-1px;margin-right:-1px}.my-game-box{flex-basis:132px}.my-game-cover-frame{width:132px;height:176px}.my-game-box-copy b{font-size:12px}.my-game-box-copy em{font-size:9px}
  .my-games-empty{align-items:flex-start;flex-direction:column}.my-games-empty .btn{width:100%}
  .library-card{grid-template-columns:118px minmax(0,1fr);align-items:start}.library-cover{width:118px;height:174px;min-height:174px;align-self:start}.library-cover img{width:118px;height:174px;min-height:0;aspect-ratio:auto;padding:5px;object-fit:contain}.library-card-body{min-height:174px}
  .dashboard-standing-row{grid-template-columns:30px 34px minmax(0,1fr) auto;padding:9px 7px}.dashboard-standing-row>strong{font-size:11px}.dashboard-standing-row em{font-size:10px}
}
@media(max-width:390px){
  .my-game-box{flex-basis:122px}.my-game-cover-frame{width:122px;height:163px}
  .library-card{grid-template-columns:102px minmax(0,1fr)}.library-cover{width:102px;height:154px;min-height:154px}.library-cover img{width:102px;height:154px}.library-card-body{min-height:154px}
  .history-cover-frame{width:56px;height:75px}.history-card{grid-template-columns:56px minmax(0,1fr)}
}


/* v3.2 dashboard shelves, bounded history and detailed standings */
.my-games-shelf{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;touch-action:pan-x;scroll-behavior:smooth;scrollbar-gutter:stable}
.shelf-title-actions{display:flex;align-items:center;gap:12px}.shelf-scroll-buttons{display:flex;gap:6px}.shelf-scroll-buttons button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#111b2d;color:#d7c6ff;font-size:22px;line-height:1}.shelf-scroll-buttons button:hover{background:rgba(124,58,237,.18);border-color:rgba(169,112,255,.65)}
.dashboard-history-scroll{display:grid;gap:10px;max-height:332px;overflow-y:auto;padding-right:5px;scroll-snap-type:y proximity;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.dashboard-history-scroll .history-card{min-height:104px;scroll-snap-align:start}
.standings-section-title h2{color:var(--text)}.standings-details-link{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:7px;padding:12px 11px;border-top:1px solid var(--line);color:#c8adff;font-size:11px;font-weight:800}.standings-details-link:hover{background:rgba(124,58,237,.12);border-radius:10px}.standings-details-link strong{font-size:18px}
.standings-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}.standings-game-cover{width:118px;height:150px;border-radius:15px;display:grid;place-items:center;overflow:hidden;background:#f2f3f6;border:1px solid var(--line);box-shadow:0 16px 35px rgba(0,0,0,.28)}.standings-game-cover img{width:100%;height:100%;object-fit:contain;padding:6px}
.standings-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.standings-summary-card{padding:17px}.standings-summary-card span,.standings-summary-card small{display:block;color:var(--muted)}.standings-summary-card span{font-size:11px}.standings-summary-card b{display:block;margin:6px 0;font-size:28px}.standings-summary-card small{font-size:10px}
.personal-standing-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px;margin-bottom:16px;background:linear-gradient(130deg,rgba(124,58,237,.23),rgba(16,25,42,.98) 55%)}.personal-standing-card h2{margin:4px 0}.personal-standing-card p{margin:0;color:var(--muted)}.personal-standing-metrics{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:9px}.personal-standing-metrics span{padding:11px;border-radius:12px;background:rgba(5,10,20,.45);text-align:center}.personal-standing-metrics b,.personal-standing-metrics small{display:block}.personal-standing-metrics b{font-size:18px;color:#d1b9ff}.personal-standing-metrics small{font-size:9px;color:var(--muted);margin-top:3px}
.performance-leaders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.performance-leader-card{padding:15px}.performance-leader-card>span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.performance-leader-card>div{display:flex;align-items:center;gap:9px;margin:12px 0 8px}.performance-leader-card>div strong{font-size:13px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.performance-leader-card>b{font-size:24px;color:#c8adff}.performance-leader-card>small{display:block;color:var(--muted);font-size:9px}.performance-leader-card p{color:var(--muted);font-size:11px}
.detailed-standings-table{margin-bottom:24px}.standings-table-title{padding:18px 18px 5px}.detailed-head,.detailed-row{grid-template-columns:68px minmax(210px,1.3fr) repeat(7,minmax(76px,.62fr));min-width:970px}.detailed-standings-table{overflow-x:auto}.detailed-row span:not(.leader-player){text-align:center}.detailed-head span:not(:nth-child(2)){text-align:center}
.personal-game-stats-section{margin-top:24px}.personal-game-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:13px}.personal-game-stat-card{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;padding:12px}.personal-game-stat-cover{grid-row:1/3;width:70px;height:94px;display:grid;place-items:center;border-radius:10px;overflow:hidden;background:#f4f4f5}.personal-game-stat-cover img{width:100%;height:100%;object-fit:contain;padding:4px}.personal-game-stat-card h3{margin:3px 0;font-size:15px}.personal-game-stat-card p{margin:0;color:var(--muted);font-size:10px}.personal-game-stat-card dl{grid-column:2;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:0}.personal-game-stat-card dl div{padding:7px;border-radius:8px;background:#0a1322;text-align:center}.personal-game-stat-card dt{font-size:8px;color:var(--muted)}.personal-game-stat-card dd{margin:3px 0 0;font-size:11px;font-weight:800;color:#cbb3ff}
@media(max-width:980px){.standings-summary-grid,.performance-leaders{grid-template-columns:repeat(2,1fr)}.personal-standing-card{align-items:flex-start;flex-direction:column}.personal-standing-metrics{width:100%}}
@media(max-width:800px){.shelf-scroll-buttons{display:none}.dashboard-history-scroll{max-height:308px}.dashboard-history-scroll .history-card{min-height:96px}.standings-hero{align-items:flex-start}.standings-game-cover{width:86px;height:112px;flex:0 0 auto}.standings-summary-grid{grid-template-columns:repeat(2,1fr)}.standings-summary-card b{font-size:24px}.personal-standing-metrics{grid-template-columns:repeat(2,1fr)}.performance-leaders{grid-template-columns:repeat(2,1fr)}.standings-filters{margin-top:12px}.personal-game-stats-grid{grid-template-columns:1fr}}
@media(max-width:480px){.dashboard-history-scroll{max-height:292px}.dashboard-history-scroll .history-card{min-height:90px}.standings-hero{display:block}.standings-game-cover{margin-top:14px}.performance-leaders{grid-template-columns:1fr 1fr}.performance-leader-card{padding:12px}.personal-game-stat-card dl{grid-template-columns:repeat(2,1fr)}}


/* v3.3 dashboard shelf overflow, compact history art and personal standings */
.dashboard-grid>section,.dashboard-grid>aside{min-width:0}
.my-games-shelf{
  width:100%;max-width:100%;display:flex!important;flex-wrap:nowrap!important;
  overflow-x:scroll!important;overflow-y:hidden!important;gap:14px;
  padding:5px 3px 18px;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;cursor:grab
}
.my-games-shelf:active{cursor:grabbing}
.my-game-box{
  flex:0 0 164px!important;width:164px!important;min-width:164px!important;max-width:164px!important;
  scroll-snap-align:start;scroll-snap-stop:normal
}
.my-game-cover-frame{width:100%!important;height:auto!important;aspect-ratio:3/4}
.my-game-cover-frame img{display:block;max-width:100%;max-height:100%;object-fit:contain!important}
.history-card{overflow:hidden}
.history-cover-frame{flex:0 0 58px!important;width:58px!important;height:76px!important;max-width:58px!important;max-height:76px!important}
.history-cover-frame img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;padding:3px}
.dashboard-history-scroll .history-card{grid-template-columns:58px minmax(0,1fr) auto!important;min-height:92px!important}
.history-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.history-poster{grid-template-columns:100px minmax(0,1fr);min-height:148px;align-items:stretch}
.history-poster-cover{width:100px;min-width:100px;height:148px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#f7f7f8,#d9dee7);border-right:1px solid var(--line)}
.history-poster-cover img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;padding:5px;object-fit:contain;object-position:center}
.history-poster>img{display:none}
.standings-section-title>div{min-width:0}.standings-section-title small{display:block;max-width:310px;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}
@media(max-width:800px){
  .my-game-box{flex-basis:clamp(145px,43vw,170px)!important;width:clamp(145px,43vw,170px)!important;min-width:clamp(145px,43vw,170px)!important;max-width:clamp(145px,43vw,170px)!important}
  .my-games-shelf{margin-right:-14px;padding-right:18px;scroll-padding-left:2px}
  .dashboard-history-scroll .history-card{grid-template-columns:54px minmax(0,1fr) auto!important}
  .history-cover-frame{flex-basis:54px!important;width:54px!important;height:72px!important;max-width:54px!important;max-height:72px!important}
}
@media(max-width:560px){
  .history-grid{grid-template-columns:1fr}.history-poster{grid-template-columns:82px minmax(0,1fr);min-height:122px}
  .history-poster-cover{width:82px;min-width:82px;height:122px}.history-poster-copy{padding:12px}.history-poster-copy h2{font-size:17px}.history-poster-copy>div{margin-top:10px}
}
@media(max-width:390px){
  .my-game-box{flex-basis:142px!important;width:142px!important;min-width:142px!important;max-width:142px!important}
  .dashboard-history-scroll .history-card{grid-template-columns:50px minmax(0,1fr)!important}
  .history-cover-frame{flex-basis:50px!important;width:50px!important;height:68px!important;max-width:50px!important;max-height:68px!important}
}

/* v3.4 first-login onboarding and guided setup */
.onboarding-page-head{position:relative;overflow:hidden;padding:28px;margin-bottom:18px;background:linear-gradient(135deg,rgba(124,58,237,.28),rgba(16,25,42,.98) 58%)}
.onboarding-page-head h1{margin:5px 0 7px}.onboarding-page-head p{max-width:720px;margin:0;color:var(--muted);line-height:1.55}
.onboarding-page-progress{position:absolute;left:0;right:0;top:0;height:5px;background:#202b40}.onboarding-page-progress span{display:block;height:100%;border-radius:0 999px 999px 0;background:linear-gradient(90deg,#7c3aed,#b784ff)}
.profile-setup-form{position:relative}.profile-setup-preview{display:flex;align-items:center;gap:15px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#0a1322}.profile-setup-preview>div{display:grid;gap:3px;min-width:0}.profile-setup-preview b{font-size:16px}.profile-setup-preview small{color:#cbb3ff}.profile-setup-preview span{color:var(--muted);font-size:10px;line-height:1.45}.profile-setup-avatar{width:76px;height:76px;min-width:76px;font-size:28px}.profile-setup-avatar img{width:100%;height:100%;object-fit:cover}
.username-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#08111e;overflow:hidden}.username-field:focus-within{border-color:#8d5ce8;box-shadow:0 0 0 3px rgba(124,58,237,.13)}.username-field span{padding-left:12px;color:#a970ff;font-weight:800}.username-field input{border:0!important;box-shadow:none!important;background:transparent!important;padding-left:4px!important}
.onboarding-checklist ol{display:grid;gap:7px;list-style:none;margin:16px 0 20px;padding:0}.onboarding-checklist li{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#0a1322;opacity:.68}.onboarding-checklist li.active{border-color:rgba(169,112,255,.75);background:rgba(124,58,237,.14);opacity:1}.onboarding-checklist li>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#1a2438;color:#cbb3ff;font-weight:900}.onboarding-checklist li.active>span{background:#7c3aed;color:white}.onboarding-checklist b,.onboarding-checklist small{display:block}.onboarding-checklist b{font-size:12px}.onboarding-checklist small{margin-top:3px;color:var(--muted);font-size:9px}
.onboarding-coach{position:fixed;z-index:1200;right:22px;bottom:22px;width:min(390px,calc(100vw - 32px));padding:18px;border:1px solid rgba(169,112,255,.65);border-radius:18px;background:linear-gradient(150deg,#17213a,#0c1424 70%);box-shadow:0 25px 70px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.03);animation:onboarding-in .28s ease-out}.onboarding-coach[hidden]{display:none!important}@keyframes onboarding-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.onboarding-coach-close{position:absolute;right:11px;top:10px;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#adb7c7;font-size:22px}.onboarding-coach-close:hover{background:rgba(255,255,255,.08);color:white}.onboarding-coach-top{display:flex;justify-content:space-between;align-items:center;padding-right:30px;color:#a970ff;font-size:9px;font-weight:900;letter-spacing:.09em}.onboarding-coach-top b{color:#d7c8f7}.onboarding-coach-progress{height:5px;margin:10px 0 15px;overflow:hidden;border-radius:999px;background:#263149}.onboarding-coach-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#b784ff)}.onboarding-coach h3{margin:0 0 7px;font-size:18px}.onboarding-coach p{margin:0;color:#aeb9ca;font-size:12px;line-height:1.55}.onboarding-coach-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.onboarding-coach-actions form{margin:0}.onboarding-skip-all{margin-top:10px}.onboarding-skip-all button{padding:0;border:0;background:transparent;color:#7f8ca2;font-size:9px;text-decoration:underline}.onboarding-skip-all button:hover{color:#c6cfdd}
.tour-highlight{position:relative;z-index:1100!important;border-color:#a970ff!important;box-shadow:0 0 0 4px rgba(124,58,237,.22),0 18px 60px rgba(0,0,0,.38)!important;animation:tour-pulse 2.4s ease-in-out infinite}@keyframes tour-pulse{0%,100%{box-shadow:0 0 0 4px rgba(124,58,237,.18),0 18px 60px rgba(0,0,0,.38)}50%{box-shadow:0 0 0 8px rgba(124,58,237,.08),0 18px 60px rgba(0,0,0,.38)}}
body:has(.tour-highlight)::before{content:"";position:fixed;z-index:1090;inset:0;background:rgba(2,6,14,.46);pointer-events:none}.tour-highlight *{position:relative;z-index:1}
@media(max-width:800px){.onboarding-page-head{padding:22px 17px}.onboarding-coach{right:12px;bottom:calc(82px + env(safe-area-inset-bottom));width:calc(100vw - 24px);padding:16px}.onboarding-coach-actions .btn{flex:1}.profile-setup-preview{align-items:flex-start}.profile-setup-avatar{width:64px;height:64px;min-width:64px}}
@media(max-width:420px){.onboarding-coach{max-height:52vh;overflow-y:auto}.onboarding-coach h3{font-size:16px}.onboarding-coach p{font-size:11px}.onboarding-coach-actions{display:grid;grid-template-columns:1fr}.onboarding-coach-actions form,.onboarding-coach-actions button,.onboarding-coach-actions a{width:100%}}
/* GameLog v3.5 multi-mode scoring and campaigns */
.side-nav{overflow-y:auto;min-height:0;padding-right:3px}.side-nav::-webkit-scrollbar{width:5px}.side-nav::-webkit-scrollbar-thumb{background:#2b3850;border-radius:99px}
.player-builder-extended .player-row{grid-template-columns:28px minmax(130px,1fr) minmax(155px,1fr) minmax(120px,.8fr) minmax(135px,.9fr) 38px}.player-row .role-field,.player-row .character-field{min-width:0}.scoring-setup[data-mode]:not([data-mode="campaign"]) .character-field{display:none}.scoring-setup[data-mode="campaign"] .player-row{background:linear-gradient(90deg,rgba(124,58,237,.10),transparent)}
.mode-context-fields{margin-top:14px}.campaign-setup-panel{margin-top:22px;padding:18px;border:1px solid rgba(169,112,255,.3);border-radius:15px;background:rgba(124,58,237,.08)}.mode-explanation{margin:9px 0 14px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#0b1321;color:#b8c5d8;font-size:13px}.scoring-mode-cards{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px}.scoring-mode-cards span{padding:5px 8px;border-radius:999px;background:#111b2c;color:#8190a6;font-size:11px}.scoring-mode-cards span.active{background:rgba(124,58,237,.24);color:#d9c8ff;border:1px solid rgba(169,112,255,.35)}
.team-score-panel,.result-mode-panel{padding:20px}.shared-progress-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:15px 0 20px}.shared-progress-summary>div,.shared-result-grid>div{padding:15px;border:1px solid var(--line);border-radius:13px;background:#0b1321}.shared-progress-summary b,.shared-result-grid b{display:block;font-size:24px}.shared-progress-summary span,.shared-result-grid small{color:var(--muted);font-size:12px}.progress-update-form{display:grid;gap:13px}.result-player-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:18px 0}.result-player-preview article{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#0b1321}.result-player-preview article div{display:grid}.mode-help{padding:18px;border:1px solid rgba(45,212,191,.25);border-radius:14px;background:rgba(45,212,191,.06)}
.finish-result-form{width:min(780px,94vw);max-height:88vh;overflow:auto}.outcome-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.outcome-picker input{position:absolute;opacity:0}.outcome-picker span{display:grid;place-items:center;min-height:70px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#0d1625;font-weight:800}.outcome-picker input:checked+span{border-color:var(--purple2);background:rgba(124,58,237,.23);box-shadow:0 0 0 2px rgba(124,58,237,.12)}.campaign-finish-fields{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.character-progress-row{display:grid;grid-template-columns:minmax(170px,1.2fr) 90px 90px minmax(130px,1fr) minmax(130px,1fr);gap:8px;align-items:center;margin:8px 0}.character-progress-row>div{display:flex;align-items:center;gap:8px}.character-progress-row>div span{display:grid}.placement-entry-list,.time-entry-list{display:grid;gap:8px;margin:14px 0}.placement-entry-list label,.time-entry-list label{display:grid;grid-template-columns:42px minmax(120px,1fr) 100px;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:12px;background:#0d1625}.time-entry-list label{grid-template-columns:42px minmax(100px,1fr) 100px 100px}.shared-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:15px}.outcome-card.won{border-color:rgba(53,209,125,.45)}.outcome-card.lost{border-color:rgba(251,113,133,.45)}.team-place{font-size:18px}
.campaign-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:15px}.campaign-card{display:grid;grid-template-columns:135px 1fr;gap:16px;padding:15px}.campaign-card>img{width:135px;height:180px;object-fit:contain;border-radius:12px;background:#080d17}.campaign-card h2{margin:7px 0 4px}.campaign-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:13px 0}.campaign-stat-row span{display:grid;padding:8px;border-radius:9px;background:#0b1321;text-align:center}.campaign-stat-row b{font-size:17px}.campaign-stat-row small{font-size:10px}.status-badge{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;background:#1a2537;color:#c7d1df;font-size:10px;font-weight:800;text-transform:uppercase}.status-badge.active{background:rgba(53,209,125,.14);color:#64e69b}.status-badge.completed{background:rgba(124,58,237,.18);color:#cbb2ff}.status-badge.failed{background:rgba(251,113,133,.14);color:#ff9aaa}.campaign-hero .history-title{min-width:0}.campaign-record{align-self:center;display:grid;text-align:center;padding:18px}.campaign-record b{font-size:30px}.campaign-record span,.campaign-record small{color:var(--muted)}.campaign-timeline{position:relative;display:grid;gap:0}.campaign-timeline article{position:relative;display:grid;grid-template-columns:18px 1fr;gap:12px;padding:0 0 22px}.campaign-timeline article:not(:last-child):before{content:"";position:absolute;left:7px;top:14px;bottom:0;width:2px;background:var(--line)}.timeline-dot{position:relative;z-index:1;width:16px;height:16px;border:4px solid #33205e;border-radius:50%;background:var(--purple2)}.campaign-timeline h3{margin:2px 0 5px;font-size:16px}.campaign-timeline p{color:#bdc7d5}.campaign-timeline.compact article{padding-bottom:15px}.session-list{display:grid;gap:8px}.session-list>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#0c1422}.session-list>a div{display:grid}.campaign-members{display:grid;gap:8px}.campaign-members article{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:9px;padding:9px;border-bottom:1px solid var(--line)}.campaign-members article>div{display:grid}.campaign-members article>strong{display:grid;text-align:right}.campaign-summary{display:grid;grid-template-columns:repeat(3,1fr);padding:13px}.campaign-summary div{display:grid;text-align:center;padding:10px}.campaign-summary b{font-size:21px}.campaign-summary span{color:var(--muted);font-size:10px}.empty-state{text-align:center;padding:44px}.empty-state>span{font-size:48px}
@media(max-width:900px){.player-builder-extended .player-row{grid-template-columns:22px 1fr 36px}.player-builder-extended .player-row>input{grid-column:2}.player-builder-extended .player-row .drag{grid-row:1/5}.player-builder-extended .player-row button{grid-column:3;grid-row:1/5}.shared-progress-summary{grid-template-columns:repeat(2,1fr)}.shared-result-grid{grid-template-columns:repeat(2,1fr)}.outcome-picker{grid-template-columns:repeat(2,1fr)}.character-progress-row{grid-template-columns:1fr 1fr}.character-progress-row>div{grid-column:1/-1}.campaign-grid{grid-template-columns:1fr}.campaign-card{grid-template-columns:92px 1fr}.campaign-card>img{width:92px;height:126px}.campaign-stat-row{grid-template-columns:repeat(2,1fr)}.placement-entry-list label{grid-template-columns:38px 1fr 76px}.time-entry-list label{grid-template-columns:38px 1fr 82px 82px}.campaign-summary{grid-template-columns:1fr}.finish-result-form{width:96vw}.sidebar{overflow:hidden}.side-nav{padding-bottom:20px}}
@media(max-width:560px){.shared-progress-summary,.shared-result-grid{grid-template-columns:1fr 1fr}.time-entry-list label{grid-template-columns:34px 1fr}.time-entry-list label input{grid-column:2}.campaign-card{grid-template-columns:76px 1fr}.campaign-card>img{width:76px;height:105px}.campaign-stat-row{display:none}}


/* v3.5 scoring and campaign refinements */
.mode-instruction{margin:0 0 14px;padding:12px 14px;border:1px solid rgba(139,92,246,.32);border-radius:12px;background:rgba(139,92,246,.09);color:var(--muted)}
.member-unlocks{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.member-unlocks em{font-style:normal;font-size:.72rem;padding:3px 7px;border-radius:999px;background:rgba(139,92,246,.12);color:#c8b5ff;border:1px solid rgba(139,92,246,.22)}

.cover-cache-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.cover-cache-action h2,.cover-cache-action p{margin:.25rem 0}.cover-cache-action code{font-size:.8em}@media(max-width:700px){.cover-cache-action{align-items:stretch;flex-direction:column}.cover-cache-action .btn{width:100%}}

/* v3.5.7 interactive social reactions */
.social-post footer form,.feed-meta form{margin:0}
.reaction{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:7px 11px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:#0d1726!important;color:#aeb8c6!important;font-weight:800;line-height:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .16s ease,border-color .16s ease,background .16s ease,transform .16s ease}
.reaction:hover{border-color:#6f4bb7!important;color:#decfff!important}
.reaction.active{color:#fb7185!important;border-color:rgba(251,113,133,.48)!important;background:rgba(251,113,133,.1)!important}
.reaction.compact{min-height:34px;padding:5px 9px!important;font-size:11px!important}
.reaction-heart{font-size:20px;line-height:.8}
.reaction-count{min-width:1ch;font-variant-numeric:tabular-nums}
.reaction.loading{opacity:.58;cursor:wait}
.reaction.reaction-pop{animation:reaction-pop .32s ease}
@keyframes reaction-pop{0%{transform:scale(.94)}55%{transform:scale(1.13)}100%{transform:scale(1)}}
@media(max-width:680px){.social-post footer{align-items:center;flex-wrap:wrap}.reaction{min-height:44px;padding:9px 13px!important}.reaction.compact{min-height:40px}.feed-meta{align-items:center}}


/* v3.5.9 working public game-history sharing */
.social-share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px;max-width:100%}
.share-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 13px;border:1px solid var(--line);border-radius:11px;background:#0c1524;color:#e8edf6;font:inherit;font-size:12px;font-weight:850;line-height:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.share-action:hover{transform:translateY(-1px);border-color:#6d4cb5}
.share-action span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.08);font-size:14px;font-weight:900}
.share-action.facebook{background:#132345;border-color:#284e96}.share-action.facebook span{background:#1877f2;color:#fff}
.share-action.twitter{background:#111923}.share-action.twitter span{background:#05070a;color:#fff}
.share-action.native{background:rgba(124,58,237,.16);border-color:rgba(169,112,255,.38)}
.shared-banner .social-share-actions{margin-left:auto;margin-top:0}
@media(max-width:900px){.shared-banner{align-items:flex-start;flex-wrap:wrap}.shared-banner .social-share-actions{width:100%;margin-left:0}.history-title .social-share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.history-title .share-action{width:100%}}
@media(max-width:480px){.social-share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.share-action{width:100%;min-width:0;padding:10px 8px}.shared-banner>a.btn{width:100%}}


/* v3.6.2 branding */
.brand-logo{overflow:hidden;padding:0;background:transparent!important;box-shadow:0 10px 28px color-mix(in srgb,var(--purple) 35%,transparent)!important}
.brand-logo img,.brand-auth-logo img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.mobile-brand{align-items:center;gap:8px}.mobile-brand img{width:27px;height:27px;border-radius:8px;object-fit:cover}
.brand-auth-logo{overflow:hidden;padding:0;background:transparent}
.brand-preview{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#0b1423}.brand-preview img{width:68px;height:68px;border-radius:18px;object-fit:cover}.brand-preview div{display:grid}.brand-preview b{font-size:22px}.brand-preview small{font-size:12px}.brand-color-grid input[type=color]{height:48px;padding:4px;cursor:pointer}
.shared-brand{display:inline-flex!important;align-items:center;gap:8px}.shared-brand img{width:30px;height:30px;border-radius:9px}.signup-brand-logo{display:grid!important;place-items:center;width:58px;height:58px;overflow:hidden;border-radius:16px;background:transparent!important}.signup-brand-logo img{width:100%;height:100%;object-fit:cover}
@media(max-width:850px){.mobile-brand{display:flex}.brand-preview{align-items:flex-start}.brand-color-grid{grid-template-columns:1fr!important}}


/* GameLog v3.6.4: responsive history and corporate admin data presentation */
.admin-content,.admin-detail-grid>*,.visitor-detail-grid>*,.section-card{min-width:0}
.admin-session-list{display:grid;gap:8px}
.admin-session-list>a{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#0b1422;transition:border-color .16s ease,background .16s ease}
.admin-session-list>a:hover{border-color:#4f3b79;background:#101a2c}
.admin-session-list>a>img{width:54px!important;height:68px!important;max-width:54px!important;object-fit:contain!important;border-radius:8px;background:#070d17}
.admin-session-list>a>div{display:grid;min-width:0}.admin-session-list>a b,.admin-session-list>a small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-session-list>a>strong{font-size:12px;text-transform:capitalize;color:#cbb7ff}
.admin-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px}
.admin-photo-grid>a{display:grid;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#0a1321}
.admin-photo-grid>a>img{width:100%!important;height:118px!important;max-height:118px!important;object-fit:cover!important;background:#070d17}
.admin-photo-grid>a>span{display:grid;min-width:0;padding:9px 10px;font-size:12px;font-weight:750}.admin-photo-grid>a small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.admin-photo-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-photo-grid.compact>a>img{height:92px!important;max-height:92px!important}
.visitor-game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:10px}.visitor-game-grid>a{display:grid;min-width:0;padding:9px;border:1px solid var(--line);border-radius:12px;background:#0b1422}.visitor-game-grid img{width:100%;height:132px;object-fit:contain;border-radius:8px;background:#070d17}.visitor-game-grid b,.visitor-game-grid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-corporate-table{border:1px solid var(--line);border-radius:14px;overflow:auto;background:#0b1422}.admin-corporate-table .data-table{min-width:880px}.admin-corporate-table .data-table th{position:sticky;top:0;z-index:2;background:#111b2d}.admin-corporate-table .data-table tr:hover td{background:rgba(124,58,237,.055)}
.admin-timeline-table td{vertical-align:top}.admin-timeline-table .timeline-page{max-width:360px}.admin-timeline-table .timeline-page b,.admin-timeline-table .timeline-page code{display:block;overflow-wrap:anywhere}.admin-timeline-table .timeline-source{max-width:300px;overflow-wrap:anywhere}
.admin-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-record-block{min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#0b1422}.admin-record-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.admin-record-head h3{margin:0;font-size:15px}.admin-record-head span{padding:3px 8px;border-radius:999px;background:#21143e;color:#cbb7ff;font-size:10px;font-weight:850}.admin-record-list{display:grid}.admin-record-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 0;border-top:1px solid var(--line);min-width:0}.admin-record-row:first-child{border-top:0}.admin-record-row>div{display:grid;min-width:0}.admin-record-row b,.admin-record-row p{margin:0;overflow-wrap:anywhere}.admin-record-row p{color:#bac5d4;font-size:11px}.admin-record-row small,.admin-record-row time{font-size:10px;color:var(--muted)}
.audit-list{display:grid}.audit-list>div{min-width:0}.audit-list b,.audit-list small{overflow-wrap:anywhere}
.admin-table-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:11px 0 0;padding-top:11px;border-top:1px solid var(--line)}.admin-table-tools[hidden]{display:none}.admin-table-search{display:flex;align-items:center;gap:7px;min-width:190px;max-width:340px}.admin-table-search input{padding:8px 10px;font-size:11px}.admin-table-pager{display:flex;align-items:center;gap:7px;margin-left:auto}.admin-table-pager button{min-width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#111b2d;color:white}.admin-table-pager button:disabled{opacity:.35;cursor:not-allowed}.admin-table-pager span{min-width:86px;text-align:center;color:var(--muted);font-size:10px}.admin-paged-empty{padding:18px;text-align:center;color:var(--muted)}
.admin-activity-list>article,.admin-activity-list>.activity-page-row{border:1px solid transparent;border-radius:10px;padding:11px}.admin-activity-list>article:hover,.admin-activity-list>.activity-page-row:hover{background:#0c1626;border-color:var(--line)}.activity-json,.wrap-code{display:block;max-width:100%;overflow-wrap:anywhere;white-space:normal}

/* completed history: prevent all mobile overflow and oversized photos */
.history-title,.history-detail-grid main,.history-detail-grid aside,.history-detail-grid section{min-width:0}.history-title h1,.body-copy,.history-title p{overflow-wrap:anywhere;word-break:break-word}.photo-gallery figure{min-width:0;overflow:hidden}.photo-gallery img{display:block;max-height:260px;background:#070d17}.score-chart{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.round-score-grid{max-width:100%;scroll-snap-type:x proximity}.round-score-grid>div{scroll-snap-align:start}
@media(max-width:900px){
  body:not(.admin-body){overflow-x:hidden}
  body:not(.admin-body) .content{width:100%;max-width:100vw;padding:16px 12px calc(116px + env(safe-area-inset-bottom));overflow-x:hidden}
  .history-hero{grid-template-columns:92px minmax(0,1fr);gap:13px;align-items:start;padding:14px;margin-bottom:14px;overflow:hidden}
  .history-cover{width:92px;height:122px;object-fit:contain;background:#070d17}
  .history-title h1{font-size:clamp(1.55rem,7.4vw,2.25rem);line-height:1.06;margin:2px 0 7px}
  .history-title .game-pills{gap:5px}.history-title .game-pills span,.history-title .game-pills a{font-size:9px;padding:5px 7px}
  .history-title .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.history-title .hero-actions .btn{width:100%;min-width:0;padding:10px 7px;font-size:12px}
  .history-title .social-share-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .winner-card{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;justify-items:start;padding:12px;text-align:left}.winner-card>span{font-size:25px}.winner-card small,.winner-card b{margin:0}.winner-card strong{justify-self:end;font-size:22px}
  .history-detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%}.history-detail-grid main,.history-detail-grid aside{width:100%;min-width:0}
  .history-detail-grid .section-card{padding:14px;margin-bottom:12px;overflow:hidden}.history-detail-grid .section-title{align-items:flex-start}.history-detail-grid .section-title h2{font-size:20px}
  .standing-row{grid-template-columns:34px 42px minmax(0,1fr) auto;gap:8px;padding:10px;min-width:0}.standing-row .avatar{width:42px;height:42px}.standing-row>div{min-width:0}.standing-row>div b,.standing-row>div small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.standing-row>strong{font-size:17px;white-space:nowrap}
  .score-chart{min-height:250px}.score-chart canvas{width:700px!important;max-width:none!important;height:280px!important}
  .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo-gallery img{width:100%;height:145px;max-height:145px;aspect-ratio:auto;object-fit:cover;border-radius:10px}.photo-gallery figcaption{overflow-wrap:anywhere}
  .comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto}.comment-form input{min-width:0}
  .shared-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .history-hero{grid-template-columns:76px minmax(0,1fr);padding:12px}.history-cover{width:76px;height:102px}.history-title h1{font-size:1.55rem}
  .history-title .hero-actions{grid-template-columns:1fr}.history-title .social-share-actions{grid-template-columns:1fr 1fr}.share-action{font-size:11px}
  .winner-card{grid-template-columns:auto minmax(0,1fr)}.winner-card strong{grid-column:2;justify-self:start}.standing-row{grid-template-columns:31px 38px minmax(0,1fr)}.standing-row>strong{grid-column:3;font-size:15px;color:#cbb7ff}.place{width:31px;height:31px}.standing-row .avatar{width:38px;height:38px}
  .photo-gallery{grid-template-columns:1fr}.photo-gallery img{height:210px;max-height:210px;object-fit:contain}.shared-result-grid{grid-template-columns:1fr 1fr}
}

/* admin responsive system */
@media(max-width:1100px){.admin-record-grid{grid-template-columns:1fr}.visitor-detail-grid,.admin-detail-grid{grid-template-columns:minmax(0,1fr)!important}.admin-photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
@media(max-width:760px){.admin-content{padding:16px 12px 90px}.admin-head{align-items:flex-start;flex-direction:column}.admin-actions{width:100%;flex-wrap:wrap}.admin-actions .btn{flex:1}.admin-kpis,.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-corporate-table{margin-inline:-2px}.admin-table-tools{align-items:stretch;flex-direction:column}.admin-table-search{max-width:none;width:100%}.admin-table-pager{margin-left:0;justify-content:space-between}.admin-photo-grid,.admin-photo-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-session-list>a{grid-template-columns:46px minmax(0,1fr)}.admin-session-list>a>img{width:46px!important;height:58px!important}.admin-session-list>a>strong{grid-column:2}.visitor-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-record-block{padding:11px}}
@media(max-width:420px){.admin-kpis,.admin-kpi-grid{grid-template-columns:1fr 1fr!important}.admin-photo-grid,.admin-photo-grid.compact{grid-template-columns:1fr 1fr}.admin-photo-grid>a>img{height:95px!important;max-height:95px!important}.visitor-game-grid img{height:112px}}

/* v3.6.4 production completion: branding, photo lightbox, mobile history and corporate admin UI */
html,body{max-width:100%;overflow-x:hidden}.main-shell,.content,.admin-content{min-width:0;max-width:100%}
.brand-auth-logo{width:88px;height:88px;display:grid;place-items:center;margin-bottom:18px;border-radius:22px;background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.28)}.brand-auth-logo img{display:block;width:76px;height:76px;object-fit:contain}.auth-card-brand{display:flex;align-items:center;gap:11px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid var(--line)}.auth-card-brand img{width:46px;height:46px;object-fit:contain;border-radius:11px;background:#fff}.auth-card-brand span{display:grid}.auth-card-brand b{font-size:16px}.auth-card-brand small{color:var(--muted);font-size:10px}
.gallery-thumb{display:block;width:100%;padding:0;border:0;border-radius:11px;background:transparent;color:inherit;cursor:zoom-in;overflow:hidden}.gallery-thumb img{transition:transform .18s ease}.gallery-thumb:hover img,.gallery-thumb:focus-visible img{transform:scale(1.025)}
body.lightbox-open{overflow:hidden}.media-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgba(2,5,11,.96);color:#fff}.media-lightbox::backdrop{background:rgba(2,5,11,.96)}.media-lightbox-shell{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;width:100%;height:100%;padding:56px 18px 22px}.media-lightbox figure{display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;min-width:0;height:100%;margin:0}.media-lightbox img{display:block;max-width:min(94vw,1500px);max-height:calc(100dvh - 120px);width:auto;height:auto;object-fit:contain}.media-lightbox figcaption{max-width:min(900px,90vw);padding-top:12px;color:#d8dfeb;text-align:center;overflow-wrap:anywhere}.media-lightbox-close,.media-lightbox-nav{z-index:2;border:1px solid rgba(255,255,255,.2);background:rgba(15,23,42,.8);color:#fff;cursor:pointer}.media-lightbox-close{position:absolute;top:max(14px,env(safe-area-inset-top));right:18px;width:42px;height:42px;border-radius:50%;font-size:28px}.media-lightbox-nav{width:46px;height:58px;border-radius:14px;font-size:38px}.media-lightbox-nav.previous{justify-self:start}.media-lightbox-nav.next{justify-self:end}
.admin-detail-dialog{width:min(760px,calc(100vw - 24px));max-height:min(86dvh,900px);padding:0;border:1px solid #33405a;border-radius:18px;background:#0d1625;color:#fff}.admin-detail-dialog::backdrop{background:rgba(2,6,14,.82)}.admin-detail-dialog-card{position:relative;padding:24px}.admin-detail-dialog h2{margin:4px 50px 18px 0}.admin-detail-dialog dl{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);margin:0;border:1px solid var(--line);border-radius:13px;overflow:hidden}.admin-detail-dialog dt,.admin-detail-dialog dd{margin:0;padding:11px 13px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap}.admin-detail-dialog dt{background:#111d30;color:#aeb9ca;font-size:11px;font-weight:800;text-transform:uppercase}.admin-detail-dialog dd{background:#0a1321;color:#eef3fb}.admin-detail-dialog dt:last-of-type,.admin-detail-dialog dd:last-of-type{border-bottom:0}
.admin-body{overflow-x:hidden}.admin-content{width:100%}.admin-corporate-table{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.admin-corporate-table .data-table{width:100%;border-collapse:separate;border-spacing:0}.admin-corporate-table .data-table th,.admin-corporate-table .data-table td{padding:10px 11px;vertical-align:middle}.admin-corporate-table .data-table tbody tr:nth-child(even) td{background:rgba(255,255,255,.018)}.admin-corporate-table .data-table tbody tr:hover td{background:rgba(124,58,237,.08)}.admin-corporate-table .data-table td small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.admin-clickable-row,.admin-link-row{cursor:pointer;outline:none}.admin-clickable-row:focus-visible td,.admin-link-row:focus-visible td{box-shadow:inset 0 0 0 1px #8b5cf6}.admin-timeline-table{min-width:1480px!important}.admin-activity-table{min-width:1320px!important}.admin-player-standings-table{min-width:940px!important}.admin-standings-data-table{min-width:1360px!important}.table-title-cell{display:block;min-width:150px;max-width:250px;overflow-wrap:anywhere}.table-truncate{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-view-button{display:inline-flex;align-items:center;margin-top:4px;padding:3px 7px;border:1px solid #42506b;border-radius:7px;background:#111d30;color:#d8e0ee;font-size:9px;font-weight:800;cursor:pointer}.table-view-button:hover{border-color:#7c3aed;color:#fff}.table-user{display:flex;align-items:center;gap:9px;min-width:180px}.table-user>span:last-child{display:grid;min-width:0}.table-user b,.table-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-wrap-cell,.admin-long-copy,.admin-comment-list p,.admin-session-timeline p{max-width:100%;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.admin-long-copy{color:#c4cfdd;line-height:1.65}
.corporate-filter-grid{display:grid!important;grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:11px}.corporate-filter-grid label{display:grid;gap:5px;min-width:0;color:#aeb9ca;font-size:10px;font-weight:800;text-transform:uppercase}.corporate-filter-grid input,.corporate-filter-grid select{width:100%;min-width:0}.corporate-filter-grid .filter-search-wide{grid-column:span 2}.corporate-filter-grid .filter-actions{display:flex;gap:8px;align-items:end}.corporate-filter-grid .filter-actions .btn{flex:1}
.session-admin-hero{display:grid;grid-template-columns:118px minmax(0,1fr);gap:20px;align-items:start;padding:18px;overflow:hidden}.session-admin-hero>img{width:118px!important;height:158px!important;max-width:118px!important;max-height:158px!important;object-fit:contain!important;border-radius:12px;background:#070d17}.session-admin-hero h2{margin:8px 0}.session-admin-hero .game-pills{margin-top:14px}.admin-session-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,330px);gap:16px;align-items:start}.admin-session-detail-grid>main,.admin-session-detail-grid>aside{min-width:0}.admin-session-detail-grid>aside{display:grid;gap:14px}.admin-session-detail-grid>aside .section-card{margin:0}.admin-comment-list{display:grid}.admin-comment-list article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;padding:11px 0;border-top:1px solid var(--line)}.admin-comment-list article:first-child{border-top:0}.admin-comment-list p{margin:4px 0;color:#c7d1df}.admin-share-list{display:grid}.admin-share-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.admin-share-list article:first-child{border-top:0}.admin-share-list article>div,.admin-share-list article>span{display:grid;min-width:0}.admin-share-list article>span{text-align:right}.visitor-session-cards>a{grid-template-columns:58px minmax(0,1fr) auto}.visitor-session-cards>a>img{width:58px!important;height:74px!important;max-width:58px!important;max-height:74px!important;object-fit:contain!important}.selected-admin-game{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center;padding:14px}.selected-admin-game>img{width:76px!important;height:96px!important;object-fit:contain!important;border-radius:9px;background:#070d17}.selected-admin-game h2,.selected-admin-game p{margin:2px 0}.admin-standing-filters{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr));align-items:end;gap:10px}.admin-standing-filters label{display:grid;gap:5px;min-width:0}.admin-standing-filters select,.admin-standing-filters input{width:100%;min-width:0}
.admin-photo-grid>a{cursor:zoom-in}.admin-photo-grid>a>img{object-position:center}.admin-top-game-grid img,.popular-admin-games img,.visitor-game-grid img,.admin-session-list img{object-fit:contain!important}.admin-photo-grid img{object-fit:cover!important}
@media(max-width:1100px){.corporate-filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.admin-standing-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.admin-session-detail-grid{grid-template-columns:minmax(0,1fr)}.admin-session-detail-grid>aside{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-session-detail-grid>aside .section-card:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:760px){
  .topbar{padding-top:env(safe-area-inset-top);height:calc(var(--top) + env(safe-area-inset-top))}.main-shell{padding-top:calc(var(--top) + env(safe-area-inset-top))}
  body:not(.admin-body) .content{padding-bottom:calc(124px + env(safe-area-inset-bottom))}.mobile-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom))}
  .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}.photo-gallery figure{margin:0;min-width:0}.photo-gallery .gallery-thumb img{width:100%!important;height:132px!important;max-height:132px!important;aspect-ratio:4/3!important;object-fit:cover!important}.photo-gallery figcaption{min-height:18px;overflow-wrap:anywhere}
  .history-detail-grid .body-copy,.history-detail-grid .campaign-timeline p,.history-detail-grid .comment-list p{overflow-wrap:anywhere;word-break:break-word}.round-score-grid{display:flex!important;overflow-x:auto!important;padding-bottom:4px}.round-score-grid>div{flex:0 0 145px!important}.score-chart canvas{width:680px!important;max-width:none!important;height:270px!important}
  .media-lightbox-shell{grid-template-columns:42px minmax(0,1fr) 42px;padding:58px 7px calc(16px + env(safe-area-inset-bottom))}.media-lightbox-nav{width:38px;height:50px}.media-lightbox img{max-width:92vw;max-height:calc(100dvh - 120px)}
  .admin-detail-dialog dl{grid-template-columns:1fr}.admin-detail-dialog dt{border-bottom:0;padding-bottom:4px}.admin-detail-dialog dd{padding-top:4px}
  .corporate-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.corporate-filter-grid .filter-search-wide{grid-column:1/-1}.corporate-filter-grid .filter-actions{grid-column:1/-1}.admin-standing-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-standing-filters .btn{width:100%}
  .session-admin-hero{grid-template-columns:78px minmax(0,1fr);gap:12px;padding:13px}.session-admin-hero>img{width:78px!important;height:106px!important;max-width:78px!important;max-height:106px!important}.session-admin-hero h2{font-size:20px}.session-admin-hero .admin-long-copy{grid-column:1/-1}.admin-session-detail-grid>aside{grid-template-columns:minmax(0,1fr)}
  .visitor-session-cards>a{grid-template-columns:48px minmax(0,1fr)}.visitor-session-cards>a>img{width:48px!important;height:62px!important;max-width:48px!important;max-height:62px!important}.visitor-session-cards>a>strong{grid-column:2}
}
@media(max-width:440px){.photo-gallery .gallery-thumb img{height:108px!important;max-height:108px!important}.corporate-filter-grid,.admin-standing-filters{grid-template-columns:minmax(0,1fr)}.corporate-filter-grid .filter-search-wide,.corporate-filter-grid .filter-actions{grid-column:auto}.admin-kpis,.admin-kpi-grid{grid-template-columns:1fr 1fr!important}.auth-card-brand img{width:40px;height:40px}.auth-card-brand b{font-size:14px}}
/* v3.6.4 guest/public shell alignment and persistent local branding */
.guest-shell .main-shell,.admin-guest-shell .main-shell{margin-left:0}
.guest-shell .topbar,.admin-guest-shell .topbar{left:0}
.guest-shell .menu-button,.admin-guest-shell .menu-button{display:none}
.guest-shell .mobile-brand.public-brand{display:flex}
.guest-shell .topbar-search{margin-left:8px}
@media(max-width:900px){.guest-shell .topbar-search{display:none}.guest-shell .mobile-brand.public-brand{display:flex}.admin-guest-shell .topbar{justify-content:center}}

/* GameLog v3.6.5: compact administrator media, standings cards and catalogue action pills */
.btn.danger-soft{border-color:rgba(251,113,133,.58);background:linear-gradient(135deg,rgba(151,34,58,.82),rgba(112,25,46,.92));color:#fff1f3;box-shadow:0 7px 18px rgba(92,18,37,.22)}
.btn.danger{border-color:#ef476f;background:linear-gradient(135deg,#d92f55,#a8183b);color:#fff}

.admin-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin:0 0 18px}
.admin-kpi-grid>article{display:grid;align-content:start;min-width:0;min-height:108px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(155deg,#131e31,#0d1625);box-shadow:0 10px 26px rgba(0,0,0,.16)}
.admin-kpi-grid>article>span{display:block;color:#aab6c8;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.admin-kpi-grid>article>b{display:block;margin:5px 0 3px;color:#fff;font-size:25px;line-height:1.05;letter-spacing:-.035em;overflow-wrap:anywhere}
.admin-kpi-grid>article>small{display:block;color:var(--muted);font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.standings-admin-kpis>article:nth-child(1),.standings-admin-kpis>article:nth-child(2){border-color:rgba(169,112,255,.3)}
.standings-admin-kpis>article:nth-child(3){border-color:rgba(53,209,125,.28)}
.standings-admin-kpis>article:nth-child(4),.standings-admin-kpis>article:nth-child(5){border-color:rgba(45,212,191,.24)}
.standings-admin-kpis>article:nth-child(6){border-color:rgba(244,201,93,.27)}

.admin-top-game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:10px}
.admin-top-game-grid>a{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:11px;align-items:center;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:#0b1422;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.admin-top-game-grid>a:hover{transform:translateY(-1px);border-color:#5f468d;background:#101a2b}
.admin-top-game-grid>a>img{width:52px!important;height:68px!important;max-width:52px!important;max-height:68px!important;padding:3px;object-fit:contain!important;object-position:center;border-radius:8px;background:#f4f5f7}
.admin-top-game-grid>a>span{display:grid;min-width:0}
.admin-top-game-grid>a b,.admin-top-game-grid>a small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-top-game-grid>a b{font-size:13px}
.admin-top-game-grid>a small{font-size:10px}
.admin-top-game-grid>a>strong{display:grid;place-items:center;min-width:34px;height:28px;padding:0 8px;border-radius:999px;background:#251746;color:#d6c3ff;font-size:11px}

.admin-game-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:14px}
.admin-game-card{display:grid;grid-template-columns:82px minmax(0,1fr);gap:11px 13px;align-items:start;min-width:0;padding:12px;overflow:hidden}
.admin-game-cover-frame{display:grid;place-items:center;width:82px;height:108px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#f3f4f6}
.admin-game-cover-frame>img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;padding:4px;object-fit:contain!important;object-position:center}
.admin-game-card-body{display:grid;align-content:start;min-width:0}
.admin-game-card .status-row{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.admin-game-card h3{margin:7px 0 2px;font-size:18px;line-height:1.18;overflow-wrap:anywhere}
.admin-game-card p{margin:0;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.admin-game-card small{display:block;margin:5px 0 0;font-size:10px;overflow-wrap:anywhere}
.admin-card-actions{grid-column:1/-1;display:flex;align-items:center;gap:6px;min-width:0;padding-top:10px;border-top:1px solid var(--line)}
.admin-card-actions>a,.admin-card-actions>form{flex:1 1 0;min-width:0;margin:0}
.admin-card-actions form{display:flex}
.admin-card-actions .admin-action-pill{width:100%;min-width:0;min-height:31px;padding:6px 7px;border-radius:999px;font-size:10px;font-weight:850;line-height:1;white-space:nowrap;box-shadow:none}
.admin-card-actions .action-analytics{border-color:#31527f;background:#142642;color:#cfe3ff}
.admin-card-actions .action-edit{border-color:#5d4690;background:#271847;color:#e0d2ff}
.admin-card-actions .action-publish{border-color:#26784e;background:#123d2a;color:#bdf5d2}
.admin-card-actions .action-unpublish{border-color:#8a6722;background:#3b2c10;color:#ffe3a0}
.admin-card-actions .action-archive{border-color:#9b3a50;background:#491a27;color:#ffd6de}
.admin-card-actions .admin-action-pill:hover{filter:brightness(1.16);transform:translateY(-1px)}
.status-card-archived{opacity:.88;border-color:rgba(251,113,133,.28)}

.admin-table-cover{width:42px!important;height:54px!important;max-width:42px!important;max-height:54px!important;padding:2px;object-fit:contain!important;border-radius:7px;background:#f4f5f7}
.popular-admin-games>a{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding:7px;border:1px solid transparent;border-radius:10px}
.popular-admin-games>a:hover{border-color:var(--line);background:#0c1625}
.popular-admin-games>a>img{width:46px!important;height:58px!important;max-width:46px!important;max-height:58px!important;padding:2px;object-fit:contain!important;border-radius:7px;background:#f4f5f7}
.popular-admin-games>a>span{display:grid;min-width:0}
.popular-admin-games>a b,.popular-admin-games>a small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.selected-admin-game{grid-template-columns:64px minmax(0,1fr);padding:12px}
.selected-admin-game>img{width:64px!important;height:84px!important;max-width:64px!important;max-height:84px!important;padding:3px;background:#f4f5f7}
.session-admin-hero{grid-template-columns:104px minmax(0,1fr)}
.session-admin-hero>img{width:104px!important;height:138px!important;max-width:104px!important;max-height:138px!important;padding:4px;background:#f4f5f7}
.admin-editor>.section-card{grid-template-columns:200px minmax(0,1fr)}
.editor-cover img{width:200px!important;height:268px!important;max-width:200px!important;max-height:268px!important;padding:5px;object-fit:contain!important;background:#f4f5f7}
.submission-card{grid-template-columns:86px minmax(0,1fr)}
.submission-photo{width:86px;height:112px}
.visitor-game-grid{grid-template-columns:repeat(auto-fill,minmax(115px,1fr))}
.visitor-game-grid img{height:112px!important;max-height:112px!important;padding:3px;background:#f4f5f7}
.admin-photo-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}
.admin-photo-grid>a>img{height:102px!important;max-height:102px!important}
.admin-photo-grid.compact>a>img{height:82px!important;max-height:82px!important}
.admin-user-hero .profile-avatar{width:88px;height:88px;font-size:34px;border-radius:23px}

@media(max-width:1280px){
  .admin-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-game-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}
}
@media(max-width:900px){
  .admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-top-game-grid{grid-template-columns:1fr 1fr}
  .admin-editor>.section-card{grid-template-columns:170px minmax(0,1fr)}
  .editor-cover img{width:170px!important;height:228px!important;max-width:170px!important;max-height:228px!important}
}
@media(max-width:620px){
  .admin-game-grid{grid-template-columns:1fr}
  .admin-top-game-grid{grid-template-columns:1fr}
  .admin-game-card{grid-template-columns:70px minmax(0,1fr)}
  .admin-game-cover-frame{width:70px;height:94px}
  .admin-card-actions{gap:4px}
  .admin-card-actions .admin-action-pill{padding-inline:4px;font-size:9px}
  .admin-editor>.section-card{grid-template-columns:1fr}
  .editor-cover{display:grid;justify-items:center}
  .session-admin-hero{grid-template-columns:76px minmax(0,1fr)}
  .session-admin-hero>img{width:76px!important;height:102px!important;max-width:76px!important;max-height:102px!important}
}
@media(max-width:420px){
  .admin-kpi-grid{grid-template-columns:1fr 1fr!important}
  .admin-kpi-grid>article{min-height:98px;padding:12px}
  .admin-kpi-grid>article>b{font-size:22px}
  .admin-card-actions .admin-action-pill{font-size:8.5px;letter-spacing:-.01em}
}

/* v3.6.6 mobile typography refinement */
@media(max-width:560px){
  body:not(.admin-body){font-size:15px}
  body:not(.admin-body) h1{font-size:clamp(29px,8vw,35px);line-height:1.06;letter-spacing:-.038em}
  body:not(.admin-body) .mobile-brand{font-size:16px}
  body:not(.admin-body) .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:7px}
  body:not(.admin-body) .welcome-row h1{font-size:32px;line-height:1.04;margin-bottom:10px}
  body:not(.admin-body) .welcome-row p{font-size:14px;line-height:1.5}
  body:not(.admin-body) .welcome-actions .btn,
  body:not(.admin-body) .btn.large{font-size:13px}
  body:not(.admin-body) .section-title h2{font-size:18px}
  body:not(.admin-body) .section-title>a,
  body:not(.admin-body) .section-title>button,
  body:not(.admin-body) .shelf-title-actions>a{font-size:14px}
  body:not(.admin-body) .stat-tile{padding:13px}
  body:not(.admin-body) .stat-tile span,
  body:not(.admin-body) .stat-tile small{font-size:10px;line-height:1.35}
  body:not(.admin-body) .stat-tile b{font-size:25px;margin:4px 0}
  body:not(.admin-body) .page-hero.compact h1{font-size:32px}
  body:not(.admin-body) .page-hero p{font-size:14px;line-height:1.5}
  body:not(.admin-body) .detail-copy h1,
  body:not(.admin-body) .history-title h1{font-size:26px}
  body:not(.admin-body) .section-card h2{font-size:18px}
  body:not(.admin-body) .body-copy{font-size:14px}
}
@media(max-width:390px){
  body:not(.admin-body) .welcome-row h1{font-size:30px}
  body:not(.admin-body) .section-title h2{font-size:17px}
  body:not(.admin-body) .section-title>a,
  body:not(.admin-body) .section-title>button,
  body:not(.admin-body) .shelf-title-actions>a{font-size:13px}
}

/* GameLog v3.6.7: accounts, notifications, participant linking, friend profiles, moderation and mobile type */
.notification-shell{position:relative;display:flex;align-items:center}
.notification-button{position:relative;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:11px;background:#101827;color:#fff;font-size:18px}
.notification-button>b{position:absolute;top:-6px;right:-7px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border:2px solid #080d18;border-radius:999px;background:#ef476f;color:#fff;font-size:9px;line-height:1}
.notification-menu{position:absolute;z-index:80;top:calc(100% + 10px);right:0;width:min(390px,calc(100vw - 24px));overflow:hidden;border:1px solid #33415a;border-radius:16px;background:#0b1321;box-shadow:0 22px 60px rgba(0,0,0,.52)}
.notification-menu[hidden]{display:none}
.notification-menu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line);background:#101a2b}
.notification-menu-head .eyebrow{margin:0 0 3px}.notification-menu-head strong{font-size:14px}.notification-menu-head form{margin:0}.notification-menu-head button{padding:4px 0;border:0;background:transparent;color:#b998ff;font-size:11px;font-weight:800}
.notification-preview-list{display:grid;max-height:390px;overflow:auto}
.notification-preview-item{display:grid;grid-template-columns:31px minmax(0,1fr);gap:10px;padding:12px 15px;border-bottom:1px solid rgba(255,255,255,.06);background:#0b1321}
.notification-preview-item:hover{background:#111b2d}.notification-preview-item.unread{background:rgba(124,58,237,.12)}
.notification-preview-item>span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#1a2538;color:#c9b5ff}.notification-preview-item>div{display:grid;min-width:0}.notification-preview-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.notification-preview-item p{margin:2px 0;color:#b9c4d4;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.notification-preview-item small{font-size:9px}
.notification-menu-all{display:block;padding:11px 15px;color:#cdbbff;font-size:11px;font-weight:800;text-align:center;background:#101a2b}

.password-field{position:relative;display:grid}.password-field input{padding-right:62px}.password-field [data-password-toggle]{position:absolute;right:7px;bottom:7px;min-width:48px;height:31px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:#131d2e;color:#c8d2df;font-size:10px;font-weight:800}
.remember-check{display:flex;align-items:flex-start;gap:9px;min-height:38px}.remember-check input{width:17px;height:17px;margin:1px 0 0;flex:0 0 auto}.remember-check span{font-size:12px;font-weight:650;color:#c8d2df}.auth-card-brand{display:flex;align-items:center;gap:11px;margin-bottom:18px}.auth-card-brand img{width:43px;height:43px;border-radius:13px;object-fit:cover}.auth-card-brand strong{font-size:18px}.auth-card-brand small{display:block;font-size:10px}.auth-links{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px;color:#b998ff;font-size:11px}.screenname-field{position:relative}.screenname-field:before{content:"@";position:absolute;z-index:1;left:12px;bottom:12px;color:#b998ff;font-weight:850}.screenname-field input{padding-left:29px}.narrow-settings{width:min(660px,100%)}

.user-lookup-field{position:relative;min-width:0}.user-lookup-results{position:absolute;z-index:75;top:calc(100% + 5px);left:0;right:0;display:grid;max-height:280px;overflow:auto;border:1px solid #35435d;border-radius:12px;background:#0b1321;box-shadow:0 18px 46px rgba(0,0,0,.45)}.user-lookup-results[hidden]{display:none}.user-lookup-option{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;padding:9px 10px;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:#fff;text-align:left}.user-lookup-option:hover,.user-lookup-option:focus{background:#171f35}.user-lookup-option>img,.user-lookup-option>span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;object-fit:cover;background:#34215b;font-weight:850}.user-lookup-option b{font-size:12px}.user-lookup-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}

.friends-layout{align-items:start}.friend-list,.invite-list{display:grid;gap:9px}.friend-list>article,.invite-list>article{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#0b1422;min-width:0}.friend-list>article>div,.invite-list>article>div{display:grid;min-width:0}.friend-list b,.friend-list small,.invite-list b,.invite-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-list .inline-actions,.invite-list .inline-actions{display:flex;align-items:center;gap:6px}.invite-card{min-width:0}.invitation-detail{display:grid;grid-template-columns:128px minmax(0,1fr);gap:22px;padding:22px}.invitation-cover{width:128px;height:170px;padding:4px;border-radius:13px;background:#f4f5f7;object-fit:contain}.invitation-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}

.friend-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border:1px solid rgba(53,209,125,.32);border-radius:999px;background:rgba(53,209,125,.10);color:#8ce9b2;font-size:10px;font-weight:850}.profile-private{padding:30px;text-align:center}.profile-game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.profile-game-card{display:grid;grid-template-rows:150px auto;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#0b1422}.profile-game-card>img{width:100%;height:150px;padding:6px;background:#f4f5f7;object-fit:contain}.profile-game-card>div{display:grid;min-width:0;padding:10px}.profile-game-card b,.profile-game-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-history-list,.profile-feed-list{display:grid;gap:9px}.profile-history-card{display:grid;grid-template-columns:55px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#0b1422}.profile-history-card>img{width:55px;height:72px;padding:3px;border-radius:8px;background:#f4f5f7;object-fit:contain}.profile-history-card>div{display:grid;min-width:0}.profile-history-card b,.profile-history-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-feed-list>article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#0b1422}.feed-mini-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#261847}.profile-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px}.profile-photo-grid [data-lightbox]{display:block;overflow:hidden;border-radius:11px;background:#070d17}.profile-photo-grid img{width:100%;height:118px;object-fit:cover}

.participant-editor{scroll-margin-top:90px}.participant-edit-form{display:grid;gap:9px}.participant-edit-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(200px,1.15fr) minmax(120px,.6fr);align-items:end;gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#0b1422;min-width:0}.participant-edit-row>*{min-width:0}.participant-link-state{display:grid;align-content:center;min-height:42px;color:#aeb9c9;font-size:10px}.participant-edit-actions{display:flex;justify-content:flex-end;margin-top:4px}

.scanner-label{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid rgba(244,201,93,.32);border-radius:999px;background:rgba(244,201,93,.11);color:#ffe29a;font-size:9px;font-weight:850;text-transform:uppercase}.scanner-reason{display:block;max-width:260px;margin-top:4px;color:#d8c997;font-size:9px;overflow-wrap:anywhere}.scanner-alert{display:flex;align-items:flex-start;gap:13px;margin-bottom:16px;padding:15px;border-color:rgba(244,201,93,.32);background:rgba(244,201,93,.08)}.scanner-alert>span{font-size:24px}.scanner-alert p{margin:3px 0 0;color:#d6cba8;font-size:11px}.break-word{overflow-wrap:anywhere;word-break:break-word}

.forum-moderation-filters{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:9px;padding:13px;margin-bottom:15px}.forum-moderation-filters .search-field{grid-column:span 2}.forum-admin-table td{vertical-align:top}.table-truncate{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-moderation-form{display:flex;align-items:center;gap:6px}.compact-moderation-form select{min-width:105px;padding:7px 8px;font-size:10px}.moderator-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:9px}.moderator-grid>article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#0b1422}.moderator-grid>article>div{display:grid;min-width:0}.admin-forum-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:15px;align-items:start}.admin-forum-thread{display:grid;gap:10px}.forum-review-original,.admin-forum-post{padding:16px}.forum-review-author{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.forum-review-body{color:#c4cedb;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.admin-forum-post{border:1px solid var(--line);border-radius:13px;background:#0b1422}.admin-forum-post.staff-reply{border-color:rgba(169,112,255,.38);background:rgba(124,58,237,.09)}.inline-moderation-editor{display:grid;grid-template-columns:130px minmax(150px,1fr) auto;gap:7px;margin-top:11px;padding-top:11px;border-top:1px solid var(--line)}.moderation-note{color:#d8c999;font-size:10px}.forum-report-stack{display:grid;gap:9px}.forum-report-stack>article{padding:11px;border:1px solid var(--line);border-radius:11px;background:#0b1422}.staff-reply-composer textarea{min-height:130px}

@media(max-width:980px){
 .forum-moderation-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.forum-moderation-filters .search-field{grid-column:span 2}
 .admin-forum-detail-grid{grid-template-columns:1fr}.participant-edit-row{grid-template-columns:1fr 1fr}.participant-link-state{grid-column:1/-1}
}
@media(max-width:700px){
 .notification-menu{position:fixed;top:calc(var(--top) - 2px);right:8px;left:8px;width:auto;max-height:calc(100dvh - var(--top) - 90px)}.notification-preview-list{max-height:calc(100dvh - 240px)}
 .invitation-detail{grid-template-columns:84px minmax(0,1fr);gap:14px;padding:15px}.invitation-cover{width:84px;height:112px}.invitation-actions{grid-column:1/-1}.invitation-actions .btn{flex:1}
 .friend-list>article,.invite-list>article{grid-template-columns:40px minmax(0,1fr)}.friend-list .inline-actions,.invite-list .inline-actions{grid-column:1/-1;justify-content:flex-end}
 .profile-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-game-card{grid-template-rows:125px auto}.profile-game-card>img{height:125px}.profile-history-card{grid-template-columns:48px minmax(0,1fr)}.profile-history-card>img{width:48px;height:64px}.profile-history-card>strong{grid-column:2}
 .participant-edit-row{grid-template-columns:1fr}.participant-link-state{grid-column:auto}.participant-edit-actions .btn{width:100%}
 .forum-moderation-filters{grid-template-columns:1fr 1fr}.forum-moderation-filters .search-field{grid-column:1/-1}.inline-moderation-editor{grid-template-columns:1fr}.compact-moderation-form{flex-wrap:wrap}
}

/* This final mobile override intentionally follows every older release rule. It also works with v3.6.7 asset hashes and service-worker cache v26. */
@media(max-width:700px){
 body:not(.admin-body){font-size:14px!important;line-height:1.42}
 body:not(.admin-body) .content{padding-top:17px!important}
 body:not(.admin-body) h1{font-size:28px!important;line-height:1.07!important;letter-spacing:-.035em!important}
 body:not(.admin-body) h2{font-size:20px!important;line-height:1.16!important}
 body:not(.admin-body) h3{font-size:16px!important;line-height:1.2!important}
 body:not(.admin-body) .welcome-row h1{font-size:27px!important;line-height:1.04!important;margin-bottom:8px!important}
 body:not(.admin-body) .welcome-row p{font-size:13px!important;line-height:1.42!important}
 body:not(.admin-body) .page-hero.compact h1,body:not(.admin-body) .page-hero h1{font-size:27px!important}
 body:not(.admin-body) .page-hero p,body:not(.admin-body) .body-copy{font-size:13px!important;line-height:1.55!important}
 body:not(.admin-body) .history-title h1,body:not(.admin-body) .detail-copy h1,body:not(.admin-body) .profile-hero h1{font-size:24px!important}
 body:not(.admin-body) .section-title h2,body:not(.admin-body) .section-card h2{font-size:17px!important}
 body:not(.admin-body) .section-title>a,body:not(.admin-body) .section-title>button,body:not(.admin-body) .shelf-title-actions>a{font-size:12px!important}
 body:not(.admin-body) .eyebrow{font-size:9px!important;letter-spacing:.12em!important}
 body:not(.admin-body) .btn,body:not(.admin-body) .quick-start{font-size:12px!important}
 body:not(.admin-body) .btn.large{font-size:13px!important}
 body:not(.admin-body) .stat-tile b{font-size:23px!important}.stat-tile span,.stat-tile small{font-size:9px!important}
 body:not(.admin-body) .mobile-brand{font-size:15px!important}
 body:not(.admin-body) .mobile-nav a{font-size:10px!important}
 body:not(.admin-body) label{font-size:11px!important}
 body:not(.admin-body) input,body:not(.admin-body) select,body:not(.admin-body) textarea{font-size:16px!important}
}
@media(max-width:390px){
 body:not(.admin-body) h1{font-size:26px!important}
 body:not(.admin-body) .welcome-row h1{font-size:25px!important}
 body:not(.admin-body) .page-hero.compact h1,body:not(.admin-body) .page-hero h1{font-size:25px!important}
 body:not(.admin-body) .history-title h1,body:not(.admin-body) .detail-copy h1,body:not(.admin-body) .profile-hero h1{font-size:22px!important}
 body:not(.admin-body) .section-title h2,body:not(.admin-body) .section-card h2{font-size:16px!important}
}


/* GameLog v3.6.9: safe admin redirects and clickable game links */
.admin-game-title-link{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none;overflow-wrap:anywhere}
.admin-game-title-link:hover,.admin-game-title-link:focus-visible{color:#cfbaff;text-decoration:underline;text-underline-offset:4px}
.admin-game-title-link span{font-size:.62em;color:#a970ff}
.admin-link-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}
.admin-link-field input{min-width:0}
.admin-link-field .btn{white-space:nowrap}
@media(max-width:700px){.admin-link-field{grid-template-columns:1fr}.admin-link-field .btn{width:100%;justify-content:center}}

/* GameLog v3.7.0: guided scorecard setup, editable templates and collection-aware catalogue. */
.scorecard-wizard{display:grid;gap:18px;max-width:1180px;margin:0 auto}.scorecard-wizard-progress{display:flex;align-items:center;gap:12px;padding:16px 20px;position:sticky;top:78px;z-index:12}.scorecard-wizard-progress button{appearance:none;border:0;background:transparent;color:var(--muted,#8f9db1);display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;text-align:left;align-items:center;column-gap:10px;padding:4px;min-width:150px}.scorecard-wizard-progress button span{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#162033;border:1px solid #30415f;font-weight:800}.scorecard-wizard-progress button b{font-size:.95rem;color:#c6d0df}.scorecard-wizard-progress button small{font-size:.75rem}.scorecard-wizard-progress button.active span,.scorecard-wizard-progress button.complete span{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-color:#a78bfa;color:white}.scorecard-wizard-progress button.active b{color:white}.scorecard-wizard-progress button.complete{cursor:pointer}.scorecard-wizard-progress>i{height:1px;background:#2a3851;flex:1}.scorecard-wizard-step{padding:28px;animation:wizard-in .22s ease}.scorecard-wizard-step[hidden]{display:none!important}.scorecard-wizard-step .step-head{margin-bottom:24px}.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid rgba(148,163,184,.16)}@keyframes wizard-in{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}.scorecard-final-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:24px}.template-setup-preview{margin:14px 0 18px;padding:18px;border-radius:16px;background:rgba(91,33,182,.12);border:1px solid rgba(167,139,250,.28)}.template-setup-preview h3{margin:3px 0 8px}.template-setup-preview>p{margin:0 0 12px;color:#b7c2d2}.template-setup-preview section{padding-top:12px;margin-top:12px;border-top:1px solid rgba(167,139,250,.2)}.template-setup-preview section p{white-space:pre-wrap;margin:6px 0 0;overflow-wrap:anywhere}.campaign-setup-panel{margin-top:16px;padding:18px;border-radius:16px;background:rgba(45,212,191,.08);border:1px solid rgba(45,212,191,.2)}
.scorecard-template-grid{align-items:stretch}.template-card{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr);gap:16px}.template-card-copy{min-width:0}.template-source-row{display:flex;justify-content:space-between;gap:10px;align-items:center}.template-source-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#162033;color:#aab7c9}.template-source-badge.mine{background:rgba(45,212,191,.14);color:#5eead4}.template-source-badge.official{background:rgba(139,92,246,.16);color:#c4b5fd}.variant-name{display:inline;font-size:.8rem;color:#9dacbf;font-weight:600}.template-details{margin-top:10px;border-top:1px solid rgba(148,163,184,.14);padding-top:9px}.template-details summary{cursor:pointer;color:#c4b5fd;font-weight:700}.template-details p{white-space:pre-wrap;overflow-wrap:anywhere}.template-card-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.template-card-actions form{margin:0}.user-template-card{border-color:rgba(45,212,191,.28);box-shadow:inset 0 0 0 1px rgba(45,212,191,.06)}.master-template-card{border-color:rgba(139,92,246,.24)}.scorecard-template-form>label{display:block;margin-top:15px}.admin-scorecard-table td small{display:block;color:#8f9db1;margin-top:3px}
.catalog-card.is-added{border-color:#2dd4bf;box-shadow:0 0 0 2px rgba(45,212,191,.13),0 16px 36px rgba(0,0,0,.24)}.catalog-card.is-added:hover{border-color:#5eead4}.cover-badge.added{background:#0f766e;color:white;border:1px solid #5eead4;box-shadow:0 5px 18px rgba(13,148,136,.35)}
.scorecard-rules-card{margin-bottom:16px;border-color:rgba(167,139,250,.25)}.scorecard-rules-card details+details{margin-top:12px}.scorecard-rules-card summary{cursor:pointer;font-weight:800;color:#c4b5fd}.scorecard-rules-card p{white-space:pre-wrap;overflow-wrap:anywhere;color:#c0cada}
@media(max-width:800px){.scorecard-wizard-progress{top:64px;padding:10px;gap:5px;overflow-x:auto}.scorecard-wizard-progress button{min-width:44px;display:flex;gap:6px;justify-content:center}.scorecard-wizard-progress button b,.scorecard-wizard-progress button small{display:none}.scorecard-wizard-progress>i{min-width:18px}.scorecard-wizard-step{padding:18px 14px}.scorecard-final-grid{grid-template-columns:1fr}.wizard-actions{position:sticky;bottom:72px;background:linear-gradient(180deg,rgba(8,13,24,0),#080d18 22%);margin-left:-14px;margin-right:-14px;padding:28px 14px 10px;z-index:8}.wizard-actions .btn{font-size:.9rem}.template-card{grid-template-columns:64px minmax(0,1fr)}.template-card-actions{display:grid;grid-template-columns:1fr}.template-card-actions .btn,.template-card-actions form,.template-card-actions button{width:100%}.template-source-row{align-items:flex-start;flex-direction:column}.admin-scorecard-table{min-width:920px}}

/* GameLog v3.7.1: compact Admin Scorecards artwork and contained table scrolling. */
.admin-scorecard-table-wrap{
  width:100%;
  max-width:100%;
  max-height:min(68vh,760px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scrollbar-gutter:stable both-edges;
  border:1px solid var(--line);
  border-radius:14px;
  background:#0b1321;
}
.admin-scorecard-table{min-width:1040px;margin:0}
.admin-scorecard-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  background:#101a2a;
  box-shadow:0 1px 0 var(--line);
}
.admin-scorecard-table .scorecard-box-column{
  width:68px;
  min-width:68px;
  max-width:68px;
  text-align:center;
  padding-left:10px;
  padding-right:10px;
}
.admin-scorecard-cover-link{display:inline-flex;border-radius:8px;outline:0}
.admin-scorecard-cover-link:focus-visible{box-shadow:0 0 0 3px rgba(124,58,237,.35)}
.admin-scorecard-cover{
  display:block;
  width:44px;
  height:58px;
  max-width:44px;
  max-height:58px;
  object-fit:contain;
  object-position:center;
  border-radius:6px;
  border:1px solid rgba(148,163,184,.2);
  background:#080d16;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
}
.admin-scorecard-cover-link:hover .admin-scorecard-cover{border-color:rgba(169,112,255,.7);transform:translateY(-1px)}
.admin-table-scroll-note{display:none;margin:-4px 0 8px;color:#8f9db1;font-size:11px;text-align:right}
@media(max-width:900px){
  .admin-table-scroll-note{display:block}
  .admin-scorecard-table-wrap{max-height:65vh;border-radius:11px}
  .admin-scorecard-table{min-width:1000px}
}

/* GameLog v3.7.2: scorecard quick-add, mobile setup spacing and finish-result overflow repair. */
.player-row.quick-added{border-radius:12px;animation:quick-player-added 1.05s ease}
@keyframes quick-player-added{0%,100%{box-shadow:none;background:transparent}20%,70%{box-shadow:0 0 0 2px rgba(45,212,191,.35);background:rgba(45,212,191,.08)}}

body.modal-open{overflow:hidden}
#finish-game.modal{
  width:min(860px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px);
  margin:auto;
  overflow:hidden;
}
#finish-game .finish-result-form{
  width:100%;
  max-width:100%;
  max-height:calc(100dvh - 32px);
  min-width:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
#finish-game .finish-result-form>*,
#finish-game .form-grid,
#finish-game .outcome-picker,
#finish-game .campaign-finish-fields,
#finish-game .placement-entry-list,
#finish-game .time-entry-list,
#finish-game .character-progress-row,
#finish-game label,
#finish-game div,
#finish-game section{min-width:0;max-width:100%}
#finish-game input,#finish-game select,#finish-game textarea,#finish-game button{min-width:0;max-width:100%}
#finish-game textarea{overflow-wrap:anywhere;word-break:break-word}
#finish-game .outcome-picker{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}
#finish-game .placement-entry-list label,#finish-game .time-entry-list label{width:100%;overflow:hidden}
#finish-game .character-progress-row>input{width:100%}

@media(max-width:800px){
  .scorecard-wizard-progress{
    position:sticky;
    top:calc(var(--top) + env(safe-area-inset-top));
    z-index:24;
    padding:9px 12px;
    gap:7px;
    overflow:visible;
    border-radius:14px;
    box-shadow:0 12px 28px rgba(0,0,0,.38);
  }
  .scorecard-wizard-progress button{flex:0 0 auto;min-width:42px;padding:2px}
  .scorecard-wizard-progress button span{width:32px;height:32px}
  .scorecard-wizard-progress>i{min-width:14px;max-width:52px}
  .scorecard-wizard-step{scroll-margin-top:calc(var(--top) + env(safe-area-inset-top) + 72px)}
  .scorecard-wizard-step[data-wizard-step="1"]{padding-bottom:calc(132px + env(safe-area-inset-bottom))}
  .scorecard-wizard-step[data-wizard-step="1"] .friend-chips{margin-bottom:28px;padding-bottom:10px}
  .scorecard-wizard-step .wizard-actions{
    bottom:calc(82px + env(safe-area-inset-bottom));
    margin-top:32px;
    padding-top:30px;
    padding-bottom:12px;
    background:linear-gradient(180deg,rgba(8,13,24,0),rgba(8,13,24,.97) 28%);
  }
  #finish-game.modal{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
  #finish-game .finish-result-form{max-height:calc(100dvh - 20px);padding:22px 16px calc(22px + env(safe-area-inset-bottom));scrollbar-gutter:auto}
}

@media(max-width:560px){
  .scorecard-wizard-progress{margin-inline:-2px}
  .scorecard-wizard-progress>i{flex:1 1 16px}
  .scorecard-wizard-step[data-wizard-step="1"]{padding-bottom:calc(148px + env(safe-area-inset-bottom))}
  .scorecard-wizard-step .wizard-actions{display:grid;grid-template-columns:1fr;bottom:calc(76px + env(safe-area-inset-bottom));margin-left:-14px;margin-right:-14px;padding-inline:14px}
  .scorecard-wizard-step .wizard-actions>span:empty{display:none}
  .scorecard-wizard-step .wizard-actions .btn{width:100%}
  #finish-game.modal{width:calc(100vw - 10px);max-width:calc(100vw - 10px);max-height:calc(100dvh - 10px)}
  #finish-game .finish-result-form{max-height:calc(100dvh - 10px);padding:20px 12px calc(24px + env(safe-area-inset-bottom));border-radius:15px}
  #finish-game .modal-close{position:sticky;float:right;top:0;margin-left:auto;z-index:3}
  #finish-game h2{padding-right:38px;font-size:1.45rem;overflow-wrap:anywhere}
  #finish-game .form-grid.two,#finish-game .form-grid.three,#finish-game .form-grid.four{grid-template-columns:minmax(0,1fr)}
  #finish-game .outcome-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  #finish-game .outcome-picker span{min-height:58px;padding:8px 5px;font-size:.82rem;text-align:center}
  #finish-game .character-progress-row{grid-template-columns:minmax(0,1fr)}
  #finish-game .character-progress-row>div{grid-column:auto}
  #finish-game .placement-entry-list label{grid-template-columns:34px minmax(0,1fr) 70px;padding:8px 6px}
  #finish-game .time-entry-list label{grid-template-columns:34px minmax(0,1fr);padding:8px 6px}
  #finish-game .time-entry-list label input{grid-column:2;width:100%}
  #finish-game .btn.large{white-space:normal;text-align:center}
}

/* Step 1 keeps its Continue action in document flow so it can never cover Quick Add controls. */
@media(max-width:800px){
  .scorecard-wizard-step[data-wizard-step="1"]{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .scorecard-wizard-step[data-wizard-step="1"] .friend-chips{margin-bottom:34px;padding-bottom:4px}
  .scorecard-wizard-step[data-wizard-step="1"] .wizard-actions{position:relative;bottom:auto;margin-top:30px;background:none;padding-top:22px;padding-bottom:0}
}
@media(max-width:560px){
  .scorecard-wizard-step[data-wizard-step="1"]{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
}

/* GameLog v3.7.3: administrator session deletion controls. */
.admin-session-row-actions{display:flex;align-items:center;gap:.45rem;white-space:nowrap}
.admin-session-row-actions form,.admin-actions .inline-form{margin:0;display:inline-flex}
.admin-session-row-actions .btn{min-height:34px}
@media(max-width:760px){
  .admin-session-row-actions{align-items:stretch;flex-direction:column;white-space:normal;min-width:112px}
  .admin-session-row-actions .btn{width:100%;justify-content:center}
}


/* GameLog v3.7.4: seven-day session recycle bin, sortable users and mobile PWA install banner. */
.admin-tab-bar{display:flex;align-items:center;gap:8px;padding:8px;margin-bottom:14px;overflow-x:auto}
.admin-tab-bar a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 14px;border-radius:999px;color:var(--muted);font-weight:800;white-space:nowrap;text-decoration:none}
.admin-tab-bar a:hover,.admin-tab-bar a.active{background:rgba(124,58,237,.18);color:#fff}
.admin-tab-bar a b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(251,113,133,.18);color:#fda4af;font-size:.75rem}
.recycle-bin-note{margin:0 0 14px}
.session-trash-table-wrap{max-width:100%;overflow:auto}
.session-trash-table{min-width:1080px}
.session-trash-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:rgba(124,58,237,.16);color:#c4b5fd;font-size:1.25rem;font-weight:900}
.admin-action-note{align-self:center;color:var(--muted);font-size:.75rem;white-space:nowrap}
.status-warning{background:rgba(245,158,11,.16);color:#fbbf24;border-color:rgba(245,158,11,.35)}
.status-danger{background:rgba(244,63,94,.15);color:#fda4af;border-color:rgba(244,63,94,.35)}
.admin-head-metrics{display:flex;align-items:center;gap:10px}
.admin-head-metrics span{display:flex;align-items:baseline;gap:6px;padding:9px 13px;border-radius:12px;background:rgba(255,255,255,.045);color:var(--muted)}
.admin-head-metrics b{color:#fff;font-size:1.05rem}
.admin-user-filters{align-items:end}
.admin-users-table-wrap{max-width:100%;overflow:auto}
.admin-users-table{min-width:1450px}
.admin-users-table td,.admin-users-table th{vertical-align:middle}
.table-sort-link{display:inline-flex;align-items:center;color:inherit;text-decoration:none;white-space:nowrap}
.table-sort-link:hover{color:#c4b5fd}
.admin-user-row-actions{display:flex;align-items:center;gap:8px;min-width:185px}
.admin-user-row-actions form{margin:0}
.admin-user-row-actions select{min-width:104px}

.pwa-install-banner{position:fixed;z-index:1200;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));display:none;align-items:flex-start;gap:12px;max-width:620px;margin:0 auto;padding:13px;border:1px solid rgba(169,112,255,.4);border-radius:18px;background:rgba(8,13,24,.97);box-shadow:0 18px 50px rgba(0,0,0,.45);backdrop-filter:blur(18px);transform:translateY(24px);opacity:0;transition:opacity .2s ease,transform .2s ease}
.authenticated-shell .pwa-install-banner{bottom:calc(88px + env(safe-area-inset-bottom))}
.pwa-install-banner.is-visible{transform:translateY(0);opacity:1}
.pwa-install-banner>img{flex:0 0 42px;width:42px;height:42px;border-radius:12px;object-fit:contain;background:#111827;padding:4px}
.pwa-install-copy{min-width:0;flex:1}
.pwa-install-copy b{display:block;color:#fff;font-size:.93rem;line-height:1.25}
.pwa-install-copy p{margin:3px 0 0;color:var(--muted);font-size:.78rem;line-height:1.35}
.pwa-ios-steps{display:grid;gap:4px;margin-top:9px;padding:9px 10px;border-radius:11px;background:rgba(255,255,255,.05);color:#dbeafe;font-size:.76rem}
.pwa-install-actions{display:flex;align-items:flex-start;gap:5px}
.pwa-install-dismiss{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:1.15rem;cursor:pointer}
.pwa-install-dismiss:hover{background:rgba(255,255,255,.08);color:#fff}

@media (max-width:900px){
  .pwa-install-banner{display:flex}
  .admin-user-filters{display:grid;grid-template-columns:1fr 1fr}
  .admin-user-filters .search-field{grid-column:1/-1}
  .admin-user-filters .btn{width:100%}
}
@media (max-width:560px){
  .pwa-install-banner{left:8px;right:8px;padding:11px;gap:9px;border-radius:15px}
  .pwa-install-banner>img{width:38px;height:38px;flex-basis:38px}
  .pwa-install-actions{flex-direction:column-reverse;align-items:flex-end}
  .pwa-install-actions .btn{min-height:36px;padding:7px 10px;font-size:.75rem}
  .pwa-install-dismiss{width:28px;height:28px}
  .admin-user-filters{grid-template-columns:1fr}
  .admin-user-filters .search-field{grid-column:auto}
}
@media (min-width:901px){.pwa-install-banner{display:none!important}}
@media (display-mode:standalone),(display-mode:fullscreen){.pwa-install-banner{display:none!important}}
/* v3.7.4 release hardening: expanded administrator user details. */
.admin-users-table{min-width:1580px}
.admin-user-email{display:block;max-width:250px;overflow-wrap:anywhere;word-break:break-word}

/* v3.7.6 My Games removal controls */
.library-actions .library-remove-button{min-height:34px;padding:7px 11px;white-space:nowrap}
.game-detail-hero .hero-actions .btn.danger-soft{white-space:normal;text-align:center}
@media(max-width:560px){.library-actions .library-remove-button{flex:1 1 86px}.game-detail-hero .hero-actions .inline-form{width:100%}.game-detail-hero .hero-actions .inline-form .btn{width:100%}}

/* v3.7.7 scorekeeper game source picker and private custom games */
.scorecard-picker-hero{align-items:center}.scorecard-picker-hero .hero-actions{flex:0 0 auto}.scorecard-source-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px;margin-bottom:16px}.scorecard-source-tabs a,.scorecard-source-tabs button{min-width:0;display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid transparent;border-radius:14px;background:#0b1424;color:#cbd5e1;text-align:left;cursor:pointer;text-decoration:none}.scorecard-source-tabs a>span,.scorecard-source-tabs button>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#17233a;color:#c4b5fd;font-size:18px;font-weight:900}.scorecard-source-tabs div{min-width:0;display:grid}.scorecard-source-tabs b{color:#f8fafc}.scorecard-source-tabs small{color:var(--muted);font-size:11px}.scorecard-source-tabs a:hover,.scorecard-source-tabs button:hover,.scorecard-source-tabs a.active{border-color:rgba(167,139,250,.58);background:rgba(91,33,182,.16)}.scorecard-source-tabs a.active>span{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:white}.game-choice-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.game-choice-heading h2{margin:3px 0 0}.picker-game{position:relative}.picker-game>em{position:absolute;top:7px;left:7px;z-index:2;padding:5px 8px;border-radius:99px;background:#6d28d9;color:white;font-size:9px;font-style:normal;font-weight:900;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 5px 16px rgba(0,0,0,.4)}.picker-game>em.added{background:#0f766e}.picker-game.custom-game-card{border-color:rgba(167,139,250,.38);background:linear-gradient(180deg,rgba(91,33,182,.16),#0a1120)}.picker-game.custom-game-card img{object-fit:contain;background:#0a1020}.scorecard-picker-empty{padding:44px 18px;text-align:center}.scorecard-picker-empty>span{width:62px;height:62px;margin:0 auto 14px;display:grid;place-items:center;border-radius:20px;background:rgba(139,92,246,.16);color:#c4b5fd;font-size:30px}.scorecard-picker-empty h3{margin:0 0 7px}.scorecard-picker-empty p{max-width:520px;margin:0 auto 18px;color:var(--muted)}.scorecard-picker-empty>div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.custom-scorecard-modal .modal-card{width:min(620px,calc(100vw - 28px));max-height:min(820px,calc(100dvh - 28px));overflow:auto}.custom-scorecard-form>p{color:var(--muted);margin-top:0}.custom-library-choice{margin:16px 0;padding:14px;border:1px solid rgba(167,139,250,.24);border-radius:14px;background:rgba(91,33,182,.08);align-items:flex-start}.custom-library-choice input{margin-top:4px}.custom-library-choice span{display:grid;gap:3px}.custom-library-choice small{color:var(--muted);font-size:11px}.custom-placeholder-preview{display:flex;align-items:center;gap:14px;margin:15px 0 19px;padding:12px;border:1px solid rgba(45,212,191,.18);border-radius:14px;background:rgba(45,212,191,.055)}.custom-placeholder-preview img{width:54px;height:72px;object-fit:contain;border-radius:8px}.custom-placeholder-preview div{display:grid;gap:3px}.custom-placeholder-preview small{color:var(--muted);font-size:11px}
@media(max-width:700px){.scorecard-picker-hero{display:grid}.scorecard-picker-hero .hero-actions,.scorecard-picker-hero .btn{width:100%}.scorecard-source-tabs{grid-template-columns:1fr 1fr;padding:8px;gap:7px}.scorecard-source-tabs button{grid-column:1/-1}.scorecard-source-tabs a,.scorecard-source-tabs button{padding:10px;gap:8px}.scorecard-source-tabs a>span,.scorecard-source-tabs button>span{width:32px;height:32px}.game-choice-heading{align-items:flex-start}.game-choice-heading h2{font-size:1.15rem}.custom-scorecard-modal .modal-card{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:19px 15px}.custom-scorecard-form .form-grid.two{grid-template-columns:1fr}.custom-placeholder-preview{align-items:flex-start}}
.cover-badge.custom{background:#6d28d9;color:#fff}.catalog-card:has(.cover-badge.custom){border-color:rgba(167,139,250,.4)}.catalog-card:has(.cover-badge.custom) .catalog-cover img{object-fit:contain;background:#090f1c}


/* v3.7.8 viewport-responsive custom scorecard modal */
.custom-scorecard-modal{
  width:min(92vw,680px);
  max-width:92vw;
  height:auto;
  max-height:92vh;
  max-height:92dvh;
  margin:auto;
  padding:0;
  overflow:hidden;
  border-radius:clamp(14px,1.5vw,20px);
}
.custom-scorecard-modal[open]{display:block}
.custom-scorecard-modal .custom-scorecard-form{
  width:100%;
  min-width:0;
  max-width:100%;
  height:auto;
  max-height:92vh;
  max-height:92dvh;
  padding:0;
  gap:0;
  grid-template-rows:minmax(0,1fr) auto;
  overflow:hidden;
}
.custom-scorecard-scroll{
  min-width:0;
  min-height:0;
  max-width:100%;
  padding:clamp(20px,2.4vw,30px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
.custom-scorecard-scroll>*{min-width:0;max-width:100%}
.custom-scorecard-scroll h2{padding-right:44px;font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.15;overflow-wrap:anywhere}
.custom-scorecard-scroll>p{margin:0 0 2px;color:var(--muted);font-size:clamp(.82rem,1.1vw,.95rem)}
.custom-scorecard-scroll label,.custom-scorecard-scroll input,.custom-scorecard-scroll select{min-width:0;max-width:100%}
.custom-scorecard-scroll .form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.custom-scorecard-modal .modal-close{top:clamp(12px,1.6vw,18px);right:clamp(12px,1.6vw,18px);z-index:5}
.custom-library-choice{display:grid;grid-template-columns:auto minmax(0,1fr);width:100%}
.custom-library-choice input{width:18px;height:18px;margin:2px 0 0}
.custom-library-choice span,.custom-placeholder-preview>div{min-width:0;overflow-wrap:anywhere}
.custom-placeholder-preview{display:grid;grid-template-columns:clamp(44px,6vw,54px) minmax(0,1fr);width:100%}
.custom-placeholder-preview img{width:100%;height:auto;max-height:72px}
.custom-scorecard-actions{
  flex:0 0 auto;
  padding:clamp(12px,1.6vw,18px) clamp(16px,2.4vw,30px);
  padding-bottom:max(clamp(12px,1.6vw,18px),env(safe-area-inset-bottom));
  border-top:1px solid var(--line);
  background:rgba(10,17,30,.97);
  box-shadow:0 -12px 28px rgba(0,0,0,.18);
}
.custom-scorecard-actions .btn{max-width:100%;white-space:normal;text-align:center}
@media(max-width:700px){
  .custom-scorecard-modal{
    width:96vw;
    max-width:96vw;
    max-height:96vh;
    max-height:calc(100dvh - max(10px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom)));
  }
  .custom-scorecard-modal .custom-scorecard-form{
    max-height:96vh;
    max-height:calc(100dvh - max(10px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom)));
  }
  .custom-scorecard-scroll{padding:18px 14px 16px}
  .custom-scorecard-scroll h2{font-size:clamp(1.25rem,6vw,1.55rem);padding-right:40px}
  .custom-scorecard-scroll .form-grid.two{grid-template-columns:1fr}
  .custom-library-choice{margin:13px 0;padding:12px}
  .custom-placeholder-preview{margin:12px 0 0;padding:10px;gap:11px}
  .custom-scorecard-actions{padding:11px 14px;padding-bottom:max(11px,env(safe-area-inset-bottom))}
  .custom-scorecard-actions .btn{min-height:46px;padding:11px 13px;font-size:.88rem}
}
@media(max-width:360px), (max-height:600px){
  .custom-scorecard-scroll{padding-top:15px;padding-bottom:13px}
  .custom-scorecard-scroll .eyebrow{margin-bottom:5px;font-size:9px}
  .custom-scorecard-scroll h2{margin-bottom:9px;font-size:1.2rem}
  .custom-scorecard-scroll>p{font-size:.78rem}
  .custom-library-choice{margin:10px 0}
  .custom-placeholder-preview{display:none}
}


/* v3.7.10 account validation without password length restriction */
.auth-form-intro{margin:-4px 0 14px}
.form-stack label.has-error{color:#fecaca}
.form-stack input.field-invalid,.form-stack select.field-invalid,.form-stack textarea.field-invalid{border-color:#ef4444!important;background:rgba(127,29,29,.16)!important;box-shadow:0 0 0 3px rgba(239,68,68,.16)!important}
.password-field input.field-invalid,.screenname-field input.field-invalid{border-color:#ef4444!important}
.field-error{display:block;margin-top:5px;color:#fda4af!important;font-size:11px!important;font-weight:750;line-height:1.35;text-transform:none;letter-spacing:0}
.field-error[hidden]{display:none!important}
.form-stack input[aria-invalid="true"]:focus{border-color:#fb7185!important;box-shadow:0 0 0 4px rgba(251,113,133,.18)!important}
@media(max-width:560px){.field-error{font-size:10.5px!important}.auth-form-intro{font-size:12px}}


/* v3.7.11 neutral signup placeholders and viewport-responsive authentication */
body.guest-shell{min-width:0;max-width:100%;overflow-x:hidden}
.guest-shell .app-shell,.guest-shell .main-shell{width:100%;max-width:100%;min-width:0;min-height:100vh;min-height:100dvh}
.guest-shell .topbar{width:100vw;max-width:100%;padding-inline:clamp(9px,2.4vw,26px);gap:clamp(7px,1.8vw,18px)}
.guest-shell .mobile-brand.public-brand{min-width:0;max-width:min(46vw,260px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guest-shell .top-actions{min-width:0;gap:clamp(6px,1.2vw,10px)}
.guest-shell .content{width:100%;max-width:100vw;min-width:0;min-height:calc(100vh - var(--top));min-height:calc(100dvh - var(--top));padding:clamp(12px,2.5vh,28px) clamp(12px,3vw,32px) clamp(24px,5vh,64px);overflow-x:hidden}
.guest-shell .single-auth{width:100%;max-width:100%;min-width:0;min-height:calc(100vh - var(--top) - 52px);min-height:calc(100dvh - var(--top) - 52px);padding:clamp(4px,1.5vh,18px) 0;align-items:center;justify-items:center}
.register-auth .auth-card{width:min(500px,calc(100vw - 32px));max-width:100%;min-width:0;padding:clamp(20px,3vw,32px)}
.register-auth .auth-card h1{font-size:clamp(1.7rem,3.8vw,1.95rem)}
.register-auth .form-stack{gap:clamp(11px,1.8vh,15px)}
.register-auth label,.register-auth input,.register-auth .password-field,.register-auth .screenname-field{min-width:0;max-width:100%}
.screenname-field{position:relative;min-width:0}
.screenname-field:before{content:none!important}
.screenname-prefix{position:absolute;z-index:2;left:12px;top:50%;transform:translateY(-50%);color:#b998ff;font-weight:850;line-height:1;pointer-events:none}
.screenname-field input{width:100%;min-width:0;padding-left:29px}
@media(max-width:560px){
  .guest-shell .content{padding:clamp(9px,1.8vh,16px) clamp(8px,2.5vw,12px) clamp(20px,4vh,42px)}
  .guest-shell .single-auth{min-height:calc(100svh - var(--top) - 28px);min-height:calc(100dvh - var(--top) - 28px);padding:clamp(2px,1vh,10px) 0;align-items:start}
  .register-auth .auth-card{width:calc(100vw - 18px);max-width:calc(100vw - 18px);padding:clamp(16px,4.5vw,22px);border-radius:clamp(14px,4vw,18px)}
  .register-auth .auth-card-brand{margin-bottom:clamp(12px,2vh,18px);padding-bottom:clamp(10px,1.8vh,15px)}
  .register-auth .auth-card h1{margin-bottom:clamp(9px,1.5vh,14px);font-size:clamp(1.55rem,7vw,1.8rem)}
  .register-auth .auth-form-intro{margin-bottom:clamp(10px,1.8vh,14px)}
  .register-auth .form-stack{gap:clamp(10px,1.55vh,13px)}
  .register-auth input{padding-block:clamp(9px,1.45vh,11px)}
  .guest-shell .top-actions .btn{padding:8px clamp(8px,2.7vw,12px);font-size:clamp(10px,2.9vw,12px);white-space:nowrap}
}
@media(max-width:365px){
  .guest-shell .mobile-brand.public-brand{max-width:38vw;font-size:13px}
  .guest-shell .mobile-brand.public-brand img{width:25px;height:25px}
  .guest-shell .top-actions{gap:4px}
  .guest-shell .top-actions .btn{padding-inline:7px;font-size:10px}
  .register-auth .auth-card{width:calc(100vw - 12px);max-width:calc(100vw - 12px);padding:15px 13px}
}
@media(min-width:861px) and (max-height:760px){
  .guest-shell .content{padding-top:clamp(10px,1.5vh,18px);padding-bottom:clamp(16px,2.5vh,28px)}
  .guest-shell .single-auth{align-items:start;min-height:calc(100dvh - var(--top) - 30px)}
  .register-auth .auth-card{padding:22px 28px}
  .register-auth .auth-card-brand{margin-bottom:12px;padding-bottom:11px}
  .register-auth .auth-card h1{margin-bottom:9px;font-size:1.72rem}
  .register-auth .auth-form-intro{margin-bottom:10px}
  .register-auth .form-stack{gap:10px}
  .register-auth input{padding-block:9px}
}


/* v3.7.12 mobile sign-in Create Account navigation repair */
.auth-page .pwa-install-banner{display:none!important}
.login-auth .auth-card{position:relative;isolation:isolate;width:min(500px,calc(100vw - 32px));max-width:100%;min-width:0}
.login-auth-links{position:relative;z-index:20;align-items:stretch;flex-wrap:wrap}
.login-auth-links a{position:relative;z-index:21;min-height:44px;touch-action:manipulation;pointer-events:auto;-webkit-tap-highlight-color:rgba(169,112,255,.22)}
.login-auth-links .auth-secondary-link{display:inline-flex;align-items:center;padding:9px 2px}
.login-auth-links .auth-create-account{min-width:150px;flex:0 1 auto}
.guest-shell .top-actions{position:relative;z-index:30}
.guest-shell .top-actions>a{position:relative;z-index:31;pointer-events:auto;touch-action:manipulation}
@media(max-width:560px){
  .login-auth{width:100%;max-width:100%;min-height:calc(100svh - var(--top) - 28px);min-height:calc(100dvh - var(--top) - 28px);padding:clamp(2px,1vh,10px) 0;align-items:start}
  .login-auth .auth-card{width:calc(100vw - 18px);max-width:calc(100vw - 18px);padding:clamp(18px,4.5vw,24px);border-radius:clamp(14px,4vw,18px)}
  .login-auth-links{display:grid;grid-template-columns:1fr;gap:9px;margin-top:15px}
  .login-auth-links .auth-secondary-link,.login-auth-links .auth-create-account{width:100%;min-width:0;justify-content:center;text-align:center}
  .login-auth-links .auth-secondary-link{min-height:42px;border:1px solid var(--line);border-radius:11px;background:#111a2a;color:#d9c7ff;font-weight:750}
  .login-auth-links .auth-create-account{min-height:48px}
}
@media(max-width:365px){
  .login-auth .auth-card{width:calc(100vw - 12px);max-width:calc(100vw - 12px);padding:16px 13px}
}


/* v3.7.13 iOS Safari drawer and Add to Home Screen reliability */
@media(max-width:860px){
  .sidebar{
    top:var(--visual-viewport-offset-top,0px);
    bottom:auto;
    height:var(--visual-viewport-height,100dvh);
    min-height:min(100svh,var(--visual-viewport-height,100dvh));
    max-height:var(--visual-viewport-height,100dvh);
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    padding-top:max(18px,env(safe-area-inset-top));
    padding-bottom:max(22px,calc(14px + env(safe-area-inset-bottom)));
    touch-action:pan-y;
  }
  .sidebar.open{z-index:1600;visibility:visible;pointer-events:auto}
  .side-nav{flex:0 0 auto;padding-bottom:14px}
  .side-nav a{position:relative;z-index:1;min-height:46px;flex:0 0 auto;touch-action:manipulation}
  .sidebar-user{flex:0 0 auto;margin-top:12px;padding-bottom:max(4px,env(safe-area-inset-bottom))}
  body.sidebar-open{overflow:hidden}
  body.sidebar-open .pwa-install-banner{pointer-events:none!important;opacity:0!important;transform:translateY(110%)!important}
  body.sidebar-open .mobile-nav{pointer-events:none}
  .pwa-install-banner{
    width:min(620px,calc(100vw - 16px));
    max-width:calc(100vw - 16px);
    max-height:min(58dvh,430px);
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    z-index:1200;
  }
}
@media(max-width:560px){
  .pwa-install-banner{bottom:calc(82px + env(safe-area-inset-bottom));max-height:min(62dvh,420px)}
}
@supports not (height:100dvh){
  @media(max-width:860px){.sidebar{height:var(--visual-viewport-height,100vh);max-height:var(--visual-viewport-height,100vh)}}
}

/* v3.8.0 rebuilt user experience, persistent pause/resume and live participant view */
.authenticated-shell .content{max-width:1500px;width:100%;overflow-x:hidden}
.authenticated-shell .btn{min-height:44px;padding:10px 16px;border-radius:12px;font-weight:800;line-height:1.15}
.authenticated-shell .btn.large{min-height:50px;padding:13px 20px}
.authenticated-shell .btn.xl{min-height:56px;padding:15px clamp(22px,3vw,36px);font-size:clamp(.98rem,1.4vw,1.08rem)}
.authenticated-shell button,.authenticated-shell a{-webkit-tap-highlight-color:transparent}
.app-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(14px,2.2vw,24px);padding:clamp(16px,2.3vw,26px)}
.app-hero>img{width:clamp(58px,7vw,84px);height:clamp(78px,9vw,108px);object-fit:contain;border-radius:12px;background:#0b1322}
.app-hero h1{margin:2px 0 4px;font-size:clamp(1.35rem,2.4vw,2rem)}
.app-hero p{margin:0;color:var(--muted)}

/* Group secondary destinations so the user sidebar feels like an app menu. */
.app-side-nav{display:grid;gap:8px;overflow-y:auto;overscroll-behavior:contain;padding-bottom:12px}
.side-nav-section{display:grid;gap:4px}
.side-nav-section>small{padding:7px 13px 2px;color:#64748b;font-size:9px;font-weight:900;letter-spacing:.14em}
.side-nav-group{border:1px solid transparent;border-radius:14px}
.side-nav-group[open]{background:rgba(255,255,255,.025);border-color:rgba(148,163,184,.08)}
.side-nav-group summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 12px;color:#aebad0;font-size:.83rem;font-weight:800;cursor:pointer;list-style:none;border-radius:13px}
.side-nav-group summary::-webkit-details-marker{display:none}
.side-nav-group summary>span{width:24px;text-align:center;color:#a970ff}
.side-nav-group summary>i{margin-left:auto;font-style:normal;transition:transform .18s ease}
.side-nav-group[open] summary>i{transform:rotate(180deg)}
.side-nav-group>div{display:grid;gap:3px;padding:0 5px 6px}
.side-nav-group>div a{min-height:40px;padding:8px 10px 8px 18px;font-size:.82rem}
.side-nav .primary-nav-action{background:linear-gradient(135deg,rgba(124,58,237,.28),rgba(45,212,191,.12));border:1px solid rgba(167,139,250,.24);color:#fff}

/* Scorecard start: one clear decision at a time. */
.streamlined-scorecard-setup{max-width:980px;margin-inline:auto;display:grid;gap:14px}
.streamlined-scorecard-setup .scorecard-wizard-progress{position:sticky;top:calc(var(--visual-top,0px) + 74px);z-index:35;margin:0;padding:8px 12px;background:rgba(8,13,24,.96);backdrop-filter:blur(16px)}
.streamlined-scorecard-setup .scorecard-wizard-progress button{min-height:46px}
.streamlined-scorecard-setup .scorecard-wizard-progress small{display:none}
.streamlined-scorecard-setup .scorecard-wizard-step{min-height:min(610px,calc(100dvh - 210px));padding:clamp(18px,3vw,34px);display:grid;align-content:start;gap:20px}
.streamlined-scorecard-setup .step-head{margin-bottom:2px}
.streamlined-scorecard-setup .step-head h2{font-size:clamp(1.35rem,2.8vw,1.85rem);margin-bottom:4px}
.streamlined-scorecard-setup .step-head p{max-width:680px;margin:0;color:var(--muted)}
.streamlined-player-builder{display:grid;gap:10px}
.streamlined-player-row{display:grid;grid-template-columns:38px minmax(180px,1fr) minmax(130px,.42fr) 42px;align-items:center;gap:10px;padding:10px;border:1px solid rgba(148,163,184,.14);border-radius:15px;background:rgba(7,13,24,.72)}
.streamlined-player-row:focus-within{border-color:rgba(167,139,250,.55);box-shadow:0 0 0 3px rgba(124,58,237,.1)}
.player-number{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(124,58,237,.2);color:#d8c9ff;font-weight:900}
.player-primary-field{min-width:0}.player-primary-field input{min-height:50px;font-size:1rem;font-weight:750}
.player-advanced{min-width:0;position:relative}
.player-advanced summary{min-height:44px;display:flex;align-items:center;justify-content:center;padding:9px 11px;border:1px solid rgba(148,163,184,.16);border-radius:11px;color:#b8c3d8;font-size:.78rem;font-weight:800;cursor:pointer;list-style:none;white-space:nowrap}
.player-advanced summary::-webkit-details-marker{display:none}
.player-advanced[open] summary{border-color:rgba(167,139,250,.45);color:#e9ddff}
.player-advanced>div{position:absolute;z-index:40;right:0;top:calc(100% + 7px);width:min(430px,78vw);display:grid;gap:9px;padding:12px;border:1px solid rgba(167,139,250,.28);border-radius:14px;background:#0a1220;box-shadow:0 18px 50px rgba(0,0,0,.45)}
.remove-player-button{width:40px;height:40px;border:0;border-radius:11px;background:rgba(244,63,94,.1);color:#fda4af;font-size:1.25rem;cursor:pointer}
.player-add-actions{display:flex}.player-add-actions .btn{width:100%}
.app-chip-strip{display:flex;align-items:center;gap:8px;max-width:100%;overflow-x:auto;padding:4px 1px 8px;scrollbar-width:none}.app-chip-strip::-webkit-scrollbar{display:none}.app-chip-strip>small{position:sticky;left:0;flex:0 0 auto;padding-right:8px;background:var(--bg,#080d18);z-index:2}.app-chip-strip button{flex:0 0 auto;min-height:44px}
.large-field input{min-height:56px;font-size:1.05rem}
.setup-summary-card{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid rgba(45,212,191,.18);border-radius:14px;background:rgba(45,212,191,.06)}
.setup-summary-card>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(45,212,191,.16);color:#5eead4;font-weight:900}.setup-summary-card>div{display:grid}.setup-summary-card small{color:var(--muted)}
.optional-settings-button{width:100%;border-style:dashed!important}
.streamlined-scoring-choice{display:grid;gap:15px;max-width:700px}
.streamlined-scoring-choice select{min-height:52px}
.sticky-step-actions{margin-top:auto;padding-top:18px;border-top:1px solid rgba(148,163,184,.1)}
.start-game-button{min-width:min(100%,260px)}
.session-options-modal{width:min(92vw,760px);max-width:92vw;max-height:92vh;max-height:92dvh;margin:auto;padding:0;overflow:hidden;border-radius:18px}
.session-options-card{width:100%;max-width:100%;max-height:92vh;max-height:92dvh;padding:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
.session-options-card .modal-scroll{min-height:0;padding:clamp(20px,3vw,30px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.session-options-card .modal-scroll>p{color:var(--muted)}
.session-options-card .modal-actions{padding:12px clamp(18px,3vw,30px);padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:1px solid rgba(148,163,184,.13);background:#090f1b}

/* Persistent score session controls and participant live view. */
.scorekeeper-shell{max-width:100%;overflow-x:hidden}
.live-view-banner,.paused-session-banner{display:flex;align-items:center;gap:13px;margin:12px 0;padding:13px 16px;border-color:rgba(45,212,191,.24);background:rgba(45,212,191,.07)}
.paused-session-banner{border-color:rgba(251,191,36,.28);background:rgba(251,191,36,.07)}
.live-view-banner>span,.paused-session-banner>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:rgba(45,212,191,.15);color:#5eead4;font-size:1.1rem;font-weight:900}
.paused-session-banner>span{background:rgba(251,191,36,.13);color:#fcd34d}
.live-view-banner>div,.paused-session-banner>div{min-width:0;display:grid;gap:2px}.live-view-banner small,.paused-session-banner small{color:var(--muted)}.paused-session-banner form{margin-left:auto}
.score-entry-fieldset{min-width:0;margin:0;padding:0;border:0}
.scorekeeper-shell.is-readonly .round-controls,.scorekeeper-shell.is-paused .round-controls,.scorekeeper-shell.is-readonly .round-note,.scorekeeper-shell.is-paused .round-note,.scorekeeper-shell.is-readonly .mode-instruction{display:none!important}
.scorekeeper-shell.is-readonly .score-player,.scorekeeper-shell.is-paused .score-player{grid-template-columns:auto auto minmax(0,1fr) auto}
.scorekeeper-shell.is-readonly .score-player{min-height:66px}
.read-only-callout{padding:18px;border:1px dashed rgba(148,163,184,.2);border-radius:14px;text-align:center;color:var(--muted)}.read-only-callout b{display:block;color:#f8fafc;margin-bottom:4px}
.session-control-card{display:grid;gap:10px}.session-control-card form{margin:0}.session-control-card .btn{width:100%}.autosave-status{display:block;text-align:center;color:#7dd3fc;font-size:.72rem;min-height:18px}
.playing-badge.paused{background:rgba(251,191,36,.13);color:#fde68a}.playing-badge.paused i{background:#fbbf24;box-shadow:0 0 0 4px rgba(251,191,36,.12)}
.active-game-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px}.active-game-main{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;text-decoration:none;color:inherit}.active-game-action form{margin:0}.active-game-action .btn{white-space:nowrap}.active-game-card.is-paused{border-color:rgba(251,191,36,.22)}.active-game-meta{display:block;color:var(--muted);font-size:.74rem;margin-top:5px}

/* General user-page decluttering. */
.authenticated-shell .page-hero,.authenticated-shell .welcome-row{gap:18px}
.authenticated-shell .section-title{gap:12px}.authenticated-shell .section-title h2{font-size:clamp(1.15rem,2vw,1.45rem)}
.authenticated-shell .panel{border-radius:clamp(14px,1.4vw,18px)}
.authenticated-shell .hero-actions,.authenticated-shell .welcome-actions{gap:9px;flex-wrap:wrap}
.authenticated-shell .hero-actions .btn,.authenticated-shell .welcome-actions .btn{min-width:150px}

@media(max-width:900px){
  .app-hero{grid-template-columns:auto minmax(0,1fr)}.app-hero>a{grid-column:1/-1;width:100%}
  .side-nav-group:not([open])>div{display:none}
  .streamlined-scorecard-setup{width:100%}
  .streamlined-scorecard-setup .scorecard-wizard-progress{top:calc(var(--visual-top,0px) + 63px)}
  .streamlined-scorecard-setup .scorecard-wizard-step{min-height:calc(100dvh - 190px);padding:18px 14px 118px}
  .streamlined-player-row{grid-template-columns:34px minmax(0,1fr) 40px}.player-advanced{grid-column:2/3}.player-advanced summary{justify-content:flex-start}.player-advanced>div{left:0;right:auto;width:min(82vw,430px)}
  .sticky-step-actions{position:sticky;bottom:calc(74px + env(safe-area-inset-bottom));z-index:30;margin-inline:-14px;margin-bottom:-104px;padding:11px 14px max(11px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(8,13,24,.15),rgba(8,13,24,.98) 24%);border-top:0}
  .sticky-step-actions .btn{flex:1;min-width:0}
  .session-options-modal{width:96vw;max-width:96vw;max-height:94dvh}.session-options-card{max-height:94dvh}.session-options-card .form-grid.two{grid-template-columns:1fr}
  .active-game-card{grid-template-columns:1fr}.active-game-action,.active-game-action .btn,.active-game-action form{width:100%}
  .paused-session-banner{align-items:flex-start;flex-wrap:wrap}.paused-session-banner form{width:100%;margin:0}.paused-session-banner .btn{width:100%}
}
@media(max-width:560px){
  .authenticated-shell .btn{min-height:46px}.authenticated-shell .btn.large{min-height:52px}.authenticated-shell .btn.xl{min-height:58px;width:100%}
  .app-hero{padding:13px}.app-hero>img{width:52px;height:70px}.app-hero h1{font-size:1.25rem}
  .streamlined-scorecard-setup .scorecard-wizard-progress{padding:6px;gap:3px}.streamlined-scorecard-setup .scorecard-wizard-progress button{min-height:42px;padding:5px 3px}.streamlined-scorecard-setup .scorecard-wizard-progress button b{font-size:.68rem}.streamlined-scorecard-setup .scorecard-wizard-progress i{min-width:7px}
  .streamlined-scorecard-setup .step-head>span{width:38px;height:38px}.streamlined-scorecard-setup .step-head h2{font-size:1.3rem}
  .streamlined-player-row{gap:7px;padding:8px}.player-number{width:31px;height:31px}.player-primary-field input{min-height:48px}.remove-player-button{width:38px;height:38px}
  .app-chip-strip{margin-inline:-4px}.app-chip-strip button{min-height:46px}
  .wizard-actions{gap:8px}.wizard-actions .btn{padding-inline:12px}
  .scorekeeper-head{align-items:flex-start}.scorekeeper-head .score-game img{width:48px;height:64px}.scorekeeper-head h1{font-size:1.25rem}.score-status{margin-left:auto}
  .live-view-banner,.paused-session-banner{padding:11px}
  .scorekeeper-shell.is-readonly .score-player,.scorekeeper-shell.is-paused .score-player{grid-template-columns:auto auto minmax(0,1fr) auto;gap:8px;padding:10px}.scorekeeper-shell.is-readonly .current-total,.scorekeeper-shell.is-paused .current-total{font-size:1.25rem}
}
@media(max-height:650px) and (min-width:901px){.streamlined-scorecard-setup .scorecard-wizard-step{min-height:auto}.session-options-modal,.session-options-card{max-height:88vh}}

/* ========================================================================== */
/* GameLog v3.8.0 — rebuilt user application shell and streamlined pages      */
/* ========================================================================== */
.user-ui-v380{
  --side:272px;
  --top:68px;
  --app-page-width:1280px;
  --app-touch:48px;
  --app-space:clamp(14px,2vw,24px);
  --app-card:linear-gradient(180deg,rgba(18,28,45,.98),rgba(10,17,29,.98));
}
.user-ui-v380 .main-shell{min-width:0}
.user-ui-v380 .user-content{width:min(var(--app-page-width),100%);padding:clamp(18px,2.4vw,34px) clamp(14px,2.7vw,38px) 118px}
.user-ui-v380 .panel{background:var(--app-card);border-color:rgba(148,163,184,.14);box-shadow:0 14px 40px rgba(0,0,0,.22)}
.user-ui-v380 .btn,.user-ui-v380 button,.user-ui-v380 input,.user-ui-v380 select,.user-ui-v380 textarea{max-width:100%}
.user-ui-v380 .btn{min-height:44px;padding:11px 16px;border-radius:13px;font-size:.9rem;transition:transform .16s ease,filter .16s ease,border-color .16s ease}
.user-ui-v380 .btn.large{min-height:50px;padding:13px 19px;font-size:.95rem}
.user-ui-v380 .btn.xl{min-height:56px;padding:15px 22px;font-size:1rem;border-radius:15px}
.user-ui-v380 input,.user-ui-v380 select,.user-ui-v380 textarea{min-height:46px;border-radius:12px;background:#08111e}
.user-ui-v380 textarea{min-height:96px}
.user-ui-v380 .page-hero,.user-ui-v380 .welcome-row{
  align-items:center;
  margin:0 0 var(--app-space);
  padding:clamp(18px,2.5vw,30px);
  border:1px solid rgba(148,163,184,.14);
  border-radius:22px;
  background:radial-gradient(circle at 80% 0,rgba(124,58,237,.14),transparent 44%),var(--app-card);
  box-shadow:0 15px 42px rgba(0,0,0,.2);
}
.user-ui-v380 .page-hero h1,.user-ui-v380 .welcome-row h1{font-size:clamp(1.75rem,3.4vw,3rem);margin-bottom:8px}
.user-ui-v380 .page-hero p,.user-ui-v380 .welcome-row p{max-width:720px;line-height:1.55;color:#aab6c8}
.user-ui-v380 .hero-actions,.user-ui-v380 .welcome-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.user-ui-v380 .section-title{margin:0 0 14px}
.user-ui-v380 .section-title h2{font-size:clamp(1.2rem,2vw,1.5rem)}
.user-ui-v380 .section-title small{display:block;margin-top:2px;max-width:680px}
.user-ui-v380 .app-section{margin-block:var(--app-space)}
.user-ui-v380 .empty{border-radius:18px}

/* Rebuilt sidebar: primary play actions stay visible; secondary pages live in groups. */
.user-ui-v380 .user-sidebar{width:var(--side);padding:16px 13px 14px;background:rgba(5,10,18,.96)}
.user-ui-v380 .user-sidebar .brand{padding:8px 10px 18px}
.user-ui-v380 .user-sidebar .side-nav{display:block;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 2px 16px;scrollbar-width:thin}
.user-ui-v380 .side-nav-section{display:grid;gap:5px;margin-bottom:10px}
.user-ui-v380 .side-nav-section>small{padding:8px 13px 4px;color:#65738a;font-size:.66rem;font-weight:900;letter-spacing:.16em}
.user-ui-v380 .side-nav a,.user-ui-v380 .side-nav-group summary{min-height:46px;border-radius:13px}
.user-ui-v380 .side-nav a{position:relative;padding:9px 12px;font-size:.87rem}
.user-ui-v380 .side-nav a em{margin-left:auto;min-width:22px;height:22px;display:grid;place-items:center;padding:0 6px;border-radius:999px;background:var(--purple);font-size:.68rem;font-style:normal}
.user-ui-v380 .side-nav .primary-nav-action{margin:3px 0 5px;background:linear-gradient(135deg,var(--purple),#9252ef);color:white;box-shadow:0 10px 25px rgba(124,58,237,.25)}
.user-ui-v380 .side-nav .primary-nav-action span{background:rgba(255,255,255,.16)}
.user-ui-v380 .side-nav-group{border-top:1px solid rgba(148,163,184,.1);padding-top:8px;margin-top:8px}
.user-ui-v380 .side-nav-group summary{display:flex;align-items:center;gap:12px;padding:9px 12px;color:#b9c5d5;font-size:.83rem;font-weight:800;cursor:pointer;list-style:none}
.user-ui-v380 .side-nav-group summary::-webkit-details-marker{display:none}
.user-ui-v380 .side-nav-group summary>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.045)}
.user-ui-v380 .side-nav-group summary i{margin-left:auto;font-style:normal;transition:transform .18s ease}
.user-ui-v380 .side-nav-group[open] summary i{transform:rotate(180deg)}
.user-ui-v380 .side-nav-group>div{display:grid;gap:3px;padding:3px 0 3px 15px}
.user-ui-v380 .sidebar-user{display:grid;gap:7px;padding:12px 7px 0}
.user-ui-v380 .sidebar-user>a{min-width:0;border-radius:13px;background:rgba(255,255,255,.035)}
.user-ui-v380 .sidebar-user>a span:last-child{min-width:0}
.user-ui-v380 .sidebar-user strong,.user-ui-v380 .sidebar-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-ui-v380 .sidebar-signout{width:100%;min-height:39px;border:1px solid rgba(148,163,184,.13);border-radius:11px;background:transparent;color:#aab6c8;font-size:.76rem;font-weight:800}
.user-ui-v380 .sidebar-signout:hover{border-color:rgba(251,113,133,.35);color:#fecdd3;background:rgba(251,113,133,.07)}

/* Cleaner top bar. */
.user-ui-v380 .user-topbar{height:var(--top);padding-inline:clamp(14px,2vw,28px)}
.user-ui-v380 .user-topbar .topbar-search{max-width:480px}
.user-ui-v380 .user-topbar .topbar-search form{height:42px;background:rgba(10,18,31,.88)}
.user-ui-v380 .desktop-primary-action{min-height:42px;display:inline-flex;align-items:center;padding:9px 14px;border-radius:12px;font-size:.82rem}
.user-ui-v380 .notification-button{min-width:42px;min-height:42px}

/* Dashboard and resumable sessions. */
.user-ui-v380 .active-game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px}
.user-ui-v380 .active-game-card{min-width:0;border-radius:18px;padding:12px}
.user-ui-v380 .active-game-main{min-width:0}
.user-ui-v380 .active-game-copy h3{margin:5px 0 3px;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-ui-v380 .active-game-copy p{margin:0;color:#c4cedb;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-ui-v380 .active-cover-frame{width:58px;height:76px;display:grid;place-items:center;border-radius:11px;background:#060b13;overflow:hidden}
.user-ui-v380 .active-cover-frame img{width:100%;height:100%;object-fit:contain}
.user-ui-v380 .stat-strip{gap:10px;margin-block:var(--app-space)}
.user-ui-v380 .stat-tile{min-width:0;padding:16px;border-radius:17px}
.user-ui-v380 .dashboard-grid{gap:var(--app-space)}
.user-ui-v380 .dashboard-grid>section,.user-ui-v380 .dashboard-grid>aside{min-width:0}
.user-ui-v380 .history-card,.user-ui-v380 .feed-card{border-radius:17px}

/* Catalogue, collection and scorecard picker use app-sized cards and clear primary actions. */
.user-ui-v380 .games-grid,.user-ui-v380 .library-grid,.user-ui-v380 .picker-grid{gap:clamp(11px,1.7vw,18px)}
.user-ui-v380 .game-card,.user-ui-v380 .library-card,.user-ui-v380 .picker-game{border-radius:17px;overflow:hidden}
.user-ui-v380 .picker-game{min-height:100%;padding:10px}
.user-ui-v380 .picker-game img{aspect-ratio:3/4;object-fit:contain;border-radius:12px;background:#060b13}
.user-ui-v380 .scorecard-source-tabs{position:sticky;top:calc(var(--top) + 8px);z-index:20;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:7px;margin-bottom:14px;background:rgba(8,14,25,.92);backdrop-filter:blur(18px)}
.user-ui-v380 .scorecard-source-tabs>a,.user-ui-v380 .scorecard-source-tabs>button{min-width:0;min-height:56px;border:0;border-radius:13px;background:transparent;color:#aebacd}
.user-ui-v380 .scorecard-source-tabs>a.active{background:linear-gradient(135deg,rgba(124,58,237,.28),rgba(124,58,237,.1));color:white}
.user-ui-v380 .scorecard-source-tabs>button{cursor:pointer}
.user-ui-v380 .scorecard-source-tabs div{min-width:0}.user-ui-v380 .scorecard-source-tabs b,.user-ui-v380 .scorecard-source-tabs small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-ui-v380 .game-choice-panel{padding:clamp(14px,2vw,22px)}

/* Focused scorecard setup. Only one step is visible and optional settings stay in the modal. */
.user-ui-v380 .selected-scorecard-hero{margin-bottom:10px}
.user-ui-v380 .streamlined-scorecard-setup{max-width:900px;margin-inline:auto}
.user-ui-v380 .streamlined-scorecard-setup .scorecard-wizard-progress{top:calc(var(--top) + 8px);border-radius:16px}
.user-ui-v380 .streamlined-scorecard-setup .scorecard-wizard-step{min-height:min(610px,calc(100dvh - 190px));border-radius:20px}
.user-ui-v380 .streamlined-player-row{grid-template-columns:38px minmax(0,1fr) auto 42px}
.user-ui-v380 .player-advanced summary{min-width:122px}
.user-ui-v380 .sticky-step-actions .btn{min-width:150px}
.user-ui-v380 .optional-settings-button{min-height:52px;background:rgba(124,58,237,.06)}
.user-ui-v380 .start-game-button{min-width:230px}

/* Live scoring behaves like a dedicated app screen. */
.user-ui-v380 .scorekeeper-shell{width:min(1420px,100%);margin-inline:auto}
.user-ui-v380 .scorekeeper-head{position:sticky;top:calc(var(--top) + 8px);z-index:18;padding:12px 14px;border-radius:18px;background:rgba(12,20,34,.94);backdrop-filter:blur(18px)}
.user-ui-v380 .live-score-grid{align-items:start;gap:14px}
.user-ui-v380 .live-score-grid>main,.user-ui-v380 .live-score-grid>aside{min-width:0}
.user-ui-v380 .live-score-grid>aside{position:sticky;top:calc(var(--top) + 96px)}
.user-ui-v380 .score-panel,.user-ui-v380 .round-history,.user-ui-v380 .team-score-panel,.user-ui-v380 .result-mode-panel{padding:clamp(14px,2vw,22px)}
.user-ui-v380 .score-player{min-width:0;border-radius:15px}
.user-ui-v380 .round-controls button{min-width:46px;min-height:46px;border-radius:12px;font-weight:850}
.user-ui-v380 .round-controls input{min-width:70px;min-height:48px;font-size:1.05rem;text-align:center}
.user-ui-v380 .score-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center}
.user-ui-v380 .score-actions .btn.primary{min-width:180px}
.user-ui-v380 .session-control-card{border-color:rgba(124,58,237,.24);background:radial-gradient(circle at 100% 0,rgba(124,58,237,.16),transparent 50%),var(--app-card)}
.user-ui-v380 .finish-result-form{width:min(720px,94vw);max-width:94vw;max-height:min(92vh,92dvh);overflow:auto;overscroll-behavior:contain}
.user-ui-v380 .finish-result-form>*{max-width:100%}
.user-ui-v380 .finish-result-form .form-grid{min-width:0}
.user-ui-v380 .round-table,.user-ui-v380 .campaign-timeline{max-width:100%;overflow-x:auto}

/* History, social, profiles, campaigns, forums and settings receive one shared visual rhythm. */
.user-ui-v380 .history-grid,.user-ui-v380 .feed-stack,.user-ui-v380 .friend-grid,.user-ui-v380 .campaign-grid,.user-ui-v380 .forum-grid,.user-ui-v380 .template-grid{gap:14px}
.user-ui-v380 .history-poster,.user-ui-v380 .profile-card,.user-ui-v380 .friend-card,.user-ui-v380 .campaign-card,.user-ui-v380 .forum-card{border-radius:18px}
.user-ui-v380 .filter-bar{padding:12px;border-radius:17px}
.user-ui-v380 .filter-bar .search-field{min-height:46px}
.user-ui-v380 details.action-menu>summary{min-height:44px;display:flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#111a2a;cursor:pointer;list-style:none;font-weight:800}
.user-ui-v380 details.action-menu>summary::-webkit-details-marker{display:none}
.user-ui-v380 details.action-menu>div{position:absolute;z-index:50;right:0;min-width:220px;display:grid;gap:6px;padding:9px;border:1px solid var(--line);border-radius:14px;background:#0a1220;box-shadow:0 20px 50px rgba(0,0,0,.4)}

/* Mobile app mode. */
@media(max-width:900px){
  .user-ui-v380{--top:60px;--side:min(86vw,330px)}
  .user-ui-v380 .main-shell{margin-left:0;padding-top:var(--top)}
  .user-ui-v380 .user-topbar{left:0;height:var(--top);padding:0 11px;gap:8px}
  .user-ui-v380 .mobile-brand{display:flex;align-items:center;gap:7px;min-width:0;font-size:.92rem}.user-ui-v380 .mobile-brand img{width:31px;height:31px;object-fit:contain}.user-ui-v380 .mobile-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .user-ui-v380 .menu-button{display:grid;place-items:center;min-width:44px;height:44px;border-radius:12px}
  .user-ui-v380 .topbar-search,.user-ui-v380 .desktop-primary-action{display:none}
  .user-ui-v380 .top-actions{gap:6px}.user-ui-v380 .top-actions .avatar{width:39px;height:39px}.user-ui-v380 .notification-button{min-width:39px;min-height:39px}
  .user-ui-v380 .user-sidebar{top:var(--visual-viewport-offset-top,0px);bottom:auto;height:var(--visual-viewport-height,100dvh);max-height:var(--visual-viewport-height,100dvh);padding-top:max(13px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-105%);transition:transform .2s ease;box-shadow:20px 0 60px rgba(0,0,0,.5)}
  .user-ui-v380 .user-sidebar.open{transform:translateX(0)}
  .user-ui-v380.sidebar-open:after{content:"";position:fixed;z-index:29;inset:0;background:rgba(0,0,0,.56);backdrop-filter:blur(2px)}
  .user-ui-v380 .user-content{padding:14px 12px calc(104px + env(safe-area-inset-bottom));overflow-x:hidden}
  .user-ui-v380 .page-hero,.user-ui-v380 .welcome-row{display:grid;align-items:start;padding:17px;border-radius:18px}
  .user-ui-v380 .page-hero h1,.user-ui-v380 .welcome-row h1{font-size:clamp(1.55rem,7vw,2.1rem)}
  .user-ui-v380 .page-hero p,.user-ui-v380 .welcome-row p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.87rem}
  .user-ui-v380 .hero-actions,.user-ui-v380 .welcome-actions{width:100%;display:grid;grid-template-columns:1fr}
  .user-ui-v380 .hero-actions .btn,.user-ui-v380 .welcome-actions .btn{width:100%;min-height:50px}
  .user-ui-v380 .section-title{align-items:flex-end}.user-ui-v380 .section-title small{font-size:.72rem}.user-ui-v380 .section-title>a{font-size:.78rem;white-space:nowrap}
  .user-ui-v380 .mobile-nav{height:72px;padding-bottom:max(5px,env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr)}
  .user-ui-v380 .mobile-nav>a,.user-ui-v380 .mobile-nav>button{min-width:0;min-height:56px;border:0;background:transparent;color:#8f9db1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.66rem;font-weight:800}
  .user-ui-v380 .mobile-nav>button span,.user-ui-v380 .mobile-nav>a span{font-size:1.15rem}
  .user-ui-v380 .mobile-nav .score-fab{transform:translateY(-13px);width:58px;height:58px;min-height:58px;justify-self:center;border-radius:18px;background:linear-gradient(135deg,var(--purple),var(--purple2));color:white;box-shadow:0 12px 30px rgba(124,58,237,.38)}
  .user-ui-v380 .scorecard-source-tabs{top:calc(var(--top) + 5px);grid-template-columns:repeat(3,minmax(0,1fr));margin-inline:-2px}
  .user-ui-v380 .scorecard-source-tabs>a,.user-ui-v380 .scorecard-source-tabs>button{padding:6px 3px}.user-ui-v380 .scorecard-source-tabs small{display:none}
  .user-ui-v380 .selected-scorecard-hero{grid-template-columns:auto minmax(0,1fr);padding:12px}.user-ui-v380 .selected-scorecard-hero>a{grid-column:1/-1}
  .user-ui-v380 .streamlined-scorecard-setup{width:100%;max-width:100%}
  .user-ui-v380 .streamlined-scorecard-setup .scorecard-wizard-progress{top:calc(var(--top) + 5px);padding:6px}
  .user-ui-v380 .streamlined-scorecard-setup .scorecard-wizard-step{min-height:calc(100dvh - 164px);padding:17px 12px 116px}
  .user-ui-v380 .streamlined-player-row{grid-template-columns:32px minmax(0,1fr) 40px;gap:7px;padding:8px}.user-ui-v380 .player-advanced{grid-column:2/3}.user-ui-v380 .player-advanced summary{min-width:0;justify-content:flex-start}.user-ui-v380 .player-advanced>div{left:0;right:auto;width:min(82vw,430px)}
  .user-ui-v380 .sticky-step-actions{bottom:calc(72px + env(safe-area-inset-bottom));margin-inline:-12px;padding-inline:12px}
  .user-ui-v380 .sticky-step-actions .btn{min-width:0;flex:1}
  .user-ui-v380 .live-score-grid{display:block}.user-ui-v380 .live-score-grid>aside{position:static;display:grid;gap:12px;margin-top:12px}
  .user-ui-v380 .scorekeeper-head{top:calc(var(--top) + 4px);padding:10px}.user-ui-v380 .scorekeeper-head .score-game{min-width:0}.user-ui-v380 .scorekeeper-head .score-game img{width:45px;height:60px}.user-ui-v380 .scorekeeper-head h1{font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-ui-v380 .scorekeeper-head p{font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .user-ui-v380 .score-status .session-clock{font-size:.72rem}
  .user-ui-v380 .score-player{grid-template-columns:30px 38px minmax(0,1fr) auto;gap:7px;padding:9px}.user-ui-v380 .score-player .avatar{width:38px;height:38px}.user-ui-v380 .current-total{font-size:1.15rem}
  .user-ui-v380 .round-controls{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.user-ui-v380 .round-controls button,.user-ui-v380 .round-controls input{min-width:0;width:100%;min-height:46px;padding-inline:4px}
  .user-ui-v380 .score-actions{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:17;margin:12px -10px -10px;padding:12px 10px max(12px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(8,13,24,.3),rgba(8,13,24,.98) 24%)}
  .user-ui-v380 .score-actions .btn{flex:1;min-width:0}
  .user-ui-v380 .finish-result-form{width:96vw;max-width:96vw;max-height:94dvh;padding:18px 14px}.user-ui-v380 .finish-result-form .form-grid.two{grid-template-columns:1fr}
  .user-ui-v380 .active-game-card{grid-template-columns:1fr}.user-ui-v380 .active-game-action,.user-ui-v380 .active-game-action form,.user-ui-v380 .active-game-action .btn{width:100%}
  .user-ui-v380 .stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .user-ui-v380 .dashboard-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .user-ui-v380 .user-content{padding-inline:10px}
  .user-ui-v380 .page-hero,.user-ui-v380 .welcome-row{padding:15px}
  .user-ui-v380 .stat-strip{gap:8px}.user-ui-v380 .stat-tile{padding:13px}.user-ui-v380 .stat-tile b{font-size:1.45rem}
  .user-ui-v380 .picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-ui-v380 .picker-game{padding:7px}.user-ui-v380 .picker-game>span{font-size:.78rem}.user-ui-v380 .picker-game>small{font-size:.66rem}
  .user-ui-v380 .scorecard-wizard-progress button b{font-size:.66rem}.user-ui-v380 .scorecard-wizard-progress button span{width:28px;height:28px}
  .user-ui-v380 .wizard-actions{display:grid;grid-template-columns:1fr 1fr}.user-ui-v380 .wizard-actions>span:empty{display:none}.user-ui-v380 .wizard-actions .btn:only-child{grid-column:1/-1}
}
@media(max-height:650px) and (min-width:901px){
  .user-ui-v380 .user-content{padding-top:16px}.user-ui-v380 .page-hero,.user-ui-v380 .welcome-row{padding-block:16px}.user-ui-v380 .streamlined-scorecard-setup .scorecard-wizard-step{min-height:auto}
}


/* v3.8.0 progressive disclosure for collection and game-detail actions */
.user-ui-v380 .app-page-hero{margin-bottom:14px}
.user-ui-v380 .app-summary-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.user-ui-v380 .app-summary-strip>a{display:grid;gap:2px;min-width:0;padding:14px 16px;text-decoration:none}
.user-ui-v380 .app-summary-strip b{font-size:1.35rem;color:#fff}
.user-ui-v380 .app-summary-strip span{color:var(--muted);font-size:.78rem;font-weight:750}
.user-ui-v380 .app-filter-drawer{margin-bottom:16px;padding:0;overflow:visible}
.user-ui-v380 .app-filter-drawer>summary{display:flex;align-items:center;gap:10px;min-height:52px;padding:12px 16px;cursor:pointer;list-style:none}
.user-ui-v380 .app-filter-drawer>summary::-webkit-details-marker{display:none}
.user-ui-v380 .app-filter-drawer>summary>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(124,58,237,.16);color:#c4b5fd}
.user-ui-v380 .app-filter-drawer>summary small{margin-left:auto;color:var(--muted)}
.user-ui-v380 .app-filter-drawer[open]>summary{border-bottom:1px solid var(--line)}
.user-ui-v380 .app-filter-form{margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.user-ui-v380 .streamlined-library-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.user-ui-v380 .streamlined-library-card{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:visible;border-radius:18px}
.user-ui-v380 .streamlined-library-card .library-cover{border-radius:17px 17px 0 0;overflow:hidden}
.user-ui-v380 .streamlined-library-card .library-card-body{display:grid;align-content:space-between;gap:14px;padding:14px}
.user-ui-v380 .library-card-copy{min-width:0}
.user-ui-v380 .library-card-copy h3{margin:0 0 4px;font-size:1rem}
.user-ui-v380 .library-card-copy h3 a{color:#fff;text-decoration:none}
.user-ui-v380 .library-card-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.5em;margin:0 0 6px;color:var(--muted);font-size:.78rem}
.user-ui-v380 .library-card-copy small{color:#78869b}
.user-ui-v380 .library-primary-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.user-ui-v380 .library-primary-actions>.btn{min-width:0}
.user-ui-v380 .app-action-menu{position:relative;min-width:0}
.user-ui-v380 .app-action-menu>summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:50px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#111a2a;color:#d8e0ed;cursor:pointer;list-style:none;font-weight:850;white-space:nowrap;touch-action:manipulation}
.user-ui-v380 .app-action-menu>summary::-webkit-details-marker{display:none}
.user-ui-v380 .app-action-menu[open]>summary{border-color:rgba(167,139,250,.48);background:#151e31;color:#fff}
.user-ui-v380 .app-action-menu-panel{position:absolute;z-index:75;right:0;bottom:calc(100% + 8px);width:min(330px,86vw);display:grid;gap:6px;padding:10px;border:1px solid rgba(167,139,250,.25);border-radius:15px;background:#08111f;box-shadow:0 24px 65px rgba(0,0,0,.58)}
.user-ui-v380 .app-action-menu-panel.align-left{left:0;right:auto;top:calc(100% + 8px);bottom:auto}
.user-ui-v380 .app-action-menu-panel form{margin:0;min-width:0}
.user-ui-v380 .app-menu-action{width:100%;min-height:44px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:#dce5f2;text-align:left;text-decoration:none;font:inherit;font-size:.82rem;font-weight:780;cursor:pointer}
.user-ui-v380 .app-menu-action:hover,.user-ui-v380 .app-menu-action:focus-visible{background:rgba(124,58,237,.14);outline:none}
.user-ui-v380 .app-menu-action>span{width:22px;color:#c4b5fd;text-align:center}
.user-ui-v380 .app-menu-action.danger{color:#fda4af}
.user-ui-v380 .app-menu-action.danger>span{color:#fb7185}
.user-ui-v380 .app-menu-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.user-ui-v380 .compact-management-form{display:grid;gap:9px;padding:5px 3px 10px;border-bottom:1px solid rgba(148,163,184,.12)}
.user-ui-v380 .compact-management-form label{display:grid;gap:5px;color:#9eabc0;font-size:.73rem;font-weight:800}
.user-ui-v380 .compact-management-form select{min-height:42px}
.user-ui-v380 .compact-check{display:flex!important;align-items:center;gap:8px}
.user-ui-v380 .compact-check input{width:18px;height:18px}
.user-ui-v380 .streamlined-game-hero{grid-template-columns:minmax(150px,220px) minmax(0,1fr);align-items:center;padding:clamp(18px,3vw,34px)}
.user-ui-v380 .streamlined-game-hero .detail-cover{width:100%;max-width:210px;justify-self:center}
.user-ui-v380 .streamlined-game-hero .hero-actions{align-items:center}
.user-ui-v380 .streamlined-hero-actions>.btn,.user-ui-v380 .streamlined-hero-actions>form>.btn{min-height:54px}
.user-ui-v380 .game-page-menu>summary{min-height:54px}
.user-ui-v380 .streamlined-detail-grid{gap:14px}
.user-ui-v380 .app-empty-state{display:grid;justify-items:center;text-align:center;gap:8px;padding:32px}
.user-ui-v380 .app-empty-state>span{font-size:2rem;color:#a78bfa}
.user-ui-v380 .app-empty-state h2,.user-ui-v380 .app-empty-state p{margin:0}
@media(max-width:900px){
  .user-ui-v380 .app-summary-strip{grid-template-columns:repeat(5,minmax(105px,1fr));overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px;scrollbar-width:none}
  .user-ui-v380 .app-summary-strip::-webkit-scrollbar{display:none}
  .user-ui-v380 .app-summary-strip>a{scroll-snap-align:start}
  .user-ui-v380 .app-filter-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px}
  .user-ui-v380 .app-filter-form .search-field{grid-column:1/-1}
  .user-ui-v380 .app-filter-form .filter-check{grid-column:1/2}
  .user-ui-v380 .app-filter-form .btn{grid-column:2/3}
  .user-ui-v380 .streamlined-game-hero{grid-template-columns:92px minmax(0,1fr);align-items:start;padding:14px}
  .user-ui-v380 .streamlined-game-hero .detail-cover{width:92px}
  .user-ui-v380 .streamlined-game-hero .detail-copy>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .user-ui-v380 .streamlined-game-hero .game-pills{grid-column:1/-1}
  .user-ui-v380 .streamlined-hero-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto!important;gap:8px}
  .user-ui-v380 .streamlined-hero-actions>.btn:first-child{grid-column:1/-1}
  .user-ui-v380 .streamlined-hero-actions>form{min-width:0}
  .user-ui-v380 .streamlined-hero-actions>form>.btn{width:100%}
  .user-ui-v380 .game-page-menu{justify-self:end}
  .user-ui-v380 .game-page-menu .app-action-menu-panel{left:auto;right:0;top:calc(100% + 8px);bottom:auto}
}
@media(max-width:560px){
  .user-ui-v380 .streamlined-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .user-ui-v380 .streamlined-library-card .library-card-body{padding:10px;gap:10px}
  .user-ui-v380 .library-card-copy p{display:none}
  .user-ui-v380 .library-card-copy h3{font-size:.84rem;line-height:1.2}
  .user-ui-v380 .library-card-copy small{font-size:.65rem}
  .user-ui-v380 .library-primary-actions{grid-template-columns:1fr}
  .user-ui-v380 .library-primary-actions>.btn{min-height:46px;font-size:.78rem;padding-inline:7px}
  .user-ui-v380 .app-action-menu>summary{min-height:44px;font-size:.74rem}
  .user-ui-v380 .app-action-menu-panel{position:fixed;z-index:1800;left:8px!important;right:8px!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;top:auto!important;width:auto;max-height:min(70dvh,560px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .user-ui-v380 .app-filter-form{grid-template-columns:1fr}
  .user-ui-v380 .app-filter-form>*{grid-column:1!important;width:100%}
  .user-ui-v380 .streamlined-game-hero{grid-template-columns:76px minmax(0,1fr)}
  .user-ui-v380 .streamlined-game-hero .detail-cover{width:76px}
  .user-ui-v380 .streamlined-game-hero h1{font-size:1.35rem}
  .user-ui-v380 .streamlined-hero-actions{grid-template-columns:1fr auto!important}
  .user-ui-v380 .streamlined-hero-actions>form>.btn{font-size:.78rem;padding-inline:10px}
}

/* -------------------------------------------------------------------------
   GameLog v3.8.1 — mobile scorekeeper layout and scorecard terminology      
   ------------------------------------------------------------------------- */
@media(max-width:900px){
  /* iOS Safari and the installed PWA should present an opaque app bar so
     scrolled scorecard content never appears visually underneath it. */
  .user-ui-v380 .user-topbar{
    background:#070c16;
    border-bottom-color:rgba(255,255,255,.10);
    box-shadow:0 8px 24px rgba(0,0,0,.30);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  /* The desktop/tablet three-column aside rule must be fully reset on phones.
     Without this explicit column reset, Game Controls and Quick Tools become
     narrow vertical strips even though the aside itself switches to one row. */
  .user-ui-v380 .live-score-grid>aside{
    position:static;
    display:grid;
    grid-template-columns:minmax(0,1fr) !important;
    width:100%;
    max-width:100%;
    gap:12px;
    margin-top:12px;
  }
  .user-ui-v380 .live-score-grid>aside>*{
    grid-column:1/-1;
    width:100%;
    min-width:0;
    max-width:100%;
    margin:0;
  }

  /* Compact, app-like controls instead of a tall narrow card. */
  .user-ui-v380 .session-control-card{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
    gap:10px;
    padding:16px;
    text-align:left;
  }
  .user-ui-v380 .session-control-card>.eyebrow,
  .user-ui-v380 .session-control-card>h2,
  .user-ui-v380 .session-control-card>p,
  .user-ui-v380 .session-control-card>.autosave-status{
    grid-column:1/-1;
  }
  .user-ui-v380 .session-control-card h2{
    margin:0;
    font-size:clamp(1.2rem,5.6vw,1.5rem);
    line-height:1.12;
  }
  .user-ui-v380 .session-control-card p{
    margin:0;
    font-size:.83rem;
    line-height:1.45;
  }
  .user-ui-v380 .session-control-card form,
  .user-ui-v380 .session-control-card>button{
    width:100%;
    min-width:0;
    margin:0;
  }
  .user-ui-v380 .session-control-card .btn{
    width:100%;
    min-height:54px;
    padding:11px 8px;
    font-size:.94rem;
    white-space:normal;
  }
  .user-ui-v380 .session-control-card .autosave-status{
    margin-top:1px;
    min-height:0;
    text-align:left;
  }

  /* Quick tools becomes a compact two-column action grid. */
  .user-ui-v380 .score-tools{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    padding:16px;
  }
  .user-ui-v380 .score-tools h3{
    grid-column:1/-1;
    margin:0 0 2px;
    font-size:1.2rem;
  }
  .user-ui-v380 .score-tools button,
  .user-ui-v380 .score-tools a{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    min-width:0;
    min-height:56px;
    padding:11px 12px;
    line-height:1.25;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .user-ui-v380 .queue-card{
    min-height:64px;
  }
}

@media(max-width:340px){
  .user-ui-v380 .session-control-card{
    grid-template-columns:1fr;
  }
  .user-ui-v380 .session-control-card>.eyebrow,
  .user-ui-v380 .session-control-card>h2,
  .user-ui-v380 .session-control-card>p,
  .user-ui-v380 .session-control-card>.autosave-status{
    grid-column:1;
  }
  .user-ui-v380 .score-tools{
    grid-template-columns:1fr;
  }
  .user-ui-v380 .score-tools h3{
    grid-column:1;
  }
}



/* -------------------------------------------------------------------------
   GameLog v3.8.2 — offline round continuity and administrator live watch
   ------------------------------------------------------------------------- */
.round-log.is-queued{margin:8px 0;padding:12px;border:1px solid rgba(167,139,250,.34);border-radius:12px;background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(45,212,191,.05))}
.round-log.is-queued>b{color:#c4b5fd}
.round-log-note{grid-column:1/-1;margin:0;padding:8px 10px;border-radius:9px;background:rgba(148,163,184,.08);color:#aab6c8;font-size:.76rem;line-height:1.4}
.admin-live-watch{width:min(1420px,100%);margin-inline:auto}
.admin-live-watch .scorekeeper-head{position:sticky;top:76px;z-index:18;background:rgba(12,20,34,.96);backdrop-filter:blur(16px)}
.admin-watch-banner{border-color:rgba(167,139,250,.32);background:rgba(124,58,237,.09)}
.admin-watch-banner>span{background:rgba(124,58,237,.18);color:#c4b5fd}
.admin-live-watch .participant-card{border-color:rgba(167,139,250,.25)}
.admin-live-watch-head .admin-actions{flex-wrap:wrap}
@media(max-width:900px){
  .admin-live-watch .live-score-grid{grid-template-columns:1fr}
  .admin-live-watch .live-score-grid>aside{position:static;display:grid;grid-template-columns:1fr;gap:12px}
  .admin-live-watch .live-score-grid>aside>*{width:100%;margin:0}
  .admin-live-watch .scorekeeper-head{top:62px}
}
@media(max-width:560px){
  .admin-live-watch .scorekeeper-head{position:relative;top:auto}
  .admin-live-watch .score-game img{width:48px;height:64px}
  .admin-live-watch .score-game h1{font-size:1.25rem}
  .admin-live-watch .score-status{margin-left:auto}
}

/* ==========================================================================
   GameLog v3.8.3 — target iOS interface
   Approved target: clean dark navy, coloured tactile controls, coloured
   widgets, medal placements and raised five-tab mobile footer.
   ========================================================================== */
.user-ui-v383{
  --ios-bg:#07101f;
  --ios-bg-deep:#040914;
  --ios-card:#0e182a;
  --ios-card-2:#121f34;
  --ios-line:#263753;
  --ios-text:#f8fafc;
  --ios-muted:#94a3b8;
  --ios-purple:#7c3aed;
  --ios-purple-light:#a970ff;
  --ios-blue:#4f8cff;
  --ios-cyan:#32c8e6;
  --ios-green:#73e7a0;
  --ios-red:#ff8d94;
  --ios-gold:#f5c84b;
  --ios-silver:#cbd5e1;
  --ios-bronze:#d87937;
  color-scheme:dark;
}
.user-ui-v383:before{
  background-image:linear-gradient(rgba(89,116,170,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(89,116,170,.045) 1px,transparent 1px);
  background-size:48px 48px;
  opacity:.45;
}
.user-ui-v383 .app-icon{width:1.25em;height:1.25em;display:block;flex:0 0 auto}
.user-ui-v383 .content{max-width:1280px}
.user-ui-v383 .panel{background:linear-gradient(180deg,rgba(17,29,49,.98),rgba(9,18,33,.98));border-color:rgba(68,88,124,.55);box-shadow:0 18px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035)}

/* Coloured, tactile button system. */
.user-ui-v383 .btn,
.user-ui-v383 .ios-primary-button,
.user-ui-v383 .ios-secondary-button,
.user-ui-v383 .ios-pause-button,
.user-ui-v383 .ios-resume-button,
.user-ui-v383 .ios-icon-button{
  appearance:none;-webkit-appearance:none;border:1px solid transparent;text-decoration:none;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease,border-color .16s ease;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.user-ui-v383 .btn:active,
.user-ui-v383 .ios-primary-button:active,
.user-ui-v383 .ios-secondary-button:active,
.user-ui-v383 .ios-pause-button:active,
.user-ui-v383 .ios-resume-button:active,
.user-ui-v383 .ios-icon-button:active{transform:translateY(2px) scale(.985);box-shadow:none!important}
.user-ui-v383 .ios-primary-button{
  min-height:52px;padding:12px 18px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  color:white;font-weight:850;line-height:1.1;background:linear-gradient(180deg,#9857ff 0%,#7732ed 55%,#6421cf 100%);
  border-color:#a875ff;box-shadow:0 8px 0 #42158f,0 14px 28px rgba(111,48,230,.32),inset 0 1px 0 rgba(255,255,255,.32);
}
.user-ui-v383 .ios-primary-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.user-ui-v383 .ios-primary-button.compact{min-height:42px;padding:9px 13px;border-radius:11px;font-size:.82rem;box-shadow:0 5px 0 #42158f,0 10px 20px rgba(111,48,230,.25)}
.user-ui-v383 .ios-secondary-button{
  min-height:48px;padding:11px 16px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  color:#f3f6fb;font-weight:800;background:linear-gradient(180deg,#1b2940,#101a2b);border-color:#354867;
  box-shadow:0 6px 0 #07101c,0 10px 22px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.09);
}
.user-ui-v383 .ios-secondary-button.compact{min-height:39px;padding:8px 12px;font-size:.78rem;border-radius:10px;box-shadow:0 4px 0 #07101c,0 8px 16px rgba(0,0,0,.18)}
.user-ui-v383 .ios-icon-button{
  width:44px;height:44px;padding:0;display:grid;place-items:center;border-radius:14px;color:#dde6f4;
  background:linear-gradient(180deg,#18253a,#0c1525);border-color:#31415d;box-shadow:0 5px 0 #050b14,0 9px 20px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08);
}
.user-ui-v383 .ios-pause-button{
  min-height:42px;padding:9px 14px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  color:#211800;font-weight:900;background:linear-gradient(180deg,#ffe37b,#f5be24);border-color:#ffe79a;
  box-shadow:0 5px 0 #8c6500,0 10px 22px rgba(245,190,36,.2),inset 0 1px 0 rgba(255,255,255,.55);
}
.user-ui-v383 .ios-resume-button{min-height:42px;padding:9px 14px;border-radius:12px;display:inline-flex;align-items:center;gap:7px;color:#032313;font-weight:900;background:linear-gradient(180deg,#8bf0b0,#35cf78);border-color:#aaf8c6;box-shadow:0 5px 0 #167341,0 10px 22px rgba(53,207,120,.2)}

/* Target top bar. */
.user-ui-v383 .ios-topbar{background:rgba(4,9,20,.91);border-bottom-color:rgba(63,82,117,.42);box-shadow:0 10px 34px rgba(0,0,0,.16)}
.user-ui-v383 .mobile-brand{align-items:center;gap:11px;font-size:1.22rem;font-weight:900;letter-spacing:-.02em}
.user-ui-v383 .mobile-brand-mark{width:42px;height:42px;padding:3px;border-radius:13px;background:linear-gradient(145deg,#fff,#dbe5f5);box-shadow:0 5px 14px rgba(0,0,0,.25);overflow:hidden}
.user-ui-v383 .mobile-brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:10px}
.user-ui-v383 .notification-button{position:relative;color:#f4f7fb}
.user-ui-v383 .notification-button>b{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:99px;background:#fb7185;color:white;font-size:.62rem;border:2px solid #07101f}
.user-ui-v383 .mobile-menu-avatar{display:none;border:2px solid rgba(117,139,178,.42);padding:0;color:white}
.user-ui-v383 .desktop-profile-avatar{border:2px solid rgba(117,139,178,.42)}
.user-ui-v383 .desktop-menu-button .app-icon{width:24px;height:24px}

/* Shared iOS section language. */
.user-ui-v383 .ios-dashboard,
.user-ui-v383 .ios-history-page{display:grid;gap:22px;width:100%}
.user-ui-v383 .ios-dashboard-welcome,
.user-ui-v383 .ios-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:6px 2px}
.user-ui-v383 .ios-dashboard-welcome h1,
.user-ui-v383 .ios-page-header h1{margin:0 0 7px;font-size:clamp(2rem,4vw,3.15rem);letter-spacing:-.045em}
.user-ui-v383 .ios-dashboard-welcome p,
.user-ui-v383 .ios-page-header p{margin:0;color:var(--ios-muted)}
.user-ui-v383 .ios-kicker{display:block;margin-bottom:5px;color:#bc9cff;font-size:.67rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}
.user-ui-v383 .ios-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:13px}
.user-ui-v383 .ios-section-heading.compact{margin-bottom:10px}
.user-ui-v383 .ios-section-heading h2{margin:0;font-size:1.35rem;letter-spacing:-.025em}
.user-ui-v383 .ios-section-heading>a{color:#b795ff;font-size:.8rem;font-weight:850}
.user-ui-v383 .ios-count-pill{padding:5px 9px;border-radius:999px;background:rgba(124,58,237,.18);border:1px solid rgba(167,139,250,.3);color:#c9b4ff;font-size:.7rem;font-weight:850}
.user-ui-v383 .ios-empty-state{min-height:100px;padding:22px;display:grid;place-items:center;text-align:center;border:1px dashed #314463;border-radius:15px;color:var(--ios-muted);background:rgba(12,22,39,.55)}
.user-ui-v383 .ios-empty-state.with-action{gap:12px}

/* Dashboard quick actions. */
.user-ui-v383 .ios-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.user-ui-v383 .ios-action-button{min-height:112px;padding:13px 8px 11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid #2a3a56;border-radius:16px;color:#edf2fa;background:linear-gradient(180deg,#14223a,#0b1526);box-shadow:0 7px 0 #050b14,0 14px 26px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.075);transition:.16s ease}
.user-ui-v383 .ios-action-button:active{transform:translateY(3px);box-shadow:0 3px 0 #050b14}
.user-ui-v383 .ios-action-button b{font-size:.78rem;text-align:center}
.user-ui-v383 .ios-action-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:white;box-shadow:0 5px 0 rgba(0,0,0,.28),0 10px 22px currentColor,inset 0 1px 0 rgba(255,255,255,.32)}
.user-ui-v383 .ios-action-icon .app-icon{width:25px;height:25px}
.user-ui-v383 .action-purple .ios-action-icon{background:linear-gradient(180deg,#a761ff,#7130df);color:#8d4cff}
.user-ui-v383 .action-blue .ios-action-icon{background:linear-gradient(180deg,#72a7ff,#386fd9);color:#4d86e9}
.user-ui-v389 .action-gold .ios-action-icon{background:linear-gradient(180deg,#ffd86a,#d99209);color:#f2b72a;box-shadow:0 5px 0 #805006,0 11px 22px rgba(245,183,42,.25),inset 0 1px 0 rgba(255,255,255,.42)}
.user-ui-v389 .action-gold{border-color:rgba(245,183,42,.28)}
.user-ui-v383 .action-cyan .ios-action-icon{background:linear-gradient(180deg,#70e0f3,#1ca4c7);color:#2fc4e2}
.user-ui-v383 .action-pink .ios-action-icon{background:linear-gradient(180deg,#ff89c4,#d9488e);color:#f163aa}
.user-ui-v383 .ios-action-icon .app-icon{color:white}

/* Active session cards. */
.user-ui-v383 .ios-active-session-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.user-ui-v383 .ios-active-card{position:relative;padding:16px;border:1px solid rgba(131,90,239,.55);border-radius:20px;background:radial-gradient(circle at 85% 0,rgba(124,58,237,.2),transparent 36%),linear-gradient(180deg,#121e34,#0a1425);box-shadow:0 14px 34px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.065)}
.user-ui-v383 .ios-active-card.is-paused{border-color:rgba(245,200,75,.45);background:radial-gradient(circle at 85% 0,rgba(245,200,75,.12),transparent 36%),linear-gradient(180deg,#121e34,#0a1425)}
.user-ui-v383 .ios-active-card-main{display:grid;grid-template-columns:105px minmax(0,1fr);gap:16px;align-items:center}
.user-ui-v383 .ios-game-cover{width:105px;aspect-ratio:3/4;display:block;padding:3px;border-radius:14px;background:#17253b;box-shadow:0 12px 24px rgba(0,0,0,.3);overflow:hidden}
.user-ui-v383 .ios-game-cover img{width:100%;height:100%;object-fit:contain;border-radius:11px}
.user-ui-v383 .ios-active-copy{min-width:0;display:grid;align-content:center;gap:5px}
.user-ui-v383 .ios-active-copy>b{font-size:1.55rem;letter-spacing:-.03em}
.user-ui-v383 .ios-active-copy>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-ui-v383 .ios-live-pill{position:absolute;right:14px;top:14px;display:inline-flex;align-items:center;gap:5px;width:max-content;padding:5px 8px;border-radius:999px;background:rgba(53,209,125,.13);border:1px solid rgba(83,226,143,.27);color:#79efa8;font-size:.65rem;font-weight:900;text-transform:uppercase}
.user-ui-v383 .ios-live-pill i{width:6px;height:6px;border-radius:50%;background:#45e18b;box-shadow:0 0 10px #45e18b}
.user-ui-v383 .ios-live-pill.paused{background:rgba(245,200,75,.12);border-color:rgba(245,200,75,.28);color:#f7d76e}
.user-ui-v383 .ios-live-pill.paused i{background:#f5c84b;box-shadow:0 0 10px #f5c84b}
.user-ui-v383 .ios-active-meta{display:flex;flex-wrap:wrap;gap:10px;color:#c5d0df;font-size:.75rem}
.user-ui-v383 .ios-active-meta span{display:inline-flex;align-items:center;gap:5px}
.user-ui-v383 .ios-active-meta .app-icon{width:15px;height:15px;color:#a978ff}
.user-ui-v383 .ios-session-people{margin:12px 0 11px;padding-top:10px;border-top:1px solid rgba(74,94,127,.32);color:var(--ios-muted);font-size:.72rem}
.user-ui-v383 .ios-active-card form{margin:0}
.user-ui-v383 .ios-active-card .ios-primary-button{width:100%}
.user-ui-v383 .compact-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.user-ui-v383 .compact-card .ios-active-card-main{grid-template-columns:74px minmax(0,1fr)}
.user-ui-v383 .compact-card .ios-game-cover{width:74px}
.user-ui-v383 .compact-card .ios-live-pill{position:static;margin-bottom:3px}

/* Coloured dashboard widgets. */
.user-ui-v383 .ios-widget-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.user-ui-v383 .ios-stat-widget{min-height:126px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #2a3c59;border-radius:18px;background:linear-gradient(180deg,#142139,#0b1526);box-shadow:0 7px 0 #050b14,0 14px 27px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.07)}
.user-ui-v383 .ios-stat-widget>span:last-child{display:grid;min-width:0}
.user-ui-v383 .ios-stat-widget small{font-size:.73rem;color:#c4b5fd;font-weight:800}
.user-ui-v383 .ios-stat-widget b{font-size:2rem;letter-spacing:-.04em}
.user-ui-v383 .ios-stat-widget em{color:var(--ios-muted);font-size:.7rem;font-style:normal}
.user-ui-v383 .ios-widget-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;order:2;flex:0 0 auto;box-shadow:0 6px 0 rgba(0,0,0,.3),0 12px 26px currentColor,inset 0 1px 0 rgba(255,255,255,.35)}
.user-ui-v383 .ios-widget-icon .app-icon{width:31px;height:31px;color:white}
.user-ui-v383 .widget-purple .ios-widget-icon{background:linear-gradient(180deg,#ae6aff,#7230df);color:#8a46ee}
.user-ui-v383 .widget-blue .ios-widget-icon{background:linear-gradient(180deg,#75aaff,#386fdb);color:#4c83e6}
.user-ui-v383 .widget-gold .ios-widget-icon{background:linear-gradient(180deg,#ffe27c,#d9970d);color:#e3ad2c}
.user-ui-v383 .widget-pink .ios-widget-icon{background:linear-gradient(180deg,#ff8ec8,#cf3e87);color:#ec5ca5}

/* Dashboard/history list panels. */
.user-ui-v383 .ios-dashboard-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px}
.user-ui-v383 .ios-dashboard-panel,
.user-ui-v383 .ios-history-section,
.user-ui-v383 .ios-shelf-section{padding:18px;border:1px solid #263957;border-radius:20px;background:linear-gradient(180deg,rgba(18,31,52,.96),rgba(8,17,31,.96));box-shadow:0 16px 36px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.045)}
.user-ui-v383 .ios-session-list,
.user-ui-v383 .ios-history-list,
.user-ui-v383 .ios-standing-list{display:grid;gap:8px}
.user-ui-v383 .ios-session-row,
.user-ui-v383 .ios-history-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px;border:1px solid #2b3d5a;border-radius:14px;background:linear-gradient(180deg,#142238,#0d1829);box-shadow:0 4px 0 #060c16,inset 0 1px 0 rgba(255,255,255,.05)}
.user-ui-v383 .ios-session-cover{width:72px;height:72px;padding:2px;border-radius:11px;background:#19283f;overflow:hidden}
.user-ui-v383 .ios-session-cover img{width:100%;height:100%;object-fit:cover;border-radius:9px}
.user-ui-v383 .ios-session-copy{min-width:0;display:grid;gap:2px}
.user-ui-v383 .ios-session-copy b{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-ui-v383 .ios-session-copy small{font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-ui-v383 .ios-session-copy em{font-size:.69rem;color:#d2dae6;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-ui-v383 .ios-session-result{display:grid;text-align:right;min-width:56px}
.user-ui-v383 .ios-session-result b{font-size:1.45rem;letter-spacing:-.04em}
.user-ui-v383 .ios-session-result small{font-size:.62rem}
.user-ui-v383 .ios-standing-row{display:grid;grid-template-columns:34px 38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 8px;border-bottom:1px solid rgba(65,84,116,.34);border-radius:11px}
.user-ui-v383 .ios-standing-row:last-child{border-bottom:0}
.user-ui-v383 .ios-standing-row.is-you{background:linear-gradient(90deg,rgba(124,58,237,.16),rgba(124,58,237,.03))}
.user-ui-v383 .ios-standing-copy{display:grid;min-width:0}
.user-ui-v383 .ios-standing-copy b{font-size:.87rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-ui-v383 .ios-standing-copy small{font-size:.65rem}
.user-ui-v383 .ios-standing-row>strong{display:grid;text-align:right;font-size:1.1rem}
.user-ui-v383 .ios-standing-row>strong small{font-size:.58rem;font-weight:600}
.user-ui-v383 .ios-place-badge{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;font-weight:950;font-size:.83rem;border:1px solid rgba(255,255,255,.28);box-shadow:0 4px 0 rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.45)}
.user-ui-v383 .ios-place-badge.gold{color:#3d2a00;background:linear-gradient(180deg,#ffe773,#e6a900);border-color:#ffed9b}
.user-ui-v383 .ios-place-badge.silver{color:#243043;background:linear-gradient(180deg,#f3f6fb,#aeb9c8);border-color:#fff}
.user-ui-v383 .ios-place-badge.bronze{color:#351404;background:linear-gradient(180deg,#f4a36a,#b94e14);border-color:#ffc297}
.user-ui-v383 .ios-place-badge.standard{color:#e9eef6;background:linear-gradient(180deg,#31425e,#1c293d);border-color:#536782}
.user-ui-v383 .ios-game-shelf{display:flex;gap:13px;overflow:auto;padding:2px 2px 11px;scrollbar-width:thin;scroll-snap-type:x proximity}
.user-ui-v383 .ios-shelf-game{flex:0 0 132px;display:grid;gap:5px;scroll-snap-align:start}
.user-ui-v383 .ios-shelf-game>span{position:relative;display:block;aspect-ratio:3/4;padding:3px;border:1px solid #2d405f;border-radius:14px;background:#101d31;box-shadow:0 9px 18px rgba(0,0,0,.25);overflow:hidden}
.user-ui-v383 .ios-shelf-game img{width:100%;height:100%;object-fit:cover;border-radius:11px}
.user-ui-v383 .ios-shelf-game i{position:absolute;right:6px;top:6px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#f5c84b;color:#3a2500;font-style:normal;box-shadow:0 3px 9px rgba(0,0,0,.3)}
.user-ui-v383 .ios-shelf-game b{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-ui-v383 .ios-shelf-game small{font-size:.65rem}

/* Live scorekeeper target UI. */
.user-ui-v383 .scorekeeper-shell{display:grid;gap:14px;max-width:1120px;margin:0 auto}
.user-ui-v383 .ios-score-head{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 15px;border-radius:19px;background:linear-gradient(180deg,rgba(15,27,47,.98),rgba(7,15,29,.98))}
.user-ui-v383 .ios-back-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #2e405e;border-radius:50%;background:linear-gradient(180deg,#17263d,#0b1525);box-shadow:0 4px 0 #040a13;color:#e5eaf2}
.user-ui-v383 .ios-score-head .score-game{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;min-width:0}
.user-ui-v383 .ios-score-head .score-game img{width:48px;height:58px;padding:2px;border-radius:9px;object-fit:contain;background:#14233a}
.user-ui-v383 .ios-score-head .score-game h1{margin:0 0 2px;font-size:1.22rem;letter-spacing:-.025em}
.user-ui-v383 .ios-score-head .score-game p{margin:0;color:var(--ios-muted);font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-ui-v383 .ios-live-status{display:flex;align-items:center;gap:7px}
.user-ui-v383 .ios-status-pill,
.user-ui-v383 .ios-timer-pill{min-height:34px;padding:7px 10px;display:inline-flex;align-items:center;gap:7px;border:1px solid #2a3d5a;border-radius:999px;background:linear-gradient(180deg,#152238,#0b1525);font-size:.72rem;white-space:nowrap}
.user-ui-v383 .ios-status-pill .online-dot{position:static;width:9px;height:9px;border-radius:50%;background:#4ade80;box-shadow:0 0 10px rgba(74,222,128,.75)}
.user-ui-v383 .ios-status-pill small{color:#e4e9f1}
.user-ui-v383 .ios-timer-pill{font-variant-numeric:tabular-nums;letter-spacing:.05em}
.user-ui-v383 .ios-head-pause{margin:0}
.user-ui-v383 .live-score-grid{grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}
.user-ui-v383 .live-score-grid>main{display:grid;gap:14px}
.user-ui-v383 .live-score-grid>aside{top:88px;display:grid;gap:12px}
.user-ui-v383 .ios-score-panel{padding:17px}
.user-ui-v383 .ios-score-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px}
.user-ui-v383 .ios-score-section-title h2{margin:0;font-size:1.35rem}
.user-ui-v383 .ios-score-player{display:block;padding:14px;border:1px solid #2a3c59;border-radius:17px;background:linear-gradient(180deg,#121f34,#0a1527);box-shadow:0 6px 0 #050b15,0 12px 24px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.045)}
.user-ui-v383 .ios-player-heading{display:grid;grid-template-columns:34px 46px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px}
.user-ui-v383 .ios-score-player>.avatar,.user-ui-v383 .ios-player-heading>.avatar{width:46px;height:46px}
.user-ui-v383 .ios-player-heading .player-name{display:grid;min-width:0}
.user-ui-v383 .ios-player-heading .player-name b{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-ui-v383 .ios-player-heading .player-name small{font-size:.65rem}
.user-ui-v383 .ios-total-block{display:grid;text-align:right;align-self:center}
.user-ui-v383 .ios-total-block small{font-size:.62rem}
.user-ui-v383 .ios-total-block .current-total{font-size:1.75rem;line-height:1;color:#ccb4ff;letter-spacing:-.04em}
.user-ui-v383 .ios-current-round-label{display:block;margin-bottom:7px;color:#aebbd0;font-size:.68rem}
.user-ui-v383 .ios-round-controls{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;width:100%;margin:0!important}
.user-ui-v383 .ios-round-controls .point-button,
.user-ui-v383 .ios-round-controls .point-input{width:100%!important;min-width:0!important;height:55px!important;border-radius:13px!important;font-size:1.15rem!important;font-weight:900!important;text-align:center!important;padding:0 3px!important;transition:transform .13s ease,filter .13s ease,box-shadow .13s ease!important}
.user-ui-v383 .ios-round-controls .point-button{border-width:1px!important;border-style:solid!important;color:#f8fafc!important;box-shadow:0 5px 0 #050a13,0 10px 18px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.14)!important}
.user-ui-v383 .ios-round-controls .point-button:active{transform:translateY(3px)!important;box-shadow:0 2px 0 #050a13!important}
.user-ui-v383 .ios-round-controls .point-negative{background:linear-gradient(180deg,rgba(111,36,49,.92),rgba(44,21,31,.98))!important;border-color:var(--ios-red)!important;box-shadow:0 5px 0 #381018,0 0 0 1px rgba(255,141,148,.2),0 0 18px rgba(255,112,122,.17),inset 0 1px 0 rgba(255,205,209,.22)!important}
.user-ui-v383 .ios-round-controls .point-positive{background:linear-gradient(180deg,rgba(34,102,62,.92),rgba(15,47,30,.98))!important;border-color:var(--ios-green)!important;box-shadow:0 5px 0 #0b321d,0 0 0 1px rgba(115,231,160,.2),0 0 18px rgba(77,224,133,.17),inset 0 1px 0 rgba(209,255,225,.22)!important}
.user-ui-v383 .ios-round-controls .point-input{appearance:textfield;background:linear-gradient(180deg,#0b1423,#070d18)!important;border:1px solid #3b4d69!important;color:#fff!important;box-shadow:inset 0 2px 5px rgba(0,0,0,.46),0 4px 0 #040810!important}
.user-ui-v383 .ios-round-controls .point-input::-webkit-inner-spin-button{appearance:none;margin:0}
.user-ui-v383 .ios-round-note{margin-top:15px;display:grid;gap:7px}
.user-ui-v383 .ios-round-note>span{font-size:.75rem}
.user-ui-v383 .ios-round-note>span small{font-weight:500}
.user-ui-v383 .ios-round-note input{min-height:50px;border-radius:13px;background:#081221;border-color:#2c3f5c}
.user-ui-v383 .ios-score-actions{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(190px,1.35fr);gap:11px;margin-top:14px}
.user-ui-v383 .ios-score-actions>*{width:100%;margin:0}
.user-ui-v383 .save-round-button .app-icon{width:20px;height:20px}
.user-ui-v383 .ios-round-history{padding:17px}
.user-ui-v383 .ios-round-history .ios-section-heading{margin-bottom:9px}
.user-ui-v383 .ios-round-history .round-table{display:grid;gap:8px}
.user-ui-v383 .ios-round-history .round-log{margin:0;padding:11px 12px;display:grid;grid-template-columns:minmax(90px,1fr) repeat(auto-fit,minmax(110px,auto));gap:8px;border:1px solid #293b58;border-radius:13px;background:#0b1627}
.user-ui-v383 .ios-round-history .round-log>b{color:#eee9ff}
.user-ui-v383 .ios-round-history .round-log span{display:flex;justify-content:space-between;gap:8px;color:#aebbd0;font-size:.75rem}
.user-ui-v383 .ios-round-history .round-log strong{color:#f6f8fc}
.user-ui-v383 .ios-empty-history{padding:14px 2px;margin:0}
.user-ui-v383 .session-control-card .btn,
.user-ui-v383 .score-tools button,
.user-ui-v383 .score-tools a{box-shadow:0 4px 0 #050a13,inset 0 1px 0 rgba(255,255,255,.08)}

/* History target screen. */
.user-ui-v383 .ios-segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid #293b58;border-radius:14px;background:#101a2d}
.user-ui-v383 .ios-segmented-control a{min-height:42px;display:grid;place-items:center;border-radius:10px;color:#b7c1d1;font-size:.82rem;font-weight:850}
.user-ui-v383 .ios-segmented-control a.active{color:white;background:linear-gradient(180deg,#9857ff,#6f2cda);box-shadow:0 4px 0 #42138e,0 9px 19px rgba(111,44,218,.28),inset 0 1px 0 rgba(255,255,255,.28)}
.user-ui-v383 .ios-saved-games .ios-active-session-list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.user-ui-v383 .ios-history-search{display:flex;align-items:center;gap:9px;margin-bottom:13px;padding:10px;border:1px solid #2a3c59;border-radius:14px;background:#0a1424}
.user-ui-v383 .ios-history-search[hidden]{display:none!important}
.user-ui-v383 .ios-history-search label{position:relative;display:block;flex:1}
.user-ui-v383 .ios-history-search label>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#8898b1}
.user-ui-v383 .ios-history-search label .app-icon{width:18px;height:18px}
.user-ui-v383 .ios-history-search input{height:43px;padding-left:39px;border-radius:11px}
.user-ui-v383 .history-search-toggle .app-icon{width:20px;height:20px}
.user-ui-v383 .ios-history-row{grid-template-columns:78px minmax(0,1fr) auto;padding:10px}
.user-ui-v383 .ios-history-row .ios-session-cover{width:78px;height:78px}
.user-ui-v383 .ios-history-standings{scroll-margin-top:92px}
.user-ui-v383 #sessions{scroll-margin-top:92px}

/* Exact target footer style. */
@media(max-width:860px){
  .user-ui-v383 .main-shell{padding-top:76px}
  .user-ui-v383 .content{padding:18px 13px calc(118px + env(safe-area-inset-bottom))}
  .user-ui-v383 .ios-topbar{height:76px;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));gap:10px}
  .user-ui-v383 .desktop-menu-button,.user-ui-v383 .desktop-profile-avatar{display:none!important}
  .user-ui-v383 .mobile-brand{display:flex;margin-right:auto}
  .user-ui-v383 .mobile-menu-avatar{display:grid;width:46px;height:46px}
  .user-ui-v383 .notification-button{width:46px;height:46px}
  .user-ui-v383 .top-actions{gap:9px}
  .user-ui-v383 .ios-tab-bar{
    position:fixed;z-index:40;left:0;right:0;bottom:0;height:84px;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;
    padding:8px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
    border-top:1px solid rgba(76,97,135,.52);background:linear-gradient(180deg,rgba(9,17,31,.95),rgba(3,8,17,.99));
    box-shadow:0 -12px 32px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)
  }
  .user-ui-v383 .ios-tab-bar .ios-tab{height:59px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;color:#8e9bb0;font-size:.64rem;font-weight:850;background:transparent;border:0}
  .user-ui-v383 .ios-tab-bar .ios-tab>span{width:32px;height:29px;display:grid;place-items:center;border-radius:10px}
  .user-ui-v383 .ios-tab-bar .ios-tab .app-icon{width:22px;height:22px}
  .user-ui-v383 .ios-tab-bar .ios-tab.active{color:#b88cff}
  .user-ui-v383 .ios-tab-bar .ios-tab.active>span{color:#b88cff;background:rgba(124,58,237,.13);filter:drop-shadow(0 0 8px rgba(168,112,255,.38))}
  .user-ui-v383 .ios-tab-bar .score-fab{position:relative;align-self:start;justify-self:center;width:68px;height:68px;margin-top:-25px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid #ad78ff;border-radius:50%;color:white;background:linear-gradient(180deg,#a65eff,#7330e4 58%,#5f21c7);box-shadow:0 7px 0 #351073,0 14px 30px rgba(117,48,229,.46),inset 0 2px 0 rgba(255,255,255,.34)}
  .user-ui-v383 .ios-tab-bar .score-fab>span{display:grid;place-items:center}
  .user-ui-v383 .ios-tab-bar .score-fab .app-icon{width:27px;height:27px;stroke-width:2.1}
  .user-ui-v383 .ios-tab-bar .score-fab b{font-size:.65rem}
  .user-ui-v383 .ios-tab-bar .score-fab.active{filter:brightness(1.12)}
  .user-ui-v383 .toast{bottom:calc(96px + env(safe-area-inset-bottom))}
}

@media(max-width:980px){
  .user-ui-v383 .ios-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .user-ui-v383 .ios-dashboard-columns{grid-template-columns:1fr}
  .user-ui-v383 .live-score-grid{grid-template-columns:1fr}
  .user-ui-v383 .live-score-grid>aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .user-ui-v383 .live-score-grid>aside>*{margin:0}
}

@media(max-width:620px){
  .user-ui-v383 .ios-dashboard,.user-ui-v383 .ios-history-page{gap:16px}
  .user-ui-v383 .ios-dashboard-welcome,.user-ui-v383 .ios-page-header{align-items:flex-start;flex-direction:column;padding:3px 2px}
  .user-ui-v383 .ios-dashboard-welcome h1,.user-ui-v383 .ios-page-header h1{font-size:1.78rem}
  .user-ui-v383 .ios-page-header .ios-primary-button{width:100%}
  .user-ui-v383 .ios-quick-actions{gap:8px}
  .user-ui-v383 .ios-action-button{min-height:96px;padding:10px 4px;border-radius:14px}
  .user-ui-v383 .ios-action-icon{width:43px;height:43px;border-radius:14px}
  .user-ui-v383 .ios-action-icon .app-icon{width:22px;height:22px}
  .user-ui-v383 .ios-action-button b{font-size:.66rem}
  .user-ui-v383 .ios-active-session-list{grid-template-columns:1fr}
  .user-ui-v383 .ios-active-card{padding:13px}
  .user-ui-v383 .ios-active-card-main{grid-template-columns:88px minmax(0,1fr);gap:12px}
  .user-ui-v383 .ios-game-cover{width:88px}
  .user-ui-v383 .ios-active-copy>b{font-size:1.25rem}
  .user-ui-v383 .ios-live-pill{right:11px;top:11px}
  .user-ui-v383 .ios-widget-grid{gap:9px}
  .user-ui-v383 .ios-stat-widget{min-height:106px;padding:12px;gap:8px}
  .user-ui-v383 .ios-stat-widget b{font-size:1.65rem}
  .user-ui-v383 .ios-widget-icon{width:47px;height:47px;border-radius:15px}
  .user-ui-v383 .ios-widget-icon .app-icon{width:25px;height:25px}
  .user-ui-v383 .ios-dashboard-panel,.user-ui-v383 .ios-history-section,.user-ui-v383 .ios-shelf-section{padding:13px;border-radius:17px}
  .user-ui-v383 .ios-session-row,.user-ui-v383 .ios-history-row{grid-template-columns:62px minmax(0,1fr) auto;gap:9px;padding:7px}
  .user-ui-v383 .ios-session-cover,.user-ui-v383 .ios-history-row .ios-session-cover{width:62px;height:62px}
  .user-ui-v383 .ios-session-copy b{font-size:.84rem}
  .user-ui-v383 .ios-session-copy small,.user-ui-v383 .ios-session-copy em{font-size:.6rem}
  .user-ui-v383 .ios-session-result{min-width:44px}
  .user-ui-v383 .ios-session-result b{font-size:1.2rem}
  .user-ui-v383 .ios-score-head{grid-template-columns:38px minmax(0,1fr) auto;padding:10px;gap:8px}
  .user-ui-v383 .ios-back-button{width:37px;height:37px}
  .user-ui-v383 .ios-score-head .score-game{grid-template-columns:39px minmax(0,1fr);gap:8px}
  .user-ui-v383 .ios-score-head .score-game img{width:39px;height:48px}
  .user-ui-v383 .ios-score-head .score-game h1{font-size:1rem}
  .user-ui-v383 .ios-score-head .score-game p{font-size:.63rem}
  .user-ui-v383 .ios-live-status{grid-column:2;justify-self:start}
  .user-ui-v383 .ios-head-pause{grid-column:3;grid-row:1/3;align-self:center}
  .user-ui-v383 .ios-status-pill,.user-ui-v383 .ios-timer-pill{min-height:28px;padding:5px 8px;font-size:.62rem}
  .user-ui-v383 .ios-pause-button,.user-ui-v383 .ios-resume-button{min-height:40px;padding:8px 10px;font-size:.68rem;border-radius:10px;flex-direction:column;gap:1px}
  .user-ui-v383 .ios-pause-button .app-icon,.user-ui-v383 .ios-resume-button .app-icon{width:16px;height:16px}
  .user-ui-v383 .ios-score-panel,.user-ui-v383 .ios-round-history{padding:12px}
  .user-ui-v383 .ios-score-section-title .mode-pill{display:none}
  .user-ui-v383 .ios-score-player{padding:11px;border-radius:15px}
  .user-ui-v383 .ios-player-heading{grid-template-columns:31px 42px minmax(0,1fr) auto;gap:8px}
  .user-ui-v383 .ios-player-heading>.avatar{width:42px;height:42px}
  .user-ui-v383 .ios-place-badge{width:29px;height:29px}
  .user-ui-v383 .ios-total-block .current-total{font-size:1.45rem}
  .user-ui-v383 .ios-round-controls{gap:6px!important}
  .user-ui-v383 .ios-round-controls .point-button,.user-ui-v383 .ios-round-controls .point-input{height:52px!important;font-size:1rem!important;border-radius:12px!important}
  .user-ui-v383 .ios-score-actions{grid-template-columns:minmax(100px,.8fr) minmax(165px,1.3fr);gap:8px}
  .user-ui-v383 .ios-primary-button,.user-ui-v383 .ios-secondary-button{font-size:.8rem;padding-left:10px;padding-right:10px}
  .user-ui-v383 .ios-round-history .round-log{grid-template-columns:1fr;gap:5px}
  .user-ui-v383 .live-score-grid>aside{grid-template-columns:1fr}
  .user-ui-v383 .compact-card{grid-template-columns:1fr}
  .user-ui-v383 .compact-card .ios-active-card-main{grid-template-columns:64px minmax(0,1fr)}
  .user-ui-v383 .compact-card .ios-game-cover{width:64px}
  .user-ui-v383 .compact-card .ios-primary-button,.user-ui-v383 .compact-card .ios-secondary-button{width:100%}
  .user-ui-v383 .ios-history-search{display:grid;grid-template-columns:1fr 1fr}
  .user-ui-v383 .ios-history-search label{grid-column:1/-1}
}

@media(max-width:390px){
  .user-ui-v383 .content{padding-left:9px;padding-right:9px}
  .user-ui-v383 .ios-topbar{padding-left:12px;padding-right:12px}
  .user-ui-v383 .mobile-brand{font-size:1.08rem}
  .user-ui-v383 .mobile-brand-mark{width:39px;height:39px}
  .user-ui-v383 .mobile-menu-avatar,.user-ui-v383 .notification-button{width:42px;height:42px}
  .user-ui-v383 .ios-action-button b{font-size:.61rem}
  .user-ui-v383 .ios-active-card-main{grid-template-columns:77px minmax(0,1fr)}
  .user-ui-v383 .ios-game-cover{width:77px}
  .user-ui-v383 .ios-widget-grid{grid-template-columns:1fr 1fr}
  .user-ui-v383 .ios-widget-icon{width:42px;height:42px}
  .user-ui-v383 .ios-round-controls{gap:4px!important}
  .user-ui-v383 .ios-round-controls .point-button,.user-ui-v383 .ios-round-controls .point-input{height:48px!important;font-size:.9rem!important}
  .user-ui-v383 .ios-score-actions{grid-template-columns:1fr}
  .user-ui-v383 .ios-score-actions .ios-secondary-button{order:2}
  .user-ui-v383 .ios-tab-bar .score-fab{width:64px;height:64px}
}

/* Keep every legacy action tactile inside the target user interface. */
.user-ui-v383 .btn.ghost,.user-ui-v383 .btn.secondary{
  background:linear-gradient(180deg,#1a2940,#0e1829);border-color:#354967;
  box-shadow:0 5px 0 #050b14,0 10px 20px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.08)
}
.user-ui-v383 .btn.warning{box-shadow:0 5px 0 #8c6500,0 10px 22px rgba(245,190,36,.2),inset 0 1px 0 rgba(255,255,255,.45)}
.user-ui-v383 .btn.success{box-shadow:0 5px 0 #14703f,0 10px 22px rgba(53,209,125,.2),inset 0 1px 0 rgba(255,255,255,.3)}
.user-ui-v383 .score-tools button,.user-ui-v383 .score-tools a{
  color:#e8eef7;background:linear-gradient(180deg,#17263d,#0d1728)!important;border:1px solid #334865!important;border-radius:12px!important
}

/* The approved scorekeeper target uses its own compact session header rather
   than stacking the global GameLog header above it on mobile. */
@media(max-width:860px){
  .user-ui-v383.scorekeeper-route .ios-topbar{display:none}
  .user-ui-v383.scorekeeper-route .main-shell{padding-top:0}
  .user-ui-v383.scorekeeper-route .content{padding-top:10px}
  .user-ui-v383.scorekeeper-route .ios-score-head{position:sticky;top:0;z-index:22}
}

/* ========================================================================== 
   GameLog v3.8.4 — mobile width, coloured footer, tactile UI and fast media
   ========================================================================== */
.user-ui-v384{
  --footer-home:#a970ff;
  --footer-games:#37c7ee;
  --footer-history:#f6c84f;
  --footer-profile:#46dfb3;
  --bell-yellow:#ffd84d;
}
.user-ui-v384,
.user-ui-v384 .app-shell,
.user-ui-v384 .main-shell,
.user-ui-v384 .content,
.user-ui-v384 .ios-dashboard,
.user-ui-v384 .ios-dashboard>*{min-width:0;max-width:100%}
.user-ui-v384{overflow-x:hidden}
.user-ui-v384 .content{overflow-x:clip}
.user-ui-v384 .ios-dashboard-columns>*,
.user-ui-v384 .ios-widget-grid>*,
.user-ui-v384 .ios-quick-actions>*,
.user-ui-v384 .ios-active-session-list>*,
.user-ui-v384 .ios-session-row>*,
.user-ui-v384 .ios-standing-row>*{min-width:0}
.user-ui-v384 .ios-quick-actions,
.user-ui-v384 .ios-widget-grid,
.user-ui-v384 .ios-dashboard-columns{width:100%}
.user-ui-v384 .ios-action-button,
.user-ui-v384 .ios-stat-widget,
.user-ui-v384 .ios-dashboard-panel,
.user-ui-v384 .ios-shelf-section{overflow:hidden}
.user-ui-v384 .ios-action-button b,
.user-ui-v384 .ios-stat-widget small,
.user-ui-v384 .ios-stat-widget em{overflow-wrap:anywhere}

/* Yellow tactile notification bell. */
.user-ui-v384 .notification-button{
  color:var(--bell-yellow)!important;
  border-color:rgba(255,216,77,.55)!important;
  background:linear-gradient(180deg,#213047,#101a2b)!important;
  box-shadow:0 5px 0 #070c15,0 0 20px rgba(255,216,77,.14),inset 0 1px 0 rgba(255,255,255,.12)!important
}
.user-ui-v384 .notification-button .app-icon{color:var(--bell-yellow);filter:drop-shadow(0 0 7px rgba(255,216,77,.52))}
.user-ui-v384 .notification-button:active{transform:translateY(3px)!important;box-shadow:0 2px 0 #070c15!important}

/* Every primary action should read as a physical, coloured control. */
.user-ui-v384 .btn.primary{
  background:linear-gradient(180deg,#a65eff 0%,#7c36ee 52%,#6422cd 100%)!important;
  border-color:#b27dff!important;
  box-shadow:0 6px 0 #43168f,0 12px 25px rgba(111,48,230,.32),inset 0 1px 0 rgba(255,255,255,.34)!important
}
.user-ui-v384 .btn.ghost,
.user-ui-v384 .btn.secondary,
.user-ui-v384 .share-action,
.user-ui-v384 .reaction{
  box-shadow:0 5px 0 #050b14,0 10px 20px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.09)!important
}
.user-ui-v384 .share-action.facebook{box-shadow:0 5px 0 #0b2550,0 10px 20px rgba(24,119,242,.18),inset 0 1px 0 rgba(255,255,255,.13)!important}
.user-ui-v384 .share-action.twitter{box-shadow:0 5px 0 #020306,0 10px 20px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.09)!important}
.user-ui-v384 .share-action.native{box-shadow:0 5px 0 #35116f,0 10px 20px rgba(124,58,237,.2),inset 0 1px 0 rgba(255,255,255,.12)!important}
.user-ui-v384 .btn:active,
.user-ui-v384 .share-action:active,
.user-ui-v384 .reaction:active{transform:translateY(3px)!important;box-shadow:0 2px 0 #050b14!important}

/* Coloured visual language across legacy summary widgets and cards. */
.user-ui-v384 .stat-tile,
.user-ui-v384 .standings-summary-card,
.user-ui-v384 .performance-leader-card{
  border-color:#2c405f;
  box-shadow:0 6px 0 #050b14,0 12px 24px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.06)
}
.user-ui-v384 .stat-tile:nth-child(4n+1),
.user-ui-v384 .standings-summary-card:nth-child(4n+1),
.user-ui-v384 .performance-leader-card:nth-child(4n+1){background:radial-gradient(circle at 88% 10%,rgba(169,112,255,.18),transparent 36%),linear-gradient(180deg,#142139,#0b1526)}
.user-ui-v384 .stat-tile:nth-child(4n+2),
.user-ui-v384 .standings-summary-card:nth-child(4n+2),
.user-ui-v384 .performance-leader-card:nth-child(4n+2){background:radial-gradient(circle at 88% 10%,rgba(55,199,238,.16),transparent 36%),linear-gradient(180deg,#142139,#0b1526)}
.user-ui-v384 .stat-tile:nth-child(4n+3),
.user-ui-v384 .standings-summary-card:nth-child(4n+3),
.user-ui-v384 .performance-leader-card:nth-child(4n+3){background:radial-gradient(circle at 88% 10%,rgba(246,200,79,.17),transparent 36%),linear-gradient(180deg,#142139,#0b1526)}
.user-ui-v384 .stat-tile:nth-child(4n+4),
.user-ui-v384 .standings-summary-card:nth-child(4n+4),
.user-ui-v384 .performance-leader-card:nth-child(4n+4){background:radial-gradient(circle at 88% 10%,rgba(70,223,179,.15),transparent 36%),linear-gradient(180deg,#142139,#0b1526)}
.user-ui-v384 .stat-tile:nth-child(4n+1)>b,.user-ui-v384 .standings-summary-card:nth-child(4n+1)>b,.user-ui-v384 .performance-leader-card:nth-child(4n+1)>b{color:#c9aaff}
.user-ui-v384 .stat-tile:nth-child(4n+2)>b,.user-ui-v384 .standings-summary-card:nth-child(4n+2)>b,.user-ui-v384 .performance-leader-card:nth-child(4n+2)>b{color:#75dcf6}
.user-ui-v384 .stat-tile:nth-child(4n+3)>b,.user-ui-v384 .standings-summary-card:nth-child(4n+3)>b,.user-ui-v384 .performance-leader-card:nth-child(4n+3)>b{color:#f8d96f}
.user-ui-v384 .stat-tile:nth-child(4n+4)>b,.user-ui-v384 .standings-summary-card:nth-child(4n+4)>b,.user-ui-v384 .performance-leader-card:nth-child(4n+4)>b{color:#7ce9c7}

/* Gold / silver / bronze placement treatment is shared by all user pages. */
.user-ui-v384 .leader-rank{display:grid;place-items:center}
.user-ui-v384 .personal-rank-heading{display:flex;align-items:center;gap:11px}
.user-ui-v384 .standing-row .place.ios-place-badge{width:38px;height:38px;margin:0;border-radius:50%;font-size:.92rem}
.user-ui-v384 .standing-row .team-place{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#17263d}
.user-ui-v384 .leaderboard-row .ios-place-badge{margin-inline:auto}
.admin-body .ios-place-badge{width:31px;height:31px;display:inline-grid;place-items:center;border-radius:50%;font-weight:950;font-size:.83rem;border:1px solid rgba(255,255,255,.28);box-shadow:0 4px 0 rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.45)}
.admin-body .ios-place-badge.gold{color:#3d2a00;background:linear-gradient(180deg,#ffe773,#e6a900);border-color:#ffed9b}
.admin-body .ios-place-badge.silver{color:#243043;background:linear-gradient(180deg,#f3f6fb,#aeb9c8);border-color:#fff}
.admin-body .ios-place-badge.bronze{color:#351404;background:linear-gradient(180deg,#f4a36a,#b94e14);border-color:#ffc297}
.admin-body .ios-place-badge.standard{color:#e9eef6;background:linear-gradient(180deg,#31425e,#1c293d);border-color:#536782}

/* Mobile header and viewport repair. The desktop Start scorecard button was
   forcing the entire dashboard wider than an iPhone viewport. */
@media(max-width:860px){
  .user-ui-v384 .main-shell{width:100%;max-width:100%;margin-left:0}
  .user-ui-v384 .content{width:100%;max-width:100%;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .user-ui-v384 .ios-topbar{width:100%;max-width:100%;min-width:0}
  .user-ui-v384 .desktop-primary-action,
  .user-ui-v384 .quick-start{display:none!important}
  .user-ui-v384 .mobile-brand{display:flex!important;flex:1 1 auto;min-width:0;max-width:calc(100% - 108px);margin-right:0!important;overflow:hidden}
  .user-ui-v384 .mobile-brand>span:last-child{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .user-ui-v384 .top-actions{flex:0 0 auto;min-width:0;margin-left:auto}
  .user-ui-v384 .ios-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .user-ui-v384 .ios-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .user-ui-v384 .ios-action-button{width:100%;min-width:0}
  .user-ui-v384 .ios-stat-widget{width:100%;min-width:0}

  /* Target footer: fixed glass bar, evenly spaced coloured icons and a clean
     single-layer circular Score button. */
  .user-ui-v384 .ios-tab-bar{
    height:88px!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    align-items:end!important;
    padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;
    overflow:visible!important
  }
  .user-ui-v384 .ios-tab-bar .ios-tab{
    width:100%;height:62px;min-width:0;padding:0 2px;justify-content:flex-end;gap:4px;
    opacity:.76;filter:saturate(.78);transition:opacity .16s ease,filter .16s ease,transform .16s ease
  }
  .user-ui-v384 .ios-tab-bar .ios-tab>span{width:36px;height:34px!important;margin:0!important;background:transparent!important;border-radius:11px!important;box-shadow:none!important}
  .user-ui-v384 .ios-tab-bar .ios-tab b{font-size:.63rem;line-height:1;white-space:nowrap}
  .user-ui-v384 .ios-tab-bar .tab-home{color:var(--footer-home)!important}
  .user-ui-v384 .ios-tab-bar .tab-games{color:var(--footer-games)!important}
  .user-ui-v384 .ios-tab-bar .tab-history{color:var(--footer-history)!important}
  .user-ui-v384 .ios-tab-bar .tab-profile{color:var(--footer-profile)!important}
  .user-ui-v384 .ios-tab-bar .ios-tab.active{opacity:1;filter:saturate(1.2) brightness(1.12);transform:translateY(-1px)}
  .user-ui-v384 .ios-tab-bar .tab-home.active>span{background:rgba(169,112,255,.15)!important;box-shadow:0 0 16px rgba(169,112,255,.25)!important}
  .user-ui-v384 .ios-tab-bar .tab-games.active>span{background:rgba(55,199,238,.14)!important;box-shadow:0 0 16px rgba(55,199,238,.23)!important}
  .user-ui-v384 .ios-tab-bar .tab-history.active>span{background:rgba(246,200,79,.14)!important;box-shadow:0 0 16px rgba(246,200,79,.22)!important}
  .user-ui-v384 .ios-tab-bar .tab-profile.active>span{background:rgba(70,223,179,.14)!important;box-shadow:0 0 16px rgba(70,223,179,.22)!important}
  .user-ui-v384 .ios-tab-bar .score-fab{
    width:72px!important;height:72px!important;min-width:72px!important;margin:-29px auto 0!important;padding:0!important;
    border-radius:50%!important;align-self:start!important;justify-self:center!important;gap:1px!important;
    background:linear-gradient(180deg,#ad66ff 0%,#8439f3 52%,#6421cc 100%)!important;
    border:1px solid #c08dff!important;
    box-shadow:0 7px 0 #381075,0 15px 30px rgba(121,49,232,.48),inset 0 2px 0 rgba(255,255,255,.38)!important
  }
  .user-ui-v384 .ios-tab-bar .score-fab>span{
    width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
    background:none!important;box-shadow:none!important;color:white!important
  }
  .user-ui-v384 .ios-tab-bar .score-fab .app-icon{width:29px!important;height:29px!important;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}
  .user-ui-v384 .ios-tab-bar .score-fab b{font-size:.64rem;line-height:1;color:white}
  .user-ui-v384 .ios-tab-bar .score-fab:active{transform:translateY(4px);box-shadow:0 3px 0 #381075,0 8px 18px rgba(121,49,232,.36)!important}
}

@media(max-width:430px){
  .user-ui-v384 .ios-dashboard-welcome h1{font-size:clamp(1.62rem,7.4vw,1.95rem)}
  .user-ui-v384 .ios-action-button{min-height:94px;padding-inline:3px}
  .user-ui-v384 .ios-action-button b{font-size:.59rem;line-height:1.1}
  .user-ui-v384 .ios-action-icon{width:42px;height:42px}
  .user-ui-v384 .ios-stat-widget{padding:11px;gap:7px}
  .user-ui-v384 .ios-stat-widget small{font-size:.66rem}
  .user-ui-v384 .ios-stat-widget em{font-size:.61rem}
}

@media(max-width:360px){
  .user-ui-v384 .ios-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .user-ui-v384 .ios-action-button{min-height:92px}
  .user-ui-v384 .ios-tab-bar .ios-tab b{font-size:.57rem}
  .user-ui-v384 .ios-tab-bar .score-fab{width:66px!important;height:66px!important;min-width:66px!important}
}

/* v3.8.4 Samsung/mobile browser scorecard action reliability.
   Installation and onboarding overlays never cover the scorecard wizard. */
.scorecard-create-route .pwa-install-banner,
.scorecard-create-route .onboarding-coach,
.scorecard-create-route.modal-open .pwa-install-banner,
.scorecard-create-route.modal-open .onboarding-coach{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important
}
.scorecard-create-route .scorecard-wizard-step[hidden]{display:none!important;pointer-events:none!important}
.scorecard-create-route .sticky-step-actions{
  isolation:isolate;
  pointer-events:auto;
  touch-action:manipulation
}
.scorecard-create-route .sticky-step-actions .btn,
.scorecard-create-route [data-wizard-next],
.scorecard-create-route [data-wizard-back],
.scorecard-create-route [data-scorecard-submit]{
  position:relative;
  z-index:4;
  pointer-events:auto!important;
  touch-action:manipulation;
  -webkit-user-select:none;
  user-select:none
}
.scorecard-create-route dialog.modal-fallback-open{
  position:fixed;
  inset:0;
  z-index:1800;
  display:grid!important;
  place-items:center;
  width:100vw;
  max-width:none;
  height:100dvh;
  max-height:none;
  margin:0;
  padding:8px;
  background:rgba(0,0,0,.72)
}
@media(max-width:860px){
  .scorecard-create-route .content{padding-bottom:calc(122px + env(safe-area-inset-bottom))}
  .scorecard-create-route .sticky-step-actions{
    bottom:calc(88px + env(safe-area-inset-bottom))!important;
    z-index:70!important
  }
}

/* ==========================================================================\n   GameLog v3.8.6 — catalogue wording, modal close control and styled selects\n   ========================================================================== */
body:not(.admin-body) .modal-card > .modal-close{
  appearance:none;-webkit-appearance:none;display:grid;place-items:center;
  width:40px;height:40px;padding:0;border-radius:13px;
  color:#f8fafc;background:linear-gradient(180deg,#2a3a57 0%,#17243a 55%,#0d1627 100%);
  border:1px solid #64799d;outline:0;
  box-shadow:0 4px 0 #050913,0 10px 20px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.18);
  line-height:1;font-size:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease,border-color .16s ease
}
body:not(.admin-body) .modal-card > .modal-close .app-icon{width:20px;height:20px;stroke-width:2.5}
body:not(.admin-body) .modal-card > .modal-close:hover{filter:brightness(1.1);border-color:#a970ff;transform:translateY(-1px)}
body:not(.admin-body) .modal-card > .modal-close:active{transform:translateY(3px);box-shadow:0 1px 0 #050913,0 5px 12px rgba(0,0,0,.3)}
body:not(.admin-body) .modal-card > .modal-close:focus-visible{outline:3px solid rgba(169,112,255,.48);outline-offset:3px;border-color:#c4a4ff}

/* Every user-facing single-value dropdown now matches GameLog's raised controls. */
body:not(.admin-body) select:not([multiple]){
  appearance:none!important;-webkit-appearance:none!important;
  min-height:48px;padding:11px 52px 11px 14px!important;
  border:1px solid #385071!important;border-radius:13px!important;color:#f8fafc!important;
  background-color:#0c1728!important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e9d5ff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 9 5 5 5-5'/%3E%3C/svg%3E"),
    linear-gradient(180deg,rgba(151,77,255,.42),rgba(91,33,182,.22)),
    linear-gradient(180deg,#17263d 0%,#0c1728 58%,#08111e 100%)!important;
  background-repeat:no-repeat,no-repeat,no-repeat!important;
  background-position:right 17px center,right 7px center,0 0!important;
  background-size:18px 18px,38px calc(100% - 12px),100% 100%!important;
  box-shadow:0 4px 0 #040812,0 10px 20px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.08)!important;
  font-weight:750;line-height:1.2;cursor:pointer;touch-action:manipulation;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,filter .16s ease
}
body:not(.admin-body) select:not([multiple]):hover{border-color:#7f63b9!important;filter:brightness(1.06)}
body:not(.admin-body) select:not([multiple]):focus{
  border-color:#a970ff!important;outline:0!important;transform:translateY(-1px);
  box-shadow:0 4px 0 #351073,0 0 0 3px rgba(169,112,255,.18),0 12px 24px rgba(91,33,182,.2),inset 0 1px 0 rgba(255,255,255,.1)!important
}
body:not(.admin-body) select:not([multiple]):active{transform:translateY(2px);box-shadow:0 2px 0 #040812,0 6px 14px rgba(0,0,0,.22)!important}
body:not(.admin-body) select:not([multiple]):disabled{opacity:.55;cursor:not-allowed;filter:saturate(.55)}
body:not(.admin-body) select option{background:#0b1424;color:#f8fafc}
body:not(.admin-body) select::-ms-expand{display:none}

@media(max-width:860px){
  body:not(.admin-body) .filter-bar select:not([multiple]){width:100%!important;min-width:0!important}
  body:not(.admin-body) .modal-card > .modal-close{right:12px;top:12px;width:38px;height:38px;border-radius:12px}
}



/* ==========================================================================
   GameLog v3.8.7 — profile hero and catalogue action-width refinement
   ========================================================================== */
.profile-show-route .profile-hero{
  display:grid;grid-template-columns:120px minmax(0,1fr);
  align-items:center;gap:24px;padding:26px 28px;
  background:radial-gradient(circle at 82% 0,rgba(124,58,237,.13),transparent 38%),linear-gradient(180deg,rgba(20,34,57,.98),rgba(10,20,36,.98))
}
.profile-show-route .profile-hero.has-actions{grid-template-columns:120px minmax(0,1fr) minmax(185px,220px)}
.profile-show-route .profile-avatar{
  width:120px;height:120px;border-radius:30px;border:1px solid rgba(167,139,250,.32);
  box-shadow:0 7px 0 #050a13,0 18px 34px rgba(0,0,0,.3),0 0 26px rgba(124,58,237,.12)
}
.profile-show-route .profile-copy{min-width:0;align-self:center}
.profile-show-route .profile-copy .eyebrow{margin-bottom:6px}
.profile-show-route .profile-copy h1{margin:0 0 3px;font-size:clamp(2rem,4vw,3rem);overflow-wrap:anywhere}
.profile-show-route .profile-handle{margin:0;color:#a8b4c7;font-size:1rem;overflow-wrap:anywhere}
.profile-show-route .profile-bio{margin:16px 0 0;color:#c6d0de;line-height:1.55}
.profile-show-route .profile-actions{
  width:100%;display:grid;grid-template-columns:1fr;gap:10px;align-self:center
}
.profile-show-route .profile-actions:empty{display:none}
.profile-show-route .profile-actions form{width:100%;margin:0}
.profile-show-route .profile-actions .btn,
.profile-show-route .profile-actions form .btn{
  width:100%;min-width:0;min-height:50px;padding-inline:14px;border-radius:14px;text-align:center
}
.profile-show-route .profile-actions .friend-badge,
.profile-show-route .profile-actions .status{justify-self:stretch;justify-content:center;min-height:44px;align-items:center;text-align:center}

/* Keep the catalogue hero buttons equal, aligned and fully usable at every width. */
.games-index-route .page-hero.compact{align-items:center}
.games-index-route .page-hero.compact>div:first-child{min-width:0}
.games-index-route .page-hero .hero-actions{
  width:min(100%,520px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0
}
.games-index-route .page-hero .hero-actions .btn{
  width:100%;min-width:0;min-height:54px;padding-inline:14px;border-radius:14px;text-align:center
}

@media(max-width:900px){
  .profile-show-route .profile-hero{
    grid-template-columns:96px minmax(0,1fr);align-items:start;gap:16px;padding:18px
  }
  .profile-show-route .profile-hero.has-actions{grid-template-columns:96px minmax(0,1fr)}
  .profile-show-route .profile-avatar{width:96px;height:96px;border-radius:25px}
  .profile-show-route .profile-copy h1{font-size:clamp(1.65rem,7vw,2.15rem)}
  .profile-show-route .profile-handle{font-size:.88rem;line-height:1.35}
  .profile-show-route .profile-bio{margin-top:11px;font-size:.88rem}
  .profile-show-route .profile-actions{
    grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:2px
  }
  .profile-show-route .profile-actions:has(> :only-child){grid-template-columns:1fr}
  .games-index-route .page-hero.compact{align-items:stretch}
  .games-index-route .page-hero .hero-actions{
    width:100%;max-width:none;grid-template-columns:1fr;gap:10px;margin-top:16px;justify-self:stretch
  }
  .games-index-route .page-hero .hero-actions .btn{width:100%!important;max-width:none!important}
}

@media(max-width:390px){
  .profile-show-route .profile-hero{grid-template-columns:82px minmax(0,1fr);gap:13px;padding:16px}
  .profile-show-route .profile-hero.has-actions{grid-template-columns:82px minmax(0,1fr)}
  .profile-show-route .profile-avatar{width:82px;height:82px;border-radius:22px}
  .profile-show-route .profile-copy h1{font-size:1.55rem}
  .profile-show-route .profile-handle{font-size:.78rem}
  .profile-show-route .profile-bio{font-size:.8rem}
  .profile-show-route .profile-actions{grid-template-columns:1fr}
}


/* ========================================================================== 
   GameLog v3.8.8 — scorecard actions, history-only deletion and tagged games
   ========================================================================== */
.user-ui-v388 .ios-action-button .ios-action-subtext{
  display:block;max-width:100%;margin-top:-5px;color:#9eabc0;
  font-size:.58rem;font-weight:700;line-height:1.12;text-align:center
}
.user-ui-v388 button.ios-action-button{font:inherit}
.user-ui-v388 .ios-action-button.is-disabled,
.user-ui-v388 .ios-action-button:disabled{
  cursor:not-allowed;opacity:.48;filter:saturate(.48);transform:none!important;
  box-shadow:0 3px 0 #050b14,0 8px 18px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.05)!important
}
.user-ui-v388 .ios-action-button.is-disabled .ios-action-icon,
.user-ui-v388 .ios-action-button:disabled .ios-action-icon{box-shadow:none!important}
.user-ui-v388 #tagged-live-games{scroll-margin-top:92px}

/* Step-one Continue is a deliberate full-width action below friend chips,
   never a half-width floating control beside the chip list. */
.scorecard-create-route .wizard-actions-single{
  display:grid!important;grid-template-columns:1fr!important;width:100%
}
.scorecard-create-route .wizard-actions-single .btn{
  width:100%!important;max-width:none!important;min-height:58px
}
@media(max-width:860px){
  .scorecard-create-route .scorecard-wizard-step[data-wizard-step="1"]{
    min-height:auto!important;padding-bottom:24px!important
  }
  .scorecard-create-route .scorecard-wizard-step[data-wizard-step="1"] .wizard-actions-single{
    position:relative!important;bottom:auto!important;inset:auto!important;
    margin:30px 0 0!important;padding:22px 0 2px!important;
    background:none!important;border-top:1px solid rgba(148,163,184,.12)!important;
    z-index:5!important
  }
  .scorecard-create-route .scorecard-wizard-step[data-wizard-step="1"] .wizard-actions-single .btn{
    min-height:60px;font-size:1rem!important;border-radius:16px
  }
}

/* Quick tools are tactile, readable controls rather than generic HTML blocks. */
.user-ui-v388 .score-tools{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:17px
}
.user-ui-v388 .score-tools h3{grid-column:1/-1;margin:0 0 2px;font-size:1.25rem}
.user-ui-v388 .score-tools .score-tool-action{
  width:100%;min-width:0;min-height:78px;display:grid!important;
  grid-template-columns:45px minmax(0,1fr);align-items:center;gap:11px;
  padding:12px!important;text-align:left!important;color:#eef3fa!important;
  background:linear-gradient(180deg,#1a2a43 0%,#0d182a 72%)!important;
  border:1px solid #3a506f!important;border-radius:15px!important;
  box-shadow:0 5px 0 #050a13,0 12px 23px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.09)!important;
  transition:transform .16s ease,filter .16s ease,border-color .16s ease,box-shadow .16s ease
}
.user-ui-v388 .score-tools .score-tool-action:hover{filter:brightness(1.07);border-color:#7187a8!important}
.user-ui-v388 .score-tools .score-tool-action:active{
  transform:translateY(3px);box-shadow:0 2px 0 #050a13,0 7px 15px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08)!important
}
.user-ui-v388 .score-tools .score-tool-action[aria-pressed="true"]{
  border-color:#a970ff!important;background:linear-gradient(180deg,#352064,#171631 76%)!important;
  box-shadow:0 5px 0 #3c117d,0 12px 24px rgba(124,58,237,.24),inset 0 1px 0 rgba(255,255,255,.12)!important
}
.user-ui-v388 .score-tool-icon{
  width:45px;height:45px;display:grid;place-items:center;border-radius:13px;
  color:#f5f8ff;background:linear-gradient(180deg,#9857ff,#6722cb);
  box-shadow:0 4px 0 #3d117e,0 8px 18px rgba(124,58,237,.27),inset 0 1px 0 rgba(255,255,255,.28)
}
.user-ui-v388 .tool-totals .score-tool-icon{background:linear-gradient(180deg,#44b4ff,#2167d8);box-shadow:0 4px 0 #123f8d,0 8px 18px rgba(59,130,246,.25),inset 0 1px 0 rgba(255,255,255,.26)}
.user-ui-v388 .tool-resources .score-tool-icon{background:linear-gradient(180deg,#2dd4bf,#0d9488);box-shadow:0 4px 0 #075f58,0 8px 18px rgba(45,212,191,.22),inset 0 1px 0 rgba(255,255,255,.25)}
.user-ui-v388 .tool-campaign .score-tool-icon{background:linear-gradient(180deg,#f6c84f,#dc8d0d);box-shadow:0 4px 0 #875507,0 8px 18px rgba(246,200,79,.22),inset 0 1px 0 rgba(255,255,255,.34);color:#231800}
.user-ui-v388 .score-tool-icon .app-icon{width:23px;height:23px;stroke-width:2.1}
.user-ui-v388 .score-tool-copy{min-width:0;display:grid;gap:2px}
.user-ui-v388 .score-tool-copy b{color:#f4f7fc;font-size:.9rem;line-height:1.18;overflow-wrap:anywhere}
.user-ui-v388 .score-tool-copy small{color:#93a3b9;font-size:.68rem;line-height:1.28;font-weight:600}
@media(max-width:390px){
  .user-ui-v388 .score-tools{grid-template-columns:1fr}
  .user-ui-v388 .score-tools h3{grid-column:1}
  .user-ui-v388 .score-tools .score-tool-action{min-height:70px}
}


/* ========================================================================== 
   GameLog v3.8.10 — History delete-session danger control
   ========================================================================== */
.user-ui-v390 .history-title .hero-actions .ios-delete-session-button{
  grid-column:1/-1;flex:1 1 100%;width:100%;min-width:0;min-height:54px;
  margin:2px 0 0;padding:11px 18px;display:inline-flex;align-items:center;
  justify-content:center;gap:10px;appearance:none;-webkit-appearance:none;
  border:1px solid rgba(255,133,148,.72);border-radius:14px;cursor:pointer;
  color:#ffd7dc;font:inherit;font-size:.9rem;font-weight:900;line-height:1.1;
  background:linear-gradient(180deg,#4b202c 0%,#32141e 58%,#250d15 100%);
  box-shadow:0 6px 0 #11050a,0 13px 25px rgba(239,68,68,.18),
    inset 0 1px 0 rgba(255,255,255,.16);
  text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:transform .16s ease,filter .16s ease,border-color .16s ease,box-shadow .16s ease
}
.user-ui-v390 .history-title .hero-actions .ios-delete-session-button:hover{
  filter:brightness(1.1);border-color:#ff9da8;transform:translateY(-1px)
}
.user-ui-v390 .history-title .hero-actions .ios-delete-session-button:active{
  transform:translateY(4px);box-shadow:0 2px 0 #11050a,0 7px 15px rgba(239,68,68,.17),
    inset 0 1px 0 rgba(255,255,255,.12)
}
.user-ui-v390 .history-title .hero-actions .ios-delete-session-button:focus-visible{
  outline:3px solid rgba(255,128,145,.36);outline-offset:3px
}
.user-ui-v390 .ios-delete-session-icon,
.user-ui-v390 .ios-delete-confirm-icon{
  width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;
  border-radius:10px;color:#fff;background:linear-gradient(180deg,#ff7182,#d9364c);
  box-shadow:0 3px 0 #861c2c,0 7px 14px rgba(239,68,68,.24),
    inset 0 1px 0 rgba(255,255,255,.28)
}
.user-ui-v390 .ios-delete-session-icon .app-icon,
.user-ui-v390 .ios-delete-confirm-icon .app-icon{width:18px;height:18px;stroke-width:2.25}

.user-ui-v390 .session-delete-card{
  border-color:rgba(255,125,143,.34);
  background:radial-gradient(circle at 50% 0,rgba(239,68,68,.13),transparent 42%),
    linear-gradient(180deg,#172137,#0d1728)
}
.user-ui-v390 .session-delete-icon{
  width:54px;height:54px;display:grid;place-items:center;border-radius:17px;
  color:#ffe0e4;background:linear-gradient(180deg,#6a2937,#38131e);
  border:1px solid rgba(255,128,145,.5);box-shadow:0 6px 0 #17060c,0 13px 25px rgba(239,68,68,.17)
}
.user-ui-v390 .session-delete-icon .app-icon{width:27px;height:27px}
.user-ui-v390 .session-delete-preserved{
  display:grid;gap:5px;padding:13px 14px;border:1px solid rgba(94,234,212,.25);
  border-radius:13px;background:rgba(13,148,136,.08)
}
.user-ui-v390 .session-delete-preserved b{color:#9cf4e7}
.user-ui-v390 .session-delete-preserved small{color:#aebbc9;line-height:1.45}
.user-ui-v390 .session-delete-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.user-ui-v390 .session-delete-actions>button{width:100%;min-width:0}
.user-ui-v390 .ios-delete-confirm-button{
  min-height:50px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  appearance:none;-webkit-appearance:none;border:1px solid #ff8d9c;border-radius:13px;cursor:pointer;
  color:#fff;font:inherit;font-weight:900;background:linear-gradient(180deg,#f65e72,#cf2e45 58%,#ad2035);
  box-shadow:0 6px 0 #6e1222,0 12px 23px rgba(239,68,68,.25),inset 0 1px 0 rgba(255,255,255,.27);
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease
}
.user-ui-v390 .ios-delete-confirm-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.user-ui-v390 .ios-delete-confirm-button:active{transform:translateY(4px);box-shadow:0 2px 0 #6e1222,0 6px 13px rgba(239,68,68,.22)}
.user-ui-v390 .ios-delete-confirm-button .ios-delete-confirm-icon{
  width:28px;height:28px;flex-basis:28px;border-radius:9px;background:rgba(94,11,28,.28);box-shadow:none
}
.user-ui-v390 .ios-delete-confirm-button .app-icon{width:17px;height:17px}

@media(max-width:560px){
  .user-ui-v390 .history-title .hero-actions .ios-delete-session-button{min-height:52px;font-size:.86rem}
  .user-ui-v390 .session-delete-actions{grid-template-columns:1fr}
  .user-ui-v390 .session-delete-actions .ios-delete-confirm-button{order:-1}
}


/* ========================================================================== 
   GameLog v3.8.11 — History hero layout cleanup
   ========================================================================== */
.user-ui-v390 .history-hero{
  grid-template-columns:minmax(0,1fr) 190px;
  align-items:stretch;
}
.user-ui-v390 .history-hero-main{
  min-width:0;
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  gap:22px;
  align-items:center;
}
.user-ui-v390 .history-cover{
  width:160px;
  height:205px;
  display:block;
  object-fit:contain;
  object-position:center;
  background:#070d17;
  border-radius:14px;
  padding:8px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.user-ui-v390 .history-title{
  min-width:0;
}
.user-ui-v390 .history-title .hero-actions,
.user-ui-v390 .history-title .social-share-actions{
  width:100%;
}
.user-ui-v390 .winner-card{
  align-self:stretch;
}
@media(max-width:900px){
  .user-ui-v390 .history-hero{
    grid-template-columns:1fr;
    gap:12px;
  }
  .user-ui-v390 .history-hero-main{
    grid-template-columns:92px minmax(0,1fr);
    gap:13px;
    align-items:start;
  }
  .user-ui-v390 .history-cover{
    width:92px;
    height:122px;
    padding:5px;
  }
}
@media(max-width:560px){
  .user-ui-v390 .history-hero{
    grid-template-columns:1fr;
  }
  .user-ui-v390 .history-hero-main{
    grid-template-columns:76px minmax(0,1fr);
    gap:12px;
  }
  .user-ui-v390 .history-cover{
    width:76px;
    height:102px;
    padding:4px;
  }
}

/* ========================================================================== 
   GameLog v3.8.12 — History hero cover/title row with actions underneath
   ========================================================================== */
.user-ui-v392 .history-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  gap:18px;
  align-items:stretch;
}
.user-ui-v392 .history-hero-main{
  min-width:0;
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  align-content:start;
}
.user-ui-v392 .history-hero-summary{
  min-width:0;
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.user-ui-v392 .history-hero-summary .history-cover{
  width:160px;
  height:205px;
  display:block;
  object-fit:contain;
  object-position:center;
  padding:8px;
  border-radius:14px;
  background:#070d17;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 10px 24px rgba(0,0,0,.22);
}
.user-ui-v392 .history-hero-summary .history-title{
  min-width:0;
  padding-top:2px;
}
.user-ui-v392 .history-hero-actions{
  min-width:0;
  display:grid;
  gap:12px;
}
.user-ui-v392 .history-hero-actions .hero-actions{
  width:100%;
  margin:0;
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.user-ui-v392 .history-hero-actions .hero-actions>.btn,
.user-ui-v392 .history-hero-actions .hero-actions>.ios-delete-session-button{
  width:100%;
  min-width:0;
}
.user-ui-v392 .history-hero-actions .social-share-actions{
  width:100%;
  margin:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.user-ui-v392 .history-hero-actions .share-action{
  width:100%;
  min-width:0;
}
.user-ui-v392 .history-hero-actions .ios-delete-session-button{
  min-height:54px;
  padding:11px 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(255,133,148,.72);
  border-radius:14px;
  cursor:pointer;
  color:#ffd7dc;
  font:inherit;
  font-size:.9rem;
  font-weight:900;
  line-height:1.1;
  background:linear-gradient(180deg,#4b202c 0%,#32141e 58%,#250d15 100%);
  box-shadow:0 6px 0 #11050a,0 13px 25px rgba(239,68,68,.18),inset 0 1px 0 rgba(255,255,255,.16);
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.user-ui-v392 .history-hero-actions .ios-delete-session-button:active{
  transform:translateY(4px);
  box-shadow:0 2px 0 #11050a,0 7px 15px rgba(239,68,68,.17),inset 0 1px 0 rgba(255,255,255,.12);
}
.user-ui-v392 .history-hero>.winner-card{
  align-self:stretch;
}
@media(max-width:900px){
  .user-ui-v392 .history-hero{
    grid-template-columns:1fr;
    gap:14px;
  }
  .user-ui-v392 .history-hero-summary{
    grid-template-columns:104px minmax(0,1fr);
    gap:14px;
  }
  .user-ui-v392 .history-hero-summary .history-cover{
    width:104px;
    height:138px;
    padding:5px;
  }
  .user-ui-v392 .history-hero>.winner-card{
    grid-column:1;
  }
}
@media(max-width:560px){
  .user-ui-v392 .history-hero{
    padding:14px;
  }
  .user-ui-v392 .history-hero-main{
    gap:14px;
  }
  .user-ui-v392 .history-hero-summary{
    grid-template-columns:96px minmax(0,1fr);
    gap:13px;
  }
  .user-ui-v392 .history-hero-summary .history-cover{
    width:96px;
    height:128px;
    padding:4px;
  }
  .user-ui-v392 .history-hero-summary .history-title h1{
    font-size:clamp(1.75rem,8vw,2.25rem)!important;
    line-height:1.04;
  }
  .user-ui-v392 .history-hero-summary .history-title p{
    margin:6px 0 10px;
  }
  .user-ui-v392 .history-hero-actions .hero-actions{
    grid-template-columns:1fr;
  }
  .user-ui-v392 .history-hero-actions .social-share-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:390px){
  .user-ui-v392 .history-hero-summary{
    grid-template-columns:86px minmax(0,1fr);
    gap:11px;
  }
  .user-ui-v392 .history-hero-summary .history-cover{
    width:86px;
    height:116px;
  }
}

/* ========================================================================== 
   GameLog v3.8.13 — My Games mobile collection redesign
   ========================================================================== */
.user-ui-v393.my-games-route .user-content{
  overflow-x:hidden;
}
.user-ui-v393.my-games-route .my-games-hero{
  align-items:center;
  gap:18px;
  padding:22px;
  border:1px solid rgba(84,111,153,.42);
  border-radius:20px;
  background:radial-gradient(circle at 85% 0,rgba(124,58,237,.18),transparent 38%),linear-gradient(180deg,#142139,#0d1729);
  box-shadow:0 12px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.05);
}
.user-ui-v393.my-games-route .my-games-hero h1{margin:4px 0 6px}
.user-ui-v393.my-games-route .my-games-hero p{max-width:650px;margin:0;color:#9ba9bc}
.user-ui-v393.my-games-route .my-games-add-button{
  min-width:190px;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  box-shadow:0 6px 0 #48149b,0 14px 28px rgba(124,58,237,.28),inset 0 1px 0 rgba(255,255,255,.24)
}
.user-ui-v393.my-games-route .my-games-add-button .app-icon{width:20px;height:20px}

.user-ui-v393.my-games-route .library-summary{
  display:flex;gap:11px;max-width:100%;margin:16px 0 18px;padding:2px 2px 12px;
  overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.user-ui-v393.my-games-route .library-summary::-webkit-scrollbar{display:none}
.user-ui-v393.my-games-route .library-summary-card{
  flex:1 0 132px;min-width:132px;min-height:94px;scroll-snap-align:start;
  display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;
  padding:13px;border:1px solid #344965;border-radius:17px;text-align:left;
  background:linear-gradient(180deg,#182842,#0d182a);
  box-shadow:0 5px 0 #050a13,0 12px 22px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .15s ease,filter .15s ease,border-color .15s ease;
}
.user-ui-v393.my-games-route .library-summary-card:active{transform:translateY(3px);box-shadow:0 2px 0 #050a13,0 7px 14px rgba(0,0,0,.18)}
.user-ui-v393.my-games-route .library-summary-card.active{border-color:#a970ff;background:linear-gradient(180deg,#2a2050,#151a32)}
.user-ui-v393.my-games-route .library-summary-icon{
  width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;font-size:20px;font-weight:950;
  background:linear-gradient(180deg,#9a5cff,#6822cf);box-shadow:0 4px 0 #421183,0 8px 17px rgba(124,58,237,.28),inset 0 1px 0 rgba(255,255,255,.28)
}
.user-ui-v393.my-games-route .library-summary-icon .app-icon{width:22px;height:22px}
.user-ui-v393.my-games-route .summary-owned .library-summary-icon{background:linear-gradient(180deg,#55a9ff,#2767d8);box-shadow:0 4px 0 #17428f,0 8px 17px rgba(59,130,246,.24),inset 0 1px 0 rgba(255,255,255,.25)}
.user-ui-v393.my-games-route .summary-favourites .library-summary-icon{background:linear-gradient(180deg,#ffd95c,#e8a90b);box-shadow:0 4px 0 #986b05,0 8px 17px rgba(245,188,38,.25),inset 0 1px 0 rgba(255,255,255,.34);color:#251a00}
.user-ui-v393.my-games-route .summary-wishlist .library-summary-icon{background:linear-gradient(180deg,#ff7cbd,#d93d86);box-shadow:0 4px 0 #8a2050,0 8px 17px rgba(236,72,153,.24),inset 0 1px 0 rgba(255,255,255,.28)}
.user-ui-v393.my-games-route .summary-played .library-summary-icon{background:linear-gradient(180deg,#48d8c5,#129c8c);box-shadow:0 4px 0 #08645b,0 8px 17px rgba(45,212,191,.22),inset 0 1px 0 rgba(255,255,255,.27)}
.user-ui-v393.my-games-route .library-summary-copy{min-width:0;display:grid;gap:1px}
.user-ui-v393.my-games-route .library-summary-copy b{font-size:1.45rem;line-height:1;color:#f8fafc}
.user-ui-v393.my-games-route .library-summary-copy small{color:#9eabc0;font-size:.72rem;font-weight:800;white-space:nowrap}

.user-ui-v393.my-games-route .my-games-filter{
  margin:0 0 18px;border:1px solid #344965;border-radius:18px;background:linear-gradient(180deg,#142238,#0c1728);overflow:visible;
  box-shadow:0 7px 0 #060b14,0 14px 28px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.06)
}
.user-ui-v393.my-games-route .my-games-filter>summary{
  min-height:66px;padding:13px 17px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;
  list-style:none;cursor:pointer
}
.user-ui-v393.my-games-route .my-games-filter>summary::-webkit-details-marker{display:none}
.user-ui-v393.my-games-route .filter-summary-icon{
  width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(180deg,#6d4bc2,#36216e);
  box-shadow:0 4px 0 #211343,0 8px 17px rgba(124,58,237,.18),inset 0 1px 0 rgba(255,255,255,.18)
}
.user-ui-v393.my-games-route .filter-summary-icon .app-icon{width:20px;height:20px}
.user-ui-v393.my-games-route .my-games-filter>summary b{font-size:1rem;color:#f3f6fb}
.user-ui-v393.my-games-route .my-games-filter>summary small{color:#a3aec0;font-size:.75rem}
.user-ui-v393.my-games-route .my-games-filter .app-filter-form{padding:0 14px 15px}

.user-ui-v393.my-games-route .my-games-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:15px;max-width:100%
}
.user-ui-v393.my-games-route .my-game-card{
  min-width:0;display:grid!important;grid-template-rows:auto auto;gap:14px;padding:14px;overflow:visible!important;
  border:1px solid #344965;border-radius:20px;background:radial-gradient(circle at 100% 0,rgba(124,58,237,.1),transparent 38%),linear-gradient(180deg,#142238,#0c1728);
  box-shadow:0 7px 0 #060b14,0 16px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06)
}
.user-ui-v393.my-games-route .my-game-card-top{
  min-width:0;display:grid;grid-template-columns:112px minmax(0,1fr);gap:15px;align-items:start
}
.user-ui-v393.my-games-route .my-game-card .library-cover{
  width:112px;height:150px;min-height:150px;display:grid;place-items:center;overflow:hidden;border-radius:15px;
  background:linear-gradient(145deg,#f7f7f8,#d9dee7);box-shadow:0 10px 24px rgba(0,0,0,.27),inset 0 0 0 1px rgba(255,255,255,.16)
}
.user-ui-v393.my-games-route .my-game-card .library-cover img{
  width:100%;height:100%;min-height:0;aspect-ratio:auto;display:block;object-fit:contain;object-position:center;padding:6px
}
.user-ui-v393.my-games-route .my-game-card .collection-badge{
  top:8px;left:8px;padding:5px 8px;border:1px solid rgba(255,255,255,.12);background:rgba(5,10,18,.88);font-size:.6rem
}
.user-ui-v393.my-games-route .my-game-card .favorite-badge{
  top:8px;right:8px;width:34px;height:34px;padding:0;display:grid;place-items:center;border-radius:50%;
  background:#182033;color:#ffd34e;box-shadow:0 4px 0 #070a10,0 8px 15px rgba(0,0,0,.22)
}
.user-ui-v393.my-games-route .library-card-copy{min-width:0;display:grid;align-content:start;gap:6px;padding:4px 0}
.user-ui-v393.my-games-route .library-card-copy h3{margin:0;font-size:1.25rem;line-height:1.12;overflow-wrap:anywhere}
.user-ui-v393.my-games-route .library-card-copy h3 a{color:#fff;text-decoration:none}
.user-ui-v393.my-games-route .library-card-copy p{min-height:0;margin:0;color:#98a6ba;font-size:.76rem;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.user-ui-v393.my-games-route .my-game-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.user-ui-v393.my-games-route .my-game-card-stats>span{
  min-width:0;display:grid;gap:2px;padding:9px;border:1px solid rgba(75,98,132,.45);border-radius:12px;background:rgba(6,13,24,.48)
}
.user-ui-v393.my-games-route .my-game-card-stats b{color:#d9c4ff;font-size:.9rem;overflow-wrap:anywhere}
.user-ui-v393.my-games-route .my-game-card-stats small{color:#8391a5;font-size:.62rem;line-height:1.2}
.user-ui-v393.my-games-route .library-primary-actions{
  min-width:0;display:grid!important;grid-template-columns:minmax(0,1fr) 118px;gap:10px;align-items:stretch
}
.user-ui-v393.my-games-route .my-game-score-button{
  min-width:0;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;
  box-shadow:0 6px 0 #48149b,0 13px 24px rgba(124,58,237,.25),inset 0 1px 0 rgba(255,255,255,.22)
}
.user-ui-v393.my-games-route .my-game-score-button .app-icon{width:18px;height:18px}
.user-ui-v393.my-games-route .library-card-menu>summary{
  min-height:52px!important;padding:10px!important;display:flex;flex-direction:column;gap:1px!important;border-color:#3b506f!important;
  background:linear-gradient(180deg,#1a2a43,#0d1829)!important;box-shadow:0 5px 0 #050a13,0 11px 20px rgba(0,0,0,.18)!important
}
.user-ui-v393.my-games-route .library-card-menu>summary>span{font-size:1rem;line-height:.7}
.user-ui-v393.my-games-route .library-card-menu>summary>b{font-size:.72rem}

@media(max-width:760px){
  .user-ui-v393.my-games-route .my-games-hero{display:grid;padding:18px 16px}
  .user-ui-v393.my-games-route .my-games-add-button{width:100%;min-width:0}
  .user-ui-v393.my-games-route .my-games-grid{grid-template-columns:1fr;gap:14px}
}
@media(max-width:560px){
  .user-ui-v393.my-games-route .user-content{padding-left:12px;padding-right:12px}
  .user-ui-v393.my-games-route .my-games-hero{margin-top:2px;border-radius:18px}
  .user-ui-v393.my-games-route .my-games-hero h1{font-size:2rem!important}
  .user-ui-v393.my-games-route .library-summary{margin-left:-1px;margin-right:-12px;padding-right:14px}
  .user-ui-v393.my-games-route .library-summary-card{flex-basis:126px;min-width:126px;min-height:88px;grid-template-columns:39px minmax(0,1fr);padding:11px}
  .user-ui-v393.my-games-route .library-summary-icon{width:39px;height:39px;border-radius:12px}
  .user-ui-v393.my-games-route .my-games-filter>summary{grid-template-columns:39px minmax(0,1fr) auto;padding:12px 13px}
  .user-ui-v393.my-games-route .filter-summary-icon{width:39px;height:39px}
  .user-ui-v393.my-games-route .my-game-card{padding:12px;gap:12px;border-radius:18px}
  .user-ui-v393.my-games-route .my-game-card-top{grid-template-columns:104px minmax(0,1fr);gap:13px}
  .user-ui-v393.my-games-route .my-game-card .library-cover{width:104px;height:140px;min-height:140px;border-radius:14px}
  .user-ui-v393.my-games-route .library-card-copy h3{font-size:1.1rem}
  .user-ui-v393.my-games-route .library-card-copy p{font-size:.72rem}
  .user-ui-v393.my-games-route .my-game-card-stats{grid-template-columns:1fr;margin-top:3px}
  .user-ui-v393.my-games-route .my-game-card-stats>span{padding:7px 9px}
  .user-ui-v393.my-games-route .library-primary-actions{grid-template-columns:minmax(0,1fr) 104px;gap:8px}
  .user-ui-v393.my-games-route .my-game-score-button{font-size:.82rem;padding-inline:9px}
}
@media(max-width:370px){
  .user-ui-v393.my-games-route .my-game-card-top{grid-template-columns:92px minmax(0,1fr);gap:11px}
  .user-ui-v393.my-games-route .my-game-card .library-cover{width:92px;height:124px;min-height:124px}
  .user-ui-v393.my-games-route .library-primary-actions{grid-template-columns:1fr}
  .user-ui-v393.my-games-route .library-card-menu>summary{min-height:48px!important;flex-direction:row}
}


/* ========================================================================== 
   GameLog v3.8.14 — My Games card grid reset and mobile card layout
   ========================================================================== */
.user-ui-v394.my-games-route .my-games-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(360px,1fr))!important;
  gap:16px!important;
  width:100%;
  max-width:100%;
}
.user-ui-v394.my-games-route .my-game-card,
.user-ui-v394.my-games-route .streamlined-library-card.my-game-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  grid-auto-flow:row!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding:14px!important;
  gap:14px!important;
  overflow:visible!important;
}
.user-ui-v394.my-games-route .my-game-card>.my-game-card-top,
.user-ui-v394.my-games-route .my-game-card>.library-primary-actions{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.user-ui-v394.my-games-route .my-game-card-top{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:15px!important;
  align-items:start!important;
}
.user-ui-v394.my-games-route .my-game-card .library-cover{
  width:112px!important;
  height:150px!important;
  min-width:112px!important;
  min-height:150px!important;
  max-width:112px!important;
  display:grid!important;
  place-items:center!important;
  align-self:start!important;
  border-radius:15px!important;
  overflow:hidden!important;
}
.user-ui-v394.my-games-route .my-game-card .library-cover img{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:6px!important;
}
.user-ui-v394.my-games-route .library-card-copy{
  min-width:0!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:start!important;
  gap:7px!important;
  padding:3px 0!important;
}
.user-ui-v394.my-games-route .library-card-copy h3{
  min-width:0!important;
  margin:0!important;
  font-size:1.22rem!important;
  line-height:1.12!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}
.user-ui-v394.my-games-route .library-card-copy h3 a{
  display:block!important;
  min-width:0!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.user-ui-v394.my-games-route .library-card-copy p{
  margin:0!important;
  min-width:0!important;
  min-height:0!important;
  font-size:.78rem!important;
  line-height:1.35!important;
  color:#9aa8bb!important;
}
.user-ui-v394.my-games-route .my-game-card-stats{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  margin-top:5px!important;
}
.user-ui-v394.my-games-route .my-game-card-stats>span{
  min-width:0!important;
  padding:9px 10px!important;
  border-radius:12px!important;
}
.user-ui-v394.my-games-route .my-game-card-stats b,
.user-ui-v394.my-games-route .my-game-card-stats small{
  display:block!important;
  min-width:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.user-ui-v394.my-games-route .library-primary-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
}
.user-ui-v394.my-games-route .my-game-score-button,
.user-ui-v394.my-games-route .library-card-menu,
.user-ui-v394.my-games-route .library-card-menu>summary{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.user-ui-v394.my-games-route .my-game-score-button{
  min-height:54px!important;
  padding:12px 16px!important;
  font-size:.92rem!important;
  white-space:normal!important;
  text-align:center!important;
}
.user-ui-v394.my-games-route .library-card-menu>summary{
  min-height:50px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:11px 15px!important;
}
.user-ui-v394.my-games-route .library-card-menu>summary>span{
  font-size:1.05rem!important;
  line-height:1!important;
}
.user-ui-v394.my-games-route .library-card-menu>summary>b{
  font-size:.85rem!important;
}
@media(max-width:760px){
  .user-ui-v394.my-games-route .my-games-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:15px!important;
  }
}
@media(max-width:560px){
  .user-ui-v394.my-games-route .my-game-card,
  .user-ui-v394.my-games-route .streamlined-library-card.my-game-card{
    grid-template-columns:minmax(0,1fr)!important;
    padding:13px!important;
    gap:13px!important;
  }
  .user-ui-v394.my-games-route .my-game-card-top{
    grid-template-columns:106px minmax(0,1fr)!important;
    gap:13px!important;
  }
  .user-ui-v394.my-games-route .my-game-card .library-cover{
    width:106px!important;
    height:142px!important;
    min-width:106px!important;
    min-height:142px!important;
    max-width:106px!important;
  }
  .user-ui-v394.my-games-route .library-card-copy h3{font-size:1.08rem!important}
  .user-ui-v394.my-games-route .my-game-card-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:390px){
  .user-ui-v394.my-games-route .my-game-card-top{
    grid-template-columns:96px minmax(0,1fr)!important;
    gap:11px!important;
  }
  .user-ui-v394.my-games-route .my-game-card .library-cover{
    width:96px!important;
    height:130px!important;
    min-width:96px!important;
    min-height:130px!important;
    max-width:96px!important;
  }
  .user-ui-v394.my-games-route .library-card-copy h3{font-size:1rem!important}
  .user-ui-v394.my-games-route .library-card-copy p{font-size:.7rem!important}
  .user-ui-v394.my-games-route .my-game-card-stats{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  .user-ui-v394.my-games-route .my-game-card-stats>span{padding:7px 9px!important}
}

/* ========================================================================== 
   GameLog v3.8.15 — live standings, round timers and mobile watch layout
   ========================================================================== */
.user-ui-v395 .ios-round-title-block{min-width:0;display:grid;gap:4px}
.user-ui-v395 .ios-round-title-row{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.user-ui-v395 .ios-round-title-row h2{margin:0}
.user-ui-v395 .ios-round-timer{
  min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;
  border:1px solid rgba(96,165,250,.42);border-radius:999px;color:#dbeafe;
  background:linear-gradient(180deg,rgba(37,99,235,.23),rgba(15,23,42,.92));
  box-shadow:0 3px 0 #050a13,inset 0 1px 0 rgba(255,255,255,.1);
  font-style:normal;font-size:.74rem;font-weight:900;white-space:nowrap
}
.user-ui-v395 .ios-round-timer .app-icon{width:16px;height:16px;color:#60a5fa}
.user-ui-v395 .round-log-time{
  display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;color:#93c5fd;
  font-style:normal;font-size:.72rem;font-weight:850;white-space:nowrap
}
.user-ui-v395 .round-log-time .app-icon{width:15px;height:15px}

/* Read-only watchers need compact standings cards, not empty score-entry cards. */
.user-ui-v395 .scorekeeper-shell.is-readonly .ios-score-player,
.user-ui-v395 .scorekeeper-shell.is-paused .ios-score-player{min-height:0;padding:11px 13px}
.user-ui-v395 .scorekeeper-shell.is-readonly .ios-player-heading,
.user-ui-v395 .scorekeeper-shell.is-paused .ios-player-heading{margin-bottom:0;grid-template-columns:34px 46px minmax(0,1fr) auto}
.user-ui-v395 .scorekeeper-shell.is-readonly .ios-total-block small,
.user-ui-v395 .scorekeeper-shell.is-paused .ios-total-block small{display:block}
.user-ui-v395 .scorekeeper-shell.is-readonly .live-score-list,
.user-ui-v395 .scorekeeper-shell.is-paused .live-score-list{gap:10px}

/* Score log becomes a responsive card grid rather than a squeezed table. */
.user-ui-v395 .ios-round-history .round-log{
  grid-template-columns:minmax(90px,1fr) auto repeat(2,minmax(105px,1fr));
  align-items:center
}
.user-ui-v395 .ios-round-history .round-log span{
  min-width:0;padding:7px 9px;border-radius:9px;background:rgba(148,163,184,.055)
}
.user-ui-v395 .ios-round-history .round-log-note{grid-column:1/-1}

/* Shareable standings and filters that apply immediately. */
.user-ui-v395 .standings-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}
.user-ui-v395 .standings-share-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}
.user-ui-v395 .standings-share-actions button{min-width:170px}
.user-ui-v395 .standings-share-actions .app-icon{width:19px;height:19px}
.user-ui-v395 .standings-filters{position:relative}
.user-ui-v395 .standings-auto-filter-note{align-self:end;color:#8fa0b8;font-size:.72rem;font-weight:700;padding:0 2px 8px}
.user-ui-v395 .standings-filters.is-updating{opacity:.72;pointer-events:none}

@media(max-width:760px){
  .user-ui-v395 .standings-hero{grid-template-columns:1fr}
  .user-ui-v395 .standings-game-cover{justify-self:start}
  .user-ui-v395 .standings-share-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .user-ui-v395 .standings-share-actions button{width:100%;min-width:0}
  .user-ui-v395 .standings-filters{display:grid;grid-template-columns:1fr}
  .user-ui-v395 .standings-auto-filter-note{padding:0;text-align:center}
  .user-ui-v395 .admin-live-watch{width:100%}
  .user-ui-v395 .admin-live-watch .score-panel,
  .user-ui-v395 .admin-live-watch .round-history{padding:12px}
}
@media(max-width:560px){
  .user-ui-v395 .ios-score-section-title{align-items:flex-start}
  .user-ui-v395 .ios-round-title-row{gap:8px}
  .user-ui-v395 .ios-round-title-row h2{font-size:1.25rem}
  .user-ui-v395 .ios-round-timer{min-height:30px;padding:5px 8px;font-size:.68rem}
  .user-ui-v395 .scorekeeper-shell.is-readonly .ios-score-player,
  .user-ui-v395 .scorekeeper-shell.is-paused .ios-score-player{padding:10px}
  .user-ui-v395 .scorekeeper-shell.is-readonly .ios-player-heading,
  .user-ui-v395 .scorekeeper-shell.is-paused .ios-player-heading{grid-template-columns:31px 42px minmax(0,1fr) auto;gap:8px}
  .user-ui-v395 .scorekeeper-shell.is-readonly .ios-total-block .current-total,
  .user-ui-v395 .scorekeeper-shell.is-paused .ios-total-block .current-total{font-size:1.4rem}
  .user-ui-v395 .ios-round-history .round-log{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:11px}
  .user-ui-v395 .ios-round-history .round-log>b{grid-column:1}
  .user-ui-v395 .ios-round-history .round-log>.round-log-time{grid-column:2}
  .user-ui-v395 .ios-round-history .round-log>span{grid-column:auto;display:flex;min-width:0;font-size:.75rem}
  .user-ui-v395 .ios-round-history .round-log>span:nth-of-type(odd){grid-column:1}
  .user-ui-v395 .ios-round-history .round-log>span:nth-of-type(even){grid-column:2}
  .user-ui-v395 .ios-round-history .round-log-note{grid-column:1/-1}
  .user-ui-v395 .standings-share-actions{grid-template-columns:1fr}
}
@media(max-width:370px){
  .user-ui-v395 .ios-round-history .round-log>span:nth-of-type(n){grid-column:1/-1}
}

/* ========================================================================== 
   GameLog v3.8.15 — Game-night invitation RSVP event
   ========================================================================== */
.user-ui-v395 .game-night-event-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:22px;margin-bottom:16px;background:radial-gradient(circle at 20% 0,rgba(124,58,237,.2),transparent 46%),linear-gradient(180deg,#142039,#0c1628);border:1px solid #30415d;border-radius:22px;box-shadow:0 7px 0 #050a13,0 18px 34px rgba(0,0,0,.2)}
.user-ui-v395 .game-night-event-summary{min-width:0;display:grid;grid-template-columns:112px minmax(0,1fr);gap:17px;align-items:center}
.user-ui-v395 .game-night-event-cover{width:112px;height:146px;display:grid;place-items:center;padding:6px;border-radius:15px;background:#070d17;border:1px solid rgba(255,255,255,.08);overflow:hidden}
.user-ui-v395 .game-night-event-cover img{display:block;width:100%;height:100%;object-fit:contain;border-radius:10px}
.user-ui-v395 .game-night-event-summary h1{margin:3px 0 4px;font-size:clamp(2rem,5vw,3rem)}
.user-ui-v395 .game-night-event-summary p{margin:0;color:#9caabd;font-size:1rem}
.user-ui-v395 .game-night-event-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px}
.user-ui-v395 .game-night-event-meta>span{min-height:32px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #33445f;border-radius:999px;background:#0c1627;color:#cbd5e1;font-size:.72rem;font-weight:750}
.user-ui-v395 .game-night-event-meta .app-icon{width:15px;height:15px;color:#b98cff}
.user-ui-v395 .game-night-event-host{min-width:180px;display:flex;align-items:center;gap:10px;align-self:start;padding:12px 14px;border:1px solid #33445f;border-radius:16px;background:rgba(7,13,23,.55)}
.user-ui-v395 .game-night-event-host div{display:grid;gap:2px}.user-ui-v395 .game-night-event-host small{color:#94a3b8}.user-ui-v395 .game-night-event-host b{color:#fff}
.user-ui-v395 .game-night-event-message{grid-column:1/-1;margin:0;padding:14px 16px;border:1px solid rgba(167,139,250,.22);border-radius:15px;background:rgba(91,33,182,.08);color:#d4dbea;line-height:1.55}
.user-ui-v395 .game-night-event-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}
.user-ui-v395 .game-night-event-actions>a,.user-ui-v395 .game-night-event-actions>button{min-width:170px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.user-ui-v395 .game-night-event-actions .app-icon{width:19px;height:19px}
.user-ui-v395 .event-status-active{color:#6ee7b7!important;border-color:rgba(52,211,153,.35)!important;background:rgba(16,185,129,.11)!important}
.user-ui-v395 .event-status-paused{color:#fcd34d!important;border-color:rgba(251,191,36,.35)!important;background:rgba(245,158,11,.1)!important}
.user-ui-v395 .event-status-completed{color:#c4b5fd!important;border-color:rgba(167,139,250,.35)!important;background:rgba(124,58,237,.1)!important}

.user-ui-v395 .game-night-rsvp-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:16px}
.user-ui-v395 .game-night-rsvp-summary article{min-height:95px;display:grid;place-items:center;align-content:center;gap:4px;padding:13px;border-radius:18px;text-align:center}
.user-ui-v395 .game-night-rsvp-summary b{font-size:1.8rem}.user-ui-v395 .game-night-rsvp-summary span{font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.user-ui-v395 .rsvp-summary-going{border-color:rgba(52,211,153,.38);background:linear-gradient(180deg,rgba(16,185,129,.14),#101a2a)}.user-ui-v395 .rsvp-summary-going b,.user-ui-v395 .rsvp-summary-going span{color:#6ee7b7}
.user-ui-v395 .rsvp-summary-maybe{border-color:rgba(251,191,36,.38);background:linear-gradient(180deg,rgba(245,158,11,.13),#101a2a)}.user-ui-v395 .rsvp-summary-maybe b,.user-ui-v395 .rsvp-summary-maybe span{color:#fcd34d}
.user-ui-v395 .rsvp-summary-waiting{border-color:rgba(96,165,250,.34);background:linear-gradient(180deg,rgba(59,130,246,.12),#101a2a)}.user-ui-v395 .rsvp-summary-waiting b,.user-ui-v395 .rsvp-summary-waiting span{color:#93c5fd}
.user-ui-v395 .rsvp-summary-declined{border-color:rgba(251,113,133,.34);background:linear-gradient(180deg,rgba(244,63,94,.1),#101a2a)}.user-ui-v395 .rsvp-summary-declined b,.user-ui-v395 .rsvp-summary-declined span{color:#fda4af}

.user-ui-v395 .game-night-rsvp-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px;margin-bottom:16px}
.user-ui-v395 .game-night-rsvp-card h2{margin:3px 0 5px}.user-ui-v395 .game-night-rsvp-card p{margin:0;color:#94a3b8}
.user-ui-v395 .game-night-rsvp-actions{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:9px}
.user-ui-v395 .game-night-rsvp-actions form{margin:0}.user-ui-v395 .rsvp-button{width:100%;min-height:50px;padding:10px 14px;border-radius:14px;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 5px 0 #050a13,inset 0 1px 0 rgba(255,255,255,.16);transition:transform .16s ease,filter .16s ease}
.user-ui-v395 .rsvp-button:active{transform:translateY(4px);box-shadow:0 1px 0 #050a13}.user-ui-v395 .rsvp-button.active{outline:3px solid rgba(255,255,255,.16);outline-offset:2px}
.user-ui-v395 .rsvp-going{color:#071a13;border:1px solid #6ee7b7;background:linear-gradient(180deg,#5ee0a2,#21b96f)}
.user-ui-v395 .rsvp-maybe{color:#251900;border:1px solid #fde68a;background:linear-gradient(180deg,#ffd95c,#eca918)}
.user-ui-v395 .rsvp-declined{color:#fff0f2;border:1px solid #fb7185;background:linear-gradient(180deg,#e95770,#b92945)}

.user-ui-v395 .game-night-invitees-card{margin-bottom:18px}
.user-ui-v395 .game-night-invitee-list{display:grid;gap:9px}
.user-ui-v395 .game-night-invitee{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 13px;border:1px solid #2c3c56;border-radius:15px;background:#0b1424}
.user-ui-v395 .game-night-invitee.current-user{border-color:#8b5cf6;background:rgba(91,33,182,.12)}
.user-ui-v395 .game-night-invitee.host-row{border-color:rgba(245,188,38,.28);background:rgba(245,188,38,.055)}
.user-ui-v395 .game-night-invitee>div{min-width:0;display:grid;gap:2px}.user-ui-v395 .game-night-invitee b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-ui-v395 .game-night-invitee small{color:#8fa0b8}
.user-ui-v395 .rsvp-status{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:900;white-space:nowrap}
.user-ui-v395 .rsvp-status.accepted,.user-ui-v395 .status-accepted{color:#6ee7b7;background:rgba(16,185,129,.12);border:1px solid rgba(52,211,153,.3)}
.user-ui-v395 .rsvp-status.maybe,.user-ui-v395 .status-maybe{color:#fcd34d;background:rgba(245,158,11,.11);border:1px solid rgba(251,191,36,.3)}
.user-ui-v395 .rsvp-status.pending,.user-ui-v395 .status-pending,.user-ui-v395 .status-sent{color:#93c5fd;background:rgba(59,130,246,.1);border:1px solid rgba(96,165,250,.28)}
.user-ui-v395 .rsvp-status.declined,.user-ui-v395 .status-declined{color:#fda4af;background:rgba(244,63,94,.1);border:1px solid rgba(251,113,133,.28)}

@media(max-width:760px){
  .user-ui-v395 .game-night-event-hero{grid-template-columns:1fr;padding:16px}
  .user-ui-v395 .game-night-event-summary{grid-template-columns:86px minmax(0,1fr);gap:13px}
  .user-ui-v395 .game-night-event-cover{width:86px;height:112px}
  .user-ui-v395 .game-night-event-summary h1{font-size:1.65rem}
  .user-ui-v395 .game-night-event-host{min-width:0;width:100%;justify-self:stretch}
  .user-ui-v395 .game-night-event-actions{display:grid;grid-template-columns:1fr}
  .user-ui-v395 .game-night-event-actions>a,.user-ui-v395 .game-night-event-actions>button{width:100%;min-width:0}
  .user-ui-v395 .game-night-rsvp-summary{grid-template-columns:1fr 1fr}
  .user-ui-v395 .game-night-rsvp-card{grid-template-columns:1fr}
  .user-ui-v395 .game-night-rsvp-actions{grid-template-columns:1fr}
}
@media(max-width:420px){
  .user-ui-v395 .game-night-event-summary{grid-template-columns:72px minmax(0,1fr)}
  .user-ui-v395 .game-night-event-cover{width:72px;height:96px}
  .user-ui-v395 .game-night-event-meta{gap:5px}.user-ui-v395 .game-night-event-meta>span{font-size:.64rem;padding:5px 7px}
  .user-ui-v395 .game-night-invitee{grid-template-columns:38px minmax(0,1fr);gap:9px}
  .user-ui-v395 .game-night-invitee .rsvp-status{grid-column:1/-1;justify-self:stretch}
}

.user-ui-v395 .invite-list>article.invite-card{grid-template-columns:minmax(0,1fr) auto;align-items:start}
.user-ui-v395 .invite-list>article.invite-card>.inline-actions{grid-column:1/-1;display:flex;flex-wrap:wrap}
.user-ui-v395 .invite-list>article.invite-card>.status{justify-self:end}
@media(max-width:560px){
  .user-ui-v395 .invite-list>article.invite-card{grid-template-columns:1fr}
  .user-ui-v395 .invite-list>article.invite-card>.status{justify-self:start}
  .user-ui-v395 .invite-list>article.invite-card>.inline-actions{grid-column:1}
}

/* ========================================================================== 
   GameLog v3.8.16 — mobile live watch, admin watch, and event details
   ========================================================================== */
.user-ui-v396 .scorekeeper-shell.is-readonly .score-panel,
.user-ui-v396 .scorekeeper-shell.is-paused .score-panel,
.admin-live-watch .score-panel{
  overflow:hidden;
}
.user-ui-v396 .scorekeeper-shell.is-readonly .ios-round-title-row,
.user-ui-v396 .scorekeeper-shell.is-paused .ios-round-title-row,
.admin-live-watch .ios-round-title-row{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
}
.user-ui-v396 .ios-round-timer,
.admin-live-watch .ios-round-timer{
  width:auto!important;min-width:0!important;min-height:32px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:6px!important;padding:5px 9px!important;border:1px solid rgba(96,165,250,.42)!important;
  border-radius:999px!important;color:#dbeafe!important;
  background:linear-gradient(180deg,rgba(37,99,235,.23),rgba(15,23,42,.92))!important;
  box-shadow:0 3px 0 #050a13,inset 0 1px 0 rgba(255,255,255,.1)!important;
  font-style:normal!important;font-size:.72rem!important;font-weight:900!important;white-space:nowrap!important;
}
.user-ui-v396 .ios-round-timer .app-icon,
.admin-live-watch .ios-round-timer .app-icon{
  width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;
  min-height:16px!important;max-height:16px!important;color:#60a5fa!important;display:block!important;
}
.user-ui-v396 .round-log-time,
.admin-live-watch .round-log-time{
  width:auto!important;display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:5px!important;color:#93c5fd!important;font-style:normal!important;font-size:.7rem!important;
  font-weight:850!important;white-space:nowrap!important;
}
.user-ui-v396 .round-log-time .app-icon,
.admin-live-watch .round-log-time .app-icon{
  width:14px!important;height:14px!important;min-width:14px!important;max-width:14px!important;
}

/* Read-only player cards are standings rows, not empty score-entry panels. */
.user-ui-v396 .scorekeeper-shell.is-readonly .ios-score-player,
.user-ui-v396 .scorekeeper-shell.is-paused .ios-score-player,
.admin-live-watch .scorekeeper-shell.is-readonly .ios-score-player{
  display:block!important;min-height:0!important;height:auto!important;padding:12px 13px!important;
  border-radius:16px!important;
}
.user-ui-v396 .scorekeeper-shell.is-readonly .ios-player-heading,
.user-ui-v396 .scorekeeper-shell.is-paused .ios-player-heading,
.admin-live-watch .scorekeeper-shell.is-readonly .ios-player-heading{
  width:100%!important;display:grid!important;
  grid-template-columns:34px 46px minmax(0,1fr) auto!important;
  align-items:center!important;gap:10px!important;margin:0!important;
}
.user-ui-v396 .scorekeeper-shell.is-readonly .ios-player-heading>.avatar,
.user-ui-v396 .scorekeeper-shell.is-paused .ios-player-heading>.avatar,
.admin-live-watch .scorekeeper-shell.is-readonly .ios-player-heading>.avatar{
  width:46px!important;height:46px!important;
}
.user-ui-v396 .scorekeeper-shell.is-readonly .player-name,
.user-ui-v396 .scorekeeper-shell.is-paused .player-name,
.admin-live-watch .scorekeeper-shell.is-readonly .player-name{
  min-width:0!important;display:grid!important;gap:2px!important;
}
.user-ui-v396 .scorekeeper-shell.is-readonly .player-name b,
.user-ui-v396 .scorekeeper-shell.is-paused .player-name b,
.admin-live-watch .scorekeeper-shell.is-readonly .player-name b{
  font-size:1rem!important;line-height:1.15!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;
}
.user-ui-v396 .scorekeeper-shell.is-readonly .ios-total-block,
.user-ui-v396 .scorekeeper-shell.is-paused .ios-total-block,
.admin-live-watch .scorekeeper-shell.is-readonly .ios-total-block{
  display:grid!important;text-align:right!important;align-self:center!important;min-width:54px!important;
}
.user-ui-v396 .scorekeeper-shell.is-readonly .ios-total-block small,
.user-ui-v396 .scorekeeper-shell.is-paused .ios-total-block small,
.admin-live-watch .scorekeeper-shell.is-readonly .ios-total-block small{
  display:block!important;font-size:.58rem!important;color:#8fa0b8!important;
}
.user-ui-v396 .scorekeeper-shell.is-readonly .ios-total-block .current-total,
.user-ui-v396 .scorekeeper-shell.is-paused .ios-total-block .current-total,
.admin-live-watch .scorekeeper-shell.is-readonly .ios-total-block .current-total{
  font-size:1.55rem!important;line-height:1!important;color:#ccb4ff!important;text-align:right!important;
}

/* Round history is a stacked mobile list. */
.user-ui-v396 .ios-round-history .round-table,
.admin-live-watch .ios-round-history .round-table{display:grid!important;gap:9px!important;}
.user-ui-v396 .ios-round-history .round-log,
.admin-live-watch .ios-round-history .round-log{
  margin:0!important;padding:12px!important;display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;gap:7px 10px!important;
  border:1px solid #293b58!important;border-radius:14px!important;background:#0b1627!important;
}
.user-ui-v396 .ios-round-history .round-log>b,
.admin-live-watch .ios-round-history .round-log>b{grid-column:1!important;font-size:.9rem!important;color:#f2efff!important;}
.user-ui-v396 .ios-round-history .round-log>.round-log-time,
.admin-live-watch .ios-round-history .round-log>.round-log-time{grid-column:2!important;}
.user-ui-v396 .ios-round-history .round-log>span,
.admin-live-watch .ios-round-history .round-log>span{
  grid-column:1/-1!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:12px!important;min-width:0!important;padding:7px 9px!important;border-radius:9px!important;
  background:rgba(148,163,184,.055)!important;color:#aebbd0!important;font-size:.76rem!important;
}
.user-ui-v396 .ios-round-history .round-log>span strong,
.admin-live-watch .ios-round-history .round-log>span strong{color:#c7a0ff!important;font-size:.85rem!important;}
.user-ui-v396 .ios-round-history .round-log-note,
.admin-live-watch .ios-round-history .round-log-note{grid-column:1/-1!important;}

/* Administrator live watch gets the same scorekeeper styling as user live watch. */
.admin-live-watch-page .topbar>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw;}
.admin-live-watch-page .admin-content{overflow-x:hidden;}
.admin-live-watch{width:min(1120px,100%)!important;margin-inline:auto!important;}
.admin-live-watch .scorekeeper-shell{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
.admin-live-watch .live-score-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;}
.admin-live-watch .live-score-grid>main,
.admin-live-watch .live-score-grid>aside{min-width:0!important;width:100%!important;}
.admin-live-watch .live-score-grid>aside{position:static!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
.admin-live-watch .score-panel,
.admin-live-watch .round-history,
.admin-live-watch .participant-card,
.admin-live-watch .score-tools{width:100%!important;margin:0!important;}
.admin-live-watch .scorekeeper-head{position:relative!important;top:auto!important;z-index:1!important;}

/* Expanded event information. */
.user-ui-v396 .game-night-details-card{margin-bottom:16px;}
.user-ui-v396 .game-night-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.user-ui-v396 .game-night-detail-grid article,
.user-ui-v396 .game-night-host-note{
  min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;
  padding:13px;border:1px solid #2d3e59;border-radius:15px;background:#0b1424;
}
.user-ui-v396 .event-detail-icon{
  width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;
  background:linear-gradient(180deg,#9857ff,#6722cb);box-shadow:0 4px 0 #3d117e,0 8px 16px rgba(124,58,237,.2);
  font-weight:900;
}
.user-ui-v396 .event-detail-icon .app-icon{width:21px;height:21px;}
.user-ui-v396 .event-detail-location{background:linear-gradient(180deg,#2dd4bf,#0d9488);box-shadow:0 4px 0 #075f58,0 8px 16px rgba(45,212,191,.18);}
.user-ui-v396 .event-detail-status{background:linear-gradient(180deg,#60a5fa,#2563eb);box-shadow:0 4px 0 #173f9a,0 8px 16px rgba(59,130,246,.2);}
.user-ui-v396 .event-detail-scoring{background:linear-gradient(180deg,#f6c84f,#dc8d0d);box-shadow:0 4px 0 #875507,0 8px 16px rgba(246,200,79,.18);color:#241900;}
.user-ui-v396 .event-detail-note{background:linear-gradient(180deg,#f472b6,#db2777);box-shadow:0 4px 0 #8c1650,0 8px 16px rgba(236,72,153,.18);}
.user-ui-v396 .game-night-detail-grid article>div,
.user-ui-v396 .game-night-host-note>div{min-width:0;display:grid;gap:3px;}
.user-ui-v396 .game-night-detail-grid small,
.user-ui-v396 .game-night-host-note small{color:#8fa0b8;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;}
.user-ui-v396 .game-night-detail-grid b{color:#f5f7fb;font-size:.82rem;line-height:1.35;overflow-wrap:anywhere;}
.user-ui-v396 .game-night-host-note{margin-top:11px;align-items:start;}
.user-ui-v396 .game-night-host-note p{margin:0;color:#c9d2df;line-height:1.55;overflow-wrap:anywhere;}
.user-ui-v396 .game-night-invite-details{gap:10px;}

@media(max-width:760px){
  .admin-live-watch-page .admin-live-watch-head{display:none!important;}
  .admin-live-watch-page .admin-content{padding:12px 10px 28px!important;}
  .admin-live-watch .scorekeeper-head{
    display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;gap:9px!important;
    align-items:center!important;padding:11px!important;margin-bottom:10px!important;
  }
  .admin-live-watch .scorekeeper-head .ios-back-button{grid-column:1!important;grid-row:1!important;}
  .admin-live-watch .scorekeeper-head .score-game{grid-column:2!important;grid-row:1!important;min-width:0!important;}
  .admin-live-watch .scorekeeper-head .score-game img{width:44px!important;height:58px!important;}
  .admin-live-watch .scorekeeper-head .score-game h1{font-size:1rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .admin-live-watch .scorekeeper-head .score-game p{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .admin-live-watch .scorekeeper-head .score-status{grid-column:1/-1!important;grid-row:2!important;justify-content:flex-start!important;margin:0!important;}
  .admin-live-watch .live-view-banner{margin-bottom:10px!important;}
  .admin-live-watch .score-panel,
  .admin-live-watch .round-history,
  .admin-live-watch .participant-card,
  .admin-live-watch .score-tools{padding:13px!important;}
  .user-ui-v396 .game-night-detail-grid{grid-template-columns:1fr 1fr;}
}

@media(max-width:560px){
  .user-ui-v396 .ios-score-section-title,
  .admin-live-watch .ios-score-section-title{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-items:start!important;}
  .user-ui-v396 .ios-score-section-title .mode-pill,
  .admin-live-watch .ios-score-section-title .mode-pill{justify-self:start!important;}
  .user-ui-v396 .scorekeeper-shell.is-readonly .ios-player-heading,
  .user-ui-v396 .scorekeeper-shell.is-paused .ios-player-heading,
  .admin-live-watch .scorekeeper-shell.is-readonly .ios-player-heading{
    grid-template-columns:31px 42px minmax(0,1fr) auto!important;gap:8px!important;
  }
  .user-ui-v396 .scorekeeper-shell.is-readonly .ios-player-heading>.avatar,
  .user-ui-v396 .scorekeeper-shell.is-paused .ios-player-heading>.avatar,
  .admin-live-watch .scorekeeper-shell.is-readonly .ios-player-heading>.avatar{width:42px!important;height:42px!important;}
  .user-ui-v396 .scorekeeper-shell.is-readonly .ios-total-block .current-total,
  .user-ui-v396 .scorekeeper-shell.is-paused .ios-total-block .current-total,
  .admin-live-watch .scorekeeper-shell.is-readonly .ios-total-block .current-total{font-size:1.35rem!important;}
  .user-ui-v396 .game-night-detail-grid{grid-template-columns:1fr;}
  .user-ui-v396 .game-night-details-card .section-title{align-items:flex-start;gap:10px;}
  .user-ui-v396 .game-night-details-card .section-title .btn{width:100%;}
}

@media(max-width:390px){
  .user-ui-v396 .scorekeeper-shell.is-readonly .ios-player-heading,
  .user-ui-v396 .scorekeeper-shell.is-paused .ios-player-heading,
  .admin-live-watch .scorekeeper-shell.is-readonly .ios-player-heading{
    grid-template-columns:29px 38px minmax(0,1fr) auto!important;gap:7px!important;
  }
  .user-ui-v396 .scorekeeper-shell.is-readonly .ios-player-heading>.avatar,
  .user-ui-v396 .scorekeeper-shell.is-paused .ios-player-heading>.avatar,
  .admin-live-watch .scorekeeper-shell.is-readonly .ios-player-heading>.avatar{width:38px!important;height:38px!important;}
  .user-ui-v396 .scorekeeper-shell.is-readonly .player-name b,
  .user-ui-v396 .scorekeeper-shell.is-paused .player-name b,
  .admin-live-watch .scorekeeper-shell.is-readonly .player-name b{font-size:.9rem!important;}
}
.admin-live-watch .ios-back-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #2e405e;border-radius:50%;background:linear-gradient(180deg,#17263d,#0b1525);box-shadow:0 4px 0 #040a13;color:#e5eaf2;text-decoration:none}
.admin-live-watch .ios-back-button .app-icon{width:20px;height:20px}
.admin-live-watch .ios-kicker{display:block;color:#b98cff;font-size:.68rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.admin-live-watch .ios-score-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px}


/* GameLog v3.8.17 — friend-visible live sessions and dashboard install control */
.dashboard-install-card{margin:0 0 18px;border:1px solid rgba(250,204,21,.55);border-radius:18px;background:linear-gradient(145deg,rgba(250,204,21,.16),rgba(234,179,8,.07));box-shadow:0 10px 28px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden}
.dashboard-install-card[hidden]{display:none!important}
.dashboard-install-button{width:100%;min-height:68px;display:grid;grid-template-columns:46px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:11px 14px;border:0;background:linear-gradient(135deg,#facc15,#eab308);color:#211b02;text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -3px 0 rgba(113,63,18,.25)}
.dashboard-install-button:active{transform:translateY(1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(113,63,18,.25)}
.dashboard-install-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(30,24,3,.13);font-size:25px;font-weight:900}
.dashboard-install-button>span:nth-child(2){min-width:0;display:grid;gap:2px}
.dashboard-install-button b{font-size:.96rem;line-height:1.2}
.dashboard-install-button small{font-size:.72rem;line-height:1.25;color:#554507}
.dashboard-install-arrow{font-size:30px;font-weight:500;text-align:right}
.dashboard-install-help{padding:14px;background:rgba(7,12,22,.96);border-top:1px solid rgba(250,204,21,.28)}
.dashboard-install-help[hidden]{display:none!important}
.dashboard-install-help p{margin:0 0 10px;color:#f8fafc;font-size:.84rem;line-height:1.45}
.dashboard-install-steps{display:grid;gap:7px;padding:11px;border-radius:12px;background:rgba(250,204,21,.08);color:#fde68a;font-size:.8rem}
.dashboard-install-help-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.session-visibility-control{display:grid;gap:9px;margin:14px 0;padding:12px;border:1px solid rgba(250,204,21,.22);border-radius:14px;background:rgba(250,204,21,.055)}
.session-visibility-control label{display:grid;gap:8px}
.session-visibility-control label>span{display:grid;gap:2px}
.session-visibility-control label small{color:var(--muted);font-size:.72rem}
.session-visibility-control select{width:100%}
.friend-watch-banner{border-color:rgba(250,204,21,.32);background:linear-gradient(135deg,rgba(250,204,21,.11),rgba(124,58,237,.08))}
@media(max-width:560px){.dashboard-install-card{margin:0 0 14px;border-radius:15px}.dashboard-install-button{min-height:64px;grid-template-columns:40px minmax(0,1fr) 20px;padding:10px 12px;gap:10px}.dashboard-install-icon{width:38px;height:38px;border-radius:11px;font-size:22px}.dashboard-install-help-actions{display:grid;grid-template-columns:1fr 1fr}.dashboard-install-help-actions .btn{width:100%}.session-visibility-control{padding:11px}}
@media(display-mode:standalone),(display-mode:fullscreen){.dashboard-install-card{display:none!important}}


/* GameLog v3.8.18 — native mobile score controls, live audience and notification settings */
.user-ui-v398 .ios-live-status{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.user-ui-v398 .ios-viewer-pill{display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:6px 9px;border:1px solid rgba(96,165,250,.25);border-radius:11px;background:rgba(37,99,235,.1);color:#bfdbfe;font-size:.74rem;white-space:nowrap}
.user-ui-v398 .ios-viewer-pill .app-icon{width:15px;height:15px;color:#60a5fa}.user-ui-v398 .ios-viewer-pill b{font-size:.88rem;color:#fff}.user-ui-v398 .ios-viewer-pill small{color:#93a4bd;font-size:.63rem}
.user-ui-v398 .ios-round-controls{display:grid!important;grid-template-columns:repeat(3,minmax(36px,1fr)) minmax(54px,1.25fr) repeat(3,minmax(36px,1fr));gap:6px;width:100%;align-items:stretch}
.user-ui-v398 .ios-round-controls .point-button{min-width:0;width:100%;min-height:46px;padding:5px 2px;border-radius:12px;font-size:.88rem;font-weight:900}
.user-ui-v398 .ios-round-controls .point-input{min-width:0;width:100%;height:46px;padding:4px;border-radius:12px;text-align:center;font-size:1.18rem;font-weight:900;border:1px solid rgba(148,163,184,.26);background:#07111f;color:#fff;box-shadow:inset 0 1px 4px rgba(0,0,0,.35)}
.user-ui-v398 .session-control-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.user-ui-v398 .session-control-heading h2{margin-bottom:0}
.user-ui-v398 .live-audience-status{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:7px 9px;border-radius:999px;border:1px solid rgba(52,211,153,.26);background:rgba(16,185,129,.1);color:#a7f3d0;font-size:.67rem;font-weight:800;white-space:nowrap}.user-ui-v398 .live-audience-status.audience-private{border-color:rgba(148,163,184,.3);background:rgba(100,116,139,.13);color:#d5dce8}.user-ui-v398 .live-audience-status.audience-public{border-color:rgba(96,165,250,.28);background:rgba(37,99,235,.12);color:#bfdbfe}.user-ui-v398 .live-audience-status .app-icon{width:14px;height:14px}
.user-ui-v398 .session-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.user-ui-v398 .session-action-grid form{margin:0}
.user-ui-v398 .ios-session-action{display:flex;align-items:center;gap:10px;width:100%;min-height:64px;padding:10px 12px;border-radius:15px;text-align:left;color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 5px 0 rgba(0,0,0,.28);cursor:pointer}.user-ui-v398 .ios-session-action.pause{background:linear-gradient(180deg,#a66b08,#754802);border-color:rgba(250,204,21,.42)}.user-ui-v398 .ios-session-action.finish{background:linear-gradient(180deg,#16805e,#0c5c43);border-color:rgba(52,211,153,.4)}.user-ui-v398 .ios-session-action .app-icon{width:22px;height:22px;flex:0 0 22px}.user-ui-v398 .ios-session-action span{display:grid;gap:1px}.user-ui-v398 .ios-session-action b{font-size:.8rem}.user-ui-v398 .ios-session-action small{font-size:.64rem;color:rgba(255,255,255,.72)}.user-ui-v398 .ios-session-action:active{transform:translateY(3px);box-shadow:0 2px 0 rgba(0,0,0,.28)}
.user-ui-v398 .session-more-options{margin-top:12px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:rgba(8,17,31,.46);overflow:hidden}.user-ui-v398 .session-more-options>summary{display:grid;grid-template-columns:20px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:11px 12px;cursor:pointer;list-style:none}.user-ui-v398 .session-more-options>summary::-webkit-details-marker{display:none}.user-ui-v398 .session-more-options>summary span{display:grid;gap:1px}.user-ui-v398 .session-more-options>summary b{font-size:.76rem}.user-ui-v398 .session-more-options>summary small{font-size:.64rem;color:var(--muted)}.user-ui-v398 .session-more-options>summary .app-icon{width:17px;height:17px}.user-ui-v398 .session-more-options[open]>summary{border-bottom:1px solid rgba(148,163,184,.14)}.user-ui-v398 .session-more-options .session-visibility-control{margin:0;border:0;border-radius:0;background:transparent;padding:12px}
.user-ui-v398 .notification-settings-card{scroll-margin-top:90px}.user-ui-v398 .notification-settings-heading{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start}.user-ui-v398 .notification-settings-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(124,58,237,.16);color:#c4b5fd}.user-ui-v398 .notification-settings-icon .app-icon{width:24px;height:24px}.user-ui-v398 .notification-settings-heading h2{margin:3px 0 5px}.user-ui-v398 .notification-preference-form{display:grid;gap:13px;margin-top:16px}.user-ui-v398 .ios-setting-toggle{display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:12px;align-items:center;padding:14px;border:1px solid rgba(148,163,184,.18);border-radius:15px;background:rgba(8,17,31,.48)}.user-ui-v398 .ios-setting-toggle span{display:grid;gap:3px}.user-ui-v398 .ios-setting-toggle small{color:var(--muted);font-size:.72rem;line-height:1.45}.user-ui-v398 .ios-setting-toggle input{position:absolute;opacity:0;pointer-events:none}.user-ui-v398 .ios-setting-toggle i{position:relative;width:48px;height:28px;border-radius:999px;background:#475569;transition:.2s}.user-ui-v398 .ios-setting-toggle i:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.3);transition:.2s}.user-ui-v398 .ios-setting-toggle input:checked+i{background:#7c3aed}.user-ui-v398 .ios-setting-toggle input:checked+i:after{transform:translateX(20px)}.user-ui-v398 .notification-essential-note{margin:0;color:var(--muted);font-size:.7rem;line-height:1.45}
@media(max-width:720px){
 .user-ui-v398 .ios-score-head{grid-template-columns:36px minmax(0,1fr);gap:9px}.user-ui-v398 .ios-live-status{grid-column:1/-1;justify-content:flex-start;padding-top:8px;border-top:1px solid rgba(148,163,184,.12)}
 .user-ui-v398 .ios-viewer-pill{margin-left:auto}.user-ui-v398 .ios-score-player{padding:12px 10px}.user-ui-v398 .ios-round-controls{gap:4px;grid-template-columns:repeat(3,minmax(34px,1fr)) minmax(48px,1.18fr) repeat(3,minmax(34px,1fr))}.user-ui-v398 .ios-round-controls .point-button{min-height:44px;font-size:.78rem;border-radius:11px}.user-ui-v398 .ios-round-controls .point-input{height:44px;font-size:1.02rem;border-radius:11px}
 .user-ui-v398 .score-actions.ios-score-actions{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));z-index:8;padding:8px;border:1px solid rgba(139,92,246,.2);border-radius:15px;background:rgba(6,14,27,.94);backdrop-filter:blur(18px);box-shadow:0 10px 34px rgba(0,0,0,.4)}
 .user-ui-v398 .session-control-heading{display:grid;gap:9px}.user-ui-v398 .live-audience-status{justify-self:start}.user-ui-v398 .session-action-grid{grid-template-columns:1fr 1fr}.user-ui-v398 .ios-session-action{min-height:68px;padding:10px}.user-ui-v398 .ios-session-action small{display:block}
}
@media(max-width:390px){.user-ui-v398 .ios-round-controls{gap:3px;grid-template-columns:repeat(3,minmax(31px,1fr)) minmax(44px,1.15fr) repeat(3,minmax(31px,1fr))}.user-ui-v398 .ios-round-controls .point-button{font-size:.71rem;padding-inline:0}.user-ui-v398 .session-action-grid{grid-template-columns:1fr}.user-ui-v398 .ios-viewer-pill small{display:none}}

/* ========================================================================== 
   GameLog v3.8.18.2 — definitive mobile scorekeeper layout override
   Replaces legacy v3.8.3 !important grid rules that prevented the v3.8.18
   mobile redesign from appearing on common iPhone viewport widths.
   ========================================================================== */
@media (max-width: 760px){
  .user-ui-v3982.scorekeeper-route .content{
    padding-left:10px!important;
    padding-right:10px!important;
    padding-bottom:calc(118px + env(safe-area-inset-bottom))!important;
  }

  .user-ui-v3982.user-ui-v383 .ios-score-panel{
    padding:11px!important;
  }
  .user-ui-v3982.user-ui-v383 .ios-score-player{
    padding:11px 9px!important;
    border-radius:17px!important;
  }
  .user-ui-v3982.user-ui-v383 .ios-round-controls{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.12fr) repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:3px!important;
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .user-ui-v3982.user-ui-v383 .ios-round-controls .point-button,
  .user-ui-v3982.user-ui-v383 .ios-round-controls .point-input{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 1px!important;
    border-radius:11px!important;
    font-size:.78rem!important;
    line-height:1!important;
  }
  .user-ui-v3982.user-ui-v383 .ios-round-controls .point-input{
    font-size:1rem!important;
  }
  .user-ui-v3982 .round-note input,
  .user-ui-v3982 .round-note textarea{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    font-size:.82rem!important;
    text-overflow:ellipsis;
  }

  .user-ui-v3982 .session-control-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    padding:16px!important;
  }
  .user-ui-v3982 .session-control-card>*{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .user-ui-v3982 .session-control-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
  }
  .user-ui-v3982 .live-audience-status{
    justify-self:start!important;
    width:auto!important;
  }
  .user-ui-v3982 .session-action-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:11px!important;
    margin-top:2px!important;
  }
  .user-ui-v3982 .session-action-grid form,
  .user-ui-v3982 .session-action-grid>button{
    width:100%!important;
    min-width:0!important;
  }
  .user-ui-v3982 .ios-session-action{
    min-height:66px!important;
    padding:11px 14px!important;
    border-radius:16px!important;
  }
  .user-ui-v3982 .ios-session-action b{
    font-size:.92rem!important;
  }
  .user-ui-v3982 .ios-session-action small{
    display:block!important;
    font-size:.7rem!important;
  }
  .user-ui-v3982 .session-more-options{
    margin-top:0!important;
  }
  .user-ui-v3982 .session-more-options>summary{
    min-height:58px!important;
    padding:12px 14px!important;
  }
  .user-ui-v3982 .autosave-status{
    text-align:left!important;
    margin-top:0!important;
  }

  .user-ui-v3982.user-ui-v388 .score-tools{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    padding:16px!important;
  }
  .user-ui-v3982.user-ui-v388 .score-tools h3{
    grid-column:1!important;
    margin-bottom:2px!important;
  }
  .user-ui-v3982.user-ui-v388 .score-tools .score-tool-action{
    grid-column:1!important;
    min-height:70px!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:12px!important;
    padding:11px 13px!important;
  }
  .user-ui-v3982 .queue-card{
    margin-bottom:0!important;
  }
}

@media (max-width: 380px){
  .user-ui-v3982.user-ui-v383 .ios-round-controls{
    gap:2px!important;
  }
  .user-ui-v3982.user-ui-v383 .ios-round-controls .point-button,
  .user-ui-v3982.user-ui-v383 .ios-round-controls .point-input{
    height:43px!important;
    min-height:43px!important;
    font-size:.7rem!important;
    border-radius:10px!important;
  }
  .user-ui-v3982.user-ui-v383 .ios-round-controls .point-input{
    font-size:.9rem!important;
  }
}


/* ==========================================================================
   GameLog v3.8.19 — notification preference modal
   ========================================================================== */
.user-ui-v399 .notification-settings-card{scroll-margin-top:96px}
.user-ui-v399 .notification-settings-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.user-ui-v399 .notification-settings-summary>div{display:grid;gap:3px;padding:13px 14px;border:1px solid rgba(148,163,184,.17);border-radius:14px;background:rgba(7,16,31,.52)}
.user-ui-v399 .notification-settings-summary b{font-size:1rem;color:#fff}
.user-ui-v399 .notification-settings-summary small{color:var(--muted);font-size:.68rem}
.user-ui-v399 .notification-settings-open{display:flex;align-items:center;justify-content:center;gap:8px}
.user-ui-v399 .notification-settings-open .app-icon{width:19px;height:19px}
.user-ui-v399 .notification-settings-modal{width:min(820px,calc(100vw - 24px));max-width:min(820px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:hidden;border-radius:22px}
.user-ui-v399 .notification-preferences-dialog{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;width:100%;max-height:calc(100dvh - 24px);padding:0;gap:0;overflow:hidden;border-radius:22px;background:linear-gradient(180deg,#121d31 0%,#0b1424 100%)}
.user-ui-v399 .notification-preferences-dialog>.modal-close{z-index:6}
.user-ui-v399 .notification-modal-header{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start;padding:24px 66px 16px 22px;border-bottom:1px solid rgba(148,163,184,.13)}
.user-ui-v399 .notification-modal-header h2{margin:3px 0 5px;font-size:1.55rem}
.user-ui-v399 .notification-modal-header p{margin:0;color:var(--muted);line-height:1.45}
.user-ui-v399 .notification-modal-shortcuts{display:flex;gap:8px;flex-wrap:wrap;padding:12px 22px;border-bottom:1px solid rgba(148,163,184,.11);background:rgba(4,11,22,.22)}
.user-ui-v399 .notification-modal-shortcuts .btn{min-height:38px}
.user-ui-v399 .notification-preference-column-head{display:grid;grid-template-columns:minmax(0,1fr) 92px 92px;gap:12px;padding:10px 22px;color:#93a4bd;font-size:.66rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(148,163,184,.11)}
.user-ui-v399 .notification-preference-column-head span:not(:first-child){text-align:center}
.user-ui-v399 .notification-preference-list{min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 22px}
.user-ui-v399 .notification-preference-row{display:grid;grid-template-columns:42px minmax(0,1fr) 92px 92px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(148,163,184,.12)}
.user-ui-v399 .notification-preference-row:last-child{border-bottom:0}
.user-ui-v399 .notification-category-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,rgba(139,92,246,.25),rgba(37,99,235,.12));color:#c4b5fd;border:1px solid rgba(167,139,250,.18)}
.user-ui-v399 .notification-category-icon .app-icon{width:21px;height:21px}
.user-ui-v399 .notification-category-copy{display:grid;gap:3px;min-width:0}
.user-ui-v399 .notification-category-copy b{font-size:.86rem;color:#f8fafc}
.user-ui-v399 .notification-category-copy small{color:var(--muted);font-size:.68rem;line-height:1.4}
.user-ui-v399 .notification-channel-toggle{position:relative;display:grid;justify-items:center;gap:5px;cursor:pointer}
.user-ui-v399 .notification-channel-toggle>span{color:#a9b6c9;font-size:.64rem;font-weight:750}
.user-ui-v399 .notification-channel-toggle input{position:absolute;opacity:0;pointer-events:none}
.user-ui-v399 .notification-channel-toggle i{position:relative;display:block;width:48px;height:28px;border-radius:999px;background:#3b4759;border:1px solid rgba(255,255,255,.08);transition:background .18s,border-color .18s,box-shadow .18s}
.user-ui-v399 .notification-channel-toggle i:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#f8fafc;box-shadow:0 2px 6px rgba(0,0,0,.36);transition:transform .18s}
.user-ui-v399 .notification-channel-toggle input:checked+i{background:linear-gradient(180deg,#8b5cf6,#6d28d9);border-color:rgba(196,181,253,.65);box-shadow:0 0 16px rgba(124,58,237,.24)}
.user-ui-v399 .notification-channel-toggle input:checked+i:after{transform:translateX(20px)}
.user-ui-v399 .notification-channel-toggle input:focus-visible+i{outline:3px solid rgba(96,165,250,.48);outline-offset:3px}
.user-ui-v399 .notification-modal-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,320px);gap:14px;align-items:center;padding:14px 22px;padding-bottom:max(14px,env(safe-area-inset-bottom));border-top:1px solid rgba(148,163,184,.14);background:#08111f}
.user-ui-v399 .notification-modal-footer p{display:flex;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:.66rem;line-height:1.4}
.user-ui-v399 .notification-modal-footer p .app-icon{width:16px;height:16px;flex:0 0 16px;color:#93c5fd}

@media(max-width:700px){
  .user-ui-v399 .notification-settings-summary{grid-template-columns:1fr 1fr}
  .user-ui-v399 .notification-settings-modal{width:calc(100vw - 12px);max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:20px}
  .user-ui-v399 .notification-preferences-dialog{max-height:calc(100dvh - 12px);border-radius:20px}
  .user-ui-v399 .notification-modal-header{grid-template-columns:42px minmax(0,1fr);gap:11px;padding:20px 54px 14px 15px}
  .user-ui-v399 .notification-modal-header .notification-settings-icon{width:42px;height:42px;border-radius:13px}
  .user-ui-v399 .notification-modal-header h2{font-size:1.35rem}
  .user-ui-v399 .notification-modal-header p{font-size:.75rem}
  .user-ui-v399 .notification-modal-shortcuts{display:grid;grid-template-columns:1fr 1fr;padding:10px 14px;gap:7px}
  .user-ui-v399 .notification-modal-shortcuts .btn{width:100%;min-width:0;padding-inline:8px;font-size:.7rem}
  .user-ui-v399 .notification-preference-column-head{display:none}
  .user-ui-v399 .notification-preference-list{padding:8px 12px 12px}
  .user-ui-v399 .notification-preference-row{grid-template-columns:38px minmax(0,1fr);gap:9px 11px;margin-bottom:8px;padding:12px;border:1px solid rgba(148,163,184,.14);border-radius:15px;background:rgba(6,14,27,.48)}
  .user-ui-v399 .notification-preference-row:last-child{margin-bottom:0;border-bottom:1px solid rgba(148,163,184,.14)}
  .user-ui-v399 .notification-category-icon{width:38px;height:38px;border-radius:12px}
  .user-ui-v399 .notification-category-copy b{font-size:.8rem}
  .user-ui-v399 .notification-category-copy small{font-size:.64rem}
  .user-ui-v399 .notification-channel-toggle{grid-row:2;display:grid;grid-template-columns:auto 48px;justify-content:start;justify-items:start;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:rgba(15,29,49,.72)}
  .user-ui-v399 .notification-channel-toggle{grid-column:1/-1;width:calc(50% - 4px)}
  .user-ui-v399 .notification-channel-toggle:nth-of-type(1){justify-self:start}
  .user-ui-v399 .notification-channel-toggle:nth-of-type(2){justify-self:end}
  .user-ui-v399 .notification-channel-toggle>span{font-size:.65rem}
  .user-ui-v399 .notification-modal-footer{grid-template-columns:1fr;gap:10px;padding:11px 14px;padding-bottom:max(11px,env(safe-area-inset-bottom))}
  .user-ui-v399 .notification-modal-footer p{font-size:.62rem}
  .user-ui-v399 .notification-modal-footer .btn{min-height:48px}
}
@media(max-width:390px){
  .user-ui-v399 .notification-settings-summary{grid-template-columns:1fr}
  .user-ui-v399 .notification-modal-shortcuts{grid-template-columns:1fr}
  .user-ui-v399 .notification-preference-row{grid-template-columns:36px minmax(0,1fr)}
  .user-ui-v399 .notification-channel-toggle{grid-template-columns:auto 44px;padding:7px 8px}
  .user-ui-v399 .notification-channel-toggle i{width:44px;height:26px}
  .user-ui-v399 .notification-channel-toggle i:after{width:18px;height:18px}
  .user-ui-v399 .notification-channel-toggle input:checked+i:after{transform:translateX(18px)}
}

/* ========================================================================== 
   GameLog v3.8.20 — weighted My Games spin wheel
   ========================================================================== */
.user-ui-v3820 .ios-wheel-action{
  grid-column:1/-1;min-height:86px!important;display:flex!important;flex-direction:row!important;
  align-items:center!important;justify-content:flex-start!important;gap:13px!important;padding:12px 16px!important;
  text-align:left;border-color:rgba(250,204,21,.38)!important;
  background:radial-gradient(circle at 82% 18%,rgba(245,158,11,.2),transparent 32%),linear-gradient(180deg,#1a2440,#0d172a)!important;
  cursor:pointer
}
.user-ui-v3820 .ios-wheel-action .ios-action-icon{
  flex:0 0 54px;width:54px;height:54px;border-radius:17px;
  background:linear-gradient(180deg,#ffd86a,#d58c08);color:#efb329;
  box-shadow:0 5px 0 #7b4d05,0 11px 24px rgba(245,183,42,.3),inset 0 1px 0 rgba(255,255,255,.5)
}
.user-ui-v3820 .ios-wheel-action-copy{min-width:0;display:grid;gap:3px}
.user-ui-v3820 .ios-wheel-action-copy b{font-size:1rem;text-align:left;color:#fff}
.user-ui-v3820 .ios-wheel-action-copy small{color:#b8c4d7;font-size:.68rem;font-weight:720}
.user-ui-v3820 .ios-wheel-action-arrow{margin-left:auto;color:#f6cb54;font-size:2rem;line-height:1}

.user-ui-v3820 .game-spin-modal{
  width:min(780px,calc(100vw - 20px));max-width:min(780px,calc(100vw - 20px));
  max-height:calc(100dvh - 20px);margin:auto;overflow:hidden;border-radius:26px
}
.user-ui-v3820 .game-spin-modal::backdrop{background:rgba(1,5,13,.82);backdrop-filter:blur(9px)}
.user-ui-v3820 .game-spin-dialog{
  position:relative;display:grid;max-height:calc(100dvh - 20px);overflow:auto;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;border:1px solid rgba(250,204,21,.22);border-radius:26px;
  background:radial-gradient(circle at 50% -8%,rgba(124,58,237,.34),transparent 33%),linear-gradient(180deg,#131d34 0%,#08111f 100%);
  box-shadow:0 30px 100px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.08)
}
.user-ui-v3820 .game-spin-dialog>.modal-close{
  z-index:8;right:14px;top:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.14);
  border-radius:14px;background:#202d45;box-shadow:0 4px 0 #070c15;color:#fff;font-size:24px
}
.user-ui-v3820 .game-spin-header{
  display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:start;
  padding:22px 68px 16px 22px;border-bottom:1px solid rgba(148,163,184,.13)
}
.user-ui-v3820 .game-spin-header-icon{
  display:grid;place-items:center;width:52px;height:52px;border-radius:17px;color:#fff;
  background:linear-gradient(145deg,#a855f7,#6d28d9);box-shadow:0 6px 0 #351073,0 12px 25px rgba(124,58,237,.32)
}
.user-ui-v3820 .game-spin-header-icon .app-icon{width:27px;height:27px}
.user-ui-v3820 .game-spin-header h2{margin:2px 0 6px;font-size:1.6rem;letter-spacing:-.035em}
.user-ui-v3820 .game-spin-header p{max-width:620px;margin:0;color:#aab7ca;font-size:.77rem;line-height:1.45}
.user-ui-v3820 .game-spin-body{display:grid;justify-items:center;gap:10px;padding:18px 20px 12px}
.user-ui-v3820 .game-wheel-shell{position:relative;width:min(510px,76vw);aspect-ratio:1;margin:0 auto}
.user-ui-v3820 .game-wheel-canvas{display:block;width:100%;height:100%;filter:drop-shadow(0 18px 26px rgba(0,0,0,.42))}
.user-ui-v3820 .game-wheel-pointer{
  position:absolute;z-index:4;left:50%;top:-4px;transform:translateX(-50%);width:0;height:0;
  border-left:18px solid transparent;border-right:18px solid transparent;border-bottom:0;border-top:38px solid #fff4bf;
  filter:drop-shadow(0 5px 3px rgba(0,0,0,.55))
}
.user-ui-v3820 .game-wheel-pointer:after{
  content:"";position:absolute;left:-8px;top:-1px;width:16px;height:16px;border-radius:50%;background:#f6c945;
  box-shadow:0 0 0 4px #fff4bf,0 4px 8px rgba(0,0,0,.4)
}
.user-ui-v3820 .game-wheel-centre{
  position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;
  align-content:center;width:24%;min-width:94px;max-width:122px;aspect-ratio:1;border:5px solid #fff1a8;border-radius:50%;
  color:#1c1301;background:radial-gradient(circle at 36% 28%,#fff7c7 0,#ffd85a 38%,#e79a0c 72%,#9b5b03 100%);
  box-shadow:0 8px 0 #6c3b02,0 17px 35px rgba(0,0,0,.48),inset 0 3px 0 rgba(255,255,255,.72);cursor:pointer
}
.user-ui-v3820 .game-wheel-centre b{font-size:1.15rem;letter-spacing:.08em}
.user-ui-v3820 .game-wheel-centre small{font-size:.57rem;font-weight:850;color:#583201}
.user-ui-v3820 .game-wheel-centre:active{transform:translate(-50%,calc(-50% + 4px));box-shadow:0 4px 0 #6c3b02,0 10px 22px rgba(0,0,0,.4),inset 0 2px 0 rgba(255,255,255,.6)}
.user-ui-v3820 .game-wheel-centre:disabled{cursor:wait;filter:saturate(.7)}
.user-ui-v3820 .game-spin-dialog.is-spinning .game-wheel-pointer{animation:gamelogWheelPointer .16s ease-in-out infinite alternate}
@keyframes gamelogWheelPointer{from{transform:translateX(-50%) rotate(-3deg)}to{transform:translateX(-50%) rotate(3deg)}}
.user-ui-v3820 .game-spin-status{min-height:28px;padding:7px 13px;border:1px solid rgba(167,139,250,.2);border-radius:999px;background:rgba(9,18,34,.72);color:#d9e2ef;font-size:.72rem;font-weight:760;text-align:center}
.user-ui-v3820 .game-spin-result{
  display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:14px;align-items:center;margin:4px 20px 16px;padding:13px;
  border:1px solid rgba(250,204,21,.34);border-radius:18px;background:radial-gradient(circle at 100% 0,rgba(245,158,11,.17),transparent 34%),rgba(12,22,40,.9);
  box-shadow:0 10px 28px rgba(0,0,0,.28)
}
.user-ui-v3820 .game-spin-result[hidden]{display:none!important}
.user-ui-v3820 .game-spin-result-cover{width:86px;aspect-ratio:3/4;display:block;padding:3px;border-radius:13px;background:#17243a;overflow:hidden;box-shadow:0 9px 20px rgba(0,0,0,.34)}
.user-ui-v3820 .game-spin-result-cover img{width:100%;height:100%;object-fit:contain;border-radius:10px}
.user-ui-v3820 .game-spin-result-copy{min-width:0}
.user-ui-v3820 .game-spin-result-copy h3{margin:2px 0 5px;font-size:1.35rem;letter-spacing:-.025em}
.user-ui-v3820 .game-spin-result-copy p{margin:0;color:#aab7ca;font-size:.68rem;line-height:1.4}
.user-ui-v3820 .game-spin-result-actions{display:grid;gap:9px;min-width:184px}
.user-ui-v3820 .game-spin-result-actions .ios-primary-button,.user-ui-v3820 .game-spin-result-actions .ios-secondary-button{width:100%;min-height:48px}
.user-ui-v3820 .game-spin-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 20px;padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:1px solid rgba(148,163,184,.12);background:rgba(4,10,20,.5)}
.user-ui-v3820 .game-spin-footer>span{color:#95a5bb;font-size:.65rem;line-height:1.4}
.user-ui-v3820 .game-spin-footer>span b{color:#f4d267}
.user-ui-v3820 .game-spin-footer .ios-secondary-button{min-width:110px}
.user-ui-v3820 .game-spin-empty{display:grid;justify-items:center;gap:10px;padding:50px 22px;text-align:center}
.user-ui-v3820 .game-spin-empty-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:22px;background:rgba(124,58,237,.18);color:#c4b5fd}
.user-ui-v3820 .game-spin-empty-icon .app-icon{width:34px;height:34px}
.user-ui-v3820 .game-spin-empty h3{margin:5px 0 0;font-size:1.25rem}
.user-ui-v3820 .game-spin-empty p{max-width:420px;margin:0 0 8px;color:#aab7ca;font-size:.78rem}

@media(max-width:700px){
  .user-ui-v3820 .ios-wheel-action{min-height:76px!important;padding:10px 13px!important;gap:11px!important;border-radius:15px!important}
  .user-ui-v3820 .ios-wheel-action .ios-action-icon{flex-basis:48px;width:48px;height:48px;border-radius:15px}
  .user-ui-v3820 .ios-wheel-action-copy b{font-size:.88rem}
  .user-ui-v3820 .ios-wheel-action-copy small{font-size:.61rem}
  .user-ui-v3820 .game-spin-modal{width:calc(100vw - 8px);max-width:calc(100vw - 8px);max-height:calc(100dvh - 8px);border-radius:22px}
  .user-ui-v3820 .game-spin-dialog{max-height:calc(100dvh - 8px);border-radius:22px}
  .user-ui-v3820 .game-spin-dialog>.modal-close{right:10px;top:10px;width:39px;height:39px;border-radius:13px}
  .user-ui-v3820 .game-spin-header{grid-template-columns:43px minmax(0,1fr);gap:11px;padding:16px 52px 12px 13px}
  .user-ui-v3820 .game-spin-header-icon{width:43px;height:43px;border-radius:14px}
  .user-ui-v3820 .game-spin-header-icon .app-icon{width:23px;height:23px}
  .user-ui-v3820 .game-spin-header h2{font-size:1.3rem}
  .user-ui-v3820 .game-spin-header p{font-size:.68rem}
  .user-ui-v3820 .game-spin-body{padding:12px 8px 10px}
  .user-ui-v3820 .game-wheel-shell{width:min(94vw,430px)}
  .user-ui-v3820 .game-wheel-pointer{top:-2px;border-left-width:15px;border-right-width:15px;border-top-width:31px}
  .user-ui-v3820 .game-wheel-centre{min-width:80px;max-width:104px;border-width:4px}
  .user-ui-v3820 .game-wheel-centre b{font-size:.98rem}
  .user-ui-v3820 .game-spin-status{max-width:calc(100% - 10px);font-size:.65rem}
  .user-ui-v3820 .game-spin-result{grid-template-columns:74px minmax(0,1fr);gap:11px;margin:3px 10px 12px;padding:11px;border-radius:16px}
  .user-ui-v3820 .game-spin-result-cover{width:74px}
  .user-ui-v3820 .game-spin-result-copy h3{font-size:1.08rem}
  .user-ui-v3820 .game-spin-result-copy p{font-size:.62rem}
  .user-ui-v3820 .game-spin-result-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;min-width:0}
  .user-ui-v3820 .game-spin-result-actions .ios-primary-button,.user-ui-v3820 .game-spin-result-actions .ios-secondary-button{min-height:50px}
  .user-ui-v3820 .game-spin-footer{display:grid;grid-template-columns:1fr;gap:9px;padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .user-ui-v3820 .game-spin-footer .ios-secondary-button{width:100%;min-height:46px}
}
@media(max-width:390px){
  .user-ui-v3820 .game-spin-header p{display:none}
  .user-ui-v3820 .game-spin-header{padding-bottom:10px}
  .user-ui-v3820 .game-wheel-shell{width:96vw}
  .user-ui-v3820 .game-wheel-centre{min-width:72px;max-width:88px}
  .user-ui-v3820 .game-wheel-centre b{font-size:.88rem}
  .user-ui-v3820 .game-wheel-centre small{font-size:.5rem}
  .user-ui-v3820 .game-spin-result-actions{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .user-ui-v3820 .game-spin-dialog.is-spinning .game-wheel-pointer{animation:none}
}
