*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}#app{min-height:100%;display:flex;align-items:flex-start;justify-content:center;padding:16px}.game{width:min(94vw,560px);display:flex;flex-direction:column;gap:14px}.crumb{font-size:14px}.crumb a{color:var(--accent);text-decoration:none;font-weight:700}.crumb a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.title{font-size:clamp(30px,9vw,48px);font-weight:800;line-height:1;letter-spacing:-1px}.scores{display:flex;gap:8px}.score-box{background:var(--board-bg);color:var(--accent-text);border-radius:6px;padding:6px 14px;text-align:center;min-width:68px}.score-box .label{font-size:11px;text-transform:uppercase;letter-spacing:1px;opacity:.85;font-weight:700}.score-box .value{font-size:20px;font-weight:800;line-height:1.1}.rowtools{display:flex;align-items:center;justify-content:space-between;gap:10px}.sizes{display:flex;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:4px}.seg{border:none;background:transparent;color:var(--text);font-weight:700;font-size:14px;padding:10px 14px;border-radius:6px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s ease,color .12s ease}.seg.on{background:var(--accent);color:var(--accent-text)}.board-scroll{overflow-x:auto;padding-bottom:4px;display:flex;justify-content:safe center}.puzzle{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;gap:4px;width:max-content;--ink: var(--text)}.corner{grid-column:1;grid-row:1}.colclues{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(var(--cols),var(--cell))}.colclue{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:1px;padding-bottom:4px;min-height:calc(var(--cell) * 1.6);font-size:calc(var(--cell) * .5);font-weight:700;line-height:1.05;color:var(--text)}.colclue.done{color:var(--muted)}.rowclues{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(var(--rows),var(--cell))}.rowclue{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:6px;padding-right:6px;min-width:calc(var(--cell) * 1.6);font-size:calc(var(--cell) * .5);font-weight:700;color:var(--text)}.rowclue.done{color:var(--muted)}.cells{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(var(--cols),var(--cell));grid-template-rows:repeat(var(--rows),var(--cell));gap:1px;background:var(--line);outline:2px solid var(--board-bg)}.cell{width:var(--cell);height:var(--cell);background:var(--cell-bg);border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell) * .5);color:var(--muted);transition:background 60ms ease}.cell.on{background:var(--ink);animation:nonoPop .13s ease}@keyframes nonoPop{0%{transform:scale(.68)}to{transform:scale(1)}}.cell:hover:not(.on){filter:brightness(1.05)}.cell:active:not(.on){filter:brightness(.94)}.controls{display:flex;align-items:center;justify-content:space-between;gap:10px}.how{font-size:12px;opacity:.85;flex:1}.how b{font-weight:700}.btn{background:var(--accent);color:var(--accent-text);border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:filter .12s ease}.btn:hover{filter:brightness(1.05)}.btn.ghost{background:transparent;color:var(--accent);border:2px solid var(--accent);padding:9px 16px;min-width:96px;text-align:center}.btn.ghost.marking{background:var(--accent);color:var(--accent-text)}.game{position:relative}.overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px;background:var(--overlay-bg);z-index:10;opacity:0;pointer-events:none;transition:opacity .2s ease}.overlay.show{opacity:1;pointer-events:auto}.overlay .msg{font-size:clamp(28px,9vw,44px);font-weight:800;color:var(--accent)}.overlay .sub{font-size:15px;opacity:.85}.overlay .actions{margin-top:8px}
