:root{--bg: #0f1117;--bg-card: #1a2030;--bg-card-hover: #1e2638;--bg-elevated: #161b27;--accent: #d4693a;--accent-soft: rgba(212, 105, 58, .4);--accent-glow: rgba(212, 105, 58, .28);--text-primary: rgba(255, 255, 255, .92);--text-secondary: rgba(255, 255, 255, .6);--text-muted: rgba(255, 255, 255, .35);--border-subtle: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .14);--border-strong: rgba(255, 255, 255, .24);--score-exact: rgba(34, 197, 94, .85);--score-close: rgba(234, 179, 8, .85);--score-far: rgba(239, 68, 68, .85)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased}#root{display:flex;flex-direction:column;min-height:100vh}button{font-family:inherit;cursor:pointer}a{color:inherit}.page{flex:1;width:100%;max-width:640px;margin:0 auto;padding:14px 18px 28px;display:flex;flex-direction:column;gap:10px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-size:22px;font-weight:800;letter-spacing:-.5px;text-decoration:none}.brand span{color:var(--accent);font-style:italic}.linkbtn{background:none;border:none;color:var(--text-secondary);font-size:14px;font-weight:600;padding:8px 10px;border-radius:8px}.linkbtn:hover{color:var(--text-primary);background:var(--bg-card)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent)}.daily-card{background:linear-gradient(160deg,var(--bg-card),var(--bg-elevated));border:1px solid var(--border-medium);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 8px 30px #0000004d}.daily-title{font-size:26px;font-weight:800;letter-spacing:-.5px;line-height:1.15}.daily-title .accent{color:var(--accent);font-style:italic}.muted{color:var(--text-secondary);font-size:15px;line-height:1.6}.tiny{color:var(--text-muted);font-size:13px}.section-title{font-size:14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted)}.chain{position:relative;display:flex;flex-direction:column-reverse;align-items:center;gap:3px}.chain:before{content:"";position:absolute;top:12px;bottom:12px;left:50%;width:2px;transform:translate(-50%);background:var(--border-medium);z-index:0}.pill{border-radius:18px;padding:6px 14px;font-size:14px;font-weight:600;border:1px solid var(--border-medium);background:var(--bg-card);white-space:nowrap;transition:transform .08s ease,background .12s ease,border-color .12s ease}.chain .pill{position:relative;z-index:1;min-width:150px;padding:4px 12px;display:inline-flex;align-items:center;justify-content:center;transition:padding .15s ease,background .12s ease,border-color .12s ease}.pill.anchor{background:#252d42;border-color:var(--border-strong)}.pill.anchor.end{color:var(--accent);font-style:italic;border-color:var(--accent-soft)}.pill.slot{text-align:center;border-style:dashed;color:var(--text-muted);background:#15181f}.pill.slot.next{color:var(--accent);border-color:var(--accent-soft);animation:pulseSlot 1.5s ease-in-out infinite}@keyframes pulseSlot{0%,to{border-color:var(--accent-soft);box-shadow:0 0 #d4693a00}50%{border-color:var(--accent);box-shadow:0 0 0 5px var(--accent-glow)}}@media(prefers-reduced-motion:reduce){.pill.slot.next{animation:none;border-color:var(--accent)}}.pill.placed{background:var(--bg-card-hover);border-color:var(--border-strong);color:var(--text-primary)}.pill.placed:hover{border-color:var(--accent-soft)}.pill.placed .num{color:var(--text-muted);font-size:12px;font-weight:700;margin-right:7px}.pill.acc-exact{background:#22c55e29;border-color:var(--score-exact)}.pill.acc-close{background:#eab30829;border-color:var(--score-close)}.pill.acc-far{background:#ef444429;border-color:var(--score-far)}.pill.acc-exact .num,.pill.acc-close .num,.pill.acc-far .num{color:var(--text-secondary)}.pill.def-active{border-width:2px;box-shadow:0 0 0 2px #ffffff59}.def-pop{position:fixed;z-index:90;pointer-events:none;padding:9px 11px;border:1px solid var(--border-medium);border-radius:10px;background:var(--bg-elevated);box-shadow:0 12px 30px #0000008c;font-size:12px;line-height:1.4;color:var(--text-secondary)}.def-pop b{color:var(--text-primary);font-weight:700}.legend{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--text-secondary)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.legend .ex{background:var(--score-exact)}.legend .cl{background:var(--score-close)}.legend .fr{background:var(--score-far)}.play-area{display:flex;justify-content:center;align-items:center;gap:16px}.cloud{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:118px}.word{border-radius:18px;padding:7px 12px;font-size:13px;font-weight:600;text-align:center;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-medium);transition:transform .08s ease,background .12s ease,border-color .12s ease}.word:hover{background:var(--bg-card-hover);border-color:var(--accent-soft);transform:translateY(-2px)}.word:active{transform:translateY(0)}.cloud .empty-note{text-align:center}.word,.pill.placed{touch-action:none;cursor:grab}.pill.placed:active,.word:active{cursor:grabbing}.results-chain .pill.placed{cursor:default;touch-action:auto}.results-chain:before{display:none}.results-chain{align-items:flex-start}.drop-gap{position:relative;z-index:1;min-width:150px;padding:4px 12px;border-radius:18px;border:2px dashed var(--accent);background:var(--accent-glow);box-sizing:border-box;animation:gapFade .12s ease-out}.drop-gap:before{content:" ";font-size:14px;visibility:hidden}@keyframes gapFade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.drop-gap{animation:none}}.drag-ghost{position:fixed;transform:translate(-50%,-50%) scale(1.04);z-index:100;pointer-events:none;background:var(--accent);color:#160d08;border-radius:22px;padding:10px 16px;font-size:15px;font-weight:700;white-space:nowrap;box-shadow:0 12px 32px #0000008c}.btn{border-radius:12px;padding:13px 22px;font-size:15px;font-weight:700;border:1px solid transparent;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--accent);color:#160d08}.btn.primary:hover{filter:brightness(1.07)}.btn.ghost{background:transparent;border-color:var(--border-medium);color:var(--text-primary)}.btn.ghost:hover{background:var(--bg-card)}.btn.block{width:100%}.btn:disabled{opacity:.4;cursor:default}.btn-row{display:flex;gap:12px;flex-wrap:wrap}.levels-wrap{display:flex;align-items:center;justify-content:center;gap:12px}.levels-caption{font-size:13px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted)}.levels{display:flex;gap:8px;justify-content:center}.level-tab{width:30px;height:30px;border-radius:8px;border:1px solid var(--border-medium);background:var(--bg-card);color:var(--text-secondary);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}.level-tab.active{background:var(--accent);color:#160d08;border-color:var(--accent)}.level-tab.done{border-color:var(--accent-soft);color:var(--text-primary)}.level-tab.locked{color:var(--text-muted);background:transparent;border-style:dashed;cursor:default;opacity:.6}.level-tab.locked:hover{background:transparent}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.tile{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:14px;padding:16px;text-align:left;display:flex;flex-direction:column;gap:8px;color:inherit}.tile:hover{background:var(--bg-card-hover);border-color:var(--border-medium)}.tile .theme{font-weight:700;font-size:15px;line-height:1.3}.tile .collection{font-size:12px;color:var(--text-muted)}.tile.today,.tile.today:hover{border-color:var(--accent)}.tile-today{align-self:flex-start;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--accent);padding:3px 8px;border-radius:999px}.tile.locked{opacity:.5;cursor:default;border-style:dashed}.tile.locked:hover{background:var(--bg-card);border-color:var(--border-subtle)}.tile.locked .theme{color:var(--text-secondary)}.tile-lock{color:var(--text-muted);display:inline-flex}.stars{display:inline-flex;gap:3px;font-size:16px}.star{color:var(--border-strong)}.star.filled{color:var(--accent)}.result-card{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}.score-big{font-size:36px;font-weight:800;letter-spacing:-1px;line-height:1}.stars-big{font-size:24px}.result-head{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.rh-score{font-size:26px;font-weight:800;letter-spacing:-.5px;line-height:1}.result-actions{display:flex;gap:8px;justify-content:center;width:100%}.result-actions .btn{padding:9px 14px;font-size:13px;border-radius:10px;flex:0 1 auto}.appstore{display:inline-flex;align-items:center;gap:12px;background:#fff;color:#000;border-radius:12px;padding:12px 22px;text-decoration:none;font-weight:700;font-size:15px}.appstore:hover{opacity:.88}.appstore .label{display:flex;flex-direction:column;line-height:1.15;text-align:left}.appstore .sub{font-size:11px;font-weight:400;opacity:.6}.cta-band{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:20px;border:1px solid var(--border-subtle);border-radius:16px;background:var(--bg-elevated)}.cta-band.compact{gap:10px;padding:14px}.cta-band.compact .muted{font-size:14px}footer.site{display:flex;gap:20px;justify-content:center;padding:24px;font-size:13px;color:var(--text-muted)}footer.site a{color:var(--text-muted);text-decoration:none}footer.site a:hover{color:var(--text-secondary)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:var(--bg-card-hover);border:1px solid var(--border-medium);color:var(--text-primary);padding:10px 18px;border-radius:10px;font-size:14px;box-shadow:0 6px 24px #0006;z-index:50}
