@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Nunito:wght@500;700;800&display=swap";:root{font-family:Nunito,sans-serif;color:#342a4a;background:#fff8ec}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 85% 10%,#bff5e9 0,transparent 25rem),radial-gradient(circle at 10% 70%,#ffe29c 0,transparent 32rem),#fff8ec}button,input{font:inherit}button{border:0;cursor:pointer}button:hover{transform:translateY(-2px)}input{border:2px solid #ded2e8;border-radius:14px;padding:13px 15px;background:#fff;width:100%;outline:0}input:focus{border-color:#6f52db}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;max-width:1100px;margin:auto;padding:32px;gap:65px}.auth-art h1,.welcome h1,.account-page h1,.match-heading h1{font:800 clamp(3rem,7vw,6rem)/.86 "Baloo 2";letter-spacing:-2px;margin:16px 0}.auth-art h1{color:#472e71}.auth-art p,.welcome p{font-size:1.2rem;color:#746886;max-width:360px}.bingo-logo{font:800 clamp(4rem,9vw,8rem)/1 "Baloo 2";letter-spacing:3px;background:linear-gradient(90deg,#ff6174 0,#ff6174 20%,#ffb736 20%,#ffb736 40%,#48bd8c 40%,#48bd8c 60%,#4199ef 60%,#4199ef 80%,#8c5ce0 80%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(4px 5px 0 #392d55);animation:bounce 1.6s ease-in-out infinite alternate}.auth-card,.panel,.history,.modal{background:#fff;border:3px solid #45325e;border-radius:28px;box-shadow:8px 9px #45325e;padding:30px}.auth-card{display:grid;gap:13px}.auth-card h2,.modal h2,.panel h2,.history h2{font:800 2rem "Baloo 2";margin:0;color:#45325e}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:1.6px;color:#9a77df;margin:0}.big-button{background:#ff6174;color:#fff;border-radius:15px;padding:14px;font-weight:800;font-size:1.05rem;box-shadow:0 4px #c63e52}.link-button{background:transparent;color:#7553d4;text-decoration:underline;font-weight:800}.form-error,.toast{color:#bf3151;font-weight:700}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));background:#fff;border-bottom:3px solid #45325e}.mini-logo{font:800 1.7rem "Baloo 2";color:#ff6174;letter-spacing:1px}nav{display:flex;align-items:center;gap:15px}nav button{background:transparent;color:#49395e;font-weight:800}.avatar{background:#ffb736!important;color:#543b22!important;border:2px solid #543b22;border-radius:50%;width:39px;height:39px}.hub,.account-page,.match-page{max-width:1080px;margin:auto;padding:55px 25px}.welcome{display:flex;justify-content:space-between;align-items:end}.welcome h1 em{color:#ff6174;font-style:normal}.confetti{font-size:5rem;color:#49c89d;transform:rotate(-14deg)}.action-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;margin:35px 0}.action-row button{border:3px solid #45325e;border-radius:24px;padding:25px;text-align:left;box-shadow:5px 6px #45325e;display:grid;gap:5px}.action-row span{font-size:2rem}.action-row b{font:800 1.5rem "Baloo 2"}.action-row small{font-weight:700;color:#635879}.play-card{background:#ff6174;color:#fff}.find-card{background:#ffcd58;color:#49395e}.friends-card{background:#85dfc6;color:#49395e}.history{box-shadow:5px 6px #45325e}.section-title{display:flex;justify-content:space-between;align-items:center}.win-chip{background:#e9dcff;border-radius:17px;padding:9px 14px;display:grid;text-align:center;color:#513777}.win-chip b{font-size:1.3rem}.win-chip span{font-size:.72rem}.empty-state{background:#fff4d6;border-radius:16px;padding:24px;color:#6c5c43;font-weight:700}.empty-state button{background:none;color:#7650cf;text-decoration:underline;font-weight:800}.match-row{display:grid;grid-template-columns:1fr 2fr 1fr;padding:15px;border-top:2px solid #eee5f4}.match-row.won b{color:#25a16e}.match-row.lost b{color:#ee5066}.friend-drawer{position:fixed;z-index:3;right:0;top:0;height:100vh;width:min(380px,92vw);background:#fff8ec;border-left:3px solid #45325e;padding:36px;box-shadow:-8px 0 #45325e}.close{float:right;background:#45325e;color:#fff;border-radius:50%;width:32px;height:32px;font-size:1.4rem}.outline-button{background:#fff;border:2px solid #6f52db;color:#6040b6;border-radius:13px;padding:10px 14px;font-weight:800;margin:10px 0}.friend-list{margin-top:16px}.friend{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #e5daed}.friend div{flex:1}.friend small,.pick-list small{display:block;color:#8b7c9a;font-size:.75rem}.friend>button{background:#6f52db;color:#fff;border-radius:9px;padding:6px 9px;font-weight:800}.presence{display:block;width:11px;height:11px;border-radius:50%;background:#adb1b8}.presence.idle{background:#ffc542}.presence.online{background:#32bd83}.presence.in_match{background:#7956d9}.overlay{position:fixed;z-index:4;top:0;right:0;bottom:0;left:0;background:#37265788;display:grid;place-items:center;padding:18px}.modal{width:min(510px,100%);box-shadow:9px 10px #45325e}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.mode-grid button,.pick-list button{background:#f4eeff;border:2px solid #7257c9;border-radius:16px;padding:18px;text-align:left;color:#49395e;font-size:1.6rem}.mode-grid b{display:block;font-size:1rem}.mode-grid small{display:block;font-size:.75rem;color:#756a86}.code-input{font-size:1.35rem;letter-spacing:2px;text-align:center;margin:18px 0}.search-form{display:flex;gap:8px;margin:17px 0}.search-form button{background:#6f52db;color:#fff;border-radius:12px;padding:0 18px;font-weight:800}.pick-list{display:grid;gap:8px}.pick-list button{font-size:1rem}.pick-list .presence{display:inline-block;margin-right:8px}.account-page h1{font-size:4rem;color:#4a3768}.back{background:none;color:#6547c4;font-weight:800;padding:0;margin-bottom:18px}.account-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.panel{box-shadow:5px 6px #45325e}.panel label{display:grid;gap:6px;font-weight:800;margin:14px 0}.pie{width:130px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ff6174,#eee6f1 0);margin:15px 0}.pie span{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:#fff;font-weight:800}.success{color:#1b9c68;font-weight:800}.match-page{max-width:690px}.match-heading{text-align:center}.bingo-progress{display:flex;justify-content:center;gap:14px;font:800 2.2rem "Baloo 2";color:#44315e}.bingo-progress .crossed{color:#f14458;text-decoration:line-through 5px}.board{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:#4a3567;padding:12px;border-radius:25px}.board button{aspect-ratio:1;border-radius:14px;background:#fff;color:#4a3567;font-weight:800;font-size:1.5rem}.board .called{background:#ffcd58}.centered{text-align:center}.muted{color:#84778f}@keyframes bounce{to{transform:translateY(-10px) rotate(-2deg)}}@media(max-width:700px){.auth-page{grid-template-columns:1fr;gap:25px}.auth-art{text-align:center}.auth-art p{margin:auto}.action-row,.account-grid{grid-template-columns:1fr}.welcome{align-items:start}.confetti{font-size:3rem}.topbar{padding:0 15px}nav{gap:7px}nav button:not(.avatar){font-size:.75rem}.match-row{grid-template-columns:1fr 1fr}.match-row small{display:none}}.dashboard-stats{margin:0 0 28px}.overall-stat{display:grid;justify-items:center}.overall-stat .pie{width:105px;margin:0}.overall-stat .pie span{width:70px;height:70px}.overall-stat small,.mode-stat small,.match-row span small{display:block;color:#84778f}.mode-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.mode-stat{display:flex;align-items:center;gap:14px;background:#f8f3ff;border:2px solid #e2d5f1;border-radius:18px;padding:14px}.mode-stat h3{font:800 1.2rem "Baloo 2";margin:0}.mini-pie{width:68px;min-width:68px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center}.mini-pie span{width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:800}.won-dot,.lost-dot,.draw-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:5px}.won-dot{background:#48bd8c}.lost-dot{background:#ff7185}.draw-dot{background:#ffcd58}@media(max-width:800px){.dashboard-stats .section-title{align-items:flex-start}.mode-stats{grid-template-columns:1fr}}@media(max-width:520px){.dashboard-stats .section-title{display:grid;gap:18px}.overall-stat{justify-items:start}.match-row span small{display:block}}.invite{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:14px 0;border-bottom:2px solid #eadff1}.invite small{display:block;color:#84778f}.invite-actions{display:flex;gap:8px}.invite-actions button{border-radius:11px;padding:10px 14px;font-weight:800;font-size:.9rem}.invite-play{background:#32bd83;color:#fff;box-shadow:0 3px #16875a}.invite-reject{background:#ffe3e8;color:#ba3650;border:2px solid #ef7084}.waiting-lobby{text-align:center}.waiting-code{display:inline-block;background:#fff1bd;border:3px dashed #e0a91f;border-radius:18px;padding:12px 25px;font:800 2rem "Baloo 2";letter-spacing:5px;color:#49395e}.cancel-wait{display:block;margin:22px auto 0}.cancel-wait:disabled{opacity:.6;cursor:wait}@media(max-width:420px){.invite{grid-template-columns:auto 1fr}.invite-actions{grid-column:1/-1}.invite-actions button{flex:1}}.friend-drawer{overflow-y:auto}.invite{display:block;background:#fff;border:2px solid #e4d7ed;border-radius:16px;padding:14px;margin:12px 0}.invite-details{display:flex;align-items:center;gap:11px;min-width:0}.invite-details>span{font-size:1.5rem}.invite-details>div{min-width:0}.invite-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;margin-top:13px;width:100%}.invite-actions button{display:block!important;width:100%;min-height:44px;border-radius:12px;padding:11px 10px!important;font-size:.9rem!important;font-weight:800!important}.invite-play{background:#25ad70!important;color:#fff!important;border:2px solid #167d50!important;box-shadow:0 4px #167d50!important}.invite-reject{background:#fff!important;color:#c23853!important;border:2px solid #e36178!important;box-shadow:0 4px #e9a6b2!important}@media(max-width:360px){.invite-actions{grid-template-columns:1fr}}.cancel-lobby-button{display:block;width:100%;min-height:50px;margin:20px 0;background:#ef5268;color:#fff;border:3px solid #a92d43;border-radius:14px;box-shadow:0 5px #a92d43;font-size:1rem;font-weight:800}.cancel-lobby-button:disabled{opacity:.65;cursor:wait;transform:none}.rejected-lobby .big-button{width:100%;margin-top:12px}.rejected-icon{width:68px;height:68px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:#ffe1e6;color:#d83e59;border:3px solid #d83e59;font:800 2.5rem/1 "Baloo 2"}.presence.in_match{background:#ef5268}.friend-requests,.sent-requests{margin-top:20px}.request-row{display:grid;grid-template-columns:auto 1fr;align-items:center;background:#fff;border:2px solid #e4d7ed;border-radius:14px;padding:12px;margin-top:9px}.request-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.request-actions button{min-height:40px;border-radius:10px;font-weight:800}.accept-friend{background:#25ad70!important;color:#fff!important}.decline-friend{background:#fff!important;color:#c23853!important;border:2px solid #e36178!important}.sent-requests{border-top:2px solid #e8deee;padding-top:18px}.pending-friend{opacity:.78}.pending-dot{width:11px;height:11px;border-radius:50%;background:#ffb736}.pending-label{background:#fff0bf;color:#80601b;border-radius:12px;padding:5px 8px;font-size:.7rem;font-weight:800}.clickable-friend{cursor:pointer;border-radius:12px;padding:13px 8px;width:100%;background:transparent;color:inherit;text-align:left}.clickable-friend:hover{background:#f0e7ff}.friend-details{display:block;flex:1;min-width:0}.friend-details small{display:block}.view-stats{color:#6847c4;font-size:.75rem;font-weight:800;white-space:nowrap}.friend-stats-overlay{z-index:6}.friend-stats-modal{max-height:90vh;overflow-y:auto}.friend-overall{display:flex;align-items:center;gap:24px;margin:18px 0;background:#fff6d9;border-radius:18px;padding:16px}.friend-overall .pie{width:105px;min-width:105px;margin:0}.friend-overall .pie span{width:70px;height:70px}.friend-overall small{display:block;margin-top:5px}.friend-mode-list{display:grid;gap:10px}.friend-mode{display:flex;align-items:center;gap:14px;background:#f7f2ff;border:2px solid #e5daf1;border-radius:16px;padding:12px}.friend-mode small{display:block;color:#84778f}.friend-mode .mini-pie{width:58px;min-width:58px}.friend-mode .mini-pie span{width:40px;height:40px}.friend-stats-loading,.friend-stats-error{min-height:180px;display:grid;place-items:center;text-align:center;border-radius:18px;margin-top:18px;padding:24px}.friend-stats-loading{background:#f7f2ff}.friend-stats-error{background:#ffe8ec;color:#ad3048}.friend-stats-error p{margin:5px 0 0}.bingo-progress{margin-top:16px}.match-status{height:clamp(125px,20vw,160px);display:grid;place-items:center;text-align:center}.match-status h1{font:800 clamp(2.5rem,7vw,4.5rem)/.9 "Baloo 2";letter-spacing:-2px;margin:0}.match-status+.board{margin-top:12px}.unfinished-games{background:#fff;border:3px solid #45325e;border-radius:28px;box-shadow:5px 6px #45325e;padding:30px;margin:0 0 28px}.unfinished-games h2{font:800 2rem "Baloo 2";margin:0;color:#45325e}.unfinished-list{display:grid;gap:12px;margin-top:18px}.unfinished-game{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f7f2ff;border:2px solid #dfd2ed;border-radius:17px;padding:16px}.unfinished-game b,.unfinished-game small{display:block}.unfinished-game small{color:#84778f;margin-top:3px}.unfinished-actions{display:flex;gap:9px}.unfinished-actions button{border-radius:11px;padding:10px 13px;font-weight:800}.resume-game{background:#6f52db;color:#fff}.remove-game{background:#ffe3e8;color:#b8324c;border:2px solid #e36178}@media(max-width:560px){.unfinished-game{align-items:stretch;flex-direction:column}.unfinished-actions button{flex:1}}.friend-card-actions{display:grid;grid-template-columns:1.5fr 1fr;gap:10px;margin-top:18px}.friend-card-actions button{min-height:46px;border-radius:12px;font-weight:800}.friend-card-play{background:#6f52db;color:#fff;box-shadow:0 4px #4c34a0}.friend-card-unfriend{background:#fff;color:#bd334d;border:2px solid #df5870}@media(max-width:420px){.friend-card-actions{grid-template-columns:1fr}}.remove-game-overlay{z-index:7}.remove-game-dialog{text-align:center;max-width:470px}.remove-game-dialog h2{font-size:1.8rem;line-height:1.1}.remove-game-dialog>p:not(.eyebrow){color:#746886;font-weight:700}.remove-game-icon{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 15px;border-radius:50%;background:#ffe3e8;color:#c23853;border:3px solid #c23853;font:800 2rem "Baloo 2"}.remove-game-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:22px}.remove-game-dialog-actions button{min-height:48px;border-radius:13px;font-weight:800}.confirm-remove-game{background:#e84862;color:#fff;box-shadow:0 4px #a92d43}.keep-game{background:#fff;color:#594471;border:2px solid #79668c}.remove-game-dialog-actions button:disabled{opacity:.65;cursor:wait;transform:none}@media(max-width:420px){.remove-game-dialog-actions{grid-template-columns:1fr}}.self-play-overlay{z-index:8}.self-play-dialog{text-align:center;max-width:430px}.self-play-dialog h2{font-size:2rem;line-height:1.05}.self-play-dialog>p:not(.eyebrow){color:#746886;font-weight:700}.self-play-dialog .big-button{width:100%;margin-top:12px}.self-play-emoji{font-size:4rem;line-height:1;margin-bottom:14px}.unfriend-overlay{z-index:9}.friends-card{position:relative}.notification-mark{position:absolute;top:-24px;right:18px;width:20px;height:40px;pointer-events:none;filter:drop-shadow(0 2px 1px #5e1830aa)}.notification-mark:before,.notification-mark:after{content:"";position:absolute;display:block;background:#ed294f;border:1.5px solid #fff}.notification-mark:before{top:0;left:5px;width:10px;height:22px;border-radius:7px 7px 5px 5px}.notification-mark:after{top:29px;left:3px;width:14px;height:14px;border-radius:50%}.theme-toggle{display:flex;align-items:center;gap:6px;border:2px solid #6f52db;border-radius:999px;padding:6px 11px;background:#fff8ec;color:#49395e;font-weight:800}.theme-toggle span{font-size:1.1rem;line-height:1}.screen-theme-toggle{position:fixed;top:18px;right:22px;z-index:2}.welcome-greeting{max-width:560px}.greeting-name{font-size:1rem;font-weight:900;color:#4c2f68;letter-spacing:1px}html[data-theme=dark]{color-scheme:dark;background:#151020}html[data-theme=dark] body{color:#f5efff;background:radial-gradient(circle at 85% 10%,#193f45 0,transparent 25rem),radial-gradient(circle at 10% 70%,#42294f 0,transparent 32rem),#151020}html[data-theme=dark] .topbar{background:#21182f;border-color:#9b7bd1}html[data-theme=dark] nav button{color:#eaddf7}html[data-theme=dark] .theme-toggle{color:#ffd86b;border-color:#a887e4;background:#302442}html[data-theme=dark] .avatar{background:#d89b2b!important;color:#21152e!important;border-color:#f5cf74}html[data-theme=dark] .auth-art h1,html[data-theme=dark] .account-page h1,html[data-theme=dark] .auth-card h2,html[data-theme=dark] .modal h2,html[data-theme=dark] .panel h2,html[data-theme=dark] .history h2,html[data-theme=dark] .unfinished-games h2{color:#f5efff}html[data-theme=dark] .auth-art p,html[data-theme=dark] .welcome p,html[data-theme=dark] .remove-game-dialog>p:not(.eyebrow),html[data-theme=dark] .self-play-dialog>p:not(.eyebrow){color:#bcaecb}html[data-theme=dark] .eyebrow{color:#c9a9ff}html[data-theme=dark] .auth-card,html[data-theme=dark] .panel,html[data-theme=dark] .history,html[data-theme=dark] .modal,html[data-theme=dark] .unfinished-games{background:#241a35;border-color:#9b7bd1;box-shadow:8px 9px #0d0914}html[data-theme=dark] input{background:#302442;border-color:#6f5685;color:#f7f1ff}html[data-theme=dark] input::placeholder{color:#aa9ab9}html[data-theme=dark] input:focus{border-color:#b99af0}html[data-theme=dark] .link-button,html[data-theme=dark] .back,html[data-theme=dark] .empty-state button,html[data-theme=dark] .view-stats{color:#c5a6ff}html[data-theme=dark] .action-row button{border-color:#171020;box-shadow:5px 6px #09060e}html[data-theme=dark] .play-card{background:#b94362}html[data-theme=dark] .find-card{background:#b67a25;color:#fff4dc}html[data-theme=dark] .friends-card{background:#277b69;color:#effff9}html[data-theme=dark] .action-row small{color:#efe5f8}html[data-theme=dark] .empty-state,html[data-theme=dark] .friend-overall{background:#362d20;color:#eadfca}html[data-theme=dark] .match-row{border-color:#443452}html[data-theme=dark] .friend-drawer{background:#1d152a;border-color:#9b7bd1;box-shadow:-8px 0 #0b0810}html[data-theme=dark] .friend,html[data-theme=dark] .sent-requests{border-color:#493957}html[data-theme=dark] .friend small,html[data-theme=dark] .pick-list small,html[data-theme=dark] .invite small,html[data-theme=dark] .mode-grid small,html[data-theme=dark] .muted,html[data-theme=dark] .overall-stat small,html[data-theme=dark] .mode-stat small,html[data-theme=dark] .match-row span small,html[data-theme=dark] .friend-mode small,html[data-theme=dark] .unfinished-game small{color:#b8aac8}html[data-theme=dark] .outline-button,html[data-theme=dark] .invite-reject,html[data-theme=dark] .decline-friend,html[data-theme=dark] .friend-card-unfriend,html[data-theme=dark] .keep-game{background:#302442!important;color:#f3b2c1!important}html[data-theme=dark] .mode-grid button,html[data-theme=dark] .pick-list button,html[data-theme=dark] .mode-stat,html[data-theme=dark] .friend-mode,html[data-theme=dark] .friend-stats-loading,html[data-theme=dark] .unfinished-game{background:#302442;color:#f5efff;border-color:#59436f}html[data-theme=dark] .invite,html[data-theme=dark] .request-row{background:#2b203b;border-color:#513e63}html[data-theme=dark] .clickable-friend:hover{background:#302442}html[data-theme=dark] .pie span,html[data-theme=dark] .mini-pie span{background:#241a35}html[data-theme=dark] .waiting-code{background:#4b3b19;border-color:#d8a92e;color:#fff1bf}html[data-theme=dark] .board{background:#0e0a15}html[data-theme=dark] .board button{background:#302442;color:#f5efff}html[data-theme=dark] .board .called{background:#c48b28;color:#fff7e5}html[data-theme=dark] .bingo-progress{color:#eaddf7}html[data-theme=dark] .win-chip{background:#3a2952;color:#decaff}html[data-theme=dark] .rejected-icon,html[data-theme=dark] .remove-game-icon{background:#4b2130;color:#ff9caf}html[data-theme=dark] .play-card{background:#ff6174}html[data-theme=dark] .find-card{background:#ffcd58;color:#49395e}html[data-theme=dark] .friends-card{background:#85dfc6;color:#49395e}html[data-theme=dark] .action-row small{color:#49395e}html[data-theme=dark] .play-card small{color:#fff}html[data-theme=dark] .board button.own-called{background:linear-gradient(145deg,#55efd1,#18bda7);color:#102f34;box-shadow:inset 0 2px #aaffef,0 3px #087f72}html[data-theme=dark] .board button.opponent-called{background:linear-gradient(145deg,#d9587d,#a92f5b);color:#fff;box-shadow:inset 0 2px #f58eaa,0 3px #711b3d}html[data-theme=dark] .own-dot{background:#26d9bd}html[data-theme=dark] .opponent-dot{background:#bd3f69}html[data-theme=dark] .result-banner{color:#fff;border-color:#b392d4;box-shadow:6px 7px #74558d}html[data-theme=dark] .result-banner p,html[data-theme=dark] .result-banner b{color:#fff}html[data-theme=dark] .result-banner.winner{background:#176b54}html[data-theme=dark] .result-banner.loser{background:#7f2947}html[data-theme=dark] .result-banner.draw{background:#70541e}html[data-theme=dark] .auth-card,html[data-theme=dark] .panel,html[data-theme=dark] .history,html[data-theme=dark] .modal,html[data-theme=dark] .unfinished-games{box-shadow:8px 9px #70548a}html[data-theme=dark] .action-row button{box-shadow:5px 6px #70548a}html[data-theme=dark] .friend-drawer{box-shadow:-8px 0 #70548a}html[data-theme=dark] .big-button{box-shadow:0 4px #e07991}html[data-theme=dark] .friend-card-play{box-shadow:0 4px #8768bc}html[data-theme=dark] .invite-play{box-shadow:0 4px #54b48a!important}html[data-theme=dark] .confirm-remove-game,html[data-theme=dark] .cancel-lobby-button{box-shadow:0 4px #d06a7e}.response-actions{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;gap:10px;margin-top:13px;width:100%}.response-actions button{display:block;width:100%;min-height:44px;border-radius:12px;padding:11px 10px;font-size:.9rem;font-weight:800}.response-accept{background:#25ad70;color:#fff;border:2px solid #167d50;box-shadow:0 4px #167d50}.response-reject{background:#fff;color:#c23853;border:2px solid #e36178;box-shadow:0 4px #e9a6b2}html[data-theme=dark] .response-accept{box-shadow:0 4px #54b48a}html[data-theme=dark] .response-reject{background:#302442;color:#f3b2c1;box-shadow:0 4px #b86f82}@media(max-width:360px){.response-actions{grid-template-columns:1fr}}html[data-theme=dark] .greeting-name{color:#f1e5ff}.find-friends-modal{max-height:92vh;overflow-y:auto}.recent-players-panel{margin-top:20px;padding:18px;background:#fff8ec;border:2px solid #d9c9e7;border-radius:18px}.recent-players-panel h3{font:800 1.3rem "Baloo 2";margin:2px 0 12px;color:#45325e}.recent-player-list{max-height:226px;overflow-y:auto;padding:2px 7px 5px 2px;scrollbar-gutter:stable}.recent-player-list button{min-height:68px}.recent-players-empty{margin:8px 0 0;color:#84778f;font-weight:700}.find-friends-notice{margin:12px 0 0;color:#25a16e;font-weight:800}html[data-theme=dark] .recent-players-panel{background:#1d152a;border-color:#59436f}html[data-theme=dark] .recent-players-panel h3{color:#f5efff}html[data-theme=dark] .recent-players-empty{color:#b8aac8}.mini-logo{background:linear-gradient(90deg,#ff6174 0,#ff6174 20%,#ffb736 20%,#ffb736 40%,#48bd8c 40%,#48bd8c 60%,#4199ef 60%,#4199ef 80%,#9a68e8 80%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(1px 2px 0 #45325e55)}.mini-logo,.bingo-logo{animation:logo-dance 1.5s ease-in-out infinite alternate}@keyframes logo-dance{0%{transform:translateY(-2px) rotate(-1deg)}to{transform:translateY(3px) rotate(1deg)}}@media(prefers-reduced-motion:reduce){.mini-logo,.bingo-logo{animation:none}}.board .own-called{background:#ffcd58;color:#4a3567;box-shadow:inset 0 3px #fff3bd,inset 0 -4px #dda72d,0 3px #a87818}.board .opponent-called{background:#ff7195;color:#fff;box-shadow:inset 0 3px #ffc2d2,inset 0 -4px #d94e72,0 3px #a83455}.board-disabled{filter:grayscale(.28);opacity:.72;box-shadow:inset 0 0 0 1000px #7772}.call-legend{display:flex;align-items:center;justify-content:center;gap:7px;margin:13px 0;color:#70647d;font-weight:800;font-size:.8rem}.own-dot,.opponent-dot{width:13px;height:13px;border-radius:4px;margin-left:10px}.own-dot{background:#ffcd58}.opponent-dot{background:#ff7195}.result-banner{margin-top:18px;padding:20px;border:3px solid #45325e;border-radius:20px;text-align:center;box-shadow:5px 6px #45325e}.result-banner b{font:800 1.7rem "Baloo 2"}.result-banner p{margin:4px 0 14px}.result-banner button{background:#45325e;color:#fff;border-radius:12px;padding:10px 18px;font-weight:800}.result-banner.winner{background:#9aebc7}.result-banner.loser{background:#ffb0c2}.result-banner.draw{background:#ffe398}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.stat-grid div{display:grid;padding:12px;border-radius:14px;background:#f4eeff}.stat-grid b{font-size:1.35rem}.stat-grid span{color:#7d708a;font-size:.75rem;font-weight:800}.stat-won b{color:#25a16e}.stat-lost b{color:#ee5066}.stat-draw b{color:#c38a12}.play-modal{width:min(700px,100%)}.play-modal .mode-grid{grid-template-columns:repeat(3,1fr)}.matchmaking{text-align:center}.matchmaking>p:not(.eyebrow){color:#746886;font-weight:700}.match-spinner{display:flex;justify-content:center;gap:9px;margin:8px 0 24px}.match-spinner i{width:18px;height:18px;border-radius:50%;background:#ff6174;animation:match-bounce .8s ease-in-out infinite alternate}.match-spinner i:nth-child(2){background:#ffcd58;animation-delay:.18s}.match-spinner i:nth-child(3){background:#49c89d;animation-delay:.36s}@keyframes match-bounce{to{transform:translateY(-13px)}}@media(max-width:700px){.play-modal .mode-grid{grid-template-columns:1fr}}
