:root,:root[data-theme=dark]{--bg: #0b1020;--panel: #0f152b;--panel-2: #131a34;--text: #e6e8ee;--muted: #9aa3b2;--border: #20294a;--ring: #2a3670;--violet-500: #7c3aed;--violet-400: #a78bfa;--green-500: #22c55e;--amber-500: #f59e0b;--card-radius: 16px}:root[data-theme=light]{--bg: #f7f8fb;--panel: #ffffff;--panel-2: #fafbff;--text: #0f172a;--muted: #64748b;--border: #e5e7eb;--ring: #c7d2fe;--violet-500: #6d28d9;--violet-400: #8b5cf6;--green-500: #16a34a;--amber-500: #d97706}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 10% -10%,color-mix(in oklab,var(--panel) 8%,transparent) 0%,var(--bg) 60%),var(--bg);color:var(--text)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.muted{color:var(--muted);font-size:13px}.app-shell{max-width:1100px;margin:0 auto;padding:clamp(12px,2.4vw,28px)}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:10px;flex-wrap:wrap}.app-title{margin:0;font-size:28px;letter-spacing:.3px}.actions{display:flex;gap:10px;flex-wrap:wrap}.input{height:36px;padding:6px 10px;border-radius:10px;border:1px solid var(--border);background:color-mix(in oklab,var(--panel) 85%,transparent);color:var(--text);outline:none;min-width:160px;box-shadow:0 1px #ffffff0a inset}.input::placeholder{color:var(--muted)}.input:focus{border-color:color-mix(in oklab,var(--violet-500) 40%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--violet-500) 20%,transparent)}.btn{appearance:none;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:linear-gradient(180deg,color-mix(in oklab,var(--panel) 70%,transparent),color-mix(in oklab,var(--panel-2) 70%,transparent));color:var(--text);cursor:pointer;box-shadow:0 1px #ffffff0a inset,0 8px 24px #0000001f;transition:transform .06s ease,box-shadow .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 1px #ffffff0a inset,0 12px 28px #00000052;border-color:#2a376f}.btn:active{transform:translateY(0)}.btn--secondary{background:linear-gradient(180deg,color-mix(in oklab,var(--panel-2) 70%,transparent),color-mix(in oklab,var(--panel) 70%,transparent))}.app-grid{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}@media (max-width: 900px){.app-grid{grid-template-columns:1fr}}.board{position:relative;border-radius:20px;border:1px solid var(--border);background:radial-gradient(600px 300px at 20% 0%,color-mix(in oklab,var(--panel) 10%,transparent) 0%,var(--panel-2) 60%),linear-gradient(180deg,var(--panel),var(--panel-2));box-shadow:0 10px 40px #00000026,0 0 0 1px #ffffff08 inset;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-width:100%}.letter{width:50px;height:50px;border-radius:14px;border:1px solid var(--border);background:linear-gradient(180deg,color-mix(in oklab,var(--panel) 85%,transparent),color-mix(in oklab,var(--panel-2) 85%,transparent));color:var(--text);font-weight:800;font-size:18px;cursor:pointer;display:grid;place-items:center;letter-spacing:.4px;box-shadow:0 8px 22px #0000001f,0 0 0 1px #ffffff0a inset;transition:transform .06s ease,box-shadow .2s ease,border-color .2s ease,opacity .2s ease,background .2s ease}@media (hover: hover) and (pointer: fine){.letter:hover{transform:translate(-50%,-50%) scale(1.04)}}.letter[data-used]{box-shadow:0 0 0 2px color-mix(in oklab,var(--green-500) 40%,transparent),0 8px 22px #00000059,0 0 0 1px #ffffff0a inset}.letter[data-dim]{opacity:.45;cursor:not-allowed}.letter[data-start]{border-color:color-mix(in oklab,var(--green-500) 60%,var(--border));background:linear-gradient(180deg,color-mix(in oklab,var(--green-500) 18%,var(--panel)),color-mix(in oklab,var(--green-500) 10%,var(--panel-2)));box-shadow:0 0 0 5px color-mix(in oklab,var(--green-500) 28%,transparent),0 8px 24px #0003}@keyframes pulseStart{0%{outline:0 solid rgba(34,197,94,0)}70%{outline:10px solid rgba(34,197,94,.1)}to{outline:0 solid rgba(34,197,94,0)}}.letter[data-start]{animation:pulseStart 1.6s ease-out infinite}.sidebar{display:grid;gap:12px}.card{padding:14px;border:1px solid var(--border);border-radius:var(--card-radius);background:linear-gradient(180deg,var(--panel),var(--panel-2));box-shadow:0 8px 28px #00000047,0 0 0 1px #ffffff05 inset}.card__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.progress{height:10px;background:#0e1430;border-radius:999px;border:1px solid var(--border);box-shadow:0 1px #ffffff08 inset;overflow:hidden}.progress__fill{height:100%;border-radius:999px;box-shadow:0 6px 20px #7c3aed59 inset;transition:width .25s ease}.status{display:flex;align-items:center;gap:10px}.status__dot{width:10px;height:10px;border-radius:50%;background:var(--green-500);opacity:.7}.status__dot[data-state=checking]{background:var(--amber-500);opacity:1}.status__text{font-size:14px;color:var(--text)}.current-word{margin-top:10px;font-size:18px;color:var(--violet-400)}.word-list{margin-top:8px;padding-left:18px}.rules{margin-top:12px;color:var(--muted);font-size:13px}.rules ul{margin-top:6px;padding-left:18px}.board svg polyline{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.board svg rect{stroke:#2b355e}@media (max-width: 420px){.app-title{font-size:22px}}
