:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body{overflow-x:hidden;margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;background:var(--theme-bg, #eef2f8);color:#1f2937;margin:0;min-height:100vh;display:flex;justify-content:center;overflow-y:auto}.game{width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:100vh;padding:10px 0}.game h2{margin:0;font-size:clamp(1.4rem,2.2vw,2.2rem);color:#1f2937;text-align:center}button,.hint-btn,.map-btn,.close-map-btn,.level-node{color:inherit}.menu{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.menu h1{font-size:3rem;margin-bottom:40px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.menu-options{display:flex;flex-direction:column;gap:20px}.menu-btn{padding:20px 40px;font-size:1.5rem;border:none;border-radius:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 20px #0003}.crossword-btn{background:linear-gradient(135deg,#ff9a9e,#fecfef);color:#333}.crossword-btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0000004d}.number-btn{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#333}.number-btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0000004d}.scribbl-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.scribbl-btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px #667eea66}.menu-quote{width:min(680px,100%);margin-bottom:36px;padding:22px 28px;border-radius:24px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px #ffffff0d;text-align:center}.menu-quote p{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7;margin:0 0 12px;color:#fffffff2;font-style:italic}.menu-quote span{display:inline-block;font-size:.95rem;color:#ffffffbf;letter-spacing:.08em}.memory-btn{background:linear-gradient(135deg,#d299c2,#fef9d7);color:#333}.memory-btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0000004d}.number-guess-setup,.number-guess-game{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:radial-gradient(circle at top left,#0f2547,#173f57 38%,#074c4e);color:#fff}.number-guess-setup h1,.number-guess-game h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:18px;text-shadow:0 10px 30px rgba(0,0,0,.25)}.glass-card{background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:24px;box-shadow:0 8px 32px #0000004d;margin-bottom:20px;width:100%;max-width:500px}.glow-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:14px 28px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.glow-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.glow-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 4px 15px #667eea33}.glow-text{color:gold;text-shadow:0 0 10px rgba(255,215,0,.8);animation:glow 2s ease-in-out infinite alternate}@keyframes glow{0%{text-shadow:0 0 10px rgba(255,215,0,.8)}to{text-shadow:0 0 20px rgba(255,215,0,1)}}.room-card{margin-bottom:20px}.player-stats{display:flex;justify-content:space-between;margin-top:12px}.player-info{display:flex;flex-direction:column;align-items:center;gap:4px}.player-name{font-weight:700;font-size:1.1rem}.ready-status{font-size:.9rem;opacity:.9}.wins{font-size:.9rem;color:#4caf50}.turn-indicator{font-size:1.2rem;font-weight:700;text-align:center;margin-bottom:16px}.waiting-text{text-align:center;font-style:italic;opacity:.8}.round-history{max-width:500px}.round-history h3{margin-bottom:12px;text-align:center}.history-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.history-item:last-child{border-bottom:none}.player{font-weight:700;color:#81c784}.guess{flex:1;text-align:center}.hint{font-style:italic;opacity:.8}.winner-banner{text-align:center;max-width:500px}.winner-text{color:gold;animation:celebrate 1s ease-in-out}.loser-text{color:#ff6b6b}.winner-message{margin:12px 0;font-size:1.1rem}.rematch-note{font-style:italic;opacity:.8;margin-bottom:16px}.special-streak-popup{background:linear-gradient(135deg,gold,orange);color:#333;padding:16px;border-radius:12px;margin:16px 0;font-weight:700;animation:bounce .6s ease-in-out}@keyframes celebrate{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media(max-width:640px){.number-guess-setup,.number-guess-game{padding:16px}.glass-card{padding:16px;margin-bottom:16px}.player-stats{flex-direction:column;gap:12px}.history-item{flex-direction:column;align-items:flex-start;gap:4px}.turn-indicator{font-size:1rem}}.action-card:first-child{display:flex;align-items:center;justify-content:center}.join-room{display:flex;gap:12px;width:100%;flex-wrap:wrap}.join-room input{flex:1 1 160px}.create-room-btn{width:100%}.join-btn{min-width:140px}.room-card{width:100%;max-width:460px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:24px;margin-bottom:26px;text-align:left;box-shadow:0 20px 60px #0000002e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.winner-banner{margin-top:20px;padding:26px;border-radius:24px;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 0 0 1px #ffffff0d}.error{color:#ffe8e8;background:#ff44542e;padding:14px 18px;border-radius:16px;margin-top:12px;width:100%;max-width:460px;text-align:center}.winner-note{margin-top:12px;font-size:.98rem;color:#fffc;line-height:1.5}.room-card{width:100%;max-width:460px;background:#ffffff26;border:1px solid rgba(255,255,255,.28);border-radius:24px;padding:24px;margin-bottom:26px;text-align:left;box-shadow:0 20px 60px #0000002e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.room-card p{margin:10px 0;line-height:1.5}.winner-banner{margin-top:20px;padding:22px;border-radius:24px;background:#ffffff29;border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 0 0 1px #ffffff0f}.error{color:#ffe8e8;background:#ff50502e;padding:14px 18px;border-radius:16px;margin-top:12px;width:100%;max-width:460px;text-align:center}.guess-section{display:flex;flex-direction:column;align-items:center;margin-bottom:22px}.guess-section input{width:100%;max-width:260px}.feedback{font-size:1.15rem;font-weight:700;margin-bottom:22px;text-align:center}.start-btn,.reset-btn,.back-btn{display:inline-flex;justify-content:center;align-items:center;width:100%;max-width:360px;padding:16px 26px;font-size:1rem;border:none;border-radius:16px;background:linear-gradient(135deg,#3ddc84,#0a8f6e);color:#fff;cursor:pointer;margin-bottom:10px;transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease;box-shadow:0 20px 40px #00000038}.start-btn:hover,.reset-btn:hover{transform:translateY(-2px);box-shadow:0 24px 50px #0000003d}.start-btn:disabled,.reset-btn:disabled,.back-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.start-btn:disabled{background:#ffffff2e}.back-btn{background:linear-gradient(135deg,#ff6f5d,#e3371d)}.back-btn:hover{background:linear-gradient(135deg,#ff7968,#dc3b26)}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#3ddc84e6;color:#fff;padding:12px 24px;border-radius:20px;font-weight:700;z-index:1000;box-shadow:0 10px 30px #0000004d}.player-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;margin-right:8px;font-weight:700;font-size:.8rem}.player-1{background:linear-gradient(135deg,#3ddc84,#0a8f6e)}.player-2{background:linear-gradient(135deg,#ff6f5d,#e3371d)}.streak{color:gold;font-weight:700;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.round-history{width:100%;max-width:460px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:16px;margin-bottom:20px;text-align:left}.round-history h3{margin:0 0 12px;font-size:1.2rem}.round-history ul{list-style:none;padding:0;margin:0}.round-history li{padding:4px 0;border-bottom:1px solid rgba(255,255,255,.1)}.round-history li:last-child{border-bottom:none}.special-streak-popup{background:linear-gradient(135deg,gold,#ffed4e);color:#333;padding:20px;border-radius:16px;text-align:center;font-weight:700;font-size:1.2rem;margin-top:16px;box-shadow:0 10px 30px #0000004d;animation:specialPulse .5s ease-in-out}@keyframes specialPulse{0%{transform:scale(.9);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@media(max-width:640px){.number-guess-setup,.number-guess-game{padding:18px}.room-card,.error,.start-btn,.back-btn,.guess-section input,.join-room input,.name-input input{width:100%;max-width:100%}.join-room{flex-direction:column}.secret-inputs{gap:14px}.room-card{padding:20px}}.memory-match-setup,.memory-match-game{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.memory-match-setup h1,.memory-match-game h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:18px;text-shadow:0 10px 30px rgba(0,0,0,.25)}.game-options{width:100%;max-width:500px;margin-bottom:24px}.option-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.option-group label{font-weight:700;letter-spacing:.03em}.option-group select{width:100%;padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff;font-size:1rem;outline:none}.option-group select:focus{border-color:#45aaffe6;background:#ffffff24}.game-board{margin:20px 0}.card-grid{display:grid;margin:0 auto;width:100%}.memory-card{-webkit-user-select:none;user-select:none;transition:all .3s ease;overflow-wrap:anywhere;word-wrap:break-word;word-break:break-word;text-align:center;padding:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;line-height:1.2;min-width:0;min-height:0;box-sizing:border-box}.memory-card:hover{transform:scale(1.05)}.memory-card.flipped{transform:rotateY(0)}.memory-card.matched{animation:matchPulse .6s ease-in-out}@keyframes matchPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.start-section{text-align:center;margin:20px 0}.final-scores{margin-top:12px;font-size:1.1rem;font-weight:700}@media(max-width:640px){.memory-match-setup,.memory-match-game{padding:18px}.card-grid{gap:4px!important}.memory-card{font-size:.9rem!important}}.back-to-menu-btn{position:absolute;top:10px;left:10px;padding:8px 12px;border:none;border-radius:8px;background:#0000001a;color:#1f2937;cursor:pointer;font-size:.9rem}.back-to-menu-btn:hover{background:#0003}.scribbl-setup,.scribbl-game{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.scribbl-setup h1,.scribbl-game h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:18px;text-shadow:0 10px 30px rgba(0,0,0,.25)}.name-input{margin-bottom:24px;width:100%;max-width:400px}.name-input label{display:block;margin-bottom:8px;font-weight:700}.name-input input{width:100%;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:1rem}.name-input input::placeholder{color:#fff9}.room-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;width:100%;max-width:600px}.action-card{flex:1;min-width:200px}.join-room{display:flex;flex-direction:column;gap:12px}.join-room input{padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:1rem}.join-room input::placeholder{color:#fff9}.game-header{width:100%;max-width:1200px;margin-bottom:20px}.room-info{text-align:center;padding:16px}.game-layout{display:grid;grid-template-columns:250px 1fr 300px;gap:20px;width:100%;max-width:1200px;height:600px}.players-sidebar{padding:20px}.players-list{display:flex;flex-direction:column;gap:12px}.player-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:#ffffff1a;transition:all .3s ease}.player-item.drawer{background:#ffd70033;border:2px solid #FFD700}.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#ff6b6b,#4ecdc4);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;color:#fff}.player-details{flex:1}.player-details .name{display:block;font-weight:700}.player-details .score{display:block;font-size:.9rem;opacity:.8}.drawer-badge{font-size:1.2rem}.main-game{display:flex;flex-direction:column;gap:20px}.word-hint{text-align:center;padding:20px}.word-hint h2{font-size:2rem;letter-spacing:.2em;margin:0;color:gold}.secret-word{margin-top:10px;font-size:1.1rem;color:#81c784}.canvas-container{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px;position:relative}.canvas-container canvas{max-width:100%;height:auto}.all-guessed-overlay{position:absolute;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;border-radius:12px;color:#fff;font-size:2rem;text-align:center}.drawing-tools{position:absolute;bottom:20px;left:20px;right:20px;background:#000c;padding:12px;border-radius:12px;display:flex;justify-content:center}.tool-group{display:flex;align-items:center;gap:12px}.tool-btn{background:#fff3;border:none;color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:1rem}.chat-sidebar{padding:20px;display:flex;flex-direction:column}.chat-messages{flex:1;overflow-y:auto;margin-bottom:20px;max-height:400px}.chat-message{margin-bottom:8px;padding:8px;border-radius:8px;background:#ffffff1a}.chat-message.correct{background:#4caf504d;border:1px solid #4CAF50}.sender{font-weight:700;margin-right:8px}.chat-input{display:flex;gap:8px}.chat-input input{flex:1;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff}.chat-input input::placeholder{color:#fff9}.send-btn{padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;border-radius:8px;cursor:pointer;font-weight:700}.start-section,.round-end{text-align:center;margin-top:20px}@media(max-width:1024px){.game-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;height:auto}.players-sidebar,.chat-sidebar{order:2}.main-game{order:1}.canvas-container canvas{width:100%;max-width:600px}.drawing-tools{position:static;margin-top:12px}}.rounds-input{margin-bottom:24px;width:100%;max-width:400px}.rounds-input label{display:block;margin-bottom:8px;font-weight:700}.rounds-input select{width:100%;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:1rem}.rounds-input select option{background:#333;color:#fff}.game-end-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.game-end-modal{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:30px;max-width:500px;width:90%;text-align:center;color:#fff;box-shadow:0 10px 30px #00000080;position:relative}.game-end-modal .trophy{font-size:4rem;margin-bottom:10px}.game-end-modal h2{font-size:2.5rem;margin-bottom:20px;color:gold}.game-end-modal .winner-info{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.game-end-modal .winner-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,gold,orange);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff;margin-bottom:10px;box-shadow:0 0 20px #ffd70080}.game-end-modal .confetti{font-size:2rem;margin-top:10px}.game-end-modal .play-again-section{border-top:1px solid rgba(255,255,255,.2);padding-top:20px;margin-top:20px}.game-end-modal .play-again-section label{display:block;margin-bottom:10px;font-weight:700}.game-end-modal .play-again-section select{padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;margin-bottom:15px;font-size:1rem;width:100%}.game-end-modal .play-again-btn{padding:12px 24px;font-size:1.1rem}.game-end-modal .close-modal-btn{position:absolute;top:10px;right:15px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;opacity:.7}.game-end-modal .close-modal-btn:hover{opacity:1}@media(max-width:640px){.rounds-input input,.rounds-input select{font-size:1.2rem;padding:14px}.game-end-modal{padding:20px;margin:20px}.game-end-modal h2{font-size:2rem}.game-end-modal .winner-avatar{width:60px;height:60px;font-size:1.5rem}}.row{display:flex;justify-content:center;flex-wrap:nowrap;max-width:100%}.cell{width:min(11vw,48px);height:min(11vw,48px);border-radius:10px;border:2px solid #d6dbea;margin:3px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:min(5vw,22px);background:#fff;color:#333;box-shadow:0 2px 6px #00000014}.empty{visibility:hidden}.circle-container{position:relative;width:85vw;max-width:320px;height:85vw;max-height:320px;margin-bottom:20px;touch-action:none}@media(max-width:768px){.circle-container{width:90vw;max-width:280px;height:90vw;max-height:280px;margin-bottom:15px}.game{padding:5px 0}}.circle-letter{position:absolute;transform:translate(-50%,-50%);width:clamp(55px,16vw,70px);height:clamp(55px,16vw,70px);border-radius:50%;border:none;background:var(--theme-primary, #4c7dff);color:#fff;font-size:clamp(20px,6vw,26px);font-weight:700;cursor:pointer;box-shadow:0 4px 10px #0003;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;line-height:1}.current-word{position:absolute;top:-40px;left:50%;transform:translate(-50%);font-size:30px;font-weight:700}.line-svg{position:absolute;top:0;left:0;pointer-events:none}.drag-line{fill:none;stroke:#4f7cff;stroke-width:8;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(79,124,255,.6));transition:all .1s linear}.circle-letter.active{background:#6a94ff;transform:translate(-50%,-50%) scale(1.15);box-shadow:0 0 12px #4f7cffe6,0 0 20px #4f7cff99}@keyframes shake{0%{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-5px)}to{transform:translate(0)}}.shake{animation:shake .4s}.particle{position:absolute;width:6px;height:6px;border-radius:50%;background:#ffd84d;animation:particleBurst .6s ease-out forwards}@keyframes particleBurst{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) translate(calc((random()*120px)-60px),calc((random()*120px)-60px)) scale(0);opacity:0}}.level-popup{position:fixed;inset:0;background:linear-gradient(135deg,var(--theme-primary, #4c7dff),var(--theme-secondary, #7f9fff));display:flex;justify-content:center;align-items:center;z-index:1000}.popup-content{background:#fff;padding:50px 70px;border-radius:25px;text-align:center;box-shadow:0 20px 60px #0000004d;animation:popupScale .4s ease}.popup-content h2{font-size:36px;margin:15px 0;color:var(--theme-primary, #4c7dff)}.popup-content p{font-size:20px;color:#666}.confirm-modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;justify-content:center;align-items:center;z-index:2000}.confirm-modal{background:#0f172af5;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:28px;max-width:420px;width:min(90vw,420px);box-shadow:0 24px 80px #00000059;text-align:center}.confirm-modal h2{margin-bottom:12px;color:#f8fafc;font-size:1.8rem}.confirm-modal p{margin-bottom:20px;color:#cbd5e1;line-height:1.55}.confirm-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.confirm-actions .cancel-btn,.confirm-actions .start-btn{min-width:130px}.confirm-actions .cancel-btn{background:transparent;border:1px solid rgba(255,255,255,.18);color:#f8fafc}.confirm-actions .cancel-btn:hover{background:#ffffff14}.confirm-actions .start-btn{background:#4c7dff;color:#fff}.confirm-actions .start-btn:hover{background:#3664d4}@keyframes bounce{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.hint-btn{margin:10px;padding:12px 22px;border:none;border-radius:12px;background:var(--theme-accent, #ffcc4d);color:#1f2937;font-weight:700;cursor:pointer;box-shadow:0 4px 10px #00000026}.map-btn{margin-top:10px;padding:8px 16px;border:none;border-radius:10px;background:var(--theme-primary, #4c7dff);color:#fff;cursor:pointer}.map-popup{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:2000}.level-map{background:#fff;padding:34px 32px;border-radius:24px;box-shadow:0 24px 60px #0000002e;max-width:420px}.level-map-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.level-map-note{margin:0 0 18px;color:#4f5665;line-height:1.5;font-size:.95rem}.theme-selector{margin-bottom:20px}.theme-selector h3{margin:0 0 10px;font-size:1.1rem;color:#1f2937}.theme-buttons{display:flex;gap:8px;flex-wrap:wrap}.theme-btn{padding:8px 12px;border:1px solid #d8dde7;border-radius:8px;background:#f8f9fb;color:#1f2937;cursor:pointer;font-size:.9rem;transition:all .2s ease}.theme-btn:hover{border-color:#a3b3d2}.theme-btn.active{background:var(--theme-primary, #3f6cff);color:#fff;border-color:transparent}.close-map-btn{border:none;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:var(--theme-primary, #3f6cff);padding:6px;border-radius:12px;transition:background .2s ease}.close-map-btn:hover{background:#3f6cff1f}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:0}.level-node{padding:14px 0;border-radius:14px;border:1px solid #d8dde7;background:#f8f9fb;color:#1f2937;font-weight:700;cursor:pointer;transition:all .2s ease}.level-node:hover:not(:disabled){transform:translateY(-1px);border-color:#a3b3d2}.level-node.active{background:var(--theme-primary, #3f6cff);color:#fff;border-color:transparent}.level-node.highest{border-color:gold;box-shadow:0 0 8px #ffd70066}.level-node.locked,.level-node:disabled{background:#e6eaf1;color:#6f7c99;cursor:not-allowed;border-color:#d8dde7}.space-float .circle-letter{animation:space-float 3s ease-in-out infinite}@keyframes space-float{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-5px)}}.ocean-wave .circle-letter{animation:ocean-wave 2s ease-in-out infinite}@keyframes ocean-wave{0%,to{transform:translate(-50%,-50%) rotate(0)}25%{transform:translate(-50%,-50%) rotate(2deg)}75%{transform:translate(-50%,-50%) rotate(-2deg)}}.fantasy-glow .circle-letter{animation:fantasy-glow 2s ease-in-out infinite alternate}@keyframes fantasy-glow{0%{box-shadow:0 4px 10px #0003}to{box-shadow:0 4px 20px var(--theme-primary, rgba(221,160,221,.6))}}.mystic-pulse .circle-letter{animation:mystic-pulse 1.5s ease-in-out infinite}@keyframes mystic-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.05);opacity:.8}}
