@font-face{font-family:Lilita One;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/lilita-one-latin.woff2) format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:500 900;font-display:swap;src:url(../fonts/nunito-latin.woff2) format("woff2")}:root{--bg-1: #1e1036;--bg-2: #2d1350;--bg-3: #10162e;--surface: rgba(255, 255, 255, .06);--surface-strong: rgba(255, 255, 255, .1);--border: rgba(255, 255, 255, .14);--text: #f8f5ff;--text-muted: rgba(248, 245, 255, .66);--correct: #22c55e;--correct-dark: #16a34a;--present: #eab308;--present-dark: #ca8a04;--absent: #3f3a52;--accent: #f472b6;--accent-2: #fb923c;--zap: #facc15;--danger: #ef4444;--radius: 14px;--font-display: "Lilita One", "Arial Rounded MT Bold", system-ui, sans-serif;--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--tile: 58px}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%,rgba(244,114,182,.22),transparent 60%),radial-gradient(900px 600px at 110% 10%,rgba(56,189,248,.16),transparent 60%),linear-gradient(160deg,var(--bg-1) 0%,var(--bg-2) 45%,var(--bg-3) 100%);background-color:var(--bg-1);background-attachment:fixed;min-height:100vh;min-height:100dvh;display:flex;justify-content:center;-webkit-tap-highlight-color:transparent}#app{width:100%;max-width:1200px;padding:24px 20px calc(24px + env(safe-area-inset-bottom));margin:auto 0}.screen{display:none;text-align:center}.screen.active{display:block;animation:screenIn .3s ease-out}@keyframes screenIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hidden{display:none!important}.muted{color:var(--text-muted)}h2{font-family:var(--font-display);font-weight:400;font-size:2rem;letter-spacing:.5px;margin-bottom:1.25rem}button{font-family:var(--font-body);font-weight:800;font-size:1.05rem;color:#fff;background:var(--surface-strong);border:1px solid var(--border);padding:12px 22px;border-radius:999px;cursor:pointer;margin:6px;transition:transform .15s ease,background .15s ease,box-shadow .15s ease,opacity .15s}button:hover{background:#ffffff29;transform:translateY(-1px)}button:active{transform:translateY(1px) scale(.98)}button:disabled{opacity:.6;cursor:default;transform:none}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--zap);outline-offset:2px}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;box-shadow:0 6px 20px #f472b659}.btn-primary:hover{background:linear-gradient(135deg,#f986c4,#fda25a);box-shadow:0 8px 26px #f472b673}.btn-secondary{background:#ffffff1f}.btn-ghost{background:transparent}.link-btn{background:none;border:none;padding:4px 6px;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;font-weight:700;font-size:.95rem}.link-btn:hover{background:none;color:var(--text)}.icon-btn{width:42px;height:42px;padding:0;margin:0;font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#music-btn[aria-pressed=false]{opacity:.45}.corner-controls{position:fixed;top:calc(12px + env(safe-area-inset-top));right:12px;display:flex;gap:8px;z-index:600}input,select{font-family:var(--font-body);font-size:1.05rem;font-weight:700;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#00000040;color:var(--text);margin:6px}select{cursor:pointer;padding:8px 12px;font-size:.95rem}select option{background:var(--bg-2)}input::placeholder{color:#ffffff73}.logo{display:flex;justify-content:center;gap:6px;margin:8px 0 10px;font-family:var(--font-display);font-weight:400}.logo-tile{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;font-size:2rem;border-radius:10px;background:var(--absent);box-shadow:0 4px #00000059;animation:logoDrop .5s cubic-bezier(.2,1.4,.4,1) both}.logo-tile.correct{background:var(--correct)}.logo-tile.present{background:var(--present)}.logo-tile:nth-child(1){animation-delay:0s}.logo-tile:nth-child(2){animation-delay:.05s}.logo-tile:nth-child(3){animation-delay:.1s}.logo-tile:nth-child(4){animation-delay:.15s}.logo-tile:nth-child(5){animation-delay:.2s}.logo-tile:nth-child(6){animation-delay:.25s}.logo-tile:nth-child(7){animation-delay:.3s}.logo-tile:nth-child(8){animation-delay:.35s}@keyframes logoDrop{0%{opacity:0;transform:translateY(-24px) rotate(-8deg)}to{opacity:1;transform:none}}.tagline{font-family:var(--font-display);font-size:1.6rem;color:var(--zap);margin-bottom:18px;text-shadow:0 2px 12px rgba(250,204,21,.3)}.lobby-intro{max-width:560px;margin:0 auto 18px}.game-description{font-size:1.05rem;line-height:1.55;color:var(--text-muted);margin-bottom:16px}.how-steps{list-style:none;display:grid;gap:8px;text-align:left}.how-steps li{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-weight:700}.step-num{flex:0 0 28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);background:var(--correct)}.how-steps li:nth-child(2) .step-num{background:var(--present)}.how-steps li:nth-child(3) .step-num{background:var(--accent)}.lobby-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:460px;margin:0 auto}.lobby-buttons button{margin:0;padding:14px 12px}.lobby-buttons .btn-primary{grid-column:1 / -1;font-size:1.25rem;padding:16px}.lobby-buttons .btn-ghost{grid-column:1 / -1}.daily-streak{margin-top:10px;font-weight:800;color:var(--accent-2)}.lobby-options{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 8px;margin-top:14px;color:var(--text-muted);font-weight:700;font-size:.95rem}.panel{max-width:560px;margin:18px auto 0;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:20px}.panel>p{margin:8px 0}.code-display{display:flex;flex-direction:column;gap:8px;margin:8px 0 16px}.code-display input{margin:0;width:100%;text-align:center;font-size:.95rem}.code-display>div{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.code-display button{margin:0}#qr-code-container p{margin-bottom:8px;font-size:.9rem;color:var(--text-muted)}#qr-code canvas{border-radius:12px;max-width:100%;height:auto!important}.game-code-line{color:var(--text-muted);font-size:.85rem}#game-code{font-family:ui-monospace,monospace;word-break:break-all}.players-line{font-weight:800}.player-list{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:6px 0 10px}.player-list li{padding:6px 12px;border-radius:999px;background:var(--surface-strong);border:1px solid var(--border);font-weight:700;animation:popIn .25s ease-out}#start-game-btn{font-size:1.2rem;padding:14px 36px}.join-name-row input,.join-code-row input{width:100%;margin:0 0 10px}.join-code-row{display:flex;gap:8px}.join-code-row input{flex:1;min-width:0;margin:0}.join-code-row button{margin:0;flex-shrink:0}.lobby-footer{margin-top:28px;font-size:.9rem;color:var(--text-muted)}.support-link{display:inline-block;margin-top:10px;padding:8px 16px;border-radius:999px;color:var(--text);background:#29abe02e;border:1px solid rgba(41,171,224,.45);text-decoration:none;font-weight:800;font-size:.9rem;transition:background .15s}.support-link:hover{background:#29abe052}#countdown{padding-top:15vh}#countdown-number{font-family:var(--font-display);font-size:9rem;line-height:1;color:var(--zap);text-shadow:0 6px 30px rgba(250,204,21,.5)}#countdown-number.tick{animation:countdownPop 1s ease-out}@keyframes countdownPop{0%{transform:scale(1.6);opacity:0}20%{transform:scale(1);opacity:1}80%{opacity:1}to{transform:scale(.85);opacity:.3}}.game-topbar{display:flex;align-items:center;gap:10px;max-width:560px;margin:0 auto 12px;padding-right:154px}.back-button{margin:0;padding:8px 14px;font-size:.9rem}.player-name-label{flex:1;min-width:0;font-weight:800;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-score{font-family:var(--font-display);font-size:1.3rem;color:var(--zap)}body[data-mode=daily] .player-score{display:none}#target-word-display{position:relative;max-width:420px;margin:0 auto 14px;padding:12px 16px 14px;background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden}.word-label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:8px}#target-word-letters{display:flex;gap:8px;justify-content:center}.target-letter{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.6rem;background:#00000040;border:2px dashed rgba(255,255,255,.2);color:#ffffff59;transition:background .3s,border-color .3s}.target-letter.revealed{background:var(--correct);border:2px solid var(--correct);color:#fff;box-shadow:0 0 18px #22c55e80;animation:revealPop .45s ease-out}@keyframes revealPop{0%{transform:scale(.5) rotate(-10deg);opacity:0}60%{transform:scale(1.15) rotate(4deg)}to{transform:none;opacity:1}}#target-word-display.word-change-lightning{animation:displayShake .8s ease-out,flashBackground .8s ease-out}#target-word-display.word-change-lightning:before,#target-word-display.word-change-lightning:after{content:"";position:absolute;top:-100%;width:10px;height:120%;background:linear-gradient(180deg,transparent 0%,#fff 15%,#ffd700 40%,#ff4500 50%,#ffd700 60%,#fff 85%,transparent 100%);box-shadow:0 0 50px gold,0 0 100px #ff4500;animation:lightning .8s ease-out;filter:blur(2px);z-index:10}#target-word-display.word-change-lightning:before{left:18%}#target-word-display.word-change-lightning:after{right:24%;width:7px;animation-delay:.15s}@keyframes lightning{0%{top:-100%;opacity:0}15%{opacity:1}50%{top:40%;opacity:1}to{top:220%;opacity:0}}@keyframes displayShake{0%,to{transform:none}10%{transform:translate(-8px,2px) rotate(-1deg)}20%{transform:translate(8px,-2px) rotate(1deg)}30%{transform:translate(-6px,3px)}40%{transform:translate(6px,-3px)}60%{transform:translate(3px,-1px)}80%{transform:translate(-1px,1px)}}@keyframes flashBackground{0%,to{background:var(--surface)}15%,50%{background:#facc1559;box-shadow:0 0 60px #facc15b3}}.main-game-area{display:flex;justify-content:center;align-items:flex-start;gap:16px;margin:10px 0}#player-board{padding:16px;border-radius:20px;background:#00000038;border:1px solid var(--border)}#attempts-container{min-height:calc(var(--tile) * 5 + 6px * 4);display:flex;flex-direction:column;justify-content:flex-end;gap:6px;margin-bottom:6px}.attempt-row,#current-input{display:flex;gap:6px;justify-content:center}.letter-box{width:var(--tile);height:var(--tile);border:2px solid rgba(255,255,255,.18);border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:calc(var(--tile) * .5);text-transform:uppercase;background:#ffffff0a;color:#fff}#current-input .letter-box{border-color:#ffffff47}#current-input .letter-box.filled{border-color:#ffffffb3;animation:popIn .12s ease-out}#current-input.shake{animation:rowShake .4s}@keyframes rowShake{0%,to{transform:none}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes popIn{0%{transform:scale(.85)}50%{transform:scale(1.08)}to{transform:scale(1)}}.letter-box.correct,.letter-box.present,.letter-box.absent{animation:flipIn .45s ease-out both}.letter-box.correct{background:var(--correct);border-color:var(--correct)}.letter-box.present{background:var(--present);border-color:var(--present)}.letter-box.absent{background:var(--absent);border-color:var(--absent)}@keyframes flipIn{0%{transform:rotateX(90deg);filter:brightness(1.6)}to{transform:rotateX(0)}}.other-players{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}#other-players-left,#other-players-right{flex-direction:column}#other-players-top:not(:empty){margin-bottom:10px}#other-players-bottom:not(:empty){margin-top:10px}.other-player-card{background:var(--surface);border:1px solid var(--border);padding:10px 12px;border-radius:var(--radius);min-width:160px}.other-player-card.scrambled{animation:cardZap .7s ease-out}@keyframes cardZap{0%{box-shadow:0 0 #facc1500;transform:none}20%{box-shadow:0 0 30px #facc15e6;border-color:var(--zap);transform:rotate(-2deg) scale(1.04)}40%{transform:rotate(2deg)}to{box-shadow:0 0 #facc1500;transform:none}}.other-player-card h3{display:flex;justify-content:space-between;gap:8px;font-size:.9rem;margin-bottom:8px}.other-player-card h3 span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-score{color:var(--zap);flex-shrink:0}.other-player-attempts{display:flex;flex-direction:column;gap:4px;min-height:20px}.mini-attempt{display:flex;gap:3px;justify-content:center}.mini-letter{width:22px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:900;background:#ffffff14}.mini-letter.correct{background:var(--correct)}.mini-letter.present{background:var(--present)}.mini-letter.absent{background:var(--absent)}#player-board.hit-effect{animation:hitShake .5s;box-shadow:0 0 40px #ef4444b3;border-color:var(--danger)}@keyframes hitShake{0%,to{transform:none}25%{transform:translate(-10px)}50%{transform:translate(10px)}75%{transform:translate(-5px)}}#on-screen-keyboard{max-width:520px;margin:12px auto 0;user-select:none;-webkit-user-select:none}.keyboard-row{display:flex;gap:5px;justify-content:center;margin-bottom:6px}.key-btn{flex:1;max-width:46px;min-width:0;height:54px;margin:0;padding:0;border-radius:8px;font-size:1.05rem;font-weight:900;background:#ffffff29;border:none;touch-action:manipulation;-webkit-touch-callout:none}.key-btn:hover{transform:none;background:#ffffff3d}.key-btn.correct{background:var(--correct)}.key-btn.present{background:var(--present)}.key-btn.not-present{background:var(--absent);color:#ffffff73}.key-btn.warn{animation:keyWarn .5s ease-out}@keyframes keyWarn{0%,to{transform:none}30%{transform:scale(1.15);background:var(--danger);color:#fff}}.key-enter,.key-backspace{flex:1.5;max-width:70px;font-size:.8rem}.key-backspace{font-size:1.3rem}#round-result{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(92vw,420px);max-height:90vh;overflow-y:auto;padding:28px 24px;background:linear-gradient(160deg,#2b1a4f,#1a1233);border:1px solid rgba(255,255,255,.2);border-radius:24px;box-shadow:0 20px 60px #0009;z-index:1000;animation:resultPopIn .4s cubic-bezier(.2,1.3,.4,1)}@keyframes resultPopIn{0%{transform:translate(-50%,-50%) scale(.7);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}#result-text{font-size:2.1rem;margin-bottom:8px;color:var(--zap)}#result-detail{font-weight:800;font-size:1.1rem;margin-bottom:12px}.result-grid{font-size:1.3rem;line-height:1.25;letter-spacing:2px;margin-bottom:12px}#result-stats{white-space:pre-line;font-weight:700;margin-bottom:12px}.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.result-actions button{margin:0}.score-item{background:var(--surface);border:1px solid var(--border);padding:14px;margin:10px auto;border-radius:var(--radius);max-width:400px;font-size:1.2rem;font-weight:800}#modal-overlay,#help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080414b3;display:flex;align-items:center;justify-content:center;padding:16px;z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease-out}#help-overlay{z-index:2100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#modal,#help-modal{position:relative;max-width:420px;width:100%;padding:32px 26px 24px;background:linear-gradient(160deg,#2b1a4f,#1a1233);border:1px solid rgba(255,255,255,.2);border-radius:22px;box-shadow:0 20px 60px #0009;animation:modalSlideIn .25s ease-out}#help-modal{max-width:480px;max-height:90vh;overflow-y:auto;text-align:left}@keyframes modalSlideIn{0%{transform:translateY(-24px) scale(.96);opacity:0}to{transform:none;opacity:1}}#modal-message{font-size:1.15rem;font-weight:700;line-height:1.5;white-space:pre-line;text-align:center}.modal-close-btn{position:absolute;top:10px;right:10px;width:36px;height:36px;padding:0;margin:0;font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center}#help-modal h2{text-align:center;margin-bottom:10px}#help-modal h3{font-family:var(--font-display);font-weight:400;font-size:1.3rem;margin:18px 0 8px;color:var(--zap)}.help-intro{line-height:1.5;margin-bottom:14px}.help-examples,.help-rules{list-style:none;display:grid;gap:8px}.help-examples li{display:flex;align-items:center;gap:12px;font-weight:700}.letter-box.mini{--tile: 38px;flex-shrink:0}.help-rules li{padding-left:22px;position:relative;line-height:1.45}.help-rules li:before{content:"⚡";position:absolute;left:0}#help-modal>.muted{margin-top:14px;font-size:.95rem}#help-close-btn{display:block;width:100%;margin:18px 0 0;font-size:1.15rem}.toast{position:fixed;top:calc(64px + env(safe-area-inset-top));left:50%;transform:translate(-50%,-12px);padding:10px 18px;border-radius:999px;font-weight:900;background:#fff;color:#1a1233;box-shadow:0 8px 24px #0006;opacity:0;pointer-events:none;z-index:2500;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%)}.toast.error{background:var(--danger);color:#fff}.toast.zap{background:var(--zap);color:#1a1233}.waiting-spinner{position:fixed;top:0;right:0;bottom:0;left:0;background:#0804148c;display:flex;align-items:center;justify-content:center;z-index:1500;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .3s ease-out}.waiting-spinner.visible{opacity:1;pointer-events:auto}.spinner{width:56px;height:56px;margin:0 auto 16px;border:5px solid rgba(255,255,255,.2);border-top-color:var(--accent);border-right-color:var(--accent-2);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner-content p{font-weight:800;font-size:1.1rem}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1100}.confetti-piece{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;animation-name:confettiFall;animation-timing-function:cubic-bezier(.25,.6,.5,1);animation-fill-mode:forwards}@keyframes confettiFall{to{transform:translate(var(--drift),105vh) rotate(var(--spin));opacity:.8}}@media (max-width: 768px){:root{--tile: 50px}#app{padding:14px 12px calc(14px + env(safe-area-inset-bottom))}.main-game-area{flex-direction:column;align-items:center;gap:10px}#other-players-left,#other-players-right{flex-direction:row}.other-player-card{min-width:140px;padding:8px 10px}.mini-letter{width:18px;height:18px;font-size:.6rem}.mini-attempt:not(:last-child){display:none}#player-board{padding:10px}#countdown-number{font-size:7rem}}@media (max-width: 480px){:root{--tile: 44px}.logo-tile{width:36px;height:36px;font-size:1.4rem;border-radius:8px}.logo{gap:4px;margin-top:44px}.tagline{font-size:1.3rem}.game-description{font-size:.95rem}.how-steps li{font-size:.9rem;padding:8px 10px}.target-letter{width:38px;height:38px;font-size:1.3rem}.key-btn{height:52px;font-size:.95rem}.keyboard-row{gap:4px}.key-enter{font-size:.68rem}#result-text{font-size:1.7rem}}@media (max-height: 860px) and (min-width: 769px){:root{--tile: 48px}.key-btn{height:46px}}@media (max-height: 640px){:root{--tile: 40px}.key-btn{height:44px}#target-word-display{padding:8px 12px;margin-bottom:8px}.target-letter{width:34px;height:34px;font-size:1.2rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
