#games-book,#pool-room{box-sizing:border-box;width:min(790px,96vw);max-height:92dvh;overflow:auto;border:0;border-radius:3px;padding:30px 38px 24px 58px;color:#352d2a;background:repeating-linear-gradient(0deg,transparent,transparent 29px,#77603f14 30px),radial-gradient(ellipse at 95% 10%,#92784944,transparent 35%),url('/assets/field-paper.webp') center/cover,#d7c7a7;box-shadow:0 18px 90px #000b,inset 4px 0 20px #47372688;font:17px/1.6 Georgia,serif}#games-book::backdrop,#pool-room::backdrop{background:#0b0914cb;backdrop-filter:blur(5px)}.book-top{display:flex;justify-content:space-between;gap:16px;align-items:center}.book-top small,.book-foot,#book-page>small{font:11px/1.6 monospace;letter-spacing:.09em}#games-book h2,#pool-room h2{font:italic 42px/1.1 Georgia;margin:25px 0 14px}#games-book button,#pool-room button{background:#cbb99a;color:#382c2e;border:1px solid #79664d;padding:9px 12px;font:13px monospace;cursor:pointer;box-shadow:1px 2px 0 #6c594945}#games-book button:active,#pool-room button:active{transform:translateY(2px);box-shadow:none}#games-book nav{display:flex;gap:7px;flex-wrap:wrap;border-bottom:2px solid #665040;padding-bottom:14px;margin-bottom:24px}#games-book nav button[aria-pressed=true]{background:#65404a;color:#fff0d8}#games-book input{background:#e5d5b6;color:#332b29;border:1px solid #8e785b;padding:9px;font:20px monospace}#games-book label{display:block;font-size:14px}#book-page form{margin:20px 0}#book-page [role=status]{min-height:2em;font-style:italic}.book-foot{border-top:1px solid #77634f;padding-top:14px}.word-grid{display:grid;grid-template-columns:repeat(5,44px);gap:6px;justify-content:center;margin:20px}.word-grid span{height:44px;display:grid;place-items:center;border:1px solid #8b775e;font:bold 24px monospace;background:#e0cfb0}.word-grid .exact{background:#3e3544;color:#fff0d5}.word-grid .present{outline:3px solid #694451;outline-offset:-4px}.word-grid .absent{background:#b5aa96;color:#4c4540}.word-list{max-height:140px;overflow:auto;font:13px/1.8 monospace}.sudoku-grid{display:grid;grid-template-columns:repeat(9,1fr);max-width:405px;margin:20px auto;border:2px solid #55483c}.sudoku-grid input{box-sizing:border-box;width:100%;min-width:0;height:44px;text-align:center;border:1px solid #a58c6c!important;padding:0!important;border-radius:0}.sudoku-grid input[readonly]{color:#29221f!important;font-weight:bold;background:#cbb99a!important}.sudoku-grid input.box-right{border-right:3px solid #55483c!important}.sudoku-grid input.box-bottom{border-bottom:3px solid #55483c!important}.sudoku-grid input.conflict{background:#e7b6ad!important;color:#82232d!important}.sudoku-grid input:focus{outline:3px solid #6b4a67;z-index:1}.tile-rack{display:flex;justify-content:center;gap:7px;margin:35px 0;flex-wrap:wrap}.tile-rack span{font:30px Georgia;background:linear-gradient(120deg,#e6c68e,#ba935f);border:1px solid #9a754e;box-shadow:2px 4px 0 #816345;padding:10px;transform:rotate(-2deg);color:#362c27}.tile-rack span:nth-child(even){transform:rotate(2deg)}.tile-rack sub{font:11px monospace}.laid-words{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.laid-words span{border-bottom:1px solid #6b5846;font:16px monospace}#pool-room{background:#24202b;color:#e9dcc8;padding:28px;width:min(900px,96vw)}#pool-room canvas{display:block;width:100%;height:auto;touch-action:none;margin:16px 0;border-radius:10px}#pool-room h2{color:#e9dcc8}.pool-controls{display:flex;gap:15px;flex-wrap:wrap;align-items:center}.pool-controls label{font:12px monospace;display:grid;gap:5px}.pool-controls input{accent-color:#b5a1c5}#pool-status{min-height:3em}.book-actions{display:flex;gap:10px}button:focus-visible{outline:3px solid #b3a1cb;outline-offset:3px}@media(max-width:500px){#games-book{padding:20px}.book-top{align-items:start}.book-top small{max-width:150px}.sudoku-grid input{height:36px!important;font-size:18px!important}.word-grid{grid-template-columns:repeat(5,38px)}.word-grid span{height:38px}.tile-rack{gap:4px}.tile-rack span{padding:7px}.pool-controls label{width:44%}}@media(prefers-reduced-motion:no-preference){#games-book[open]{animation:book-open .22s ease-out}@keyframes book-open{from{opacity:0;transform:translateY(10px) rotate(-1deg)}to{opacity:1;transform:none}}}
