:root{--text:#eceaf2;--text-dim:#a5a3af;--bg:#121218;--surface:#1c1c24;--border:#33333e;--accent:#8a63ff;--accent-hover:#9d7bff;--accent-contrast:#fff;--danger:#ff6b6b;--black-cell:#050506;--diagonal-bg:#2c2140;--diagonal-border:#7c5cff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}:root[data-theme=light]{--text:#2b2b33;--text-dim:#6b6b76;--bg:#f6f5f8;--surface:#fff;--border:#dcdae2;--accent:#6d3bff;--accent-hover:#5a2ee6;--accent-contrast:#fff;--danger:#d63d3d;--black-cell:#1b1b1f;--diagonal-bg:#efe6ff;--diagonal-border:#b79dff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0}#root{flex-direction:column;min-height:100svh;display:flex}button{font:inherit;cursor:pointer}input,textarea{font:inherit}h1,h2,h3{margin:0 0 .5em}.clue-panel{grid-template-columns:1fr 1fr;align-items:start;gap:20px;width:100%;display:grid}@media (width<=640px){.clue-panel{grid-template-columns:1fr}}@media (width>=900px){.clue-panel{flex:1}}.clue-group{background:var(--surface);box-shadow:none;border:1px solid var(--border);border-radius:16px;padding:16px}:root[data-theme=light] .clue-group{border:none;box-shadow:0 8px 24px #6d3bff14}.clue-group h3{text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin:0 0 10px;font-size:13px;font-weight:700}.clue-group ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.clue-row{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s;display:flex}.clue-row:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 6px 16px #6d3bff29}.clue-row-active{border-color:var(--accent);background:var(--diagonal-bg);box-shadow:inset 0 0 0 1px var(--accent)}@keyframes clueSolvedPop{0%{opacity:.7;transform:scale(.96)}60%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.clue-row-solved{background:#14532d;border-color:#22c55e;animation:.25s clueSolvedPop}:root[data-theme=light] .clue-row-solved{background:#dcfce7;border-color:#22c55e}.clue-row-solved:before{content:"✓";color:#16a34a;flex-shrink:0;font-weight:700}.clue-row-solved .clue-text{color:var(--text-dim);text-decoration:line-through}.clue-number{background:var(--accent);min-width:24px;height:24px;color:var(--accent-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.clue-text{flex:1;min-width:0}:root[data-theme=light] .clue-row:not(.clue-row-solved) .clue-text{color:#000}.clue-length{color:var(--text-dim);font-size:13px}.tutorial-overlay{z-index:10;background:#00000080;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.tutorial-card{background:var(--surface);border-radius:16px;flex-direction:column;gap:18px;width:100%;max-width:560px;max-height:85vh;padding:24px 28px 28px;animation:.3s cubic-bezier(.34,1.56,.64,1) cardPop;display:flex;overflow-y:auto;box-shadow:0 12px 40px #0000004d}.tutorial-header{justify-content:space-between;align-items:center;display:flex}.tutorial-header h2{margin:0;font-size:21px}.tutorial-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:24px;line-height:1}.tutorial-close:hover{color:var(--text);background:var(--border)}.tutorial-sections{flex-direction:column;gap:16px;margin:0;display:flex}.tutorial-section{background:var(--bg);border-radius:10px;padding:12px 14px}.tutorial-section dt{color:var(--accent);align-items:center;gap:8px;margin-bottom:4px;font-size:15px;font-weight:700;display:flex}.tutorial-emoji{font-size:18px}.tutorial-section dd{color:var(--text);margin:0;font-size:14px;line-height:1.5}.tutorial-done{align-self:center;padding:12px 32px;font-size:15px}.play-screen{flex-direction:column;flex:1;align-items:center;gap:16px;padding:16px;display:flex;position:relative}.play-screen:before{content:"";background:radial-gradient(circle, var(--accent) 0%, transparent 70%);opacity:.1;pointer-events:none;z-index:0;width:640px;height:640px;position:absolute;top:-220px;left:50%;transform:translate(-50%)}.site-title,.top-bar,.play-header,.play-body,.play-footer{z-index:1;position:relative}.site-title{letter-spacing:-.5px;text-align:center;justify-self:center;margin:0;font-size:28px;font-weight:700}.site-title .white-text{color:var(--text)}.site-title .accent-text{color:var(--accent)}.top-bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;width:100%;max-width:1320px;display:grid}.top-bar .tutorial-button{justify-self:start}.top-bar .theme-toggle{justify-self:end}.theme-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:18px;display:flex}.play-header{flex-direction:column;gap:8px;width:100%;max-width:1320px;display:flex}.puzzle-title{letter-spacing:.2px;text-align:center;color:var(--text);margin:0;font-size:16px;font-weight:600}:root[data-theme=light] .puzzle-title,:root[data-theme=light] .play-hint,:root[data-theme=light] .reveal-toggle{color:#000}.puzzle-title-solved,:root[data-theme=light] .puzzle-title-solved{letter-spacing:1px;color:#16a34a;text-shadow:0 2px 14px #16a34a80;font-size:24px;font-weight:700}.play-subrow{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.play-hint{color:var(--text);text-align:center;flex:100%;margin:0;font-size:13px}@media (width>=900px){.play-hint{flex:0 0 640px}}.play-footer{color:var(--text-dim);text-align:center;margin-top:8px;font-size:13px}.reveal-toggle{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:600;display:flex}.switch{flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch-track{background:var(--border);border-radius:999px;transition:background .15s;position:absolute;inset:0}.switch-track:before{content:"";background:var(--surface);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:before{transform:translate(16px)}.play-body{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:900px;display:flex}@media (width>=900px){.play-body{flex-direction:row;justify-content:flex-start;align-items:flex-start;max-width:1320px}}.grid-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;justify-content:center;width:100%;padding:20px;display:flex;box-shadow:0 16px 40px #00000059}:root[data-theme=light] .grid-card{border:none;box-shadow:0 16px 40px #6d3bff24}@media (width>=900px){.grid-card{flex:none;width:640px}}.grid{--size:10;--cell:calc(min(100cqw, 680px) / var(--size));grid-template-columns:repeat(var(--size), 1fr);grid-template-rows:repeat(var(--size), 1fr);aspect-ratio:1;border:2px solid var(--border);border-radius:8px;flex:none;width:min(100%,680px);display:grid;overflow:hidden;container-type:inline-size}.cell{font-weight:600;font-size:clamp(8px, calc(var(--cell) * .42), 96px);color:#1a1a1a;-webkit-user-select:none;user-select:none;cursor:pointer;touch-action:manipulation;background:#fdfdfb;border:1px solid #b8b8b8;justify-content:center;align-items:center;transition:background-color .15s,outline-color .15s;display:flex;position:relative}.cell-number{font-size:clamp(6px, calc(var(--cell) * .2), 28px);color:#55524f;font-weight:700;position:absolute;top:1px;left:2px}.cell-black{cursor:default;background:#1a1a1a}.cell-diagonal{outline-offset:-2px;background:#efe6ff;outline:2px solid #8b5cf6}.cell-diagonal-solved{outline-offset:-2px;color:#14532d;background:#d6f7de;outline:2px solid #22c55e;animation:.4s cellPop}.cell-run{box-shadow:inset 0 0 0 999px #22d3ee59}.cell-cursor{outline-offset:-3px;outline:3px solid #06b6d4;animation:1s step-end infinite cursor-blink;box-shadow:inset 0 0 0 999px #22d3ee8c}@keyframes cursor-blink{0%,49%{outline-color:#06b6d4}50%,to{outline-color:#0000}}.cell-arrow{color:#1e40af;font-size:clamp(8px,2.2vw,13px);line-height:1;position:absolute}.cell-arrow-across{top:50%;right:2px;transform:translateY(-50%)}.cell-arrow-down{bottom:1px;left:50%;transform:translate(-50%)}.hidden-typing-input{opacity:0;pointer-events:none;border:none;width:1px;height:1px;padding:0;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cardPop{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes cellPop{0%{opacity:.6;transform:scale(.85)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.btn-primary,.btn-secondary{border:1px solid #0000;border-radius:8px;padding:10px 18px;font-weight:600}.btn-primary{background:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{border-color:var(--border);color:var(--text);background:0 0}.status-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px;display:flex;position:relative;overflow:hidden}.status-screen:before{content:"";background:radial-gradient(circle, var(--accent) 0%, transparent 70%);opacity:.16;pointer-events:none;width:720px;height:720px;position:absolute;top:-260px;left:50%;transform:translate(-50%)}.status-hero{position:relative}.status-badge{background:var(--diagonal-bg);border:2px solid var(--diagonal-border);border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:20px;font-size:32px;display:inline-flex}.status-hero h1{letter-spacing:-.5px;margin:0 0 10px;font-size:34px;font-weight:700}.white-text{color:var(--text)}.accent-text{color:var(--accent)}.status-tagline{color:var(--text-dim);margin:56px 0 0;font-size:15px}
