*{box-sizing:border-box}body{margin:0;background:#f1f0e7;color:#193b37;font:16px/1.6 system-ui,sans-serif}main{max-width:720px;margin:auto;padding:28px 24px 36px}.brand{font-size:11px;font-weight:800;letter-spacing:.18em;display:flex;justify-content:space-between;border-bottom:1px solid #bbc9ba;padding-bottom:10px}h1{font-family:Georgia,serif;font-size:clamp(46px,9vw,76px);line-height:1.1;font-weight:400;margin:24px 0 8px;letter-spacing:-.05em}h1 span{float:right;color:#758c60;font-family:system-ui;font-size:.8em}.intro{font-family:Georgia,serif;font-style:italic;font-size:24px;margin:0}header>p:last-child{color:#546b60;font-size:14px;margin:12px 0 26px}.toolbar,.stats{display:flex;justify-content:space-between;align-items:center;gap:10px}.toolbar{font-size:13px;margin-bottom:14px}select,button{font:inherit;color:inherit}select{max-width:230px;padding:8px;border:1px solid #bcc9b7;background:#fffdf4;border-radius:7px}.game{background:#fffdf5;border:1px solid #c2cdbb;border-radius:22px;padding:20px;box-shadow:0 10px 35px #163c3809}.stats{font-size:13px;margin:0 2px 16px;color:#5c715f}.stats b{color:#193b37;font-size:20px}#board{display:grid;gap:5px;aspect-ratio:1;width:100%;touch-action:manipulation}button{border:1px solid #b9c6b1;background:#ebefe1;border-radius:9px;cursor:pointer;min-height:42px;transition:background .15s,box-shadow .15s}button:hover{background:#d8e4c8}button:focus-visible,select:focus-visible{outline:3px solid #d49b2b;outline-offset:2px}button:disabled{cursor:default;opacity:.4}.tile{min-height:0;position:relative;font-size:clamp(18px,4vw,32px);font-family:Georgia,serif;background:#f0e9d9;border-color:#d7ceba;box-shadow:inset 0 -3px 0 #00000008}.tile.home{background:#dcebbf;border-color:#bfd19c}.tile.selected{outline:2px solid #427c71;outline-offset:-4px}.tile small{position:absolute;top:2px;left:6px;font:9px system-ui;color:#758374}.shift{min-height:0;background:#1b4942;border:0;color:#f1f6d8;font-size:24px}.shift:hover{background:#326659}.shift.hinted{background:#b5711c;box-shadow:0 0 0 3px #f0c96e}.ghost{visibility:hidden}#message{font-size:14px;min-height:54px;padding:12px 0 6px;font-weight:650}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;font-size:12px}.actions button{padding:8px 4px}#next{background:#dcebbf}.guide{padding:18px 4px;font-size:13px;color:#546b60}.guide h2{font:24px Georgia,serif;color:#193b37;margin:12px 0}.guide p{margin:10px 0}footer{border-top:1px solid #c5cebc;padding-top:16px;font-size:11px;color:#637561}a{color:inherit}#board.moving .tile{animation:arrive .22s ease-out}@keyframes arrive{from{transform:scale(.91);filter:brightness(1.1)}to{transform:scale(1);filter:brightness(1)}}@media(max-width:480px){main{padding:18px 12px}.game{padding:12px;border-radius:16px}#board{gap:4px}.shift{font-size:21px}.tile{font-size:22px}select{max-width:192px}.actions{grid-template-columns:repeat(2,1fr)}.toolbar{font-size:12px}.tile small{font-size:8px;left:4px}.guide{padding:12px 3px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}