*{box-sizing:border-box}body{margin:0;background:#f4f0e7;color:#293b42;font:15px/1.5 system-ui,sans-serif}main{max-width:1100px;margin:auto;padding:44px 32px 24px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:750;color:#7a817a}h1{font:normal clamp(44px,7vw,72px)/1.15 Georgia,serif;margin:15px 0 10px}h1 i{color:#c56d5e}header p{color:#78817d;margin-bottom:35px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:60px}button,select{font:inherit;cursor:pointer;color:inherit;border:1px solid #d6d7cf;background:#fffdf7;border-radius:8px;padding:10px 14px}button:hover{background:#e9e9df}button:focus-visible,select:focus-visible{outline:3px solid #ae802b;outline-offset:3px}button:disabled{opacity:.4;cursor:default}.primary{background:#2c454d;color:white;border-color:#2c454d}.primary:hover{background:#43606a}.toolbar{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:18px}.toolbar label{font-size:9px;font-weight:750;letter-spacing:.13em;display:flex;flex-direction:column;gap:6px}select{font-size:12px;letter-spacing:0;font-weight:500}.toolbar button{font-size:12px}.board-card{background:#fffdf8;border:1px solid #dadbd1;border-radius:14px;box-shadow:0 12px 35px #283b4208;overflow:hidden}.board-head,.board-foot{display:flex;justify-content:space-between;padding:14px 20px;font-size:11px;color:#7e857e}.board-head{border-bottom:1px solid #eeeae0;letter-spacing:.09em;font-weight:650}.board-foot{border-top:1px solid #eeeae0;font-size:10px}.shell{padding:22px;position:relative}#grid{display:grid;gap:7px;grid-template-columns:repeat(var(--size),1fr)}#grid button{aspect-ratio:1;padding:0;border:0;border-radius:8px;position:relative;background:#ecece4;font-size:clamp(14px,2.5vw,27px);font-weight:600;box-shadow:inset 0 -3px #00000009;transition:background .12s,transform .12s}#grid button:hover{transform:translateY(-2px)}#grid button.coral,.coral{background:#d98572;color:#6d302a}#grid button.blue,.blue{background:#79a6b5;color:#244a5c}#grid button.fixed:after{content:'•';position:absolute;bottom:0;right:6px;font-size:15px;color:#fff9}#grid button.fixed{cursor:default}#grid button.hinted{outline:3px solid #ae802b;outline-offset:-3px}#grid button:focus-visible{outline:3px solid #243d49;outline-offset:2px;z-index:1}.controls{display:flex;gap:10px;margin-top:18px}.controls button{flex:1;font-size:12px}#message{min-height:45px;font-size:13px;color:#556c60}aside{padding-top:8px}h2{font:normal 29px/1.3 Georgia,serif;margin:12px 0 22px}ol{padding-left:23px;margin:0}li{padding-left:8px;margin-bottom:23px}li::marker{font:italic 19px Georgia,serif;color:#a19071}li b{font-size:14px}li p{font-size:13px;color:#7a837e;margin:6px 0}.example{display:flex;gap:4px;margin-top:13px}.example span{width:30px;height:30px;border-radius:4px;display:grid;place-items:center}.stat{border-top:1px solid #d6d9ce;border-bottom:1px solid #d6d9ce;display:flex;align-items:center;gap:20px;padding:16px 0;margin:25px 0}.stat strong{font:38px Georgia,serif;color:#c56d5e}.stat span{font-size:11px;color:#7a837e}details{font-size:12px;color:#7a837e}summary{cursor:pointer;font-weight:600;color:#354b53}footer{border-top:1px solid #d6d9ce;font-size:11px;color:#899086;margin-top:25px;padding-top:20px}a{color:inherit}#veil{position:absolute;inset:0;background:#f7f5ed;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}#veil[hidden]{display:none}#veil strong{font:32px Georgia,serif}dialog{max-width:90vw;width:360px;background:#fffdf7;border:1px solid #dadbd1;border-radius:16px;padding:26px;color:#293b42}dialog::backdrop{background:#293b4270}dialog button{font-size:13px}dialog h2{margin:5px 0}dialog p{margin-bottom:24px}@media(max-width:750px){main{padding:26px 16px}.layout{grid-template-columns:1fr;gap:8px}header p{font-size:13px;margin-bottom:24px}h1{font-size:52px}.shell{padding:14px}#grid{gap:5px}#grid button{font-size:22px;border-radius:6px}#grid[data-size="8"] button{font-size:16px}.toolbar select{max-width:210px;padding:10px}.board-foot{padding:12px 14px}aside{padding:18px 4px}aside ol{display:block}.stat{margin:18px 0}.controls{gap:6px}footer{margin-top:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(min-width:751px){main{max-width:940px;padding-top:26px}.layout{grid-template-columns:minmax(0,1fr) 250px;gap:40px}h1{font-size:60px}header p{margin-bottom:24px}.shell{padding:16px}}
