:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#120c08;--panel:#1f1510;--panel-2:#2a1d16;--line:#4a382d;--ink:#fff3e3;--ink-2:#d9c3ad;--ink-3:#9c8674;--cell:#3a2e28;--cell-on:#d9b98a;--p:#ec5fa8;--g:#3fb950;--y:#f5a623;--accent:#4ecdc4;--accent-ink:#062321;--danger:#ff6b6b;--s1:#4ecdc4;--s2:#f06292;--s3:#c6ff00;--radius:12px;--tap:44px;--gutter:16px;--board:min(calc(100vw - 2 * var(--gutter)), 36vh, 420px);--unit:calc(var(--board) / 8);font-family:-apple-system,SF Pro Text,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--ink);overscroll-behavior:none;margin:0}body{padding:env(safe-area-inset-top,0) var(--gutter) env(safe-area-inset-bottom,0);-webkit-user-select:none;user-select:none;touch-action:manipulation}button{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);min-height:var(--tap);cursor:pointer;padding:0 14px}button:active{filter:brightness(1.25)}button:disabled{opacity:.4}button.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-size:18px;font-weight:700}button.danger{color:var(--danger)}button.small{min-height:36px;padding:0 10px;font-size:14px}select{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--line);min-height:var(--tap);border-radius:8px;padding:0 10px}#app{flex-direction:column;gap:8px;max-width:480px;min-height:100%;margin:0 auto;padding-top:6px;display:flex;overflow-x:hidden}.header{flex-direction:column;gap:6px;display:flex}.goals{align-items:stretch;gap:5px;min-width:0;display:flex}.subbar{justify-content:space-between;align-items:center;gap:6px;display:flex}.goal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex:1 1 0;justify-content:space-between;align-items:center;min-width:0;padding:1px;display:flex}.goal .count{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:3px;font-size:14px;font-weight:700;display:flex}.goal i{border-radius:4px;flex:none;width:14px;height:14px;display:inline-block;transform:rotate(45deg)scale(.8)}.goal.done .count{color:var(--ink-3)}.goal button{border-radius:8px;flex:none;min-width:28px;min-height:36px;padding:0;font-size:17px}.moves{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);font-variant-numeric:tabular-nums;flex:1;justify-content:center;align-items:center;gap:4px;padding:2px 4px;font-weight:700;display:flex}.moves span{text-align:center;min-width:38px}.moves button,.iconbtn{border-radius:8px;min-width:36px;min-height:36px;padding:0;font-size:18px}.iconbtn.active{background:var(--accent);color:var(--accent-ink)}.iconbtn.text{min-width:0;padding:0 10px;font-size:14px;font-weight:700}.slot.selected{border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--accent)}.board.placing .cell:not(.on){cursor:pointer}.cell.ghost-ok{box-shadow:inset 0 0 0 3px var(--accent);background:color-mix(in srgb, var(--accent) 35%, var(--cell))}.cell.ghost-bad{box-shadow:inset 0 0 0 3px var(--danger);background:color-mix(in srgb, var(--danger) 35%, var(--cell))}.board.shake{animation:.4s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media (max-width:350px){:root{--gutter:10px}.goals{gap:3px}.goal .count{gap:2px;font-size:12px}.goal i{width:10px;height:10px}.goal button{min-width:24px;min-height:32px;font-size:15px}.moves span{min-width:30px;font-size:14px}.actions{gap:5px}.actions button:not(.wide){padding:0 2px;font-size:13px}}.board-wrap{justify-content:center;display:flex}.board{grid-template-columns:repeat(8, var(--unit));grid-template-rows:repeat(8, var(--unit));width:calc(var(--board) + 10px);background:#0b0705;border:3px solid #5a463a;border-radius:8px;gap:0;padding:2px;display:grid}.cell{background:var(--cell);border:1px solid #241b16;border-radius:3px;justify-content:center;align-items:center;display:flex;position:relative}.cell.on{background:var(--cell-on);border-color:#b08f5e}.cell .gem{border-radius:18%;width:55%;height:55%;transform:rotate(45deg);box-shadow:inset 0 0 0 2px #ffffff59}.cell.P .gem{background:var(--p)}.cell.G .gem{background:var(--g)}.cell.Y .gem{background:var(--y)}.cell.plan{box-shadow:inset 0 0 0 3px var(--sc);background:color-mix(in srgb, var(--sc) 28%, var(--cell))}.cell.plan .ghost{opacity:.9;border-radius:18%;width:45%;height:45%;transform:rotate(45deg)}.cell.plan .ghost.P{background:var(--p)}.cell.plan .ghost.G{background:var(--g)}.cell.plan .ghost.Y{background:var(--y)}.cell.plan .badge{background:var(--sc);color:#000;z-index:2;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;font-size:13px;font-weight:800;display:flex;position:absolute;top:-4px;left:-4px}.cell.s1{--sc:var(--s1)}.cell.s2{--sc:var(--s2)}.cell.s3{--sc:var(--s3)}.cell.flash{animation:.6s ease-out flash}@keyframes flash{0%{background:#fff}to{background:var(--cell)}}.cell.target{box-shadow:inset 0 0 0 2px var(--accent)}.board.editing .cell{cursor:pointer}.board.recognized{box-shadow:0 0 0 4px var(--accent);transition:box-shadow .3s}.status{text-align:center;min-height:32px;color:var(--ink-2);justify-content:center;align-items:center;gap:8px;font-size:15px;display:flex}.status.proven{color:var(--s3);flex-direction:column;gap:0;font-weight:700}.status .caveat{color:var(--ink-3);font-size:11px;font-weight:400}.status.won{color:var(--y);font-weight:700}.status.error{color:var(--danger)}.spinner{border:2px solid var(--ink-3);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tray{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.slot{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);justify-content:center;align-items:center;min-height:80px;padding:6px;display:flex;position:relative}.slot.empty{color:var(--ink-3);border-style:dashed;font-size:28px}.slot.next{border-color:var(--sc);box-shadow:inset 0 0 0 2px var(--sc)}.slot .badge{background:var(--sc);color:#000;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;font-size:13px;font-weight:800;display:flex;position:absolute;top:4px;left:6px}.slot.s1{--sc:var(--s1)}.slot.s2{--sc:var(--s2)}.slot.s3{--sc:var(--s3)}.mini{gap:2px;display:grid}.mini b{width:var(--mini,18px);height:var(--mini,18px);background:var(--cell-on);border:1px solid #b08f5e;border-radius:3px;display:block}.mini b.x{background:0 0;border-color:#0000}.mini b.P{background:var(--p)}.mini b.G{background:var(--g)}.mini b.Y{background:var(--y)}.actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.actions .wide{grid-column:1/-1;min-height:52px}.actions button:not(.wide){min-height:42px;padding:0 6px;font-size:15px}.hint{color:var(--ink-3);text-align:center;font-size:12px}.sheet-bg{z-index:10;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--panel);width:100%;max-width:480px;max-height:88vh;padding:12px var(--gutter) calc(16px + env(safe-area-inset-bottom,0));border-radius:16px 16px 0 0;flex-direction:column;gap:10px;display:flex;overflow:auto}.sheet h2{justify-content:space-between;align-items:center;margin:0;font-size:17px;display:flex}.palette{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.palette button{background:var(--panel-2);justify-content:center;align-items:center;min-height:76px;padding:4px;display:flex}.palette .group{color:var(--ink-3);grid-column:1/-1;margin-top:4px;font-size:12px}.editor{flex-direction:column;align-items:center;gap:10px;display:flex}.editor .mini{--mini:52px;gap:4px}.editor .mini b{cursor:pointer;justify-content:center;align-items:center;display:flex}.editor .mini b:not(.x):after{content:"";background:#ffffff40;border-radius:18%;width:40%;height:40%;transform:rotate(45deg)}.editor .mini b.P:after,.editor .mini b.G:after,.editor .mini b.Y:after{background:#ffffff8c}.row{gap:8px;display:flex}.row>*{flex:1}.field{color:var(--ink-2);flex-direction:column;gap:4px;font-size:14px;display:flex}.field select{width:100%}.sim-banner{background:color-mix(in srgb, var(--accent) 14%, var(--panel));border:1px solid var(--accent);border-radius:var(--radius);flex-wrap:nowrap;align-items:center;gap:4px;padding:6px 8px;font-size:13px;display:flex}.sim-banner .sim-profile{text-overflow:ellipsis;white-space:nowrap;opacity:.8;flex:0 auto;min-width:0;font-size:11px;overflow:hidden}.sim-banner .seed{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;color:var(--accent);flex:auto;padding:0 4px;font-weight:700;overflow:hidden}.sim-banner button.small{flex:none;min-height:34px;padding:0 8px;font-size:13px}.sim-banner{padding:3px 6px}.footer{justify-content:center;margin-top:-6px;display:flex}.footer .link{color:var(--ink-3);background:0 0;border-color:#0000;min-height:26px;font-size:13px}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0));color:#fff;z-index:20;text-align:center;background:#000c;border-radius:10px;max-width:90vw;padding:10px 16px;font-size:14px;position:fixed;transform:translate(-50%)}.sr{position:absolute;left:-9999px}
