:root{--bg-0:#05060d;--bg-1:#0b0f1e;--bg-2:#121832;--panel:#121832b3;--panel-strong:#161c3cd1;--panel-stroke:#82a0ff2e;--panel-stroke-strong:#82a0ff52;--accent:#7cf0ff;--accent-2:#c389ff;--accent-3:#ff6ec7;--danger:#ff4d6d;--success:#4dffaf;--warn:#ffd166;--text:#e8ecff;--text-dim:#8a93c4;--text-faint:#5d6699;--cell-size:34px;--cell-gap:3px;--radius:16px;--radius-sm:10px;--n1:#6fb8ff;--n2:#4dffaf;--n3:#ff6b6b;--n4:#c389ff;--n5:#ffd166;--n6:#7cf0ff;--n7:#ff9e6e;--n8:#f2f2f2}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0;padding:0}body{color:var(--text);background:var(--bg-0);-webkit-font-smoothing:antialiased;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Consolas,monospace;overflow-x:hidden}body:before,body:after{content:"";z-index:0;pointer-events:none;filter:blur(90px);opacity:.7;position:fixed;inset:-20%}body:before{background:radial-gradient(600px 500px at 20% 10%,#7cf0ff38 0%,#0000 60%),radial-gradient(700px 600px at 90% 90%,#c389ff38 0%,#0000 60%);animation:24s ease-in-out infinite alternate aurora-a}body:after{background:radial-gradient(500px 400px at 80% 10%,#ff6ec72e 0%,#0000 60%),radial-gradient(600px 500px at 10% 90%,#4dffaf24 0%,#0000 60%);animation:32s ease-in-out infinite alternate aurora-b}@keyframes aurora-a{0%{transform:translate(0)rotate(0)}to{transform:translate(4%,-3%)rotate(6deg)}}@keyframes aurora-b{0%{transform:translate(0)rotate(0)}to{transform:translate(-5%,4%)rotate(-8deg)}}#root:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 1px 1px,#a0b4ff0d 1px,#0000 0);background-size:22px 22px;position:fixed;inset:0}.app{z-index:1;flex-direction:column;align-items:center;gap:22px;min-height:100vh;padding:26px 20px 60px;display:flex;position:relative}.header{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.title{letter-spacing:.2em;background:linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent-3));color:#0000;text-shadow:0 0 50px #7cf0ff40;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Orbitron,sans-serif;font-size:clamp(30px,4.6vw,54px);font-weight:900;animation:6s ease-in-out infinite title-glow}@keyframes title-glow{0%,to{filter:drop-shadow(0 0 18px #7cf0ff40)}50%{filter:drop-shadow(0 0 28px #c389ff73)}}.subtitle{color:var(--text-dim);letter-spacing:.3em;text-transform:uppercase;margin:0;font-size:12px}.layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;width:100%;max-width:1280px;display:grid}@media (width>=1080px){.layout{grid-template-columns:minmax(0,1fr) minmax(320px,380px)}}.main-col,.side-col{flex-direction:column;gap:18px;min-width:0;display:flex}.main-col{align-items:center}@media (width>=1080px){.side-col{max-height:calc(100vh - 40px);position:sticky;top:20px}}.panel{background:var(--panel);border:1px solid var(--panel-stroke);border-radius:var(--radius);-webkit-backdrop-filter:blur(18px)saturate(140%);position:relative;box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff0a}.panel:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;opacity:.6;background:linear-gradient(135deg,#7cf0ff33,#0000 40%,#c389ff26);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.hud{grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:16px;width:min(520px,100%);padding:14px 20px;display:grid}.hud-item{align-items:center;gap:10px;display:flex}.hud-label{letter-spacing:.22em;color:var(--text-dim);text-transform:uppercase;font-size:10px}.lcd{color:#ff5e73;text-align:center;letter-spacing:.08em;font-variant-numeric:tabular-nums;background:#06080f;border-radius:8px;min-width:72px;padding:6px 12px;font-family:Orbitron,sans-serif;font-size:22px;font-weight:700;box-shadow:inset 0 0 12px #ff32504d,0 0 12px #ff325026}.lcd.timer{color:#7cf0ff;box-shadow:inset 0 0 12px #7cf0ff4d,0 0 12px #7cf0ff26}.status-face{border:1px solid var(--panel-stroke);cursor:pointer;background:linear-gradient(135deg,#1a2150,#0c1030);border-radius:50%;justify-self:center;place-items:center;width:48px;height:48px;font-size:24px;transition:transform .12s,box-shadow .2s,filter .2s;display:grid;box-shadow:0 0 #7cf0ff00}.status-face:hover{transform:translateY(-2px)scale(1.05);box-shadow:0 0 22px #7cf0ff59}.status-face:active{transform:translateY(0)scale(.96)}.status-face.won{animation:.5s ease-out bump;box-shadow:0 0 28px #4dffaf99}.status-face.lost{animation:.4s ease-in-out shake;box-shadow:0 0 28px #ff4d6da6}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.hud-progress{flex-direction:column;grid-column:1/-1;gap:6px;display:flex}.hud-progress-meta{letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);justify-content:space-between;font-size:10px;display:flex}.hud-progress-meta .best{color:var(--warn)}.hud-progress-bar{border:1px solid var(--panel-stroke);background:#05070f99;border-radius:999px;height:5px;overflow:hidden}.hud-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent-3));width:0;height:100%;transition:width .3s;box-shadow:0 0 12px #7cf0ff66}.flag-toggle{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--panel-stroke);border-radius:var(--radius-sm);cursor:pointer;background:#141c3c8c;justify-self:end;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:11px;transition:all .18s;display:inline-flex}.flag-toggle:hover{color:var(--text);border-color:var(--panel-stroke-strong)}.flag-toggle.active{color:#ffb0c0;background:linear-gradient(135deg,#ff4d6d2e,#ff6ec72e);border-color:#ff4d6d8c;box-shadow:0 0 18px #ff4d6d40}.flag-toggle .flag-icon{font-size:14px;line-height:1}.flag-toggle.active .flag-icon{color:var(--danger);text-shadow:0 0 8px #ff4d6d99}.menu{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:8px;padding:8px;display:flex}.menu-btn{letter-spacing:.14em;text-transform:uppercase;color:var(--text);border:1px solid var(--panel-stroke);border-radius:var(--radius-sm);cursor:pointer;background:#141c3c99;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:12px;transition:all .18s;display:inline-flex;position:relative;overflow:hidden}.menu-btn:hover:not(:disabled){color:var(--accent);background:#28386e99;border-color:#7cf0ff80;transform:translateY(-1px);box-shadow:0 0 16px #7cf0ff2e}.menu-btn:disabled{opacity:.45;cursor:not-allowed}.menu-btn.active{border-color:var(--accent);color:var(--accent);background:linear-gradient(135deg,#7cf0ff38,#c389ff38);box-shadow:0 0 20px #7cf0ff47}.menu-btn.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#07091b;border-color:#0000;font-weight:700}.menu-btn.primary:hover:not(:disabled){filter:brightness(1.1);color:#07091b;box-shadow:0 0 26px #c389ff99}.menu-btn .btn-sub{opacity:.55;letter-spacing:.1em;font-size:10px}.menu-btn .btn-ic{font-size:14px;line-height:1}.board-wrap{max-width:100%;padding:18px;position:relative;overflow:auto}.board-wrap.non-interactive .board{pointer-events:none;filter:saturate(.7)brightness(.85)}.board-lock-banner{letter-spacing:.3em;color:var(--accent-2);text-transform:uppercase;pointer-events:none;z-index:4;background:#c389ff1a;border:1px solid #c389ff66;border-radius:999px;padding:3px 8px;font-size:9px;animation:2s ease-in-out infinite pulse;position:absolute;top:8px;left:14px}.board{gap:var(--cell-gap);margin:0 auto;padding:6px;display:grid;position:relative}.board-wrap.flag-mode:after{content:"FLAG MODE";letter-spacing:.3em;color:var(--danger);text-transform:uppercase;pointer-events:none;background:#ff4d6d14;border:1px solid #ff4d6d66;border-radius:999px;padding:3px 8px;font-size:9px;animation:2s ease-in-out infinite pulse;position:absolute;top:8px;right:14px}.cell{width:var(--cell-size);height:var(--cell-size);cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#2a3468,#141a3a);border:none;border-radius:7px;place-items:center;padding:0;font-family:Orbitron,sans-serif;font-size:16px;font-weight:700;line-height:1;transition:transform 80ms,box-shadow .15s,filter .15s,background .2s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14,inset 0 -2px #00000059,0 2px 4px #00000059}.cell:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff0f,#0000 50%);position:absolute;inset:0}.cell:hover:not(:disabled){filter:brightness(1.18);transform:translateY(-1px)}.cell:active:not(:disabled){filter:brightness(.9);transform:translateY(1px)}.cell.cursor{outline:2px solid var(--accent);outline-offset:1px;z-index:2;box-shadow:inset 0 1px #ffffff1f,0 0 16px #7cf0ff99}.cell.flag-target:not(.revealed):not(.flagged):hover{background:linear-gradient(145deg,#402040,#1a1030);box-shadow:inset 0 1px #ff789633,0 0 14px #ff4d6d66}.cell.flagged{background:linear-gradient(145deg,#3a2850,#1a1030)}.cell.flagged:after{content:"⚑";color:var(--danger);text-shadow:0 0 10px #ff4d6db3;font-size:18px;animation:.22s cubic-bezier(.3,1.6,.6,1) flag-pop}.cell.revealed{cursor:default;background:linear-gradient(#0c1028e6,#080a1ce6);animation:.26s ease-out reveal;box-shadow:inset 0 0 0 1px #82a0ff14,inset 0 2px 10px #00000080}.cell.revealed:before{display:none}.cell.revealed:hover{filter:none;transform:none}.cell.revealed.empty{background:#0a0e2099}.cell.mine{color:#fff;background:radial-gradient(circle,#3a0510 0%,#1a0008 80%);animation:.6s ease-out explode}.cell.mine.detonated{background:radial-gradient(circle,#f35 0%,#4a0010 75%);animation:.6s ease-out detonate;box-shadow:0 0 40px #ff3355e6}.cell.mine:after{content:"✸";color:#fff;text-shadow:0 0 12px #ff5064e6;font-size:18px}.cell.num-1{color:var(--n1);text-shadow:0 0 8px #6fb8ff80}.cell.num-2{color:var(--n2);text-shadow:0 0 8px #4dffaf80}.cell.num-3{color:var(--n3);text-shadow:0 0 8px #ff6b6b80}.cell.num-4{color:var(--n4);text-shadow:0 0 8px #c389ff80}.cell.num-5{color:var(--n5);text-shadow:0 0 8px #ffd16680}.cell.num-6{color:var(--n6);text-shadow:0 0 8px #7cf0ff80}.cell.num-7{color:var(--n7);text-shadow:0 0 8px #ff9e6e80}.cell.num-8{color:var(--n8);text-shadow:0 0 8px #fff9}.overlay{-webkit-backdrop-filter:blur(6px);border-radius:var(--radius);z-index:5;background:#05070f99;place-items:center;animation:.3s fade-in;display:grid;position:absolute;inset:0}.overlay-card{text-align:center;border-radius:var(--radius);border:1px solid var(--panel-stroke);background:linear-gradient(135deg,#161c3cf5,#0c1028f5);max-width:88%;padding:32px 52px;animation:.4s cubic-bezier(.3,1.6,.6,1) pop-in;box-shadow:0 20px 60px #0009,0 0 40px #7cf0ff33}.overlay-card.won{border-color:#4dffaf80;box-shadow:0 20px 60px #0009,0 0 80px #4dffaf66}.overlay-card.lost{border-color:#ff4d6d80;box-shadow:0 20px 60px #0009,0 0 80px #ff4d6d66}.overlay-title{letter-spacing:.18em;margin:0 0 8px;font-family:Orbitron,sans-serif;font-size:38px}.overlay-title.won{color:var(--success);text-shadow:0 0 20px #4dffaf99}.overlay-title.lost{color:var(--danger);text-shadow:0 0 20px #ff4d6d99}.overlay-body{color:var(--text-dim);margin:0 0 20px;font-size:14px;line-height:1.6}.overlay-stats{letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);justify-content:center;gap:20px;margin:0 0 20px;font-size:11px;display:flex}.overlay-stats strong{color:var(--accent);letter-spacing:.08em;margin-top:4px;font-family:Orbitron,sans-serif;font-size:20px;font-weight:700;display:block}.overlay-stats strong.best{color:var(--warn);text-shadow:0 0 12px #ffd16680}.log{flex-direction:column;gap:6px;width:100%;padding:14px 18px;display:flex}.log-title{letter-spacing:.25em;color:var(--text-dim);text-transform:uppercase;align-items:center;gap:6px;margin-bottom:4px;font-size:10px;display:flex}.log-title:before{content:"●";color:var(--accent);animation:2s ease-in-out infinite pulse}.log-entries{flex-direction:column;gap:6px;max-height:200px;display:flex;overflow-y:auto}.log-entry{color:var(--text);background:#05070f4d;border-radius:6px;align-items:baseline;gap:8px;padding:6px 8px;font-size:12px;line-height:1.5;animation:.25s ease-out slide-in;display:flex}.log-entry .source{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:#7cf0ff1f;border:1px solid #7cf0ff40;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:9px}.log-entry .source.agent{color:var(--accent-2);background:#c389ff26;border-color:#c389ff59}.log-entry .source.solver{color:#66ffb2;background:#66ffb226;border-color:#66ffb259}.log-entry .source.guess{color:#ffc150;background:#ffc15026;border-color:#ffc15059}.log-entry.noop{background:#ffd1660f}.log-entry.noop .msg{color:var(--warn)}.log-entry .time{color:var(--text-faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:10px}.log-entry .msg{word-break:break-word;flex:1;min-width:0}@keyframes slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.help{color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:10px;max-width:820px;padding:10px 16px;font-size:11px;display:flex}.help kbd{border:1px solid var(--panel-stroke);color:var(--text);background:#ffffff0f;border-radius:4px;margin-right:4px;padding:2px 6px;font-family:inherit;font-size:10px;box-shadow:0 1px #0000004d}.help-group{white-space:nowrap;align-items:center;display:inline-flex}.chat{flex-direction:column;gap:12px;width:100%;padding:16px;display:flex}.chat-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.chat-title{letter-spacing:.25em;color:var(--text-dim);text-transform:uppercase;align-items:center;gap:6px;font-size:10px;display:flex}.chat-title:before{content:"✦";color:var(--accent-2)}.chat-status{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:6px;font-size:10px;display:flex}.chat-status .chat-dot{background:var(--text-dim);border-radius:50%;width:8px;height:8px}.chat-status.available .chat-dot{background:var(--success);box-shadow:0 0 8px #4dffaf99}.chat-status.downloading .chat-dot,.chat-status.downloadable .chat-dot{background:var(--warn);animation:1.8s ease-in-out infinite pulse;box-shadow:0 0 8px #ffd16699}.chat-status.unsupported .chat-dot,.chat-status.unavailable .chat-dot{background:var(--danger)}.chat-progress{border:1px solid var(--panel-stroke);background:#05070f99;border-radius:2px;height:4px;overflow:hidden}.chat-progress-bar{background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;transition:width .2s}.chat-modes{border:1px solid var(--panel-stroke);border-radius:var(--radius-sm);background:#05070f80;gap:4px;padding:3px;display:flex}.chat-mode-btn{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:6px 10px;font-family:inherit;font-size:11px;transition:all .15s}.chat-mode-btn:hover:not(:disabled){color:var(--text);background:#7cf0ff0f}.chat-mode-btn.active{color:var(--accent);background:linear-gradient(135deg,#7cf0ff2e,#c389ff24);border-color:#7cf0ff66;box-shadow:0 0 14px #7cf0ff2e}.chat-mode-btn:disabled{opacity:.45;cursor:not-allowed}.chat-auto{border:1px solid var(--panel-stroke);border-radius:var(--radius-sm);background:#05070f66;flex-direction:column;gap:10px;padding:10px 12px;display:flex}.chat-strategy{border:1px solid var(--panel-stroke);border-radius:var(--radius-sm);background:#05070f80;align-items:center;gap:6px;padding:3px;display:flex}.chat-strategy-label{letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);padding:0 8px 0 6px;font-size:10px}.chat-strategy-btn{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;padding:4px 10px;font-family:inherit;font-size:10px;transition:all .15s}.chat-strategy-btn:hover:not(:disabled){color:var(--text);background:#7cf0ff0f}.chat-strategy-btn.active{color:var(--accent);background:linear-gradient(135deg,#7cf0ff2e,#c389ff24);border-color:#7cf0ff66;box-shadow:0 0 10px #7cf0ff2e}.chat-strategy-btn:disabled{opacity:.45;cursor:not-allowed}.chat-auto-status{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:8px;font-size:11px;display:flex}.chat-auto-dot{background:var(--text-dim);border-radius:50%;flex-shrink:0;width:8px;height:8px}.chat-auto-dot.running{background:var(--accent);animation:1.4s ease-in-out infinite pulse;box-shadow:0 0 8px #7cf0ffb3}.chat-auto-dot.paused{background:var(--warn);box-shadow:0 0 8px #ffd16699}.chat-auto-dot.done{background:var(--accent-2)}.chat-auto-dot.idle{background:var(--text-faint)}.chat-suggestions{flex-wrap:wrap;gap:6px;display:flex}.chat-chip{letter-spacing:.06em;border:1px solid var(--panel-stroke);color:var(--text-dim);cursor:pointer;background:#141c3c8c;border-radius:999px;padding:6px 10px;font-family:inherit;font-size:11px;transition:all .15s}.chat-chip:hover:not(:disabled){color:var(--accent);background:#7cf0ff1a;border-color:#7cf0ff66}.chat-chip:disabled{opacity:.45;cursor:not-allowed}.chat-messages{border-radius:var(--radius-sm);border:1px solid var(--panel-stroke);background:#05070f80;flex-direction:column;gap:8px;min-height:120px;max-height:360px;padding:10px;display:flex;overflow-y:auto}.chat-empty{color:var(--text-dim);text-align:center;padding:18px 12px;font-size:12px;line-height:1.6}.chat-message{white-space:pre-wrap;word-wrap:break-word;border-radius:8px;flex-direction:column;gap:3px;max-width:88%;padding:8px 10px;font-size:13px;line-height:1.5;animation:.2s ease-out slide-in;display:flex}.chat-message .chat-role{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);font-size:9px}.chat-message.user{background:linear-gradient(135deg,#7cf0ff2e,#c389ff24);border:1px solid #7cf0ff59;align-self:flex-end}.chat-message.user .chat-role{color:var(--accent)}.chat-message.assistant{border:1px solid var(--panel-stroke);background:#12183299;align-self:flex-start}.chat-message.assistant .chat-role{color:var(--accent-2)}.chat-message.action{color:var(--warn);background:#ffd16614;border:1px dashed #ffd16659;align-self:center;max-width:95%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.chat-message.action .chat-role{color:var(--warn)}.chat-cursor{color:var(--accent);margin-left:2px;animation:1s ease-in-out infinite pulse;display:inline-block}.chat-notice{color:var(--text-dim);border-radius:var(--radius-sm);background:#ffd1660f;border:1px solid #ffd16633;padding:8px 10px;font-size:11px;line-height:1.5}.chat-notice.warn{color:var(--warn)}.chat-notice.error{color:var(--danger);background:#ff4d6d14;border-color:#ff4d6d4d}.chat-notice code{border:1px solid var(--panel-stroke);background:#05070f99;border-radius:4px;padding:1px 6px}.chat-form{flex-direction:column;gap:8px;display:flex}.chat-input{color:var(--text);border-radius:var(--radius-sm);border:1px solid var(--panel-stroke);resize:vertical;background:#05070f99;min-height:44px;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.chat-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 14px #7cf0ff40}.chat-input:disabled{opacity:.5;cursor:not-allowed}.chat-actions{justify-content:flex-end;gap:8px;display:flex}.mcp-badge{z-index:20;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);-webkit-backdrop-filter:blur(8px);background:#7cf0ff1f;border:1px solid #7cf0ff66;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:10px;display:flex;position:fixed;top:14px;right:14px;box-shadow:0 0 16px #7cf0ff33}.mcp-badge.off{color:var(--text-dim);border-color:var(--panel-stroke);box-shadow:none;background:#ffffff0a}.mcp-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 8px var(--accent);border-radius:50%;animation:1.8s ease-in-out infinite pulse}.mcp-badge.off .mcp-dot{background:var(--text-dim);box-shadow:none;animation:none}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@keyframes reveal{0%{opacity:.4;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes flag-pop{0%{opacity:0;transform:scale(.4)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes explode{0%{transform:scale(.6)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes detonate{0%{transform:scale(1);box-shadow:0 0 #ff3355e6}50%{transform:scale(1.15);box-shadow:0 0 80px 10px #ff3355e6}to{transform:scale(1);box-shadow:0 0 40px #ff3355e6}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=900px){:root{--cell-size:30px}}@media (width<=640px){:root{--cell-size:26px;--cell-gap:2px}.app{gap:16px;padding:18px 12px 48px}.title{letter-spacing:.16em}.lcd{min-width:56px;padding:5px 10px;font-size:18px}.hud{grid-template-columns:auto auto 1fr auto;gap:12px;padding:12px 14px}.flag-toggle{grid-column:1/-1;justify-content:center;justify-self:stretch}.mcp-badge{padding:4px 8px;font-size:9px;top:8px;right:8px}.overlay-card{padding:24px 28px}.overlay-title{font-size:28px}.chat-messages{max-height:280px}}.error-boundary{text-align:center;color:var(--text-secondary);padding:24px}.error-boundary h2{color:var(--cell-revealed);margin:0 0 8px}.error-boundary p{margin:0 0 16px}.error-boundary details{text-align:left;color:var(--text-dim);font-size:12px}.error-boundary pre{background:var(--bg-cell);border-radius:4px;margin-top:8px;padding:8px;overflow-x:auto}.custom-inputs{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:12px 8px;display:flex}.custom-inputs label{color:var(--text-dim);flex-direction:column;gap:4px;font-size:11px;display:flex}.custom-inputs input{background:var(--bg-cell);border:1px solid var(--border);width:64px;color:var(--text);text-align:center;border-radius:4px;padding:4px 6px;font-size:13px}.custom-inputs input:focus{border-color:var(--accent-blue);outline:none}.custom-inputs .menu-btn{align-self:flex-end;padding:6px 12px}@media (prefers-reduced-motion:reduce){body:before,body:after,.title,.mcp-dot,.chat-dot,.log-title:before,.board-wrap.flag-mode:after{animation:none}}
