:root{font-family:Segoe UI,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#1a1a2e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}h1,h2,h3{line-height:1.2}button{font-family:inherit}.lobby-screen{padding:30px 20px;max-width:550px;margin:0 auto;font-family:system-ui,-apple-system,sans-serif;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff}.lobby-screen.lobby-loggedin{position:relative;overflow:hidden;max-width:600px}.lobby-title{text-align:center;margin:0 0 4px;font-size:2.2rem;color:#fff}.lobby-subtitle{text-align:center;margin:0 0 30px;color:#ffffff80;font-size:1rem}.lobby-section{margin-bottom:20px;border:1px solid rgba(255,255,255,.15);padding:20px;border-radius:12px;background:#ffffff0d;position:relative;z-index:1}.lobby-section-game{background:#ffffff0f;border:1px solid rgba(255,215,0,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lobby-header-bar{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#0000004d;border-radius:16px;margin-bottom:20px;border:1px solid rgba(255,255,255,.08);position:relative;z-index:1}.lobby-title-game{margin:0;font-size:1.6rem;background:linear-gradient(135deg,gold,#ff8c00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800}.lobby-user-bar{display:flex;align-items:center;gap:12px}.lobby-user-name{font-size:.9rem;color:#ffffffb3}.lobby-user-actions{display:flex;gap:6px}.lobby-icon-btn{width:36px;height:36px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0f;cursor:pointer;font-size:1rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.lobby-icon-btn:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.section-title-game{margin:0 0 16px;font-size:1.15rem;color:gold;font-weight:700}.lobby-rejoin-btn{width:100%;padding:14px;border:2px solid rgba(76,175,80,.4);border-radius:12px;background:#4caf5026;color:#4caf50;font-size:1.05rem;font-weight:700;cursor:pointer;margin-bottom:16px;transition:all .3s;animation:pulse 2s infinite}.lobby-rejoin-btn:hover{background:#4caf5040;border-color:#4caf5099}.btn-create-room{padding:10px 20px;border:none;border-radius:8px;background:linear-gradient(135deg,gold,#ff8c00);color:#1a1a2e;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .3s}.btn-create-room:hover{transform:translateY(-1px);box-shadow:0 4px 15px #ffd7004d}.btn-start-game{width:100%;padding:16px;border:none;border-radius:12px;background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;font-size:1.15rem;font-weight:800;cursor:pointer;letter-spacing:1px;transition:all .3s;margin-top:12px;box-shadow:0 4px 15px #4caf504d}.btn-start-game:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #4caf5080}.btn-start-game:disabled{opacity:.4;cursor:not-allowed}.btn-leave-room{width:100%;padding:10px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0f;color:#fff9;font-size:.9rem;cursor:pointer;margin-top:8px;transition:all .2s}.btn-leave-room:hover{background:#ff525226;border-color:#ff525266;color:#ff5252}.log-toggle{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:.85rem;padding:4px 0;transition:color .2s}.log-toggle:hover{color:#fffc}.lobby-instructions{padding:12px 16px;background:#ffffff0a;border-radius:10px;border:1px solid rgba(255,255,255,.08);font-size:.85rem;color:#ffffff80;position:relative;z-index:1;text-align:center}.section-title{margin:0 0 16px;font-size:1.1rem;color:#ffffffe6}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form input{padding:10px 14px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#ffffff14;color:#fff;font-size:15px}.auth-form input::placeholder{color:#fff6}.auth-buttons{display:flex;gap:10px}.auth-logged-in{display:flex;align-items:center;justify-content:space-between}.auth-actions{display:flex;gap:8px}.user-badge{font-size:1.1rem;color:#4caf50;font-weight:600}.btn-primary{padding:10px 20px;border:none;border-radius:8px;background:#4caf50;color:#fff;cursor:pointer;font-size:15px;font-weight:600;transition:background .2s,transform .1s}.btn-primary:hover:not(:disabled){background:#45a049;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:10px 20px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffff14;color:#fff;cursor:pointer;font-size:15px;transition:background .2s}.btn-secondary:hover{background:#ffffff26}.btn-large{padding:14px 28px;font-size:1.1rem}.btn-small{padding:6px 12px;font-size:13px}.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.3);color:#ffffffb3}.btn-outline:hover{background:#ffffff1a}.btn-copy{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;border-radius:6px;transition:background .2s}.btn-copy:hover{background:#fff3}.btn-start{width:100%;margin-top:16px;background:linear-gradient(135deg,#4caf50,#2e7d32);font-size:1.2rem;padding:16px}.btn-start:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#1b5e20)}.base-selector{display:flex;align-items:center;gap:10px;margin-bottom:16px}.base-selector label{color:#ffffffb3;font-size:14px}.base-selector select{padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#1e1e2ee6;color:#fff;font-size:14px}.lobby-actions{display:flex;flex-direction:column;gap:16px}.lobby-action-group{display:flex;flex-direction:column;align-items:center;gap:6px}.lobby-divider{text-align:center;color:#ffffff4d;font-size:.9rem;padding:4px 0}.join-row{display:flex;gap:10px;width:100%}.lobby-input{flex:1;padding:10px 14px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#ffffff14;color:#fff;font-size:15px}.lobby-input::placeholder{color:#fff6}.action-hint{font-size:12px;color:#ffffff73}.lobby-waiting{display:flex;flex-direction:column;align-items:center;gap:12px}.lobby-id-display{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:#0003;border-radius:12px;width:100%}.lobby-id-label{font-size:.9rem;color:#fff9}.lobby-id-value{display:flex;align-items:center;gap:10px}.lobby-id-value code{font-size:1.3rem;font-weight:700;color:gold;background:#ffd7001a;padding:8px 16px;border-radius:8px;letter-spacing:1px}.lobby-id-hint{font-size:.8rem;color:#fff6}.waiting-indicator{display:flex;align-items:center;gap:12px;padding:16px 24px;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:10px;color:#ffc107;font-weight:500}.spinner{animation:spin 2s linear infinite;font-size:1.3rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.log-section{max-height:300px}.log-container{font-family:monospace;font-size:12px;white-space:pre-wrap;max-height:180px;overflow:auto;margin-top:8px;padding:8px;background:#0000004d;border-radius:6px;color:#ffffffb3}.instructions{margin-top:16px;font-size:13px;color:#ffffff8c;text-align:center;line-height:1.6;padding:16px;background:#00000026;border-radius:10px}.instructions strong{color:#fffc}.create-room-bar{display:flex;gap:10px;align-items:center;margin-bottom:16px}.base-select{flex:1;padding:10px 12px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#1e1e2ee6;color:#fff;font-size:14px}.room-list{display:flex;flex-direction:column;gap:8px}.room-ready{color:#4caf50;font-weight:600}.btn-start:disabled{opacity:.4;cursor:not-allowed}.room-list-empty{text-align:center;padding:24px;color:#fff6;font-size:.95rem;background:#00000026;border-radius:10px}.room-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0a;transition:background .2s,border-color .2s}.room-row:hover{background:#ffffff14;border-color:#ffffff40}.room-mine{border-color:#4caf504d;background:#4caf500f}.room-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.room-host{font-weight:600;color:#fff;font-size:.95rem}.room-you-badge{margin-left:4px;color:#4caf50;font-size:.8rem;font-weight:400}.room-base{font-size:.75rem;padding:3px 8px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.room-base-doz{background:#9c27b033;color:#ce93d8;border:1px solid rgba(156,39,176,.3)}.room-base-dec{background:#2196f333;color:#90caf9;border:1px solid rgba(33,150,243,.3)}.room-players{font-size:.85rem;color:#fff9}.room-players.full{color:#ff9800cc}.btn-join{padding:8px 20px;font-size:.9rem}.room-status-text{font-size:.8rem;color:#fff6;font-style:italic}.login-screen{min-height:100vh;background:linear-gradient(135deg,#0a0a1a,#1a1a3e,#0f0f2e 60%,#050520);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;font-family:system-ui,-apple-system,sans-serif;color:#fff;padding:20px}.login-bg-cards{position:absolute;inset:0;pointer-events:none;overflow:hidden}.floating-suit{position:absolute;left:var(--x, 50%);bottom:-50px;font-size:var(--size, 2rem);opacity:.12;animation:suitDrift var(--duration, 8s) ease-in-out var(--delay, 0s) infinite}@keyframes suitDrift{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.12}90%{opacity:.12}to{transform:translateY(calc(-100vh - 100px)) rotate(180deg);opacity:0}}.login-header{text-align:center;margin-bottom:40px;z-index:1;animation:loginTitleIn .8s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes loginTitleIn{0%{transform:translateY(-40px) scale(.7);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.login-game-title{font-size:3.5rem;font-weight:900;margin:0;background:linear-gradient(135deg,gold,#ff8c00,tomato);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 0 20px rgba(255,215,0,.3));letter-spacing:2px}.login-game-subtitle{font-size:1.1rem;margin:8px 0 0;color:#ffffff80;letter-spacing:4px;text-transform:uppercase}.login-card{width:100%;max-width:400px;background:#ffffff0f;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:40px 35px 30px;z-index:1;animation:loginCardIn .6s cubic-bezier(.34,1.56,.64,1) .2s both;box-shadow:0 20px 60px #00000080,0 0 80px #ffd7000d,inset 0 1px #ffffff1a}@keyframes loginCardIn{0%{transform:translateY(40px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.login-card-suits{text-align:center;font-size:1.8rem;letter-spacing:12px;margin-bottom:10px;opacity:.5}.login-card-title{text-align:center;margin:0 0 28px;font-size:1.4rem;font-weight:600;color:#ffffffe6}.login-form{display:flex;flex-direction:column;gap:14px}.login-input-group{display:flex;align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;overflow:hidden;transition:border-color .3s,box-shadow .3s}.login-input-group:focus-within{border-color:#ffd70080;box-shadow:0 0 15px #ffd70026}.login-input-icon{padding:0 4px 0 14px;font-size:1.1rem;opacity:.6}.login-input-group input{flex:1;padding:14px 14px 14px 8px;background:transparent;border:none;color:#fff;font-size:1rem;outline:none}.login-input-group input::placeholder{color:#ffffff59}.login-btn-play{padding:16px;border:none;border-radius:12px;background:linear-gradient(135deg,gold,#ff8c00);color:#1a1a2e;font-size:1.2rem;font-weight:800;cursor:pointer;letter-spacing:3px;transition:all .3s;margin-top:6px;box-shadow:0 4px 20px #ffd7004d}.login-btn-play:hover{transform:translateY(-2px);box-shadow:0 8px 30px #ffd70080}.login-btn-play:active{transform:translateY(0)}.login-btn-register{padding:12px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:#ffffff14;color:#fffc;font-size:.95rem;cursor:pointer;transition:all .3s}.login-btn-register:hover{background:#ffffff26;border-color:#fff6}.login-divider{display:flex;align-items:center;gap:12px;margin:4px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#ffffff26}.login-divider span{color:#ffffff59;font-size:.85rem;text-transform:uppercase;letter-spacing:2px}.login-btn-guest{padding:12px;border:1px dashed rgba(255,255,255,.25);border-radius:12px;background:transparent;color:#ffffffb3;font-size:.95rem;cursor:pointer;transition:all .3s}.login-btn-guest:hover{background:#ffffff14;border-color:#fff6;color:#fff}.login-admin-link{display:block;margin:16px auto 0;background:none;border:none;color:#fff3;font-size:.75rem;cursor:pointer;text-decoration:underline;transition:color .2s}.login-admin-link:hover{color:#ffffff80}.card{border-radius:8px;box-shadow:0 2px 8px #00000026;display:flex;flex-direction:column;position:relative;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease,border-color .2s ease;-webkit-user-select:none;user-select:none;overflow:hidden}.card-image{width:100%;height:100%;object-fit:cover;border-radius:8px;pointer-events:none}.card-small{width:50px;height:75px}.card-medium{width:80px;height:120px}.card-large{width:100px;height:150px}.card.playable{cursor:pointer;box-shadow:0 0 12px #4caf50b3;border:2px solid #4caf50}.card.playable:hover{transform:translateY(-28px) scale(1.15) rotate(-2deg);box-shadow:0 20px 40px #4caf5099,0 0 30px #4caf5066;z-index:200!important}.hand-card-wrapper .card:not(.playable):not(.selected):hover{transform:translateY(-20px) scale(1.08);box-shadow:0 14px 25px #fff3;z-index:200!important}.card.selected{transform:translateY(-25px) scale(1.1);box-shadow:0 0 25px #2196f3e6,0 0 50px #2196f34d;border:3px solid #2196f3;z-index:200!important}.card.wildcard{border:3px solid #ff9800;box-shadow:0 0 10px #ff980099}.card.wildcard.playable{box-shadow:0 0 25px #ff9800e6,0 0 50px #ffc10780;border:3px solid #ffab00}.card.wildcard.playable:hover{transform:translateY(-28px) scale(1.15) rotate(-2deg);box-shadow:0 20px 40px #ff9800cc,0 0 60px #ffc10799}.card.skip-card{border:3px solid #00e5ff;box-shadow:0 0 10px #00e5ff99}.card.skip-card.playable{box-shadow:0 0 25px #00e5ffe6,0 0 50px #00b0ff80;border:3px solid #00e5ff}.card.skip-card.playable:hover{transform:translateY(-28px) scale(1.15) rotate(-2deg);box-shadow:0 20px 40px #00e5ffcc,0 0 60px #00b0ff99}.card[draggable=true]{cursor:grab}.card[draggable=true]:active{cursor:grabbing}.card-badge{position:absolute;top:-8px;right:-8px;font-size:14px;z-index:10;background:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003}.card-small .card-badge{font-size:10px;width:16px;height:16px;top:-5px;right:-5px}.card-large .card-badge{font-size:18px;width:28px;height:28px;top:-10px;right:-10px}.wildcard-badge{background:linear-gradient(135deg,#fff8e1,#ffc107)}.skip-badge{background:linear-gradient(135deg,#e3f2fd,#2196f3)}.card-back{border:2px solid #0d47a1}@keyframes cardDealIn{0%{opacity:0;transform:translateY(120px) scale(.4) rotate(-15deg)}50%{opacity:1;transform:translateY(-20px) scale(1.12) rotate(3deg)}70%{transform:translateY(5px) scale(.97) rotate(-1deg)}to{transform:translateY(0) scale(1) rotate(0)}}.card-deal-in{animation:cardDealIn .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes cardPlayOut{0%{opacity:1;transform:translateY(0) scale(1) rotate(0)}to{opacity:0;transform:translateY(-120px) scale(.3) rotate(20deg)}}.card-play-out{animation:cardPlayOut .4s ease-out forwards}@keyframes cardArriveTop{0%{opacity:0;transform:scale(.3) rotate(20deg) translateY(-60px)}40%{opacity:1;transform:scale(1.25) rotate(-5deg) translateY(5px);box-shadow:0 0 40px #fff9}60%{transform:scale(.92) rotate(2deg) translateY(-3px)}80%{transform:scale(1.05) rotate(-1deg);box-shadow:0 0 20px #ffffff4d}to{opacity:1;transform:scale(1) rotate(0);box-shadow:0 2px 8px #00000026}}.card-arrive-top{animation:cardArriveTop .55s cubic-bezier(.34,1.56,.64,1) forwards}.effect-overlay{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:effectFadeInOut 1.5s ease forwards}.effect-overlay-transparent{background:none}@keyframes effectFadeInOut{0%{opacity:0}15%{opacity:1}75%{opacity:1}to{opacity:0}}.skip-clock-effect{display:flex;flex-direction:column;align-items:center;gap:20px;animation:clockEntrance .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes clockEntrance{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.2) rotate(10deg);opacity:1}to{transform:scale(1) rotate(0)}}.clock-face{width:110px;height:110px;border-radius:50%;border:4px solid #00e5ff;background:radial-gradient(circle,#1a1a2e,#0d1b2a);position:relative;box-shadow:0 0 30px #00e5ff99,0 0 60px #00e5ff4d,inset 0 0 20px #00e5ff1a}.clock-center{position:absolute;top:50%;left:50%;width:10px;height:10px;background:#00e5ff;border-radius:50%;transform:translate(-50%,-50%);z-index:2;box-shadow:0 0 8px #00e5ffcc}.clock-hand{position:absolute;top:50%;left:50%;width:3px;height:40px;background:linear-gradient(to top,#00e5ff,#fff);border-radius:2px;transform-origin:bottom center;transform:translate(-50%,-100%);animation:clockSpin 1.2s cubic-bezier(.4,0,.2,1) forwards;box-shadow:0 0 6px #00e5ff80}@keyframes clockSpin{0%{transform:translate(-50%,-100%) rotate(0)}to{transform:translate(-50%,-100%) rotate(360deg)}}.clock-mark{position:absolute;top:50%;left:50%;width:3px;height:8px;background:#00e5ff99;border-radius:1px;transform-origin:center center}.skip-text{font-size:2.5rem;font-weight:900;color:#00e5ff;text-shadow:0 0 20px rgba(0,229,255,.8),0 0 40px rgba(0,229,255,.5),0 0 80px rgba(0,229,255,.3);letter-spacing:6px;animation:skipTextPulse .8s ease .5s both}@keyframes skipTextPulse{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3);opacity:1}to{transform:scale(1)}}.wildcard-burst-effect{position:relative;display:flex;align-items:center;justify-content:center}.burst-particle{position:absolute;width:var(--size, 12px);height:var(--size, 12px);border-radius:50%;background:hsl(var(--hue, 0),100%,60%);box-shadow:0 0 10px hsl(var(--hue, 0),100%,60%);animation:particleBurst .8s cubic-bezier(.25,.46,.45,.94) var(--delay, 0s) forwards}@keyframes particleBurst{0%{transform:translate(0) scale(1);opacity:1}60%{opacity:1}to{transform:rotate(var(--angle, 0deg)) translateY(calc(-1 * var(--distance, 100px))) scale(0);opacity:0}}.burst-star{position:absolute;font-size:1.8rem;animation:starBurst 1s cubic-bezier(.25,.46,.45,.94) var(--delay, 0s) forwards}@keyframes starBurst{0%{transform:translate(0) scale(0) rotate(0);opacity:0}20%{opacity:1;transform:scale(1.5) rotate(30deg)}to{transform:rotate(var(--angle, 0deg)) translateY(calc(-1 * var(--distance, 80px))) scale(0) rotate(180deg);opacity:0}}.wildcard-flash{position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.8) 0%,rgba(255,200,0,.4) 40%,transparent 70%);animation:flashBurst .5s ease-out forwards}@keyframes flashBurst{0%{transform:scale(0);opacity:1}50%{transform:scale(1.5);opacity:.6}to{transform:scale(2.5);opacity:0}}.wildcard-text{position:absolute;font-size:2.5rem;font-weight:900;color:gold;text-shadow:0 0 20px rgba(255,215,0,.9),0 0 40px rgba(255,152,0,.6),0 0 80px rgba(255,100,0,.4);letter-spacing:6px;animation:wildTextPop .6s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes wildTextPop{0%{transform:scale(0) rotate(-20deg);opacity:0}60%{transform:scale(1.4) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0)}}.math-symbols-effect{position:fixed;inset:0;overflow:hidden;pointer-events:none}.floating-symbol{position:absolute;left:var(--x-start, 50%);bottom:-50px;color:#ffd700d9;font-weight:700;text-shadow:0 0 10px rgba(255,215,0,.6),0 0 20px rgba(255,152,0,.3);animation:symbolFloat var(--duration, 1.5s) ease-out var(--delay, 0s) forwards;transform:scale(var(--scale, 1))}@keyframes symbolFloat{0%{transform:translateY(0) translate(0) rotate(0) scale(var(--scale, 1));opacity:0}15%{opacity:1}70%{opacity:.8}to{transform:translateY(calc(-100vh - 100px)) translate(var(--x-drift, 0px)) rotate(var(--rotation, 30deg)) scale(var(--scale, 1));opacity:0}}.arithmetic-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:overlaySlam .4s ease forwards}@keyframes overlaySlam{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}}.arithmetic-popup{background:linear-gradient(135deg,#1e1e2e,#2d2d44);padding:40px;border-radius:20px;text-align:center;box-shadow:0 20px 60px #00000080,0 0 80px #4cc9f026;min-width:420px;max-width:500px;animation:popupSlam .5s cubic-bezier(.34,1.56,.64,1) forwards;border:1px solid rgba(76,201,240,.2)}@keyframes popupSlam{0%{transform:translateY(-80px) scale(.5) rotate(-5deg);opacity:0}50%{transform:translateY(10px) scale(1.08) rotate(1deg);opacity:1}70%{transform:translateY(-5px) scale(.97) rotate(-.5deg)}to{transform:translateY(0) scale(1) rotate(0)}}.popup-header{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:15px}.popup-header h2{color:#fff;margin:0;font-size:1.8rem}.points-badge{background:linear-gradient(135deg,gold,#ffb300);color:#1e1e2e;padding:6px 14px;border-radius:20px;font-weight:700;font-size:.9rem;animation:badgePop .6s cubic-bezier(.34,1.56,.64,1) .3s both}@keyframes badgePop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}.challenge-card-info{color:#ffffffa6;font-size:.95rem;margin-bottom:25px}.challenge-equation{display:flex;align-items:center;justify-content:center;gap:15px;font-size:2.5rem;color:#fff;margin-bottom:30px;animation:equationBounce .5s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes equationBounce{0%{transform:scale(.3) translateY(30px);opacity:0}60%{transform:scale(1.1) translateY(-5px);opacity:1}to{transform:scale(1) translateY(0)}}.operand{font-weight:700;background:#ffffff1a;padding:10px 20px;border-radius:10px}.answer-blank{color:gold;border:2px dashed rgba(255,215,0,.5)}.operator{color:gold;font-weight:700}.equals{color:#ffffff80}.numpad-area{margin-bottom:24px;animation:numpadSlideUp .4s cubic-bezier(.34,1.56,.64,1) .35s both}@keyframes numpadSlideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.numpad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:280px;margin:0 auto 12px}.numpad-btn{height:48px;font-size:1.3rem;font-weight:700;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:#ffffff1a;color:#fff;cursor:pointer;transition:all .15s ease}.numpad-btn:hover:not(:disabled){background:#fff3;transform:scale(1.05)}.numpad-btn:active:not(:disabled){transform:scale(.95);background:#ffd7004d}.numpad-btn.numpad-empty{visibility:hidden}.numpad-actions{display:flex;gap:10px;justify-content:center;max-width:280px;margin:0 auto}.numpad-action-btn{flex:1;height:48px;font-size:1.1rem;font-weight:700;border-radius:10px;cursor:pointer;transition:all .2s ease}.backspace-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:1.3rem}.backspace-btn:hover{background:#f443364d}.submit-btn{border:2px solid #ffd700;background:linear-gradient(135deg,gold,#ffb300);color:#1e1e2e}.submit-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 0 20px #ffd70066}.submit-btn:disabled{opacity:.4;cursor:default}.answer-correct{color:#4caf50!important;border-color:#4caf50!important;background:#4caf5033!important}.answer-incorrect{color:#f44336!important;border-color:#f44336!important;background:#f4433633!important}.result-message{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 25px;border-radius:10px;font-size:1.2rem;font-weight:700;animation:resultSlide .3s ease}@keyframes resultSlide{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.result-message.correct{background:#4caf5033;color:#4caf50;border:2px solid #4caf50}.result-message.incorrect{background:#f4433633;color:#f44336;border:2px solid #f44336}.result-icon{font-size:1.5rem}.game-screen{min-height:100vh;background:linear-gradient(135deg,#0a0a1a,#1a1a2e,#0f2847);color:#fff;padding:15px;font-family:system-ui,-apple-system,sans-serif}.game-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:10px 16px;background:#00000059;border-radius:12px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-header h1{margin:0;font-size:1.4rem;background:linear-gradient(135deg,gold,#ff8c00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800}.back-button{padding:8px 14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#ffffffb3;border-radius:8px;cursor:pointer;transition:all .2s;font-size:.85rem}.back-button:hover{background:#ff525226;border-color:#ff525266;color:#ff5252}.base-toggle{display:flex;align-items:center;gap:8px;font-size:.9rem}.toggle-btn{padding:6px 12px;background:#4caf50;border:none;color:#fff;border-radius:6px;cursor:pointer;transition:background .2s}.toggle-btn:hover{background:#45a049}.score-summary{display:flex;justify-content:center;align-items:center;gap:15px;padding:12px 16px;background:#00000059;border-radius:10px;margin-bottom:10px;font-size:.95rem;border:1px solid rgba(255,215,0,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.score-summary strong{color:gold}.score-summary .goal strong{color:#4caf50}.score-divider{color:#ffffff4d}.score-you{transition:all .3s ease}.score-you.score-pulse{animation:scorePulse .6s ease}@keyframes scorePulse{0%{transform:scale(1)}30%{transform:scale(1.15)}60%{transform:scale(.95)}to{transform:scale(1)}}.score-highlight-anim{animation:scoreGlow 1.2s ease forwards}@keyframes scoreGlow{0%{color:gold;text-shadow:0 0 0px transparent}30%{color:#0f8;text-shadow:0 0 20px rgba(0,255,136,.8),0 0 40px rgba(0,255,136,.4);font-size:1.3em}to{color:gold;text-shadow:0 0 0px transparent;font-size:1em}}.score-gain-float{position:absolute;top:-5px;right:-20px;font-size:1.1rem;font-weight:900;color:#0f8;text-shadow:0 0 10px rgba(0,255,136,.8);pointer-events:none;animation:scoreFloat 1.5s ease-out forwards}@keyframes scoreFloat{0%{opacity:1;transform:translateY(0) scale(1)}30%{opacity:1;transform:translateY(-15px) scale(1.3)}to{opacity:0;transform:translateY(-40px) scale(.8)}}.turn-banner{text-align:center;padding:8px 16px;border-radius:8px;margin-bottom:15px;font-weight:700}.turn-banner.my-turn{background:#4caf504d;border:1px solid rgba(76,175,80,.5);color:#4caf50}.turn-banner.opponent-turn{background:#ff980033;border:1px solid rgba(255,152,0,.4);color:#ff9800}.game-over-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.game-over-modal{background:linear-gradient(135deg,#1e1e2e,#2d2d44);padding:40px 50px;border-radius:20px;text-align:center;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease;max-width:400px;width:90%}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.game-over-modal h2{margin:0 0 25px;font-size:2rem;color:#fff}.final-scores{background:#0003;border-radius:12px;padding:20px;margin-bottom:20px}.score-row{display:flex;justify-content:space-between;padding:8px 0;font-size:1.1rem;color:#fffc}.score-row strong{color:gold}.score-row.goal-row{border-top:1px solid rgba(255,255,255,.1);margin-top:8px;padding-top:12px}.score-row.goal-row strong{color:#4caf50}.game-over-message{color:#ffffffb3;margin:0 0 25px;font-size:1rem}.game-over-actions{display:flex;flex-direction:column;gap:12px}.modal-btn{padding:14px 30px;font-size:1rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.modal-btn.primary{background:#4caf50;color:#fff}.modal-btn.primary:hover{background:#45a049;transform:scale(1.02)}.modal-btn.secondary{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2)}.modal-btn.secondary:hover{background:#ffffff26}.modal-btn.tertiary{background:transparent;color:#fff9;border:none;padding:10px 20px;font-size:.9rem}.modal-btn.tertiary:hover{color:#ffffffe6;text-decoration:underline}.modal-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.restart-status{padding:10px 16px;border-radius:8px;margin:10px 0 20px;font-size:.95rem}.restart-status.waiting{background:#ffc10726;border:1px solid rgba(255,193,7,.3);color:#ffc107}.restart-status.opponent-requested{background:#4caf5026;border:1px solid rgba(76,175,80,.3);color:#4caf50;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.game-over-banner{text-align:center;padding:15px 20px;background:#ffd70033;border:2px solid #ffd700;border-radius:8px;margin-bottom:15px;font-size:1.1rem;color:gold;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px}.play-again-btn{padding:10px 24px;font-size:1rem;font-weight:700;background:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.play-again-btn:hover{background:#45a049;transform:scale(1.05)}.play-again-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;background:#666}.lobby-btn{padding:10px 24px;font-size:1rem;font-weight:700;background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.3);border-radius:8px;cursor:pointer;transition:all .2s}.lobby-btn:hover{background:#fff3}.banner-notification{color:#4caf50;font-weight:700;animation:pulse 2s infinite}.game-base-info{font-size:.9rem;color:#ffffffb3;padding:6px 12px;background:#ffffff1a;border-radius:6px}.opponent-area{text-align:center;margin-bottom:15px}.player-label{font-size:.9rem;color:#ffffffb3;margin-bottom:8px}.opponent-hand{display:flex;justify-content:center;min-height:70px}.opponent-card-wrapper{transition:transform .2s}.table-area{display:flex;justify-content:center;align-items:flex-start;gap:60px;padding:24px;background:#0000004d;border-radius:18px;margin-bottom:15px;border:1px solid rgba(255,215,0,.08)}.pile-section{display:flex;flex-direction:column;align-items:center;gap:8px}.pile-label{font-size:.85rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:1px}.draw-pile-stack{cursor:pointer;transition:transform .2s}.draw-pile-stack:hover{transform:translateY(-3px)}.top-card-display{position:relative}.pile-section.discard-drop-active{background:#4cc9f026;border:2px dashed #4cc9f0;border-radius:12px;transform:scale(1.05);transition:all .2s ease}.pile-section.discard-drop-active .pile-label{color:#4cc9f0;font-weight:600}.forced-suit{margin-top:5px;font-size:1.2rem;font-weight:700;padding:4px 12px;background:#ffffff1a;border-radius:15px}.player-area{text-align:center;margin-bottom:15px}.player-hand{display:flex;justify-content:center;flex-wrap:nowrap;min-height:130px;padding:10px 10px 20px;overflow:visible}.hand-card-wrapper{transition:transform .25s cubic-bezier(.34,1.56,.64,1),z-index 0s;position:relative}.hand-card-wrapper:hover{z-index:100!important}.hint-section{margin-top:10px;padding:8px 15px;background:#ffffff0d;border-radius:8px;display:inline-block}.hint-label{color:#fff9;margin-right:8px}.hint-cards{font-family:monospace;color:#4caf50}.action-bar{display:flex;justify-content:center;gap:15px;margin-bottom:15px}.action-btn{padding:10px 20px;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3)}.action-btn:hover:not(:disabled){background:#fff3;transform:translateY(-2px)}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn.play-btn{background:#4caf50;border-color:#4caf50}.action-btn.play-btn:hover:not(:disabled){background:#45a049}.suit-picker-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:suitOverlayIn .3s ease forwards}@keyframes suitOverlayIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.suit-picker{background:linear-gradient(135deg,#1e1e2e,#2d2d44);padding:30px;border-radius:16px;text-align:center;box-shadow:0 20px 60px #0009,0 0 60px #4cc9f01a;border:1px solid rgba(255,255,255,.1);animation:suitPickerSlam .45s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes suitPickerSlam{0%{transform:translateY(-60px) scale(.5) rotate(-5deg);opacity:0}50%{transform:translateY(8px) scale(1.06) rotate(1deg);opacity:1}70%{transform:translateY(-3px) scale(.97)}to{transform:translateY(0) scale(1) rotate(0)}}.suit-picker h3{margin:0 0 20px;color:#fff}.suit-options{display:flex;gap:15px;justify-content:center;margin-bottom:20px}.suit-btn{width:60px;height:60px;border:2px solid rgba(255,255,255,.3);border-radius:12px;background:#ffffff1a;font-size:2rem;cursor:pointer;transition:all .2s;animation:suitBtnPop .3s cubic-bezier(.34,1.56,.64,1) backwards}.suit-btn:nth-child(1){animation-delay:.15s}.suit-btn:nth-child(2){animation-delay:.22s}.suit-btn:nth-child(3){animation-delay:.29s}.suit-btn:nth-child(4){animation-delay:.36s}@keyframes suitBtnPop{0%{transform:scale(0) rotate(-15deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.suit-btn:hover{background:#ffffff40;transform:scale(1.2);box-shadow:0 0 20px #fff3}.cancel-btn{padding:8px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:6px;cursor:pointer}.cancel-btn:hover{background:#fff3}.op-btn{font-size:2rem!important;color:#fff!important;min-width:60px}.goal-row{border-top:1px solid rgba(255,255,255,.2);padding-top:8px;margin-top:4px}.log-section{border:1px solid rgba(255,255,255,.2);padding:12px;border-radius:10px;background:#ffffff0d;margin-bottom:15px}.log-container{font-family:monospace;font-size:12px;white-space:pre-wrap;max-height:150px;overflow:auto;margin-top:8px;padding:8px;background:#0000004d;border-radius:6px;color:#fffc}.game-instructions{text-align:center;font-size:.85rem;color:#fff9;padding:10px;background:#0003;border-radius:8px}.opponent-challenge-banner{text-align:center;padding:12px 20px;background:#ffc10726;border:1px solid rgba(255,193,7,.4);border-radius:8px;margin-bottom:15px;color:#ffc107;font-weight:700;animation:pulse 2s infinite}.chat-sidebar{position:fixed;top:0;bottom:0;width:280px;background:#0f0f1ef2;border:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;z-index:900;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:left .3s ease,right .3s ease}.chat-sidebar.right{right:0;border-left:1px solid rgba(255,255,255,.15)}.chat-sidebar.left{left:0;border-right:1px solid rgba(255,255,255,.15)}.chat-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.15);font-weight:600;font-size:.95rem;color:#ffffffd9}.chat-sidebar-btns{display:flex;gap:6px}.chat-sidebar-btns button{background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#fff9;border-radius:6px;width:28px;height:28px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.chat-sidebar-btns button:hover{background:#ffffff26;color:#fff}.chat-sidebar .chat-messages{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:6px}.chat-bubble{display:flex;flex-direction:column;padding:6px 10px;border-radius:10px;max-width:85%;font-size:.82rem}.chat-bubble.mine{align-self:flex-end;background:#4caf5040;border:1px solid rgba(76,175,80,.4)}.chat-bubble.theirs{align-self:flex-start;background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.chat-sender{font-size:.65rem;font-weight:600;color:#ffffff73;margin-bottom:2px}.chat-text{color:#ffffffe6;word-break:break-word}.chat-sidebar .chat-input-row{display:flex;gap:6px;padding:10px;border-top:1px solid rgba(255,255,255,.15)}.chat-input-row input{flex:1;padding:8px 10px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff14;color:#fff;font-size:.82rem}.chat-input-row input::placeholder{color:#ffffff4d}.chat-input-row button{padding:8px 12px;border:none;border-radius:8px;background:#4caf50;color:#fff;cursor:pointer;font-size:.95rem;transition:background .2s}.chat-input-row button:hover{background:#45a049}.chat-open-btn{position:fixed;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:#4caf50cc;border:none;color:#fff;font-size:1.2rem;cursor:pointer;z-index:900;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d;transition:all .2s}.chat-open-btn:hover{background:#4caf50;transform:translateY(-50%) scale(1.1)}.chat-open-btn.right{right:12px}.chat-open-btn.left{left:12px}.options-gear-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.25);border-radius:6px;color:#fff;font-size:1rem;padding:2px 8px;cursor:pointer;transition:background .2s;line-height:1}.options-gear-btn:hover{background:#ffffff40}.options-panel{display:flex;gap:16px;padding:8px 12px;margin-bottom:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;flex-wrap:wrap}.option-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.85rem;color:#ffffffd9;-webkit-user-select:none;user-select:none}.option-toggle input[type=checkbox]{accent-color:#4cc9f0;width:16px;height:16px;cursor:pointer}.options-section{width:100%}.options-section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffff80;margin-bottom:6px;font-weight:600}.options-toggles{display:flex;gap:16px;flex-wrap:wrap}.card-back-picker{display:flex;gap:8px;flex-wrap:wrap}.card-back-option{width:48px;height:68px;border:2px solid rgba(255,255,255,.2);border-radius:6px;padding:2px;background:#ffffff0d;cursor:pointer;transition:all .2s;overflow:hidden}.card-back-option img{width:100%;height:100%;object-fit:cover;border-radius:4px}.card-back-option:hover{border-color:#4cc9f099;transform:translateY(-2px)}.card-back-option.selected{border-color:#4cc9f0;box-shadow:0 0 10px #4cc9f080}.hints-open-btn{position:fixed;top:calc(50% + 50px);transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#ffc107d9,#ff9800d9);border:none;color:#fff;font-size:1.2rem;cursor:pointer;z-index:2500;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #ffc10766,0 0 20px #ff980026;transition:all .25s ease}.hints-open-btn:hover{transform:translateY(-50%) scale(1.15);box-shadow:0 4px 20px #ffc10799,0 0 30px #ff980040}.hints-open-btn.right{right:12px}.hints-open-btn.left{left:12px}.hints-overlay{position:fixed;inset:0;background:#000000d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:3000;animation:hintsOverlayIn .3s ease forwards;padding:20px}@keyframes hintsOverlayIn{0%{opacity:0}to{opacity:1}}.hints-modal{background:linear-gradient(145deg,#1a1a2e,#16213e,#0f3460);border-radius:20px;width:90vw;max-width:820px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 80px #0009,0 0 60px #ffc10714,inset 0 1px #ffffff14;border:1px solid rgba(255,255,255,.1);animation:hintsModalIn .4s cubic-bezier(.34,1.56,.64,1) forwards;overflow:hidden}@keyframes hintsModalIn{0%{transform:scale(.85) translateY(30px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.hints-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,.1);background:#00000040;flex-shrink:0}.hints-header h2{margin:0;font-size:1.3rem;background:linear-gradient(135deg,gold,#ff8c00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800}.hints-close-btn{width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff9;font-size:1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.hints-close-btn:hover{background:#ff525233;border-color:#ff525266;color:#ff5252}.hints-tabs{display:flex;gap:4px;padding:12px 24px;border-bottom:1px solid rgba(255,255,255,.08);background:#00000026;flex-shrink:0;overflow-x:auto}.hints-tab{padding:10px 18px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff0d;color:#fff9;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .25s ease;white-space:nowrap}.hints-tab:hover{background:#ffffff1a;color:#ffffffe6;border-color:#fff3}.hints-tab.active{background:linear-gradient(135deg,#ffc10733,#ff980026);border-color:#ffc10780;color:gold;box-shadow:0 0 15px #ffc10726}.hints-content{flex:1;overflow-y:auto;padding:20px 24px;min-height:0}.hints-image-wrapper{display:flex;justify-content:center;animation:hintImageFadeIn .35s ease}.hints-image-wrapper img{max-width:100%;max-height:60vh;object-fit:contain;border-radius:12px;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 30px #0000004d}@keyframes hintImageFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media(max-width:600px){.hints-modal{width:95vw;max-height:90vh;border-radius:16px}.hints-header{padding:14px 16px}.hints-header h2{font-size:1.1rem}.hints-tabs{padding:8px 12px;gap:6px}.hints-tab{padding:8px 12px;font-size:.8rem}.hints-content{padding:12px}}.profile-page{padding:30px 20px;max-width:550px;margin:0 auto;font-family:system-ui,-apple-system,sans-serif;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.profile-header h1{margin:0;font-size:1.6rem}.btn-back{padding:8px 16px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:transparent;color:#ffffffb3;cursor:pointer;font-size:14px;transition:background .2s}.btn-back:hover{background:#ffffff1a}.profile-loading,.profile-error{text-align:center;padding:40px 20px;color:#fff9}.profile-section{margin-bottom:20px;border:1px solid rgba(255,255,255,.12);padding:20px;border-radius:12px;background:#ffffff0a}.section-title{margin:0 0 16px;font-size:1.05rem;color:#ffffffe6}.player-card{display:flex;align-items:center;gap:16px}.player-avatar{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border-radius:50%}.player-details h2{margin:0;font-size:1.3rem}.player-username{display:block;font-size:.85rem;color:#ffffff80}.player-joined{display:block;font-size:.8rem;color:#ffffff59;margin-top:2px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat-card{display:flex;flex-direction:column;align-items:center;padding:12px 8px;border-radius:10px;background:#ffffff0f}.stat-value{font-size:1.4rem;font-weight:700}.stat-label{font-size:.75rem;color:#ffffff80;margin-top:4px}.stat-winrate .stat-value{color:gold}.stat-wins .stat-value{color:#4caf50}.stat-losses .stat-value{color:#ef5350}.stat-total .stat-value{color:#90caf9}.no-matches{text-align:center;padding:20px;color:#fff6}.match-list{display:flex;flex-direction:column;gap:8px}.match-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;font-size:.9rem}.match-win{background:#4caf501a;border-left:3px solid #4caf50}.match-lose{background:#ef53501a;border-left:3px solid #ef5350}.match-draw{background:#ffc1071a;border-left:3px solid #ffc107}.match-outcome{font-weight:600;min-width:70px}.match-score{font-weight:600;color:#ffffffe6}.match-opponent{flex:1;color:#fff9}.match-base{font-size:.7rem;padding:2px 6px;border-radius:4px;background:#ffffff1a;color:#ffffff80}.setting-group{margin-bottom:16px}.setting-group:last-child{margin-bottom:0}.setting-group label{display:block;font-size:.85rem;color:#fff9;margin-bottom:8px}.setting-row{display:flex;gap:8px;flex-wrap:wrap}.setting-row input{flex:1;min-width:120px;padding:10px 14px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#ffffff14;color:#fff;font-size:14px}.setting-row input::placeholder{color:#fff6}.setting-msg{margin-top:6px;font-size:.85rem}.profile-page .btn-primary{padding:10px 20px;border:none;border-radius:8px;background:#4caf50;color:#fff;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s;white-space:nowrap}.profile-page .btn-primary:hover:not(:disabled){background:#45a049}.profile-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.profile-page .btn-secondary{padding:10px 20px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffff14;color:#fff;cursor:pointer;font-size:14px}.btn-danger{padding:10px 20px;border:none;border-radius:8px;background:#d32f2f;color:#fff;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.danger-zone{border-color:#d32f2f4d;background:#d32f2f0d}.delete-confirm p{margin:0 0 12px;color:#fffc}.delete-actions{display:flex;gap:10px}.admin-page{padding:30px 20px;max-width:650px;margin:0 auto;font-family:system-ui,-apple-system,sans-serif;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-header h1{margin:0;font-size:1.5rem}.admin-section{margin-bottom:20px;border:1px solid rgba(255,255,255,.12);padding:20px;border-radius:12px;background:#ffffff0a}.admin-section h3{margin:0 0 12px;font-size:1rem;color:#fffc}.search-bar{display:flex;gap:8px}.search-bar input{flex:1;padding:10px 14px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#ffffff14;color:#fff;font-size:14px}.search-bar input::placeholder{color:#fff6}.action-msg{padding:10px 14px;margin-bottom:16px;border-radius:8px;background:#ffffff0f;font-size:.9rem}.player-list{display:flex;flex-direction:column;gap:10px}.player-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;background:#ffffff0f;gap:12px;flex-wrap:wrap}.player-info{display:flex;flex-direction:column;gap:2px}.player-name{font-weight:600;font-size:.95rem}.player-username-sub{margin-left:6px;font-size:.8rem;color:#fff6;font-weight:400}.player-stats-mini{font-size:.8rem;color:#ffffff80}.player-actions{display:flex;gap:6px;flex-wrap:wrap}.btn-sm{padding:6px 10px;border:none;border-radius:6px;font-size:.75rem;cursor:pointer;font-weight:600;white-space:nowrap}.btn-warn{background:#e65100;color:#fff}.btn-warn:hover{background:#bf360c}.btn-danger{background:#d32f2f;color:#fff}.btn-danger:hover{background:#b71c1c}.admin-page .btn-primary{padding:10px 20px;border:none;border-radius:8px;background:#4caf50;color:#fff;cursor:pointer;font-size:14px;font-weight:600;white-space:nowrap}.admin-page .btn-primary:disabled{opacity:.5}.admin-page .btn-outline{padding:8px 16px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:transparent;color:#ffffffb3;cursor:pointer;font-size:14px}.no-results{text-align:center;padding:24px;color:#fff6}*{box-sizing:border-box}
