:root{--cell:min(40px, calc((100vw - 48px) / 9));--line:#cbd5e1;--ink:#0f172a;--muted:#64748b;--accent:#7c3aed;color:var(--ink);-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:#f8fafc;margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}.page{flex-direction:column;gap:12px;max-width:480px;min-height:100dvh;margin:0 auto;padding:12px 16px 24px;display:flex}h1{text-align:center;margin:8px 0 0;font-size:26px}.hint{color:var(--muted);text-align:center;margin:0}.big{text-align:center;margin:4px 0;font-size:22px}.error{color:#dc2626;text-align:center;margin:0}.level{text-align:left;border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:12px;padding:16px;font-size:18px;display:flex}.level b{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.summary{grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:0;font-size:20px;list-style:none;display:grid}.top{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.ghost{background:0 0;border:0;min-width:44px;min-height:44px;padding:4px 8px;font-size:26px}.word{text-align:center;letter-spacing:2px;font-size:40px;font-weight:800}.steps{gap:6px;display:flex}.steps button{border:1px solid var(--line);background:#fff;border-radius:12px;flex:1;padding:8px 4px;font-size:14px}.steps button.on{background:var(--accent);border-color:var(--accent);color:#fff}.steps button:disabled:not(.on){opacity:.4}.slots{justify-content:center;gap:4px;display:flex}.slot{width:var(--cell);height:var(--cell);border:2px dashed var(--line);background:#fff;border-radius:8px;place-items:center;font-size:20px;font-weight:700;display:grid}.slot.full{border-style:solid;border-color:#94a3b8}.keys{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.keys.vowels{grid-template-columns:repeat(6,1fr)}.keys.vowels button{color:#dc2626}.keys.wide{grid-template-columns:2fr 1fr}.keys button{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:46px;font-size:22px;font-weight:600}.keys button:active{background:#e2e8f0}.keys:not(.vowels):not(.wide) button{color:#1d4ed8}.scheme{min-height:calc(var(--cell) + 16px);justify-content:center;align-items:flex-end;padding-top:16px;display:flex}.group-wrap{align-items:stretch;display:flex}.group{border:2px solid var(--ink);border-radius:6px;margin:0 1px;display:flex;overflow:visible}.cell{width:var(--cell);height:var(--cell);color:var(--muted);background:0 0;border:0;padding:0;font-size:16px;font-weight:700;position:relative}.cell.filled{color:#fff;text-shadow:0 1px 2px #0006}.divider{background:var(--ink);border-radius:2px;width:3px;margin:-6px 3px}.stress{background:var(--ink);border-radius:2px;width:3px;height:12px;position:absolute;top:-16px;left:50%;transform:translate(-50%)rotate(30deg)}.tools{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.tools button{border:2px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;font-size:12px;display:flex}.tools button.on{border-color:var(--accent);background:#f3e8ff}.swatch{border:2px solid var(--ink);background:linear-gradient(to top right,#fff 50% 50%);border-radius:6px;place-items:center;width:32px;height:32px;font-size:20px;font-weight:700;display:grid}.checks{gap:8px;margin:0 auto;padding:0;font-size:20px;list-style:none;display:grid}.bottom{padding-bottom:env(safe-area-inset-bottom);gap:8px;margin-top:auto;display:grid}.primary,.secondary{border:0;border-radius:14px;min-height:52px;font-size:18px;font-weight:700}.primary{background:var(--accent);color:#fff}.primary:disabled{background:#cbd5e1}.secondary{border:2px solid var(--accent);color:var(--accent);background:#fff}.cell.bad{outline-offset:-3px;outline:3px solid #f59e0b}.parent h2{color:var(--muted);margin:12px 0 6px;font-size:15px;font-weight:600}.login,.add-word{gap:10px;display:grid}.login input,.add-word input,.add-word select{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:48px;padding:0 12px;font-size:18px}.login input{text-align:center;letter-spacing:6px}.stats{color:var(--muted);grid-template-columns:1fr 1fr;gap:6px;font-size:14px;display:grid}.stats div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px}.stats b{color:var(--ink);margin-right:4px;font-size:20px}.toggle{color:var(--muted);align-items:center;gap:8px;display:flex}.card{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:8px;overflow:hidden}.card-head{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:12px 14px;font-size:18px;display:flex}.card-head .time{color:var(--muted);margin-left:auto;font-size:14px}.card-body{padding:0 14px 14px}.label{color:var(--muted);margin:8px 0 0;font-size:13px}.errors{color:#b45309;margin:0}.word-row{border-top:1px solid #f1f5f9;padding:8px 14px 12px}.word-row-head{justify-content:space-between;align-items:center;font-size:18px;display:flex}.ghost.small{min-height:32px;font-size:18px}.word-row .scheme,.card-body .scheme{justify-content:flex-start}.keys.letters{grid-template-columns:repeat(4,1fr)}.keys.letters button{color:#94a3b8;background:#f1f5f9;border-style:dashed;min-height:36px;font-size:18px}.letter-hint{color:#78350f;background:#fef3c7;border-radius:12px;margin:0;padding:10px 12px;font-size:15px;line-height:1.35}.senya{justify-items:center;gap:6px;display:grid}.senya img{object-fit:contain}.senya.happy img,.senya.party img{animation:.5s ease-out pop}.senya.support img{animation:.5s ease-in-out shake}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}.bubble{border:2px solid var(--line);text-align:center;background:#fff;border-radius:16px;max-width:320px;margin:0;padding:10px 14px;font-size:16px}.word-row-top{justify-content:center;align-items:center;gap:8px;display:flex}.senya-mini{flex:none}.map h2{margin:0 0 8px;font-size:16px}.glade{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px 14px}.glade.locked{opacity:.55}.norki{flex-wrap:wrap;gap:10px;display:flex}.norka{border:2px solid var(--line);background:#fff;border-radius:14px;justify-items:center;gap:2px;width:64px;padding:8px 0;display:grid}.norka b{font-size:20px}.norka:disabled{opacity:.5}.norka .stars{color:#f59e0b;letter-spacing:1px;min-height:14px;font-size:12px}.stars-big{color:#f59e0b;letter-spacing:4px;font-size:34px}.closet-link{background:0 0;border:0;justify-items:center;gap:4px;padding:0;display:grid}.seeds{color:var(--muted);font-size:16px}.senya-big{margin:0 auto}.items{grid-template-columns:1fr 1fr;gap:10px;display:grid}.item{border:2px solid var(--line);text-align:center;background:#fff;border-radius:14px;justify-items:center;gap:4px;padding:10px 6px;font-size:13px;display:grid}.item.on{border-color:var(--accent);background:#f3e8ff}.item b{font-weight:600}.primary.small,.secondary.small{border-radius:10px;min-height:36px;padding:0 12px;font-size:15px}.bag{margin:4px 0 0;font-size:18px;line-height:1.5}.card-body.norki{padding-top:4px}
