:root{color-scheme:dark;--gold:#dfc18a;--ink:#f4edde;--muted:#b6c7bb}*{box-sizing:border-box}body{margin:0;background:#101a16;color:var(--ink);font:15px/1.45 system-ui,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #a68b5666;border-radius:9px;background:linear-gradient(#244c3d,#173a2d);color:var(--ink);min-height:44px;padding:8px 16px;box-shadow:0 2px 3px #0004}button:hover{border-color:var(--gold);filter:brightness(1.13)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fff0ae;outline-offset:3px}button:disabled{opacity:.4;cursor:default}.gold{background:linear-gradient(#edd7a4,#be9756);color:#272418;font-weight:750}h1,h2,h3,p{margin:0}h1{font:36px Georgia,serif;letter-spacing:-1px}h1 em{font-weight:normal;color:var(--gold)}h2{font:30px Georgia,serif;margin:8px 0 18px}h3{color:var(--gold);margin:20px 0 8px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--gold);display:block;margin-bottom:5px}.table{height:100dvh;max-width:1600px;margin:auto;padding:20px 26px 10px;display:flex;flex-direction:column;gap:12px;background:radial-gradient(ellipse at 50% 30%,#185740,#092e24 75%)}header{display:flex;align-items:center;gap:10px}header>div{flex:1}#options{font-size:23px;padding:4px 15px}.status{display:flex;align-items:center;gap:32px;padding:0 12px}.status>div:first-child{flex:1}.status strong{font-weight:650;font-variant-numeric:tabular-nums;display:block;font-size:19px}.status small{display:block;font-size:11px;color:var(--muted)}.board-frame{flex:1;min-height:100px;position:relative;border:14px solid #633321;border-radius:22px;background:repeating-linear-gradient(40deg,#ffffff02 0 1px,transparent 1px 4px),radial-gradient(ellipse,#20664b,#0b382b);box-shadow:0 0 0 1px #c0915760,inset 0 0 0 2px #bd9c57,inset 0 0 60px #001a13bb,0 8px 20px #0005;overflow:hidden;border-image:none}#viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}#viewport.dragging{cursor:grabbing}#board{position:absolute;top:0;left:0;transform-origin:0 0}.tile{position:absolute;width:53px;height:69px;border:1px solid #bcab85;border-radius:6px;background:linear-gradient(125deg,#fffdf0,#eee5ce 80%);box-shadow:1px 2px 0 #baa980,2px 5px 0 #827555,3px 7px 5px #0007;padding:3px 4px 7px;color:#203e35;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;transition:filter .15s,box-shadow .15s;cursor:pointer}.tile img{width:43px;height:48px;pointer-events:none}.tile .cue{font:700 8px/1 system-ui;letter-spacing:.25px;pointer-events:none}.tile.blocked{filter:brightness(.86)}.tile.free.mark{box-shadow:inset 0 0 0 2px #319361,1px 2px 0 #bbaa81,2px 5px 0 #827555,3px 7px 5px #0007}.tile.selected{outline:3px solid #f3b74e;outline-offset:0;box-shadow:0 0 16px #ffde8888,2px 7px 0 #897d58;filter:brightness(1.1)}.tile.hinted{outline:3px dashed #1a70c8;outline-offset:-3px}.tile:focus-visible{outline:3px solid #276bc1;outline-offset:-4px}.tile.easy{background:#fff;color:#091d14}.tile.easy img{height:34px}.tile.easy .cue{font-size:12px}.tile.removing{pointer-events:none;animation:depart .22s ease-out forwards}@keyframes depart{to{opacity:0;transform:translateY(-12px) scale(.88)}}.viewControls{position:absolute;right:10px;bottom:10px;display:flex;gap:5px;z-index:10001}.viewControls button{background:#07271ee8;min-height:38px;padding:5px 12px;font-size:13px}.viewControls button:first-child,.viewControls button:last-child{font-size:20px;min-width:40px}.toolbar{display:flex;justify-content:center;gap:10px}.toolbar button{min-width:125px;font-weight:600}.toolbar span{color:var(--gold);font-size:20px;margin-right:6px}#message{min-height:40px;text-align:center;font-size:13px;color:#e5d9ba;max-width:960px;align-self:center}footer{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}footer>span{flex:1}footer button{padding:2px 8px;min-height:28px;font-size:11px;background:none;border:none;box-shadow:none}#veil{position:absolute;inset:0;background:#0b3028f5;z-index:11000;display:grid;place-items:center;text-align:center}#veil[hidden]{display:none}#veil p{margin-bottom:20px}dialog{background:linear-gradient(135deg,#153e30,#0b241c);color:var(--ink);border:1px solid #b69b64;border-radius:18px;width:min(1020px,94vw);max-height:90dvh;padding:26px;box-shadow:0 20px 80px #000a}dialog::backdrop{background:#05160fc9;backdrop-filter:blur(5px)}.dialogTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.dialogTop button{padding:4px 14px;font-size:22px}.setup{display:flex;gap:12px;margin:18px 0}.setup label{flex:1;font-size:12px;color:var(--muted)}select,input:not([type=checkbox]):not([type=range]){width:100%;background:#082a20;color:var(--ink);border:1px solid #718a69;border-radius:7px;padding:10px;margin-top:5px;min-height:44px}.layouts{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:20px}.layoutCard{text-align:left;padding:12px;display:flex;flex-direction:column}.layoutCard svg{width:100%;height:95px;margin-bottom:10px}.layoutCard strong{font:19px Georgia,serif}.layoutCard small{font-size:10px;color:var(--muted);margin-top:5px}.layoutCard:hover{background:#315d45}.settingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settingsGrid label{display:flex;align-items:center;gap:10px}input[type=checkbox]{width:22px;height:22px;accent-color:#dec18b}input[type=range]{width:130px;accent-color:#dec18b}#settings p{margin:12px 0;color:#d2dfd3}#stats{font-variant-numeric:tabular-nums}#stats table{border-collapse:collapse;width:100%;font-size:12px}#stats td,#stats th{padding:6px;border-bottom:1px solid #ffffff20;text-align:left}#result{width:min(540px,94vw)}#resultActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}#continue{width:100%}body.reduce *,body.reduce *::before{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:700px){.table{padding:10px 8px 7px;gap:8px}h1{font-size:24px}.eyebrow{font-size:8px;letter-spacing:1.4px}header{gap:5px}header button{padding:7px 10px;font-size:12px}#options{font-size:18px;padding:5px 12px}.status{gap:14px;padding:0 5px}.status strong{font-size:15px}.status small{font-size:10px}.status>div:first-child{max-width:45%}#dealName{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.board-frame{border-width:8px;border-radius:14px}.toolbar{gap:5px}.toolbar button{min-width:0;flex:1;padding:7px 2px;font-size:12px;min-height:48px}.toolbar span{display:block;font-size:17px;line-height:18px;margin:0}#message{font-size:12px;min-height:36px;line-height:1.4}footer{gap:2px;font-size:9px}footer button{font-size:10px}.layouts{grid-template-columns:repeat(2,1fr);gap:9px}.layoutCard svg{height:95px}.setup{flex-wrap:wrap}.setup label{min-width:42%}dialog{padding:18px;max-height:94dvh}h2{font-size:26px}.settingsGrid{grid-template-columns:1fr}.viewControls{bottom:8px;right:8px}.viewControls button{min-height:36px}#assist{max-width:55%}}
@media(max-height:550px){.table{gap:4px;padding:5px 10px}header .eyebrow{display:none}h1{font-size:22px}.status strong{font-size:14px}.status small{font-size:9px}.toolbar button{min-height:40px}.toolbar span{display:inline}#message{min-height:18px;font-size:11px}footer{display:none}.board-frame{border-width:6px}}

/* Polished mahogany grain and restrained selected-tile lift. */
.board-frame{border-color:transparent;background:repeating-linear-gradient(40deg,#ffffff02 0 1px,transparent 1px 4px) padding-box,radial-gradient(ellipse,#20664b,#0b382b) padding-box,repeating-linear-gradient(7deg,#603323 0px,#703d29 3px,#50281c 7px,#693922 11px) border-box}.tile.selected{transform:translateY(-3px)}

/* Games navigation uses normal header/menu flow, never the playfield overlay. */
a.return-games{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 10px;box-sizing:border-box;color:inherit;font:600 13px/1.25 system-ui,sans-serif;letter-spacing:normal;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;border-radius:5px}
a.return-games:hover{background:#ffffff14}a.return-games:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.games-navigation{margin:0 0 8px}
