:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1f2937;--bg:#f8fafc;--safe-area-top:0px;--safe-area-bottom:0px;--surface:#fff;--surface-strong:#e2e8f0;--border:#d1d5db;--text:#111827;--text-muted:#475569;--accent:#2563eb;--accent-dark:#1d4ed8;--correct:#16a34a;--present:#eab308;--absent:#6b7280;--tile-shadow:0 10px 30px #0f172a14;background:#f8fafc;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;transition:background-color .2s,color .2s}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e2e8f0;--bg:#0f172a;--surface:#1e293b;--surface-strong:#283444;--border:#334155;--text:#f1f5f9;--text-muted:#94a3b8;--accent:#3b82f6;--accent-dark:#60a5fa;--correct:#22c55e;--present:#eab308;--absent:#475569;--tile-shadow:0 10px 30px #00000073;background:#0f172a}[data-theme=dark] body{background:radial-gradient(circle at top,#3b82f626 0%,#0000 40%),linear-gradient(#0f172a 0%,#0b1220 100%)}[data-theme=dark] .tile{color:var(--text);background:#1e293b;border-color:#334155}[data-theme=dark] .tile.absent{color:#cbd5e1;background:#334155;border-color:#334155}[data-theme=dark] .key-button{color:#e2e8f0;background:#334155}[data-theme=dark] .key-button:active{background:#475569}[data-theme=dark] .key-button.absent{color:#94a3b8;background:#1e293b}[data-theme=dark] .keyboard{background:#0b1220}[data-theme=dark] .board,[data-theme=dark] .suggest-display{background:#0f172a}[data-theme=dark] .status{color:#93c5fd;background:#1e2a4a}[data-theme=dark] .stat-pill{background:#1e293b}[data-theme=dark] .button.secondary{color:var(--text);background:#1e293b;border-color:#334155}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}#app,.game-shell{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at top,#e0f2fe 0%,#0000 40%),linear-gradient(#f8fafc 0%,#e2e8f0 100%);min-height:100dvh}button{font:inherit}#app{height:100dvh;padding:calc(12px + var(--safe-area-top)) 8px calc(12px + var(--safe-area-bottom));justify-content:center;align-items:stretch;display:flex}.game-shell{--shell-padding:22px;background:var(--surface);width:min(100%,540px);max-width:100%;height:100%;box-shadow:var(--tile-shadow);padding:var(--shell-padding);border-radius:28px;flex-direction:column;gap:10px;display:flex;overflow:hidden}.game-shell.home-screen{justify-content:center}.game-shell.screen-enter{animation:.22s forwards screen-enter}@keyframes screen-enter{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.home-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:360px;margin-top:0;padding:32px 24px;display:flex}.home-title{letter-spacing:.08em;margin:0;font-size:clamp(2.2rem,7vw,2.9rem)}.home-subtitle{color:var(--text-muted);margin:0;font-size:1rem}.home-actions{flex-direction:column;gap:12px;width:min(280px,100%);margin-top:8px;display:flex}.home-notice{min-height:1.25rem;color:var(--text-muted);margin:0;font-size:.95rem;font-weight:600}.home-credit{color:var(--text-muted);opacity:.55;letter-spacing:.04em;text-align:center;margin:4px 0 0;font-size:.72rem}.home-action-row{grid-template-columns:minmax(0,1fr) 56px;gap:10px;width:100%;display:grid}.home-action-row-equal{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.home-action-row-equal .home-button{white-space:nowrap;text-overflow:ellipsis;width:100%;padding-left:8px;padding-right:8px;overflow:hidden}.home-actions-stack{flex-direction:column;gap:12px;width:100%;display:flex}.home-button{border-radius:16px;width:100%;padding:14px 18px}.home-button-half{width:100%}.home-button-plus{min-width:56px;padding:0;font-size:1.45rem;line-height:1}.home-button-close{color:var(--text-muted);margin-top:4px}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.game-header{justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:0;display:flex}.game-header-left{align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.game-title{flex-direction:column;justify-content:center;min-width:0;line-height:1.05;display:flex}.game-title h1{letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(1.4rem,5.5vw,2rem);overflow:hidden}.game-logo{object-fit:contain;width:auto;height:clamp(40px,6vw,40px);display:block}.game-title .subtitle{margin:2px 0 0;font-size:.8rem}.icon-button{border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:1.25rem;display:inline-flex}.subtitle{color:var(--text-muted);margin:0 0 6px;font-size:.95rem}h1{letter-spacing:.08em;margin:0;font-size:clamp(2rem,5vw,2.6rem)}.description{color:var(--text-muted);max-width:100%;margin:0;font-size:.98rem}.status{color:#1e3a8a;background:#eef2ff;border-radius:16px;align-self:start;margin:0;padding:8px 12px;font-weight:700;line-height:1.2;display:inline-block;box-shadow:inset 0 1px #fffc}.board{background:#f8fafc;border-radius:20px;flex:auto;align-content:start;align-self:stretch;gap:6px;min-height:0;padding:12px;display:grid;position:relative;overflow-y:auto}.row{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.row.active .tile{transform:translateY(-1px)}.tile{aspect-ratio:1;color:var(--text);text-transform:uppercase;background:#fff;border:2px solid #cbd5e1;border-radius:14px;place-items:center;font-size:clamp(1rem,4.5vw,1.3rem);font-weight:700;transition:transform .12s,background-color .12s,border-color .12s;display:grid}.tile.filled{border-color:#94a3b8}.tile.correct{background:var(--correct);color:#fff;border-color:var(--correct)}.tile.present{background:var(--present);color:#fff;border-color:var(--present)}.tile.absent{color:#fff;background:#d1d5db;border-color:#d1d5db}.suggest-display{background:#f8fafc;border-radius:20px;flex:auto;grid-template-columns:repeat(5,minmax(0,1fr));align-self:stretch;gap:8px;min-height:0;padding:12px;display:grid;overflow-y:auto}.suggest-tile{aspect-ratio:1;color:var(--text);text-transform:uppercase;background:#fff;border:2px solid #cbd5e1;border-radius:14px;place-items:center;font-size:clamp(1rem,4.5vw,1.3rem);font-weight:700;display:grid}.keyboard{width:calc(100% + (var(--shell-padding) * 2));margin:0 calc(var(--shell-padding) * -1) calc(var(--shell-padding) * -1);padding:8px 6px calc(10px + var(--safe-area-bottom) + env(safe-area-inset-bottom,0px));background:#d4d7dd;align-self:end;gap:6px;display:grid}.keyboard-row{gap:4px;width:100%;max-width:760px;margin:0 auto;display:flex}.key-button{color:#1f2937;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;background:#fff;border:none;border-radius:6px;flex:1 1 0;justify-content:center;align-items:center;min-width:0;height:clamp(40px,6.2vh,52px);padding:0;font-size:clamp(.95rem,4.2vw,1.15rem);font-weight:500;transition:background-color .12s,color .12s;display:inline-flex;box-shadow:0 1px #00000040}.key-button:active{background:#c8ccd4}.key-button.wide{flex:1.5 1 0}.key-button.enter{color:#fff;background:#3b82f6;font-size:1.2rem}.key-button.delete{color:#1f2937;background:#aeb3bd;font-size:1.2rem}.key-button:hover{transform:translateY(-1px)}.key-button.correct{background:var(--correct);color:#fff}.key-button.present{background:var(--present);color:#fff}.key-button.absent{color:#fff;background:#9ca3af}.button{cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:14px;padding:12px 16px;font-weight:700}.button.secondary{color:var(--text);background:#f8fafc;border:1px solid #cbd5e1}.button:disabled,.button.secondary:disabled{opacity:.45;cursor:not-allowed}.home-button-done{color:var(--correct);border-color:var(--correct)}.stats-bar{justify-content:center;gap:8px;display:flex;position:relative}.game-header .stats-bar{justify-content:flex-end}.stat-pill{color:var(--text);white-space:nowrap;background:#f1f5f9;border-radius:999px;align-items:center;gap:4px;padding:6px 10px;font-size:.85rem;font-weight:700;display:inline-flex}.stat-pill .emoji{font-size:1.15rem;line-height:1}.coin-icon{background:radial-gradient(circle at 35% 30%,#ffe27a 0%,#f5c518 45%,#d99a00 100%);border-radius:50%;flex:none;width:1.15rem;height:1.15rem;position:relative;box-shadow:inset 0 0 0 1.5px #b8860b,0 1px 2px #00000040}.coin-icon:after{content:"₿";color:#8a5a00;place-items:center;font-size:.7rem;font-weight:800;display:grid;position:absolute;inset:0}.action-panel{flex-wrap:wrap;gap:8px;display:flex}.action-panel:empty{display:none}.action-button{flex:auto;padding:10px 14px;font-size:.9rem}.tile.hinted{box-shadow:inset 0 0 0 2px var(--present)}.tile.hintable{cursor:pointer;border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);background:#eff6ff;animation:1.2s ease-in-out infinite hint-pulse}.tile.hintable:active{transform:scale(.94)}@keyframes hint-pulse{0%,to{box-shadow:inset 0 0 0 2px var(--accent)}50%{box-shadow:inset 0 0 0 4px var(--accent)}}@media (width<=480px){.game-shell{--shell-padding:14px;padding:var(--shell-padding)}.key-button{font-size:clamp(1rem,4.6vw,1.15rem)}}.tile.reveal{animation:.32s forwards tile-reveal}@keyframes tile-reveal{0%{transform:rotateX(0)scale(1)}50%{transform:rotateX(90deg)scale(1.06)}to{transform:rotateX(0)scale(1)}}.row.shake{animation:.42s row-shake}@keyframes row-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.coin-burst{background:var(--correct);color:#fff;pointer-events:none;border-radius:999px;padding:4px 10px;font-weight:800;animation:.9s forwards coin-burst;position:absolute;top:8px;right:12px;box-shadow:0 6px 18px #16a34a66}@keyframes coin-burst{0%{opacity:0;transform:translateY(6px)scale(.8)}25%{opacity:1;transform:translateY(-4px)scale(1.05)}to{opacity:0;transform:translateY(-22px)scale(1)}}#stat-coins-val{display:inline-block}#stat-coins-val.counter-pop{animation:.36s counter-pop}@keyframes counter-pop{0%{transform:scale(1)}40%{color:var(--correct);transform:scale(1.25)}to{transform:scale(1)}}.modal-overlay{z-index:100;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;animation:.24s forwards overlay-fade;display:flex;position:fixed;inset:0}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}.modal-dialog{background:var(--surface);text-align:center;border-radius:24px;width:min(100%,380px);padding:28px 24px;animation:.28s cubic-bezier(.18,.89,.32,1.28) forwards modal-pop;box-shadow:0 24px 60px #0f172a59}.modal-dialog.modal-enter{animation:.28s cubic-bezier(.18,.89,.32,1.28) forwards modal-pop}@keyframes modal-pop{0%{opacity:0;transform:translateY(16px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-title{margin:0 0 14px;font-size:1.7rem}.modal-word,.modal-reward,.modal-balance{color:var(--text-muted);margin:6px 0;font-size:1rem}.modal-reward strong{color:var(--correct)}.modal-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.modal-actions .button{border-radius:16px;width:100%;padding:14px 18px}.modal-overlay.closing{animation:.2s forwards overlay-fade-out}@keyframes overlay-fade-out{0%{opacity:1}to{opacity:0}}.challenge-block{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:16px;padding:16px}.challenge-heading{color:var(--text);margin:0 0 8px;font-size:1.05rem}.challenge-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.text-input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);text-transform:uppercase;border-radius:10px;flex:120px;padding:10px 12px;font-size:1rem}.text-input:focus{outline:2px solid var(--accent);outline-offset:1px}.challenge-result{border-top:1px dashed var(--border);margin-top:14px;padding-top:14px}.challenge-label{color:var(--text-muted);margin:0 0 6px;font-size:.85rem}.seed-value{letter-spacing:2px;background:var(--surface-strong);color:var(--accent-dark);text-transform:uppercase;border-radius:8px;padding:6px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.4rem;display:inline-block}.challenge-error{color:#dc2626;margin:8px 0 0;font-size:.9rem}.challenge-equal{flex:1 1 0;min-width:0}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px;display:grid}.stats-card{background:var(--surface-strong);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:16px 8px;display:flex}.stats-card-value{color:var(--text);font-size:1.8rem;font-weight:800}.stats-card-label{color:var(--text-muted);text-align:center;font-size:.78rem}.dist-chart{flex-direction:column;gap:8px;display:flex}.dist-row{align-items:center;gap:8px;display:flex}.dist-label{width:22px;color:var(--text-muted);text-align:right;flex:none;font-weight:700}.dist-bar-track{background:var(--surface-strong);border-radius:8px;flex:auto;height:26px;overflow:hidden}.dist-bar{background:var(--correct);color:#fff;white-space:nowrap;border-radius:8px;justify-content:flex-end;align-items:center;min-width:0;height:100%;padding:0 8px;font-size:.8rem;font-weight:700;transition:width .5s;display:flex}.theme-options{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.theme-option{flex:1 1 0;padding:10px 12px;font-size:.9rem}.theme-option[data-active=true],[data-theme=dark] .theme-option[data-active=true],[data-theme=light] .theme-option[data-active=true]{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.theme-option[data-active=false],[data-theme=dark] .theme-option[data-active=false],[data-theme=light] .theme-option[data-active=false]{background:var(--surface-strong)!important;color:var(--text)!important;border-color:#0000!important}.settings-row{color:var(--text);justify-content:space-between;align-items:center;padding:10px 0;font-size:1rem;display:flex}.settings-row+.settings-row{border-top:1px solid var(--border)}.switch{flex:none;width:46px;height:26px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch-track{cursor:pointer;background:var(--surface-strong);border-radius:999px;transition:background-color .18s;position:absolute;inset:0}.switch-track:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .18s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:before{transform:translate(20px)}.confetti-container{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:hidden}.confetti-piece{opacity:.9;border-radius:2px;width:8px;height:14px;animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards;position:absolute;top:-10px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(320px)rotate(360deg)}}.modal-share{background:var(--accent)}.howto-dialog{text-align:left;width:min(100%,420px);max-height:88vh;padding:24px 20px;position:relative}.howto-close{background:var(--surface-strong);color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:inline-flex;position:absolute;top:14px;right:14px}.howto-dialog .modal-title{text-align:center;margin-bottom:10px}.howto-scroll{max-height:calc(88vh - 48px);padding-right:2px;overflow-y:auto}.howto-text{color:var(--text-muted);text-align:center;margin:0 0 14px;font-size:.92rem}.howto-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-width:280px;margin:0 auto 14px;display:grid}.howto-tile{aspect-ratio:1;font-size:1.05rem}.howto-legend{background:var(--surface-strong);border-radius:14px;flex-direction:column;gap:10px;margin-bottom:18px;padding:12px 14px;display:flex}.howto-legend-row{color:var(--text);align-items:center;gap:10px;font-size:.88rem;display:flex}.howto-legend-tile{width:34px;height:34px;aspect-ratio:unset;border-radius:8px;flex:none;place-items:center;font-size:.95rem;display:grid}.howto-section-title{text-align:center;margin:0 0 12px}.howto-rewards{flex-direction:column;gap:10px;display:flex}.howto-reward-card{background:var(--surface-strong);border-radius:14px;padding:12px 14px}.howto-reward-title{color:var(--text);margin:0 0 6px;font-size:.95rem;font-weight:700}.howto-reward-desc{color:var(--text-muted);margin:4px 0;font-size:.85rem;line-height:1.4}.howto-reward-list{color:var(--text-muted);margin:6px 0;padding-left:18px;font-size:.85rem;line-height:1.5}.howto-reward-list li{margin-bottom:2px}.icon-button-small{border-radius:12px;width:36px;height:36px;font-size:1rem}
