@font-face{font-family:"Source Serif 4";src:url(/source-serif.otf) format("opentype");font-style:normal;font-weight:700;font-display:swap}:root{color-scheme:dark;--background: #14110e;--backdrop: #0e0c0a;--surface: #1f1a14;--raised: #2a241b;--overlay: #342c21;--text: #f6efe0;--muted: #cbbfa9;--quiet: #a89c86;--brass: #d6ab5c;--line: #6a5a44;--danger: #e9806a;--display-font: "Source Serif 4", Georgia, serif;--body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--control-radius: 10px;--panel-radius: 14px;--control-height: 3rem;--page-inset: 16px;font:100%/1.45 var(--body-font);color:var(--text);background:var(--background);accent-color:var(--brass)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse 850px 750px at top,var(--raised),transparent)}:where(h1,h2,h3,p,figure){margin:0}:where(h1,h2,h3){font-family:var(--display-font);line-height:1.15}h1{font-size:1.875rem}h2{font-size:1.375rem}h3{font-size:1.125rem}:where(p,small,legend,figcaption){color:var(--muted)}a{color:var(--brass);text-underline-offset:.18em}:where(button,input,select,textarea){font:inherit;color:inherit}:where(button){padding:0;border:0;background:transparent;cursor:pointer}:where(button:disabled,input:disabled,select:disabled,textarea:disabled){cursor:default;opacity:.42}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--brass);outline-offset:3px}:where(img,svg){max-width:100%}:where(hr,.divider){width:100%;height:1px;margin:0;border:0;background:#6a5a448c}.shell{width:min(100%,1280px);margin-inline:auto;padding:var(--page-inset);min-height:100vh;min-height:100dvh}.stack{display:flex;flex-direction:column;gap:12px;min-width:0}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.eyebrow{color:var(--brass);font-size:.6875rem;font-weight:600;letter-spacing:.118em;text-transform:uppercase}.panel,.card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--surface)}.card{border-radius:12px}.panel.accent,.card.accent{border-color:#d6ab5ca6}:where(button.card,a.card){color:var(--text);text-align:start;text-decoration:none}:where(button.card,a.card):active{background:var(--raised)}.button{display:inline-flex;min-height:var(--control-height);align-items:center;justify-content:center;gap:8px;padding:8px 15px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--raised);color:var(--text);font-size:.875rem;font-weight:600;line-height:1.25;text-align:center;text-decoration:none}.button.primary{background:var(--brass);color:var(--background)}.button.quiet{border-color:transparent;background:transparent;color:var(--muted)}.button:active:not(:disabled){opacity:.8}.button.full{width:100%}.notice{padding:12px 14px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--raised);color:var(--text)}.notice.error,.notice[role=alert]{border-color:var(--danger);color:var(--danger)}:where(.field){display:grid;min-width:0;gap:6px;color:var(--muted);font-size:.875rem;font-weight:600}:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=hidden]),select,textarea){width:100%;min-width:0;min-height:var(--control-height);padding:8px 14px;border:1px solid var(--line);border-radius:var(--control-radius);background:#0e0c0a8c;color:var(--text);font-size:1rem;font-weight:400}:where(input,select,textarea):focus-visible{border-color:var(--brass)}:where(input,textarea)::placeholder{color:var(--quiet)}:where(input[type=checkbox],input[type=radio]){width:1.15rem;height:1.15rem;flex:none;margin:0}:where(textarea){min-height:6rem;resize:vertical}:where(dialog){width:min(calc(100% - 32px),920px);max-height:calc(100% - 32px);padding:22px var(--page-inset);overflow:auto;border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--background);color:var(--text)}:where(dialog)::backdrop{background:#0e0c0ac2}.lobby{display:grid;grid-template-columns:minmax(0,560px);justify-content:center;align-items:center;gap:28px;min-height:calc(100vh - 2 * var(--page-inset));min-height:calc(100dvh - 2 * var(--page-inset))}.lobby-menu{display:grid;gap:19px;min-width:0}.lobby-menu>header{display:grid;gap:5px}.lobby-menu .play-actions,.lobby-menu .library-grid{display:grid;gap:8px}.lobby-menu .play-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.lobby-menu .play-actions .card{display:grid;align-content:start;gap:5px;min-height:116px;padding:11px}.lobby-menu .library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lobby-menu .library-rows{padding:0 10px}.lobby-menu .library-rows :where(button,a){display:flex;width:100%;min-height:var(--control-height);align-items:center;gap:7px;color:var(--text);font-size:.8125rem;font-weight:500;text-align:start;text-decoration:none}.lobby-art{display:none;width:100%;aspect-ratio:3 / 2;border-radius:8px;background:url(/board.jpg) center / 100% 100% no-repeat;box-shadow:0 9px 16px #00000085;object-fit:cover}@media(min-width:720px){:root{--page-inset: 28px}.lobby{grid-template-columns:minmax(0,min(450px,49%)) minmax(0,720px)}.lobby-menu h1{font-size:2.25rem}.lobby-art{display:block}}@media(max-width:360px){.lobby-menu .library-grid{grid-template-columns:1fr;gap:14px}}@media(max-width:342px){.lobby-menu .play-actions{grid-template-columns:1fr}}@media(max-height:439px){.lobby-menu{gap:10px}.lobby-menu h1{font-size:1.625rem}}.screen-header{justify-content:space-between;align-items:start}.shell.game-screen{--board-width: clamp(420px, calc((100dvh - 148px)*1.5) , 1080px);--tray-width: clamp(50px, 6vw, 72px);--rail-width: clamp(240px, 22vw, 320px);--table-gap: clamp(12px, 2vw, 28px);display:flex;flex-direction:column;width:100%;padding:clamp(12px,3vw,40px);background:radial-gradient(ellipse at 45% 45%,#352a1e,#1c1712 58%,#100d0b)}.game-stage{width:min(100%,740px);margin-inline:auto;gap:clamp(10px,2vh,20px)}.game-stage>.screen-header{align-items:center}.game-stage>.screen-header>:first-child{flex:1;min-width:min(100%,9rem);overflow-wrap:anywhere}.game-stage .screen-header h1{font-size:clamp(1.375rem,2.4vw,2.125rem)}.game-stage .screen-header .button{min-height:44px;padding-inline:12px}@media(min-width:880px),(orientation:landscape)and (max-height:540px)and (min-width:640px){.game-stage{width:min(100%,calc(var(--board-width) + var(--tray-width) + 5px + var(--rail-width) + var(--table-gap)));margin-block:auto}.game-stage:has(.paired-table){max-width:950px}}@media(orientation:landscape)and (max-height:540px)and (min-width:640px){.shell.game-screen{--board-width: clamp(270px, calc((100dvh - 84px)*1.5) , 1080px);--rail-width: clamp(140px, 25vw, 240px);--table-gap: 10px;padding:8px}.game-stage{gap:8px}}.lobby-header>.row{justify-content:space-between}.button.lobby-settings{width:44px;min-height:44px;padding:0;margin-inline-start:auto}.online-columns{display:grid;gap:14px;min-width:0}.online-columns>*{min-width:0}.button.destructive{color:var(--danger)}.lobby-tile{display:grid;align-content:start;gap:4px;min-height:72px}.lobby-tile>span:first-child{color:var(--brass);font-size:1.125rem}.lobby-tile small{font-size:.75rem}.library-rows .card{display:flex;justify-content:space-between;min-height:48px;align-items:center}.library-rows .card span{color:var(--brass)}.lobby-art.lobby-picture{background-image:linear-gradient(0deg,#0e0c0a77,transparent 55%),url(/play-art.png)}.lobby-art.seasonal-lobby{background:none;box-shadow:none;aspect-ratio:auto}.seasonal-board{display:block;width:100%;height:auto}.seasonal-phone{width:min(100%,340px);margin:0 auto}.score-table{border-collapse:collapse;width:100%;text-align:start}.score-table th,.score-table td{border-bottom:1px solid var(--line);padding:8px;text-align:start}.player-scores .eyebrow{display:flex;gap:5px;align-items:center}details>summary{cursor:pointer;color:var(--brass);padding-block:8px}@media(min-width:720px){.seasonal-phone{display:none}.online-columns{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}}.result-dialog{width:min(calc(100% - 32px),680px)}.result-heading{border-color:var(--brass);text-align:center;overflow-wrap:anywhere}.result-heading h2{font-size:clamp(1.75rem,5vw,2.5rem)}.result-actions{justify-content:center}.analysis-players{display:grid;gap:12px}.analysis-player{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}.analysis-player h3{display:flex;align-items:center;gap:8px;margin-block-end:5px}.analysis-line{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:34px;font-variant-numeric:tabular-nums}.analysis-line strong{text-align:end}.analysis-player .button.analysis-link{width:100%;justify-content:space-between;min-height:36px;padding:2px 0;color:var(--brass)}.analysis-note{text-align:center;color:var(--muted);font-size:.875rem}.analysis-scope,.analysis-navigation{justify-content:center}.move-review-dialog{width:min(calc(100% - 24px),46rem);max-width:none}.move-review-grid{display:grid;gap:14px}.move-review-grid>*{min-width:0}.move-review-grid h4{margin:0}.move-review-grid .board-frame{align-self:stretch}.move-review-grid .felt-board{touch-action:pan-y}@media(min-width:650px){.analysis-players{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:800px){.move-review-dialog{--review-details-width: clamp(17rem, 30vw, 25rem);--review-board-width: clamp(25rem, calc((100dvh - 21.25rem)*1.5) , 70rem);width:min(calc(100% - 32px),calc(var(--review-board-width) + var(--review-details-width) + 2 * var(--page-inset) + 16px))}.move-review-grid{grid-template-columns:minmax(0,1fr) var(--review-details-width);align-items:start}}.live-match-filters>.field{flex:1 1 14rem;min-width:0}.button.live-match-row{display:grid;justify-items:start;gap:4px;text-align:start;overflow-wrap:anywhere}.match-offer{position:fixed;inset-block-start:max(8px,env(safe-area-inset-top));inset-inline-end:max(8px,env(safe-area-inset-right));z-index:10;max-width:min(28rem,calc(100% - 16px));display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 8px 8px 12px;background:var(--surface);border:1px solid var(--brass);border-radius:12px;pointer-events:none}.match-offer .button{pointer-events:auto}.match-offer .notice{grid-column:1 / -1}.league-medal{display:flex;align-items:baseline;gap:8px}.league-medal>[aria-hidden]{font-size:1.25em;line-height:1}.shell.replay-screen{--replay-inset: clamp(8px, 1.5vw, 24px);--replay-rail: clamp(11rem, 25vw, 20rem);--replay-gap: clamp(10px, 1.5vw, 24px);--replay-board: clamp(21rem, calc((100dvh - 12rem)*1.5) , 90rem);width:min(100%,calc(var(--replay-board) + var(--replay-rail) + var(--replay-gap) + 4 * var(--replay-inset) + 2px));padding:var(--replay-inset)}.replay-screen>.panel{padding:var(--replay-inset)}.replay-layout{display:grid;gap:var(--replay-gap);align-items:start}.replay-board{min-width:0}.replay-controls{gap:8px;overflow-wrap:anywhere}.replay-controls .button{padding-inline:8px}.replay-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.replay-board .felt-board{touch-action:pan-y}@media(min-width:880px),(orientation:landscape)and (min-width:500px){.replay-layout{grid-template-columns:minmax(0,1fr) var(--replay-rail)}}@media(orientation:landscape)and (max-height:540px)and (min-width:500px){.shell.replay-screen{--replay-inset: 6px;--replay-board: calc((100dvh - 5.5rem)*1.5 + 62px) ;--replay-rail: clamp(9rem, 24vw, 15rem)}.replay-screen>.panel{gap:6px}.replay-screen .screen-header h1{font-size:1.25rem}.replay-controls{--control-height: 2.75rem;gap:5px}.replay-board .board-frame{grid-template-columns:minmax(0,1fr) 56px;gap:6px}.replay-board .off-trays{grid-template-columns:1fr;gap:6px}.replay-board .off-tray{padding:5px;gap:5px}.replay-board .off-tray-label{flex-direction:column;gap:0;font-size:.75rem}.replay-board .piece-chip{display:none}.replay-board .off-tray strong{margin:0;font-size:inherit}.replay-board .off-tray-slots{grid-template-columns:repeat(3,minmax(0,1fr));height:32px}}.board-frame{display:grid;gap:12px;min-width:0;align-self:center}.felt-board{display:block;width:100%;aspect-ratio:3 / 2;border-radius:8px;box-shadow:0 16px 38px #0009;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.felt-board.movement-drag{touch-action:none}.felt-board.computer-moving{overflow:visible;position:relative;z-index:1}.traveling-checker{pointer-events:none}.board-target{fill:transparent;stroke:transparent;outline:none}.board-target.source{cursor:pointer}.movement-drag .board-target.source{cursor:grab}.movement-drag .board-target.selected{cursor:grabbing}.board-target.destination{cursor:pointer}.board-target:focus-visible{stroke:#fff2c9;stroke-width:5px}.checker-art,.point-number,.board-inscription,.move-die-badge{pointer-events:none}.move-arrows{--arrow-color: var(--brass);pointer-events:none}.move-arrows.good{--arrow-color: #69e389}.move-arrows.bad{--arrow-color: #ff635f}.move-arrow path{stroke-linecap:round}.arrow-outline,.arrow-shaft{fill:none}.arrow-outline{stroke:#100c08;stroke-width:17}.arrow-shaft{stroke:var(--arrow-color);stroke-width:11}.arrow-tip,.arrow-tail{fill:var(--arrow-color);stroke:#100c08;stroke-width:4;stroke-linejoin:round}.arrow-off-label{fill:var(--text);stroke:#100c08;stroke-width:6;paint-order:stroke;text-anchor:middle;dominant-baseline:central;font-size:35px;font-weight:700}.move-die-badge{--badge-color: #d6ab5c;font-family:ui-monospace,monospace;font-weight:700}.move-die-badge.hit{--badge-color: #e9806a}.move-die-badge circle{fill:var(--badge-color)}.move-die-badge text{fill:#14110e}.board-inscription{fill:#e8bc73;font:70.656px Georgia,serif;text-anchor:middle;dominant-baseline:central}.point-number{fill:#e0bb76;font-size:22px;text-anchor:middle}.theme-slate .board-image{filter:saturate(.52) hue-rotate(44deg) brightness(.88)}.theme-honey .board-image{filter:sepia(.43) saturate(1.2) brightness(1.15)}.theme-dusk .board-image{filter:hue-rotate(100deg) saturate(.7) brightness(.87)}.off-trays{display:grid;grid-template-columns:1fr 1fr;gap:10px}.off-tray{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;border:1px solid #6a5a44;background:#1f1a14;color:#f6efe0;border-radius:10px;padding:10px;text-align:left}.off-tray-label{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.off-tray-slots{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));align-self:end;gap:2px;height:14px;pointer-events:none}.off-tray-slots>span{border-radius:999px;background-color:#6a5a4455}.off-tray-slots>.filled{background:linear-gradient(#fff4,#0003) currentColor}.off-tray strong{margin-left:auto;font-size:.85rem;white-space:nowrap}.off-tray .move-die-badge{display:grid;place-items:center;flex:none;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--badge-color);color:#14110e;font-size:.8rem}.piece-chip{width:18px;height:18px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 2px #32281777}.piece-chip.ivory{background:#f0e7d3}.piece-chip.umber{background:#6b3418}.table-layout{display:grid;gap:var(--table-gap);align-items:start}.table-controls{display:grid;align-content:start;gap:12px;min-width:0}.table-controls>*{overflow-wrap:anywhere}.player-scores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.player-scores .card{padding:clamp(8px,1vw,14px);display:grid;align-content:start;gap:4px}.player-scores .active{border-color:var(--brass);background:#2a2319}.player-scores .turn-delay{color:var(--brass);font-variant-numeric:tabular-nums}.player-clock{margin-block-start:4px;padding-block-start:6px;border-block-start:1px solid #6a5a4477;font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.table-turn>strong{font-size:1.125rem}.tab-strip{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.tab-strip .button{flex:0 0 auto;min-width:0;white-space:nowrap}.theme-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.theme-sample{display:grid;gap:8px}.theme-sample .board-frame{pointer-events:none}.theme-sample .off-trays{display:none}.face-to-face{transform:rotate(180deg)}@media(min-width:880px),(orientation:landscape)and (max-height:540px)and (min-width:640px){.table-layout:not(.paired-table){grid-template-columns:minmax(0,1fr) var(--rail-width)}.table-layout:not(.paired-table) .table-controls{contain:size;align-self:stretch;overflow:auto;scrollbar-width:thin;padding:4px;margin:-4px}}.paired-table{grid-template-columns:1fr}.paired-controls{justify-content:center}.paired-table .board-frame{width:min(100%,calc(var(--board-width) + var(--tray-width) + 5px));justify-self:center}.paired-table .table-controls{width:min(100%,550px);justify-self:center}@media(max-width:600px)and (orientation:portrait){.table-layout .felt-board{aspect-ratio:1.22}.table-layout :is(.checker-art,.felt-board .move-die-badge){transform-box:fill-box;transform-origin:center;transform:scaleY(.81)}.table-layout .board-inscription{transform-origin:center;transform:scaleY(calc(1.22 / 1.5))}}@media(min-width:721px),(orientation:landscape)and (max-height:540px)and (min-width:640px){.table-layout .board-frame{grid-template-columns:minmax(0,1fr) var(--tray-width);gap:5px}.table-layout .off-trays{grid-template-columns:1fr;gap:5px}.table-layout .off-tray{padding:5px;gap:5px}.table-layout .off-tray-label{flex-direction:column;gap:5px}.table-layout .off-tray-name{font-size:.65rem}.table-layout .off-tray-slots{grid-template-columns:1fr;grid-template-rows:repeat(15,minmax(0,1fr));place-self:center;gap:1px;width:min(100%,48px);height:100%;max-height:150px}.table-layout .off-tray strong{margin-left:0;font-size:.7rem}}@media(orientation:landscape)and (max-height:540px)and (min-width:640px){.table-layout:not(.paired-table) .table-controls{--control-height: 2.25rem}.table-layout:not(.paired-table) .table-turn{grid-row:1;padding:10px;gap:7px}}@media(orientation:landscape)and (max-height:400px)and (min-width:640px){.table-layout .off-tray-label .piece-chip{display:none}.table-layout .off-tray-slots{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));max-height:44px}}
