:root{color-scheme:light;--bg: #08141c;--panel: rgba(8, 27, 36, .88);--panel-strong: #0f2430;--border: rgba(128, 187, 194, .24);--text: #ebf3f1;--muted: #95acb0;--accent: #8be2d1;--warning: #efc973;--danger: #ff7f7f;--shadow: 0 28px 80px rgba(0, 0, 0, .32);font-family:IBM Plex Sans JP,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,rgba(35,124,141,.24),transparent 42%),linear-gradient(180deg,#09131b,#071018);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}pre{margin:0;white-space:pre-wrap;word-break:break-word}.shell{width:min(1440px,calc(100vw - 32px));margin:0 auto;padding:32px 0 48px}.hero{margin-bottom:24px}.hero h1{margin:0 0 8px;font-family:Aptos Display,Trebuchet MS,sans-serif;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:.02em}.eyebrow{margin:0 0 10px;color:var(--accent);font-size:.85rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.lede{max-width:72ch;margin:0;color:var(--muted);line-height:1.7}.layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr);gap:20px}.sidebar{display:grid;gap:20px;align-content:start}.panel{border:1px solid var(--border);border-radius:20px;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:20px}.panel h2{margin:0 0 14px;font-size:1.1rem}.panel-header{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:14px}.panel-note{margin:8px 0 0;color:var(--muted);line-height:1.6}.run-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;justify-content:end}.field{display:grid;gap:6px;min-width:180px}.field span,.field-label{color:var(--muted);font-size:.85rem}.field-input{border:1px solid rgba(139,226,209,.22);border-radius:12px;background:#ffffff0a;color:var(--text);padding:10px 12px}.preset-strip{margin-bottom:14px;color:var(--warning);font-family:Cascadia Code,IBM Plex Mono,monospace;font-size:.92rem}.preset-selector,.comparison-switches{display:grid;gap:8px;margin-bottom:14px}.comparison-switch-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.preset-group{display:flex;gap:10px;flex-wrap:wrap}.preset-button{border-radius:16px;border:1px solid rgba(139,226,209,.18);background:#ffffff0a;color:var(--text);padding:12px 14px;text-align:left;transition:transform .14s ease,border-color .14s ease,background-color .14s ease}.preset-button--active{border-color:#8be2d18f;background:#8be2d124}.preset-button:hover{transform:translateY(-1px)}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.tool-group{display:flex;gap:10px;flex-wrap:wrap}.primary-button,.ghost-button,.mode-button{border-radius:999px;padding:10px 14px;border:1px solid transparent;transition:transform .14s ease,border-color .14s ease,background-color .14s ease}.primary-button{background:linear-gradient(135deg,var(--accent),#6bc6c7);color:#05202a;font-weight:700}.ghost-button,.mode-button{background:#ffffff0a;border-color:#8be2d12e;color:var(--text)}.mode-button--active{background:#8be2d12e;border-color:#8be2d17a}.primary-button:hover,.ghost-button:hover,.mode-button:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled,.mode-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.message{min-height:50px;margin-bottom:16px;padding:12px 14px;border-radius:14px;background:#ffffff0a;color:var(--text);line-height:1.6}.choice-panel{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px;padding:16px;border:1px solid rgba(239,201,115,.35);border-radius:18px;background:#efc97314}.choice-panel p{margin:6px 0 0;color:var(--muted)}.choice-actions{display:flex;gap:10px}.board{display:grid;grid-template-columns:repeat(var(--board-columns, 10),minmax(0,1fr));gap:8px}.board--compact{width:fit-content;grid-template-columns:repeat(var(--board-columns, 3),clamp(72px,24vw,112px))}.board--slice{width:fit-content;grid-template-columns:repeat(var(--board-columns, 5),clamp(60px,16vw,96px))}.cell{aspect-ratio:1;display:grid;grid-template-rows:1fr auto;align-items:center;justify-items:center;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:var(--panel-strong);color:var(--text);padding:6px}.cell--hidden{background:linear-gradient(180deg,rgba(255,255,255,.06),transparent),#0e232eeb}.cell--revealed{background:#ffffff14}.cell--safe.cell--revealed{border-color:#86d9a247}.cell--hazard.cell--revealed{border-color:#ff7f7f5c;color:var(--danger)}.cell--return.cell--revealed{border-color:#efc97399;color:var(--warning)}.cell--marked{box-shadow:inset 0 0 0 1px #efc9736b}.cell:disabled{cursor:default}.cell-symbol{font-family:Cascadia Code,IBM Plex Mono,monospace;font-size:clamp(1rem,1.8vw,1.25rem);font-weight:700}.cell-footer{font-family:Cascadia Code,IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.06em;color:var(--muted)}.status-grid{display:grid;grid-template-columns:max-content 1fr;gap:10px 14px;margin:0}.status-grid dt{color:var(--muted)}.status-grid dd{margin:0;font-family:Cascadia Code,IBM Plex Mono,monospace}.result-screen,.log-screen{border-radius:16px;background:#02070a8f;padding:14px;font-family:Cascadia Code,IBM Plex Mono,monospace;line-height:1.65}.log-screen{max-height:460px;overflow:auto;font-size:.85rem}.app-shell{padding-top:32px}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.mode-card{display:grid;gap:16px;align-content:start}.mode-card--primary{border-color:#8be2d161}.mode-card-tag{margin:0;color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.mode-actions{display:flex;gap:12px;flex-wrap:wrap}.developer-shell-wrapper{padding-top:32px}.developer-shell-header{display:flex;justify-content:space-between;gap:24px;align-items:start;margin-bottom:24px}.challenge-intro-card,.challenge-summary-card{display:grid;gap:20px}.challenge-shell .hero{margin-bottom:18px}.challenge-board-panel{display:grid;gap:16px}.challenge-hud{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.challenge-hud--summary{margin-bottom:4px}.hud-card{border:1px solid rgba(139,226,209,.18);border-radius:16px;background:#ffffff0a;padding:14px 16px}.hud-card--danger{border-color:#ff7f7f66;background:#ff7f7f14}.hud-label{display:block;margin-bottom:8px;color:var(--muted);font-size:.82rem}.hud-value{font-family:Cascadia Code,IBM Plex Mono,monospace;font-size:1.3rem}.challenge-message,.challenge-panel{margin-bottom:0}.challenge-panel--danger{border-color:#ff7f7f73;background:#ff7f7f14}.challenge-board .cell{grid-template-rows:1fr}.challenge-status-grid{display:grid;gap:12px;margin:0}.challenge-status-grid div{display:grid;gap:4px}.challenge-status-grid dt{color:var(--muted);font-size:.84rem}.challenge-status-grid dd{margin:0;line-height:1.6}.challenge-rule-list{display:grid;gap:10px;margin:0;padding-left:20px;line-height:1.7}.challenge-rule-list--compact{gap:8px;font-size:.95rem}.challenge-summary-section{display:grid;gap:12px}.challenge-summary-section h2{margin:0}.challenge-summary-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.challenge-attempt-history{display:grid;gap:10px;margin:0;padding-left:20px}.challenge-attempt-history li{border:1px solid rgba(139,226,209,.14);border-radius:14px;background:#ffffff08;padding:12px 14px;line-height:1.6}.challenge-share-feedback{margin:0}.challenge-share-summary{width:100%;min-height:250px;border:1px solid rgba(139,226,209,.18);border-radius:16px;background:#02070a8f;color:inherit;padding:14px;resize:vertical;font-family:Cascadia Code,IBM Plex Mono,monospace;font-size:.92rem;line-height:1.65}.challenge-feedback-form{display:grid;gap:12px}.challenge-feedback-label{color:var(--muted);font-size:.92rem}.challenge-feedback-select,.challenge-feedback-comment{width:100%;border:1px solid rgba(139,226,209,.18);border-radius:16px;background:#02070a8f;color:inherit;padding:12px 14px}.challenge-feedback-comment{min-height:120px;resize:vertical;line-height:1.6}.challenge-feedback-actions{display:flex;justify-content:space-between;gap:16px;align-items:end}.challenge-feedback-status{margin:0}@media(max-width:1100px){.layout,.mode-grid{grid-template-columns:1fr}}@media(max-width:720px){.shell{width:min(100vw - 20px,100%);padding-top:20px}.panel{padding:16px;border-radius:18px}.panel-header,.choice-panel,.challenge-summary-header{flex-direction:column}.challenge-feedback-actions{flex-direction:column;align-items:stretch}.run-controls,.choice-actions,.toolbar,.tool-group,.preset-group,.mode-actions{width:100%}.run-controls>*,.choice-actions>*,.tool-group>*,.preset-group>*,.toolbar>*,.mode-actions>*{flex:1 1 auto}.challenge-hud{grid-template-columns:1fr}.developer-shell-header{flex-direction:column}.comparison-switch-grid{grid-template-columns:1fr}.field{min-width:0}.board{gap:6px}.board--slice{width:auto;grid-template-columns:repeat(var(--board-columns, 5),minmax(0,1fr))}}
