:root{--bg: #0b0f14;--bg-grad: radial-gradient(1200px 800px at 70% -10%, #16202e 0%, #0b0f14 55%);--panel: #121a25;--panel-2: #18222f;--cell: #1c2735;--cell-edge: #29384b;--text: #e8eef5;--muted: #8a9bb0;--accent: #45e0c8;--accent-deep: #1f8e7f;--accent-2: #f3b257;--bad: #ff6b6b;--radius: 16px;--radius-sm: 10px;--shadow: 0 18px 50px rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-grad),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.app{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:20px 16px 40px;gap:22px}.topbar{width:100%;max-width:760px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:clamp(20px,4vw,28px);font-weight:800;letter-spacing:-.02em;margin:0}.brand-accent{color:var(--accent)}.mode-tag{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:#45e0c81f;border:1px solid rgba(69,224,200,.28);padding:5px 12px;border-radius:999px}.content{width:100%;max-width:760px;display:flex;justify-content:center}.lobby{width:100%;max-width:460px;background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 24px;display:flex;flex-direction:column;gap:22px}.tagline{margin:0;color:var(--muted);font-size:15px;line-height:1.5}.field{display:flex;flex-direction:column;gap:9px}.field-label{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;background:var(--panel-2);border-radius:var(--radius-sm);padding:5px}.seg{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:600;padding:10px 8px;border-radius:7px;cursor:pointer;transition:background .15s ease,color .15s ease}.seg:hover{color:var(--text)}.seg.active{background:linear-gradient(180deg,var(--accent),var(--accent-deep));color:#04130f}.lobby-meta{display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.1);background:var(--panel-2);color:var(--text);font:inherit;font-weight:600;padding:10px 16px;border-radius:var(--radius-sm);cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s ease}.btn:hover{border-color:#ffffff38}.btn:active{transform:translateY(1px)}.btn.ghost{background:transparent}.btn.primary{background:linear-gradient(180deg,var(--accent),var(--accent-deep));color:#04130f;border-color:transparent}.btn.big{padding:14px 18px;font-size:16px}.btn.daily-cta{background:linear-gradient(180deg,#f3b2572e,#f3b25714);border-color:#f3b25766;color:var(--accent-2);font-weight:700}.game{width:100%;display:flex;flex-direction:column;gap:18px;align-items:center}.hud{width:100%;max-width:620px;display:flex;align-items:center;gap:16px;background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:12px 16px}.stat{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.stat-value{font-size:20px;font-weight:700}.hud-actions{margin-left:auto;display:flex;gap:8px}.play-area{width:100%;max-width:620px;display:flex;flex-direction:column;gap:18px;align-items:center}.board{width:100%;max-width:min(92vw,560px);aspect-ratio:1 / 1;display:grid;grid-template-columns:repeat(var(--size),1fr);grid-template-rows:repeat(var(--size),1fr);gap:clamp(2px,.8vw,5px);padding:clamp(6px,1.5vw,12px);background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);box-shadow:var(--shadow);touch-action:none;user-select:none;-webkit-user-select:none}.cell{display:flex;align-items:center;justify-content:center;background:var(--cell);border:1px solid var(--cell-edge);border-radius:clamp(4px,1vw,8px);font-weight:700;font-size:clamp(11px,2.6vw,20px);text-transform:uppercase;color:#cdd9e6;transition:background .12s ease,color .12s ease,transform .12s ease}.cell.sel{background:linear-gradient(180deg,var(--accent),var(--accent-deep));color:#04130f;box-shadow:0 0 0 2px #45e0c859}.cell.found{background:#45e0c829;border-color:#45e0c880;color:var(--accent)}.cell.sel.found{color:#04130f}.cell.bad{background:#ff6b6b38;border-color:#ff6b6b8c;color:#ffd3d3;animation:shake .34s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.wordlist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.word{background:var(--panel-2);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:7px 14px;font-weight:600;font-size:14px;letter-spacing:.02em;text-transform:uppercase;color:#d4dde8;transition:color .18s ease,background .18s ease,opacity .18s ease}.word.found{color:var(--accent);background:#45e0c81a;border-color:#45e0c852;text-decoration:line-through;text-decoration-color:#45e0c899;opacity:.75}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#060a0fb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:20px;animation:fade .2s ease}@keyframes fade{0%{opacity:0}}.card{width:100%;max-width:360px;background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px 26px;text-align:center;animation:pop .24s cubic-bezier(.2,.9,.3,1.2)}@keyframes pop{0%{transform:scale(.9);opacity:0}}.win-title{margin:0 0 6px;font-size:30px;font-weight:800;color:var(--accent)}.win-time{font-size:40px;font-weight:800;letter-spacing:-.02em}.win-best{margin:6px 0 22px;color:var(--muted);font-weight:600}.win-best.new{color:var(--accent-2)}.win-actions{display:flex;gap:10px;justify-content:center}.text-input{width:100%;background:var(--panel-2);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--text);font:inherit;padding:11px 14px}.text-input:focus{outline:none;border-color:var(--accent)}.color-row{display:flex;gap:10px}.swatch{width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .1s ease}.swatch:hover{transform:scale(1.08)}.swatch.active{border-color:var(--text);box-shadow:0 0 0 3px #ffffff26}.hint-text{margin:4px 0 0;font-size:13px;color:var(--muted);line-height:1.45}.code{letter-spacing:.12em;color:var(--accent)}.btn.small{padding:7px 12px;font-size:13px}.players{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.player,.score-table li{display:flex;align-items:center;gap:10px;background:var(--panel-2);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-sm);padding:10px 14px}.dot{width:14px;height:14px;border-radius:50%;flex:none}.player-name{font-weight:600}.badge{margin-left:auto;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.badge.ready{color:var(--accent)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--panel-2);flex:none;line-height:1}.avatar-row{display:flex;flex-wrap:wrap;gap:6px}.avatar-btn{width:40px;height:40px;font-size:22px;line-height:1;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:var(--panel-2);cursor:pointer;transition:transform .08s ease,border-color .15s ease,background .15s ease}.avatar-btn:hover{transform:translateY(-2px)}.avatar-btn.active{border-color:var(--accent);background:var(--cell);box-shadow:0 0 0 2px #45e0c84d}.deodow-follow{display:block;text-align:center;margin-top:4px;color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;transition:color .15s ease}.deodow-follow strong{color:var(--accent)}.deodow-follow:hover{color:var(--text)}.net-game{position:relative}.emote-bar{display:flex;gap:8px;justify-content:center}.emote{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.1);background:var(--panel-2);border-radius:999px;width:42px;height:42px;font-size:20px;line-height:1;cursor:pointer;transition:transform .08s ease,background .15s ease}.emote:hover{background:var(--cell);transform:translateY(-2px)}.emote:active{transform:scale(.92)}.reaction-floats{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:5}.react-float{position:absolute;left:30%;bottom:70px;font-size:40px;animation:floatUp 1.7s ease-out forwards}.react-float.mine{left:64%}@keyframes floatUp{0%{opacity:0;transform:translateY(20px) scale(.6)}20%{opacity:1;transform:translateY(0) scale(1.1)}to{opacity:0;transform:translateY(-140px) scale(1)}}.auto-badge{margin-left:6px;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:4px;padding:1px 4px;vertical-align:middle}.score-table{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:8px;text-align:left}.score-table .mono{margin-left:auto;font-size:18px;font-weight:700}.score-table .rank{min-width:20px;font-weight:700;color:var(--muted);text-align:center}.score-table li.me{border-color:var(--accent);box-shadow:0 0 0 1px #45e0c84d}.countdown{font-size:clamp(80px,20vw,160px);font-weight:800;color:var(--accent);animation:pop .3s cubic-bezier(.2,.9,.3,1.2)}.cell.found-opp{background:color-mix(in srgb,var(--opp) 20%,var(--cell));border-color:var(--opp);color:var(--opp)}.cell.ghost{box-shadow:inset 0 0 0 2px var(--opp)}.cell.reveal{background:#f3b25729;border-color:#f3b2578c;color:var(--accent-2)}.duel{width:100%;max-width:540px;display:flex;flex-direction:column;gap:10px}.duel-half{display:flex;flex-direction:column;gap:8px;align-items:center}.duel-half.rotated{transform:rotate(180deg)}.duel-divider{height:2px;background:linear-gradient(90deg,transparent,var(--cell-edge),transparent);margin:2px 0}.duel .board{max-width:min(86vw,40vh)}.duel .wordlist{gap:5px}.duel .word{padding:4px 9px;font-size:11px}.duel-bar{width:100%;max-width:min(86vw,40vh);display:flex;align-items:center;gap:8px;font-weight:600}.duel-bar .count{font-size:22px;font-weight:800}.duel-result-inline{font-weight:700;color:var(--accent)}.duel-actions{display:flex;gap:8px}@media(min-width:620px){.play-area{max-width:760px}}
