:root{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#17243b;background:#f6f8fd}*{box-sizing:border-box}body{margin:0}main{max-width:1100px;margin:auto;padding:22px 16px 60px}header{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:22px}h1{margin:0;font-size:clamp(2rem,5vw,3.3rem)}header p{margin:6px 0;color:#52627e}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.14em;color:#7858ba}button,select{font:inherit;border-radius:10px;border:1px solid #aab8d0;background:white;color:#14223c;padding:10px 15px;cursor:pointer}button:hover{border-color:#7358b4}button:focus-visible,select:focus-visible{outline:3px solid #e7a634;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#6245a8;color:white;border-color:#6245a8;font-weight:700}.toolbar,.views,.tools{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.toolbar{margin-bottom:18px}.toolbar label{font-weight:700}.badge{padding:9px 12px;border-radius:10px;background:#e9e2fb;font-weight:700}.layout{display:grid;grid-template-columns:minmax(0,650px) minmax(240px,1fr);gap:20px}.game,.card{background:#fff;border:1px solid #d8dfed;border-radius:20px;padding:18px;box-shadow:0 5px 22px #17243b0b}.game{min-width:0}.views{margin-bottom:15px}.views button[aria-pressed=true],.tools button[aria-pressed=true]{background:#e8ddff;border-color:#6245a8;font-weight:800}#board{--n:5;display:grid;grid-template-columns:repeat(var(--n),1fr);width:min(100%,520px);aspect-ratio:1;overflow:hidden;border:3px solid #283148;border-radius:9px;background:#283148;gap:1px;touch-action:manipulation}#board button{padding:0;border:0;border-radius:0;background:var(--region);font-size:clamp(18px,5vw,37px);line-height:1;display:grid;place-items:center;position:relative;min-width:0;min-height:0}#board button.edge-r{border-right:3px solid #283148}#board button.edge-b{border-bottom:3px solid #283148}#board button.hinted{box-shadow:inset 0 0 0 5px #d78612}#board button.conflict{box-shadow:inset 0 0 0 5px #d02d48}#board button.crossed{color:#647187;font-size:clamp(17px,4vw,29px)}#board button:focus-visible{outline:4px solid #0b6571;outline-offset:-5px;z-index:1}#progress{font-weight:700;color:#485a77}.tools{margin-top:12px}.card+.card{margin-top:15px}.card h2{font-size:1.2rem;margin:0 0 8px}.card p{line-height:1.6}.small{color:#52627e;font-size:.91rem}#hint{margin-top:7px}#hintBox{border-left:4px solid #d78612;padding:1px 0 8px 14px;margin-top:14px;background:#fff9ed}#hintBox[hidden]{display:none}.confirm{background:#fff4d9;border:1px solid #d4a532;border-radius:14px;padding:12px 16px;margin:0 0 16px}.confirm[hidden]{display:none}.confirm p{margin:0 0 10px;font-weight:700}.confirm button{margin-right:8px}@media(max-width:780px){.layout{grid-template-columns:1fr}header{align-items:center}#board{margin:auto}.game,.card{padding:14px}}@media(max-width:420px){main{padding:13px 9px 40px}header{display:block}header select{margin-top:8px}.views button,.tools button{padding:8px 10px}}

#board{border-color:#17243b;background:#17243b;gap:2px}
#board button.edge-r{border-right:4px solid #17243b}
#board button.edge-b{border-bottom:4px solid #17243b}
#board button .region-index{position:absolute;top:5px;left:5px;display:grid;place-items:center;width:19px;height:19px;border:1px solid #273752;border-radius:5px;background:#ffffffe0;color:#17243b;font:800 12px/1 system-ui,-apple-system,Segoe UI,Arial,sans-serif}
#board button .cell-symbol{position:relative;z-index:1}
@media(max-width:420px){#board button .region-index{top:2px;left:2px;width:15px;height:15px;font-size:10px}}
