*{box-sizing:border-box}body{margin:0;background:#10151c;color:#eef2f7;font-family:system-ui,Arial,sans-serif}.app{max-width:1100px;margin:auto;padding:18px}header{text-align:center;margin-bottom:18px}h1{margin:0 0 5px;font-size:clamp(25px,5vw,42px)}header p{margin:0;color:#aeb8c4}.dashboard{display:grid;grid-template-columns:minmax(300px,650px) 330px;gap:18px;align-items:start}.boardWrap{background:#1b2430;padding:12px;border-radius:16px;box-shadow:0 10px 30px #0005}.board{width:min(92vw,620px);aspect-ratio:1/1;margin:auto;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));border:4px solid #303a48;border-radius:7px;overflow:hidden;touch-action:manipulation}.sq{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0;box-sizing:border-box;border:0;border-radius:0;padding:0;margin:0;font-size:clamp(28px,7vw,64px);line-height:1;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;position:relative;color:#111;font-family:serif}.light{background:#d8c39e}.dark{background:#8a6f4d}.selected{outline:4px solid #ffd54a;outline-offset:-4px}.hint:after{content:"";width:18%;height:18%;border-radius:50%;background:#2228;position:absolute}.last{box-shadow:inset 0 0 0 4px #5bc0eb88}.panel{background:#1b2430;border-radius:16px;padding:16px}.fly{display:flex;gap:12px;align-items:center;padding:12px;background:#121922;border-radius:12px;margin-bottom:14px}.flyEmoji{font-size:42px}.fly div:last-child{font-size:13px;color:#9da8b5}.fly b{font-size:18px;color:#fff}.meter{margin:12px 0}.meter label{display:flex;justify-content:space-between;font-size:13px}.bar{height:10px;background:#0d1218;border-radius:8px;overflow:hidden;margin-top:5px}.bar i{display:block;height:100%;width:0%;background:#52d273;transition:.15s}.meter:nth-of-type(2) .bar i{background:#e75b66}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:15px 0}.stats div{background:#121922;border-radius:9px;padding:8px;display:flex;justify-content:space-between;font-size:12px;color:#aab5c2}.stats b{color:#fff}.controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}button{border:0;border-radius:9px;padding:10px;background:#2d7ff9;color:#fff;font-weight:700;cursor:pointer}button:hover{filter:brightness(1.12)}.danger{background:#a53b45}.slider{display:block;margin-top:14px;font-size:13px;color:#c7d0db}.slider input{width:100%}.learning{margin-top:14px;background:#121922;padding:11px;border-radius:10px;font-size:13px}.learning p{margin:5px 0 0;color:#b9c4cf}.note{font-size:11px;line-height:1.4;color:#8491a0;margin-top:12px}.status{text-align:center;padding:9px;color:#c7d0db;font-size:13px}@media(max-width:850px){.dashboard{grid-template-columns:1fr}.panel{order:2}.board{width:min(94vw,620px)}}
.sq:focus-visible{outline:4px solid #4da3ff;outline-offset:-4px}.sq.hint{cursor:pointer}.controls button{min-height:44px}
.sq:focus{outline:none}
.sq:focus-visible{outline:4px solid #4da3ff;outline-offset:-4px}
.sq.hint{cursor:pointer}
.sq.hint:after{content:"";width:18%;height:18%;border-radius:50%;background:#2228;position:absolute;pointer-events:none}
.sq.selected{outline:4px solid #ffd54a;outline-offset:-4px}
