@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/anton-caps-v27.woff2)format("woff2");unicode-range:U+20-21,U+23,U+25-29,U+2B-3A,U+3F,U+41-5A,U+B7,U+2014,U+2026}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--void:#0b0b0b;--ink:#141310;--bone:#e8e4d9;--acid:#cfa94e;--acid-dim:#8d7433;--dust:#7a756c;--blood:#a8231c;--line:#e8e4d924;--line-lit:#cfa94e8c;--display:"Anton", "Haettenschweiler", "Arial Narrow", Impact, sans-serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--edge:26px;--ease:cubic-bezier(.2, .8, .2, 1);font-synthesis:none}*{box-sizing:border-box}html,body{background:var(--void);width:100%;height:100%;color:var(--bone);font:400 13px / 1.5 var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}body:after{z-index:6;content:"";pointer-events:none;opacity:.05;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;background:var(--acid);color:var(--void);font:400 13px / 1 var(--mono);letter-spacing:.18em;text-transform:uppercase;padding:12px 18px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}#game-panel{z-index:3;pointer-events:none;position:fixed;inset:0}.marks,.rig,.sheet,.deck{pointer-events:auto;position:fixed}.marks{top:var(--edge);left:var(--edge)}.wordmark{color:var(--bone);font:400 46px / .86 var(--display);letter-spacing:-.005em;text-transform:uppercase;margin:0}.chamber{color:var(--acid);font:400 10px / 1 var(--mono);letter-spacing:.3em;text-transform:uppercase;margin:6px 0 0}.rig{top:var(--edge);right:var(--edge);align-items:stretch;gap:8px;display:flex}button,select,input[type=text]{appearance:none;border:1px solid var(--line);min-height:34px;color:var(--bone);font:400 10px / 1 var(--mono);letter-spacing:.2em;text-transform:uppercase;transition:border-color .16s var(--ease), color .16s var(--ease), background .16s var(--ease);background:0 0;border-radius:0;padding:0 14px}button{cursor:pointer}button:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--line-lit);color:var(--acid)}button:disabled,select:disabled,input:disabled{opacity:.3;cursor:not-allowed}:focus-visible{outline:2px solid var(--acid);outline-offset:2px}select{background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 15px) 15px,calc(100% - 11px) 15px;background-repeat:no-repeat;background-size:4px 4px,4px 4px;padding-right:28px}select option{background:var(--void);color:var(--bone);text-transform:none}input[type=text]{letter-spacing:.02em;text-transform:none;font-size:11px}input[type=text]::placeholder{color:var(--dust)}.primary-action{border-color:var(--acid);color:var(--acid)}.primary-action:hover:not(:disabled){background:var(--acid);color:var(--void)}.danger-action{color:var(--blood);border-color:#a8231c80}.danger-action:hover:not(:disabled){border-color:var(--blood);background:var(--blood);color:var(--bone)}.sound-toggle,.panel-toggle{align-items:center;gap:10px;display:inline-flex}.sound-toggle i{border:1px solid;width:9px;height:9px}.sound-toggle[aria-pressed=true]{border-color:var(--line-lit);color:var(--acid)}.sound-toggle[aria-pressed=true] i{background:var(--acid)}.panel-toggle i{width:8px;height:8px;transition:transform .2s var(--ease);border-bottom:1px solid;border-right:1px solid;transform:translateY(-2px)rotate(45deg)}.panel-toggle[aria-expanded=true] i{transform:translateY(1px)rotate(225deg)}.sheet{top:calc(var(--edge) + 56px);right:var(--edge);max-height:calc(100vh - var(--edge) * 2 - 160px);flex-direction:column;align-items:flex-end;gap:18px;width:190px;display:flex}.move-list{scrollbar-width:none;width:100%;margin:0;padding:0;list-style:none;overflow-y:auto}.move-list::-webkit-scrollbar{display:none}.move-row{transition:border-color .2s var(--ease);border-left:2px solid #0000;grid-template-columns:26px 1fr 1fr;gap:8px;padding:2px 0 2px 8px;display:grid}.move-row:last-child{border-left-color:var(--acid)}.move-number{color:var(--dust);font:400 10px / 1.6 var(--mono);font-variant-numeric:tabular-nums}.move-san{color:var(--dust);font:400 11.5px / 1.5 var(--mono)}.move-row:last-child .move-san{color:var(--bone)}.move-empty{color:var(--dust);font:400 10px / 1 var(--mono);letter-spacing:.2em;text-transform:uppercase;padding-left:10px}.trays{border-top:1px solid var(--line);flex-direction:column;gap:4px;width:100%;padding-top:14px;display:flex}.tray-row{align-items:center;gap:10px;min-height:22px;display:flex}.tray-label{width:10px;color:var(--dust);font:400 9px / 1 var(--mono);letter-spacing:.1em;text-transform:uppercase;flex:none}.tray{flex-wrap:wrap;align-items:center;gap:1px;display:flex}.taken{font-size:15px;line-height:1}.taken-white{color:var(--bone)}.taken-black{color:#17150f;-webkit-text-stroke:.7px var(--dust);paint-order:stroke fill}.tray-empty{color:var(--dust);font:400 11px / 1 var(--mono)}.advantage{color:var(--acid);font:400 10px / 1 var(--mono);font-variant-numeric:tabular-nums;margin-left:6px}.deck{left:var(--edge);bottom:var(--edge);max-width:min(520px, calc(100vw - var(--edge) * 2));flex-direction:column;align-items:flex-start;gap:14px;display:flex}.status-wrap{background:var(--acid);transition:background .22s var(--ease);align-items:center;gap:12px;padding:9px 18px 7px;display:inline-flex}.turn-stone{background:var(--bone);width:13px;height:13px;transition:background .26s var(--ease);flex:none;box-shadow:inset 0 0 0 1px #00000059}.status-wrap:has(.status[data-turn=black]) .turn-stone{background:var(--void)}.status{color:var(--void);font:400 27px / 1 var(--display);letter-spacing:.005em;text-transform:uppercase;margin:0}.status-wrap:has(.status[data-check=true]){animation:band-pulse 1.1s var(--ease) infinite}@keyframes band-pulse{50%{background:#e8c880}}:is(.status-wrap:has(.status[data-outcome=checkmate]),.status-wrap:has(.status[data-outcome=resignation])){background:var(--blood)}:is(.status-wrap:has(.status[data-outcome=checkmate]) .status,.status-wrap:has(.status[data-outcome=resignation]) .status){color:var(--bone)}:is(.status-wrap:has(.status[data-outcome=checkmate]) .turn-stone,.status-wrap:has(.status[data-outcome=resignation]) .turn-stone){display:none}.status-wrap:has(.status.status-notice){background:var(--bone)}.status.status-notice{font:400 13px / 1.4 var(--mono);letter-spacing:.16em}.status.is-changed{animation:status-cut .26s var(--ease)}@keyframes status-cut{0%{opacity:0;transform:translate(-5px)}}.bar{flex-wrap:wrap;gap:8px;display:flex}.online{flex-direction:column;gap:8px;display:flex}.online-seat,.online-status{font:400 10px / 1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dust);margin:0}.online-status[data-state=open]{color:var(--bone)}.online-status[data-state=closed]{color:var(--blood)}.invite-row{gap:8px;max-width:420px;display:flex}.invite-link{min-width:0;color:var(--acid);flex:1}[hidden]{display:none}.drawer{z-index:5;padding:var(--edge);pointer-events:auto;background:#080808f0;place-items:center;display:none;position:fixed;inset:0}#game-panel[data-expanded=true] .drawer{animation:drawer-in .2s var(--ease);display:grid}@keyframes drawer-in{0%{opacity:0}}.drawer-inner{flex-direction:column;gap:10px;width:min(420px,100%);display:flex}.drawer-title{color:var(--bone);font:400 40px / .9 var(--display);text-transform:uppercase;margin:0 0 8px}.controls{gap:8px;display:flex}.controls>button{flex:1}.promotion{z-index:10;animation:drawer-in .18s var(--ease);background:#080808eb;place-items:center;display:grid;position:fixed;inset:0}.promotion-panel{border:1px solid var(--line);background:var(--void);padding:28px 30px 24px}.promotion-title{color:var(--bone);font:400 30px / 1 var(--display);text-align:center;text-transform:uppercase;margin:0 0 20px}.promotion-choices{gap:8px;display:flex}.promotion-choice{width:62px;height:62px;padding:0;font-size:30px;line-height:1}.promotion-white .promotion-choice{color:var(--bone)}.promotion-black .promotion-choice{color:#17150f;-webkit-text-stroke:1px var(--dust);paint-order:stroke fill}.promotion-choice:hover{border-color:var(--acid);background:var(--acid);color:var(--void);-webkit-text-stroke-color:var(--void)}#hud{z-index:2;right:var(--edge);bottom:var(--edge);pointer-events:none;align-items:baseline;gap:18px;display:flex;position:fixed}.hint,.colophon{color:var(--dust);font:400 9px / 1 var(--mono);letter-spacing:.22em;text-transform:uppercase;margin:0}#hud[data-played=true] .hint{opacity:0;visibility:hidden;transition:opacity .4s var(--ease)}.colophon a{color:inherit;pointer-events:auto;transition:color .16s var(--ease), border-color .16s var(--ease);border-bottom:1px solid #0000;text-decoration:none}.colophon a:hover{color:var(--acid);border-color:var(--line-lit)}.marks,.rig,.sheet,.deck,#hud{animation:rise .6s var(--ease) backwards}.deck{animation-delay:.12s}.sheet{animation-delay:.22s}#hud{animation-delay:.32s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@media (width<=900px){:root{--edge:18px}.wordmark{font-size:34px}.sheet{width:150px}}@media (width<=760px){button,select,input[type=text]{min-height:44px}.wordmark{font-size:26px}.rig{top:calc(var(--edge) + 46px);gap:6px}.rig .opponent{max-width:132px}.sound-toggle span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.sheet{top:auto;right:var(--edge);bottom:calc(var(--edge) + 138px);width:auto;max-width:calc(100vw - var(--edge) * 2);align-items:flex-end;max-height:96px}.trays{display:none}.deck{right:var(--edge);max-width:none}.status{font-size:21px}.bar{width:100%}.bar>button{flex:1;padding:0 8px}#hud{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
