:root{--bg1:#0d1b2a;--bg2:#1a2f4a;--bg3:#1a1a2e;--accent:#4fc3f7;--accent-rgb:79, 195, 247;--accent-secondary:#0ea5e9;--accent-tertiary:#06b6d4;--glow-color:#4fc3f74d;--bg-gradient:linear-gradient(135deg, #0d1b2a 0%, #1a2f4a 50%, #1a1a2e 100%)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background:var(--bg-gradient);color:#fff;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;transition:background .6s cubic-bezier(.4,0,.2,1)}#root{justify-content:center;align-items:flex-start;height:100vh;padding:16px;display:flex;overflow-y:auto}.app,.game{flex-direction:column;align-items:center;gap:clamp(8px,1.5vh,20px);width:100%;max-width:min(480px,100vw - 32px);display:flex}.header{text-align:center}.title{letter-spacing:6px;text-transform:uppercase;background:linear-gradient(135deg, var(--accent), #81c784, #f48fb1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(28px,6vw,48px);font-weight:800;transition:opacity .2s}.title:hover{opacity:.75}.subtitle{color:#90a4ae;letter-spacing:2px;text-transform:uppercase;margin-top:2px;font-size:clamp(10px,1.5vw,13px)}.loading-dots{justify-content:center;gap:8px;display:flex}.loading-dots span{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite dot-bounce}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.auth-tabs{background:#ffffff0a;border-radius:10px;gap:4px;width:100%;padding:4px;display:flex}.auth-tab{color:#90a4ae;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:9px;font-size:14px;font-weight:600;transition:all .2s}.auth-tab.active{background:rgba(var(--accent-rgb),.15);color:var(--accent)}.auth-form{flex-direction:column;gap:10px;width:100%;display:flex}.auth-input{color:#fff;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;outline:none;width:100%;padding:12px 14px;font-size:14px;transition:border-color .2s}.auth-input::placeholder{color:#546e7a}.auth-input:focus{border-color:var(--accent)}.auth-error{color:#f48fb1;text-align:center;background:#f48fb114;border-radius:6px;padding:6px;font-size:12px}.auth-success{color:#81c784;text-align:center;background:#81c78414;border-radius:6px;padding:6px;font-size:12px}.btn-forgot{color:#546e7a;cursor:pointer;text-align:right;background:0 0;border:none;align-self:flex-end;padding:0;font-size:12px;transition:color .2s}.btn-forgot:hover{color:var(--accent)}.auth-confirm{text-align:center;color:#cfd8dc;background:#ffffff0a;border-radius:12px;flex-direction:column;gap:10px;padding:20px;font-size:14px;line-height:1.5;display:flex}.auth-confirm-icon{font-size:40px}.auth-confirm strong{color:#fff}.user-bar{justify-content:center;align-items:center;gap:10px;margin-top:4px;display:flex}.user-name{color:var(--accent);letter-spacing:.5px;font-size:12px}.btn-logout{color:#546e7a;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:5px;padding:3px 8px;font-size:11px;transition:all .2s}.btn-logout:hover{color:#f48fb1;border-color:#f48fb1}.guest-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:4px;display:flex}.guest-label{color:#ffb74d;font-size:11px}.btn-login-prompt{color:var(--accent);background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.4);cursor:pointer;border-radius:5px;padding:3px 10px;font-size:11px;font-weight:700;transition:all .2s}.btn-login-prompt:hover{background:rgba(var(--accent-rgb),.2)}.leaderboard{flex-direction:column;gap:6px;width:100%;display:flex}.lb-empty{text-align:center;color:#546e7a;padding:24px;font-size:14px}.lb-row{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.lb-row.lb-you{background:rgba(var(--accent-rgb),.08);border-color:rgba(var(--accent-rgb),.3)}.lb-rank{text-align:center;flex-shrink:0;width:28px;font-size:18px}.lb-name{color:#fff;flex:1;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.lb-you-tag{letter-spacing:1px;text-transform:uppercase;color:var(--accent);background:rgba(var(--accent-rgb),.15);border-radius:4px;padding:2px 6px;font-size:9px}.lb-score{color:#ffb74d;text-align:right;min-width:60px;font-size:15px;font-weight:800}.lb-solved{color:#546e7a;text-align:right;min-width:52px;font-size:10px}.controls{flex-direction:column;gap:10px;width:100%;display:flex}.control-group{flex-direction:column;gap:5px;display:flex}.control-label{letter-spacing:2px;text-transform:uppercase;color:#90a4ae;font-size:10px}.btn-group{flex-wrap:wrap;gap:6px;display:flex}.btn{color:#cfd8dc;cursor:pointer;letter-spacing:.5px;background:#ffffff0d;border:2px solid #0000;border-radius:8px;flex:1;padding:8px 10px;font-size:clamp(11px,1.4vw,13px);font-weight:600;transition:all .2s}.btn:hover{background:#ffffff1a}.btn-theme{padding:8px;font-size:clamp(18px,4vw,26px)}.btn.active-theme{background:rgba(var(--accent-rgb),.15);border-color:var(--accent);color:var(--accent)}.btn.active-easy{color:#81c784;background:#81c78426;border-color:#81c784}.btn.active-medium{color:#ffb74d;background:#ffb74d26;border-color:#ffb74d}.btn.active-hard{color:#f48fb1;background:#f48fb126;border-color:#f48fb1}.btn-diabolical{color:#f44;letter-spacing:1px;cursor:pointer;background:#78000026;border:2px solid #b4000066;border-radius:8px;width:100%;margin-top:2px;padding:10px;font-size:clamp(12px,1.6vw,14px);font-weight:700;transition:all .2s}.btn-diabolical:hover{background:#b4000040;border-color:#f44}.btn-diabolical.active{color:#f66;background:#b400004d;border-color:#f44;box-shadow:0 0 12px #ff00004d}.btn-start{background:linear-gradient(135deg, var(--accent), #81c784);color:#0d1b2a;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:none;border-radius:10px;width:100%;padding:clamp(10px,1.5vh,14px);font-size:clamp(13px,1.8vw,16px);font-weight:800;transition:all .2s}.btn-start:hover{opacity:.9;transform:translateY(-1px)}.btn-how{border:2px solid rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.06);width:100%;color:var(--accent);letter-spacing:1px;cursor:pointer;border-radius:10px;padding:clamp(8px,1.2vh,12px);font-size:clamp(12px,1.6vw,14px);font-weight:600;transition:all .2s}.btn-how:hover{background:rgba(var(--accent-rgb),.14);border-color:var(--accent)}.how-to-play{flex-direction:column;gap:8px;width:100%;max-height:calc(100vh - 200px);display:flex;overflow-y:auto}.htp-step{background:#ffffff0a;border-radius:10px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.htp-number{background:linear-gradient(135deg, var(--accent), #81c784);color:#0d1b2a;border-radius:50%;justify-content:center;align-items:center;width:24px;min-width:24px;height:24px;font-size:12px;font-weight:800;display:flex}.htp-text{color:#cfd8dc;font-size:13px;line-height:1.4}.htp-text strong{color:#fff}.htp-difficulty{flex-direction:column;gap:5px;margin-top:2px;display:flex}.htp-diff-item{border-radius:8px;padding:7px 12px;font-size:12px;font-weight:600}.htp-diff-item.easy{color:#81c784;background:#81c7841f}.htp-diff-item.medium{color:#ffb74d;background:#ffb74d1f}.htp-diff-item.hard{color:#f48fb1;background:#f48fb11f}.htp-diff-item.diabolical{color:#f44;background:#b4000026;border:1px solid #f003}.win-overlay{z-index:100;background:#0d1b2ad9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.confetti-piece{-webkit-user-select:none;user-select:none;line-height:1;animation:linear forwards confetti-fall;position:absolute;top:-40px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}80%{opacity:1}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}.win-modal{border:1px solid rgba(var(--accent-rgb),.3);z-index:101;background:linear-gradient(145deg,#1a2f4a,#1a1a2e);border-radius:20px;flex-direction:column;align-items:center;gap:clamp(12px,2vh,20px);width:min(320px,90vw);padding:clamp(20px,4vh,36px) clamp(16px,4vw,32px);animation:.4s cubic-bezier(.34,1.56,.64,1) modal-pop;display:flex;box-shadow:0 20px 60px #00000080}@keyframes modal-pop{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.win-title{letter-spacing:2px;background:linear-gradient(135deg, var(--accent), #81c784, #f48fb1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(20px,4vw,28px);font-weight:800}.win-points{color:#ffb74d;letter-spacing:-1px;font-size:clamp(36px,8vw,48px);font-weight:900}.win-stats{justify-content:center;gap:20px;width:100%;display:flex}.win-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.win-stat-value{color:#fff;font-size:clamp(16px,3vw,22px);font-weight:800}.win-stat-label{letter-spacing:1.5px;text-transform:uppercase;color:#90a4ae;font-size:10px}.win-actions{flex-direction:column;gap:8px;width:100%;display:flex}.score-banner{background:#ffffff0d;border-radius:12px;justify-content:center;align-items:center;gap:24px;width:100%;padding:12px 20px;display:flex}.score-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.score-value{background:linear-gradient(135deg, var(--accent), #81c784);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(20px,4vw,28px);font-weight:800}.score-label{letter-spacing:2px;text-transform:uppercase;color:#90a4ae;font-size:10px}.score-divider{background:#ffffff1a;width:1px;height:36px}.scorebar{gap:6px;width:100%;display:flex}.scorebar-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:1px;padding:6px 4px;display:flex}.scorebar-item.highlight{background:rgba(var(--accent-rgb),.08);border-color:rgba(var(--accent-rgb),.25)}.scorebar-value{color:#fff;font-size:clamp(14px,2.5vw,18px);font-weight:800}.scorebar-value.no-hints{color:#f48fb1}.scorebar-label{letter-spacing:1px;text-transform:uppercase;color:#90a4ae;font-size:8px}.game-header{justify-content:space-between;align-items:center;width:100%;display:flex}.game-info{flex-direction:column;gap:1px;display:flex}.game-theme{letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-size:11px}.game-difficulty{letter-spacing:1px;text-transform:uppercase;color:#90a4ae;font-size:10px}.game-difficulty.diabolical-label{color:#f44;font-weight:700}.btn-back{color:#90a4ae;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;padding:6px 14px;font-size:11px;transition:all .2s}.btn-back:hover{border-color:var(--accent);color:var(--accent)}.word-bank-label{letter-spacing:2px;text-transform:uppercase;color:#90a4ae;align-self:flex-start;font-size:10px}.word-bank{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.word-chip{border:2px solid rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.08);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:14px;justify-content:center;align-items:center;width:clamp(48px,10vw,64px);height:clamp(48px,10vw,64px);font-size:clamp(22px,5vw,32px);transition:all .2s;display:flex}.word-chip:hover{background:rgba(var(--accent-rgb),.2);border-color:var(--accent)}.word-chip.selected{background:var(--accent);color:#0d1b2a;border-color:var(--accent)}.grid{grid-template-columns:repeat(4,1fr);gap:clamp(4px,1vw,8px);width:100%;display:grid}.cell{aspect-ratio:1;cursor:pointer;text-align:center;color:#fff;-webkit-user-select:none;user-select:none;background:#ffffff0a;border:2px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;font-size:clamp(22px,5vw,36px);transition:all .2s;display:flex}.cell:hover:not(.locked):not(.correct):not(.hinted){background:#ffffff1a;border-color:#ffffff4d}.cell.locked{color:#81c784;cursor:default;background:#81c7841f;border-color:#81c78466}.cell.filled{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.4);color:var(--accent)}.cell.hinted{color:#f48fb1;cursor:default;background:#f48fb11f;border-color:#f48fb166}.cell.correct{color:#81c784;background:#81c78433;border-color:#81c784}.cell.error{color:#f48fb1;background:#f48fb126;border-color:#f48fb1;animation:.3s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.status{color:#90a4ae;text-align:center;min-height:18px;font-size:12px}.status.win{color:#81c784;font-size:14px;font-weight:700}.status.error-msg{color:#f48fb1}.actions{flex-wrap:wrap;gap:8px;width:100%;display:flex}.btn-action{color:#cfd8dc;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;flex:1;padding:clamp(7px,1.2vh,10px);font-size:clamp(11px,1.4vw,13px);font-weight:600;transition:all .2s}.btn-action:hover{background:#ffffff1a}.btn-action.btn-check{color:#81c784;background:#81c78414;border-color:#81c78466}.btn-action.btn-check:hover{background:#81c7842e}.btn-action.btn-hint{color:#ffb74d;background:#ffb74d14;border-color:#ffb74d66}.btn-action.btn-hint:hover:not(:disabled){background:#ffb74d2e}.btn-action.btn-clear{color:#f48fb1;background:#f48fb114;border-color:#f48fb166}.btn-action.btn-clear:hover{background:#f48fb12e}.btn-action.btn-reveal{color:#ce93d8;background:#ce93d814;border-color:#ce93d880;animation:1.2s ease-in-out infinite pulse-reveal}.btn-action.btn-reveal:hover{background:#ce93d833}@keyframes pulse-reveal{0%,to{box-shadow:0 0 #ce93d866}50%{box-shadow:0 0 0 5px #ce93d800}}.btn-action.disabled{opacity:.35;cursor:not-allowed}.user-name-btn{color:var(--accent);letter-spacing:.5px;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:12px;transition:background .2s}.user-name-btn:hover{background:rgba(var(--accent-rgb), .12)}.profile-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;align-items:center;gap:16px;width:100%;padding:20px;display:flex}.profile-avatar{font-size:52px}.profile-stats{justify-content:space-around;gap:0;width:100%;display:flex}.profile-stat{flex-direction:column;align-items:center;gap:3px;display:flex}.profile-stat-value{color:#fff;font-size:clamp(18px,4vw,24px);font-weight:800}.profile-stat-label{letter-spacing:1.5px;text-transform:uppercase;color:#90a4ae;font-size:10px}.avatar-grid{grid-template-columns:repeat(6,1fr);gap:8px;width:100%;display:grid}.avatar-btn{aspect-ratio:1;cursor:pointer;background:#ffffff0a;border:2px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;font-size:clamp(20px,5vw,28px);transition:all .15s;display:flex}.avatar-btn:hover{background:#ffffff1a;transform:scale(1.1)}.avatar-btn.avatar-selected{border-color:var(--accent);background:rgba(var(--accent-rgb), .15);box-shadow:0 0 10px rgba(var(--accent-rgb), .4);transform:scale(1.12)}.profile-email{color:#546e7a;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;width:100%;padding:10px 14px;font-size:13px}.bg-fx{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.game{z-index:1;position:relative}.bg-fx-item{opacity:.13;-webkit-user-select:none;user-select:none;line-height:1;position:absolute}.bg-fx-swim{animation:linear infinite bg-swim-ltr;left:-80px!important}.bg-fx-swim.bg-fx-rtl{animation:linear infinite bg-swim-rtl;right:-80px;left:auto!important}@keyframes bg-swim-ltr{0%{transform:translate(0)}to{transform:translate(calc(100vw + 160px))}}@keyframes bg-swim-rtl{0%{transform:translate(0)scaleX(-1)}to{transform:translate(calc(-100vw - 160px))scaleX(-1)}}.bg-fx-float{animation:linear infinite bg-float;bottom:-60px;top:auto!important}@keyframes bg-float{0%{opacity:.13;transform:translateY(0)rotate(0)}10%{opacity:.13}85%{opacity:.06}to{opacity:0;transform:translateY(calc(-100vh - 120px))rotate(18deg)}}.bg-fx-twinkle{animation:ease-in-out infinite bg-twinkle}@keyframes bg-twinkle{0%{opacity:0;transform:scale(.5)translateY(0)}30%{opacity:.18;transform:scale(1)translateY(-6px)}70%{opacity:.18;transform:scale(1)translateY(-12px)}to{opacity:0;transform:scale(.5)translateY(-24px)}}.bg-fx-drift{animation:linear infinite bg-drift}@keyframes bg-drift{0%{opacity:.08;transform:translate(0)}15%{opacity:.13}85%{opacity:.13}to{opacity:0;transform:translate(18vw,10vh)}}.game-theme-switcher{gap:4px;display:flex}.game-theme-btn{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:3px 5px;font-size:14px;line-height:1;transition:all .15s}.game-theme-btn:hover{background:#ffffff1f}.game-theme-btn.active{background:rgba(var(--accent-rgb),.2);border-color:var(--accent)}.shop-balance{background:rgba(var(--accent-rgb),.08);border:1px solid rgba(var(--accent-rgb),.25);border-radius:12px;justify-content:space-between;align-items:center;width:100%;padding:12px 18px;display:flex}.shop-balance-label{color:#90a4ae;letter-spacing:1px;font-size:12px}.shop-balance-amount{color:var(--accent);font-size:20px;font-weight:800}.shop-list{flex-direction:column;gap:8px;width:100%;display:flex}.shop-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;transition:border-color .2s;display:flex}.shop-item-equipped{border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.06)}.shop-item-info{flex-direction:column;flex:1;gap:3px;display:flex}.shop-item-label{color:#fff;font-size:14px;font-weight:600}.shop-item-cost{color:#ffb74d;font-size:11px}.shop-item-owned{color:#546e7a;font-size:11px}.shop-item-equipped-tag{color:var(--accent);font-size:11px;font-weight:700}.shop-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .2s}.shop-btn-buy{background:var(--accent);color:#0d1b2a}.shop-btn-buy:hover{opacity:.85}.shop-btn-buy.disabled{color:#546e7a;cursor:not-allowed;background:#ffffff1a}.shop-btn-equip{background:rgba(var(--accent-rgb),.15);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.4)}.shop-btn-equip:hover{background:rgba(var(--accent-rgb),.25)}.shop-btn-unequip{color:#90a4ae;background:#ffffff14;border:1px solid #ffffff26}.prem-avatar-wrap{flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.avatar-locked{opacity:.5}.avatar-locked:not(:disabled){opacity:.75}.avatar-lock-badge{font-size:10px;line-height:1;position:absolute;bottom:2px;right:2px}.prem-avatar-cost{color:#546e7a;letter-spacing:.5px;font-size:9px}.avatar-picker-overlay{z-index:200;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.avatar-picker-modal{border:1px solid rgba(var(--accent-rgb),.3);background:linear-gradient(145deg,#1a2f4a,#1a1a2e);border-radius:20px;width:min(340px,90vw);padding:20px;animation:.25s cubic-bezier(.34,1.56,.64,1) modal-pop}.avatar-picker-title{letter-spacing:2px;text-transform:uppercase;color:#90a4ae;margin-bottom:12px;font-size:11px}.profile-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:transform .2s;display:inline-flex;position:relative}.profile-avatar-btn:hover{transform:scale(1.08)}.profile-avatar-hint{font-size:14px;line-height:1;position:absolute;bottom:0;right:0}.profile-screen{max-height:100vh;padding-bottom:20px;overflow-y:auto}.profile-title-badge{color:var(--accent);letter-spacing:.5px;font-size:12px;font-weight:700}.lb-name-stack{flex-direction:column;gap:1px;display:flex}.lb-title{color:var(--accent);letter-spacing:.3px;font-size:10px;font-weight:600}.word-chip[draggable=true]{cursor:grab}.word-chip[draggable=true]:active{cursor:grabbing}.word-chip.chip-dragging{opacity:.3;transform:scale(.95)}.cell[draggable=true]{cursor:grab}.cell[draggable=true]:active{cursor:grabbing}.cell.drag-over{transform:scale(1.06);background:rgba(var(--accent-rgb), .28)!important;border-color:var(--accent)!important}.onboarding{flex-direction:column;align-items:center;gap:20px;width:100%;padding:8px 0;display:flex}.zoe-avatar{font-size:64px;animation:2s ease-in-out infinite zoe-bounce}@keyframes zoe-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.chat-bubble{color:#e0e0e0;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:4px 18px 18px;width:100%;padding:14px 18px;font-size:15px;line-height:1.6;animation:.3s bubble-in}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-bubble strong{color:#fff}.chat-bubble .emoji-row{letter-spacing:6px;text-align:center;margin-top:8px;font-size:26px;display:block}.onboarding-dots{justify-content:center;gap:8px;display:flex}.onboarding-dot{background:#fff3;border-radius:50%;width:8px;height:8px;transition:all .3s}.onboarding-dot.active{background:var(--accent);transform:scale(1.3)}.tagline{text-align:center;color:#ffffff61;letter-spacing:.6px;margin:-4px 0 10px;font-size:13px}.odemo{flex-direction:column;align-items:center;gap:5px;margin:10px 0 2px;display:flex}.odemo-row{gap:6px;display:flex}.odemo-cell{background:#ffffff0d;border:2px solid #ffffff1f;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;display:flex}.odemo-cell.odemo-bad{background:#f48fb124;border-color:#f48fb1cc;animation:1.3s ease-in-out infinite odemo-pulse}.odemo-cell.odemo-ok{background:#81c7841f;border-color:#81c784b3}.odemo-caption{letter-spacing:.3px;font-size:11px;font-weight:700}.odemo-caption.bad{color:#f48fb1}.odemo-caption.ok{color:#81c784}@keyframes odemo-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.94)}}.cell.conflict{animation:1.1s ease-in-out infinite conflict-pulse;color:#ffb74d!important;background:#ffb74d1f!important;border-color:#ffb74dbf!important}@keyframes conflict-pulse{0%,to{box-shadow:0 0 #ffb74d00}50%{box-shadow:0 0 0 4px #ffb74d33}}.first-puzzle-tip{text-align:center;color:#ffb74dbf;letter-spacing:.3px;padding:3px 0 0;font-size:11px;transition:color .4s}.btn-daily{border:2px solid rgba(var(--accent-rgb), .4);background:rgba(var(--accent-rgb), .08);width:100%;color:var(--accent);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:10px;margin-bottom:6px;padding:12px 16px;font-size:15px;font-weight:700;transition:all .2s;display:flex}.btn-daily:hover{background:rgba(var(--accent-rgb), .16);border-color:var(--accent)}.btn-daily.btn-daily-done{color:#81c784;background:#81c78412;border-color:#81c78466}.daily-badge{color:#ffb74d;background:#ffb74d33;border-radius:20px;padding:1px 8px;font-size:12px;font-weight:700}.daily-badge-done{color:#81c784;background:#81c78433}.daily-label{font-weight:700;color:var(--accent)!important}.btn-giveup{color:#ffb74d!important;background:#ffb74d1a!important;border-color:#ffb74d66!important}.btn-giveup:hover{background:#ffb74d33!important}.daily-result{flex-direction:column;align-items:center;gap:14px;width:100%;padding:10px 0 4px;display:flex}.dr-date{color:#ffffff73;letter-spacing:.5px;text-transform:uppercase;font-size:13px}.dr-status{letter-spacing:.3px;font-size:22px;font-weight:800}.dr-solved{color:#81c784}.dr-failed{color:#fff6}.dr-time{letter-spacing:2px;color:#fff;font-variant-numeric:tabular-nums;font-size:42px;font-weight:900}.dr-percentiles{background:#ffffff0d;border:1px solid #ffffff14;border-radius:16px;align-items:center;gap:0;width:100%;display:flex;overflow:hidden}.dr-pct{flex-direction:column;flex:1;align-items:center;gap:4px;padding:16px 10px;display:flex}.dr-pct-divider{background:#ffffff1a;align-self:center;width:1px;height:50px}.dr-pct-value{color:var(--accent);font-size:30px;font-weight:900}.dr-pct-label{color:#ffffff80;text-align:center;font-size:11px;line-height:1.3}.dr-streak{color:#ffb74d;letter-spacing:.3px;font-size:18px;font-weight:700}.dr-next{color:#ffffff4d;letter-spacing:.3px;font-size:12px}.dr-comeback{color:#ffffff80;font-size:15px}.dr-guest-note{color:#ffb74db3;text-align:center;margin-bottom:4px;font-size:12px}.cosmetics-screen{flex-direction:column;min-height:100vh;display:flex}.cosmetics-notification-overlay{z-index:100;background:#0d1b2ad9;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.cosmetics-notification-modal{z-index:101;text-align:center;background:linear-gradient(145deg,#1a2f4a,#1a1a2e);border-radius:12px;width:90vw;max-width:280px;padding:20px;animation:.4s cubic-bezier(.34,1.56,.64,1) modal-pop;box-shadow:0 20px 60px #00000080}.cosmetics-notification-modal h2{margin:0 0 12px;font-size:18px}.cosmetics-notification-modal button{width:100%;margin-top:8px}.cosmetics-tabs{border-bottom:1px solid #333;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px;padding-bottom:12px;display:flex}.cosmetics-tab{color:#ccc;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;font-size:13px;font-weight:700;transition:all .2s}.cosmetics-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.cosmetics-tab:hover{color:var(--accent)}.cosmetics-equip-btn{background:var(--accent);color:#000;cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .2s}.cosmetics-equip-btn:hover{opacity:.8;transform:scale(1.05)}.cosmetics-equip-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes glow-pulse{0%,to{box-shadow:0 0 10px var(--glow-color), inset 0 0 10px #ffffff0d}50%{box-shadow:0 0 20px var(--glow-color), inset 0 0 15px #ffffff1a}}@keyframes glow-soft{0%,to{text-shadow:0 0 10px var(--glow-color)}50%{text-shadow:0 0 20px var(--glow-color)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes float-rise{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow-accent{0%,to{box-shadow:0 0 15px var(--accent), 0 0 30px var(--glow-color)}50%{box-shadow:0 0 25px var(--accent), 0 0 40px var(--glow-color)}}button{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000004d}button:active{transform:translateY(0)}.btn-start,.btn-how,.btn-cosmetics,.btn-daily{background:var(--accent);color:#000;border:2px solid var(--accent-secondary);cursor:pointer;box-shadow:0 4px 12px rgba(var(--accent-rgb), .2);border-radius:8px;padding:12px 24px;font-size:14px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.btn-start:hover,.btn-how:hover,.btn-cosmetics:hover,.btn-daily:hover{background:var(--accent-secondary);box-shadow:0 8px 24px rgba(var(--accent-rgb), .4);animation:2s infinite glow-pulse}.btn-play{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-secondary) 100%);border:2px solid var(--accent-secondary);color:#000;box-shadow:0 6px 20px rgba(var(--accent-rgb), .3);border-radius:8px;padding:14px 32px;font-weight:700}.btn-play:hover{box-shadow:0 10px 32px rgba(var(--accent-rgb), .5);transform:translateY(-3px)scale(1.02)}.app{background:var(--bg-gradient);border-radius:12px;box-shadow:0 20px 60px #0006,inset 0 1px #ffffff1a}.profile-card{background:linear-gradient(135deg, var(--bg1) 0%, var(--bg2) 100%);border:2px solid var(--accent-tertiary);box-shadow:0 8px 32px rgba(var(--accent-rgb), .15);border-radius:12px;padding:20px;transition:all .3s}.profile-card:hover{border-color:var(--accent);box-shadow:0 12px 48px rgba(var(--accent-rgb), .25);transform:translateY(-4px)}.leaderboard-entry{background:linear-gradient(90deg, rgba(var(--accent-rgb), .05) 0%, rgba(var(--accent-rgb), .02) 100%);border-left:4px solid var(--accent);border-radius:6px;margin:8px 0;padding:12px;transition:all .2s}.leaderboard-entry:hover{background:linear-gradient(90deg, rgba(var(--accent-rgb), .1) 0%, rgba(var(--accent-rgb), .05) 100%);border-left-color:var(--accent-secondary);transform:translate(4px)}.puzzle-stats{background:rgba(var(--accent-rgb), .1);border:1px solid var(--accent-tertiary);border-radius:8px;padding:12px;box-shadow:inset 0 2px 8px #0000004d}.puzzle-stats:hover{border-color:var(--accent);box-shadow:inset 0 2px 8px #0000004d, 0 0 16px var(--glow-color)}h1,h2,h3{color:var(--accent);text-shadow:0 2px 8px #00000080}h1{margin-bottom:4px;font-size:32px;animation:3s ease-in-out infinite glow-soft}hr{background:linear-gradient(90deg, transparent, var(--accent), transparent);height:2px;box-shadow:0 0 10px var(--glow-color);border:none;margin:16px 0}.section-divider{border-top:2px solid var(--accent-tertiary);margin:20px 0;position:relative}.section-divider:after{content:"";background:var(--accent);width:16px;height:16px;box-shadow:0 0 10px var(--glow-color);border-radius:50%;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.progress-bar{background:rgba(var(--accent-rgb), .1);border:1px solid var(--accent-tertiary);border-radius:8px;height:8px;overflow:hidden;box-shadow:inset 0 2px 4px #0000004d}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-secondary));height:100%;box-shadow:0 0 10px var(--glow-color);border-radius:8px;transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:2s infinite shimmer;position:absolute;inset:0}input,textarea,select{background:rgba(var(--accent-rgb), .05);border:2px solid var(--accent-tertiary);color:#fff;border-radius:6px;padding:8px 12px;font-size:13px;transition:all .3s}input:focus,textarea:focus,select:focus{border-color:var(--accent);background:rgba(var(--accent-rgb), .1);box-shadow:0 0 16px var(--glow-color), inset 0 0 8px #0003;outline:none}input::placeholder{color:#ffffff4d}.cosmetics-item{background:linear-gradient(135deg, rgba(var(--accent-rgb), .05) 0%, rgba(var(--accent-rgb), .02) 100%);border:2px solid var(--accent-tertiary);border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.cosmetics-item:before{content:"";background:linear-gradient(135deg, transparent 0%, rgba(var(--accent-rgb), .1) 100%);pointer-events:none;opacity:0;transition:opacity .3s;position:absolute;inset:0}.cosmetics-item:hover{border-color:var(--accent);box-shadow:0 8px 24px rgba(var(--accent-rgb), .2);transform:translateY(-4px)scale(1.02)}.cosmetics-item:hover:before{opacity:1}.cosmetics-item.equipped{background:linear-gradient(135deg, rgba(var(--accent-rgb), .15) 0%, rgba(var(--accent-rgb), .08) 100%);border-color:var(--accent);box-shadow:0 0 20px var(--glow-color), inset 0 0 12px rgba(var(--accent-rgb), .1);animation:2.5s infinite glow-pulse}.cosmetics-item.locked{opacity:.5;filter:grayscale(60%);border-color:#555}.cosmetics-item.locked:hover{border-color:#777;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.modal-card{background:linear-gradient(135deg, var(--bg1) 0%, var(--bg2) 100%);border:2px solid var(--accent);box-shadow:0 20px 60px #00000080, 0 0 30px var(--glow-color);border-radius:12px;animation:.3s cubic-bezier(.34,1.56,.64,1) modal-pop}.accent-text{color:var(--accent);text-shadow:0 0 10px var(--glow-color);font-weight:700}.secondary-accent{color:var(--accent-secondary);font-weight:600}.badge{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-secondary) 100%);color:#000;box-shadow:0 4px 12px rgba(var(--accent-rgb), .3);border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.badge:hover{box-shadow:0 6px 16px rgba(var(--accent-rgb), .4);animation:2s ease-in-out infinite float-rise}.notification{background:linear-gradient(135deg, var(--bg2) 0%, var(--bg1) 100%);border:2px solid var(--accent);box-shadow:0 8px 32px rgba(var(--accent-rgb), .3);border-radius:8px;padding:16px;animation:.4s cubic-bezier(.34,1.56,.64,1) slide-in}@keyframes slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}*{transition:color .2s,border-color .2s}.app header{background:linear-gradient(90deg, transparent, var(--glow-color), transparent);border-bottom:2px solid var(--accent-tertiary);padding:16px}.app footer{border-top:2px solid var(--accent-tertiary);color:#999;margin-top:32px;padding-top:16px;font-size:12px}
