:root{color-scheme:dark;--bg:#101214;--panel:rgba(17,20,22,.82);--panel-strong:rgba(19,23,25,.96);--line:hsla(0,0%,100%,.13);--text:#f6f0e8;--muted:#b6aea5;--accent:#e24b2d;--accent-2:#2aa876;--gold:#f0bf55;--partial:#c89b3c;--miss:#44494d;--radius:8px}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;letter-spacing:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.58}.shell{min-height:100vh;padding:0;background:linear-gradient(90deg,rgba(16,18,20,.88),rgba(16,18,20,.45)),url(/court-bg.png) 50% /cover fixed}.game-surface{width:min(1280px,calc(100% - clamp(24px, 5vw, 72px)));min-height:calc(100vh - 92px);margin:0 auto;padding:clamp(24px,4vw,46px) 0;display:flex;flex-direction:column;gap:16px}.auth-panel,.board,.guess-form,.leaderboard-table,.result-modal,.reveal-panel,.signin-modal,.suggestions{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 20px 55px rgba(0,0,0,.27);backdrop-filter:blur(16px)}.topbar{min-height:72px;padding:10px clamp(16px,4vw,38px);display:grid;grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr);align-items:center;gap:14px;border-bottom:1px solid var(--line);background:rgba(15,17,19,.92);backdrop-filter:blur(14px)}.topbar-controls{grid-column:1;justify-self:start;gap:10px}.topbar-controls,.view-tabs{display:flex;align-items:center}.view-tabs{gap:2px}.view-tabs button{min-height:36px;padding:0 10px;border:0;color:var(--muted);background:transparent;font-size:.84rem;font-weight:700}.view-tabs button.active{color:var(--text)}.mode-select,.select-control{display:flex;align-items:center}.select-control{position:relative;border:1px solid var(--line);border-radius:7px;background:hsla(0,0%,100%,.05)}.select-control select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:34px;padding:0 34px 0 12px;border:0;outline:0;color:var(--text);background:transparent;font-size:.82rem;font-weight:700;cursor:pointer}.select-control select:focus-visible{box-shadow:0 0 0 2px var(--accent)}.select-control option{color:var(--text);background:#1b1f21}.select-control svg{position:absolute;right:10px;pointer-events:none}.game-title{grid-column:2;display:flex;align-items:center;justify-content:center;gap:6px;font-size:clamp(1.45rem,2.5vw,2.05rem);font-weight:900;line-height:1;text-transform:lowercase}.game-title-logo{width:clamp(102px,13vw,150px);height:auto;display:block;-o-object-fit:contain;object-fit:contain}h1,h2,p{margin:0}h1{font-size:clamp(1.55rem,4vw,2.3rem);line-height:1}.muted{color:var(--muted)}.account{grid-column:3;justify-self:end;display:flex;align-items:center;gap:10px}.account-name{max-width:180px;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.avatar,.player-thumb{flex:0 0 auto;width:42px;height:42px;border-radius:7px;-o-object-fit:cover;object-fit:cover;background:#222629;border:1px solid var(--line)}.avatar-icon{display:grid;place-items:center;color:var(--muted)}.clear-button,.ghost-button,.icon-button,.primary-button{min-height:40px;border:1px solid var(--line);border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--text)}.primary-button{padding:0 14px;background:var(--accent);border-color:hsla(0,0%,100%,.18);font-weight:700}.clear-button,.ghost-button,.icon-button{background:hsla(0,0%,100%,.06)}.ghost-button,.icon-button{padding:0 12px}.clear-button{width:34px;min-height:34px}.demo-badge{padding:10px 12px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:hsla(0,0%,100%,.06)}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.56)}.signin-modal{position:relative;width:min(340px,100%);padding:22px;display:grid;gap:16px;background:var(--panel-strong)}.result-modal h2,.signin-modal h2{font-size:1.25rem}.modal-close{position:absolute;top:10px;right:10px}.google-button{width:100%}.result-modal{position:relative;width:min(360px,100%);padding:24px;display:grid;gap:12px;background:var(--panel-strong);text-align:center}.result-answer{font-size:1.35rem;font-weight:800}.result-player-image{width:124px;height:124px;margin:2px auto 0;border:1px solid var(--line);border-radius:10px;-o-object-fit:cover;object-fit:cover;background:#222629}.result-player-details{color:var(--muted);font-size:.86rem}.result-stats,.run-stats{display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,34px);color:var(--muted);font-size:clamp(1.02rem,2vw,1.3rem);font-weight:800}.result-stats b,.run-stats b{color:var(--text);font-size:1.25em}.run-stats{justify-content:center;padding:4px 2px 8px}.copy-button{width:100%}.guess-form{padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px;position:relative}.search-box{min-width:0;height:46px;display:flex;align-items:center;gap:10px;padding:0 10px 0 14px;border-radius:7px;background:hsla(0,0%,100%,.09);border:1px solid var(--line)}.search-box input{width:100%;min-width:0;border:0;outline:0;color:var(--text);background:transparent}.search-box input::-moz-placeholder{color:#958c83}.search-box input::placeholder{color:#958c83}.submit-button{width:46px;min-width:46px;padding:0}.suggestions{margin-top:-8px;overflow:hidden}.suggestion{width:100%;min-height:58px;padding:8px 12px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;color:var(--text);background:transparent;border:0;border-bottom:1px solid var(--line);text-align:left}.suggestion.active,.suggestion:focus-visible,.suggestion:hover{background:hsla(0,0%,100%,.08)}.suggestion b{color:var(--gold)}.board{min-height:470px;overflow:auto}.board-head,.empty-row,.guess-row{display:grid;grid-template-columns:minmax(190px,1.35fr) repeat(var(--tile-count),minmax(96px,1fr));min-width:max(100%,calc(190px + (var(--tile-count) * 96px)))}.board-head{position:sticky;top:0;z-index:1;background:var(--panel-strong);color:var(--muted);font-size:.72rem;font-weight:800}.board-head span,.empty-row span,.player-cell,.tile{min-height:72px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px;display:flex;align-items:center}.board-head span{min-height:42px}.player-cell{gap:10px;font-weight:800}.player-cell span{display:grid;gap:3px;overflow-wrap:anywhere}.player-cell small{color:var(--muted);font-size:.68rem}.tile{position:relative;flex-direction:column;font-weight:800}.tile,.tile-value{justify-content:center;align-items:center}.tile-value{display:inline-flex;gap:7px;min-width:0;text-align:center}.direction-icon{flex:0 0 auto;width:24px;height:24px;padding:2px;border-radius:999px;box-shadow:0 3px 10px rgba(0,0,0,.34)}.direction-icon.higher{color:#0e2a1e;background:#35d28b}.direction-icon.lower{color:#351516;background:#ff625d}.tile.exact{background:rgba(42,168,118,.92)}.tile.partial{background:rgba(200,155,60,.88)}.tile.miss{background:rgba(68,73,77,.82)}.empty-row span{background:hsla(0,0%,100%,.035)}.player-thumb.initials,.reveal-image.initials{display:grid;place-items:center;color:var(--gold);font-weight:900}.auth-panel{min-height:360px;display:grid;place-content:center;justify-items:center;gap:14px;text-align:center}.auth-panel h2{font-size:1.7rem}.reveal-panel{min-height:96px;padding:12px;display:flex;align-items:center;gap:14px}.reveal-image{width:72px;height:72px;flex:0 0 auto;border-radius:7px;-o-object-fit:cover;object-fit:cover;background:#222629;border:1px solid var(--line)}.reveal-panel h2{font-size:1.25rem}.reveal-panel p{margin-top:5px;color:var(--muted)}.inline-message{color:var(--muted);text-align:center}.leaderboard-surface{width:min(900px,calc(100% - clamp(24px, 5vw, 72px)));min-height:calc(100vh - 72px);margin:0 auto;padding:clamp(28px,5vw,54px) 0}.info-modal{position:relative;width:min(980px,100%);max-height:min(86vh,760px);overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 20px 55px rgba(0,0,0,.27);backdrop-filter:blur(16px);padding:clamp(22px,4vw,36px)}.info-heading{max-width:680px;margin-bottom:24px}.info-heading h2{font-size:clamp(1.7rem,4vw,2.35rem)}.difficulty-guide li,.guess-example p,.info-heading p,.rules-grid p{color:var(--muted);line-height:1.55}.info-heading p{margin-top:8px}.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.difficulty-guide,.guess-example,.rules-grid section{border:1px solid var(--line);border-radius:7px;background:hsla(0,0%,100%,.05);padding:16px}.difficulty-guide h3,.guess-example h3,.rules-grid h3{margin:0 0 8px;font-size:1rem}.guess-example{margin-top:14px}.guess-example-frame{margin:10px 0 12px;overflow-x:auto;border:1px solid var(--line);border-radius:7px;background:rgba(0,0,0,.25)}.guess-example-frame img{width:max(920px,100%);min-height:58px;display:block}.difficulty-guide{margin-top:14px}.difficulty-guide ul{margin:0;padding-left:20px}.difficulty-guide li+li{margin-top:8px}.difficulty-guide b{color:var(--text)}.leaderboard-heading{margin-bottom:16px}.leaderboard-heading h2{text-transform:capitalize}.leaderboard-heading p{margin-top:6px;color:var(--muted)}.leaderboard-table{overflow:hidden}.leaderboard-row{min-height:64px;padding:8px 16px;display:grid;grid-template-columns:72px minmax(0,1fr) 90px;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.leaderboard-row:last-child{border-bottom:0}.leaderboard-head{min-height:42px;color:var(--muted);background:var(--panel-strong);font-size:.72rem;font-weight:800;text-transform:uppercase}.leaderboard-row.current-user{background:rgba(226,75,45,.16)}.leaderboard-player{min-width:0;display:flex;align-items:center;gap:12px;font-weight:700}.leaderboard-player>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-initials,.leaderboard-player img{width:40px;height:40px;flex:0 0 auto;border:1px solid var(--line);border-radius:7px;background:#222629}.leaderboard-player img{-o-object-fit:cover;object-fit:cover}.leaderboard-initials{display:grid;place-items:center;color:var(--gold);font-size:.75rem;font-weight:900}.leaderboard-rank{color:var(--muted);font-weight:800}.leaderboard-state{padding:34px 16px;color:var(--muted);text-align:center}@media (max-width:720px){.shell{padding:0}.game-surface{width:min(100% - 20px,1060px);min-height:calc(100vh - 66px);padding:16px 0 22px}.topbar{min-height:66px;grid-template-rows:auto auto;grid-template-columns:minmax(68px,1fr) auto minmax(68px,1fr);padding:8px 10px}.topbar-controls{grid-column:1/-1;grid-row:2;justify-self:center;gap:4px}.select-control select{padding-left:9px;padding-right:28px}.view-tabs button{padding:0 6px;font-size:.78rem}.game-title{grid-column:2;grid-row:1;font-size:1.35rem}.game-title-logo{width:92px}.account{grid-column:3;grid-row:1;justify-self:end}.guess-form{grid-template-columns:1fr}.account .icon-button,.account .primary-button,.submit-button{width:100%}.account{min-width:0}.account-name{max-width:none}.account .icon-button,.account .primary-button{justify-content:center}.account .icon-button span,.account-name{display:none}.leaderboard-surface{width:calc(100% - 20px);min-height:calc(100vh - 104px);padding:22px 0}.info-modal{max-height:calc(100vh - 24px)}.rules-grid{grid-template-columns:1fr}.leaderboard-row{grid-template-columns:48px minmax(0,1fr) 58px;padding:8px 10px}}