:root,:root[data-theme=dark]{--color-bg:#1b1b1b;--color-fg:#eaeaea;--color-accent:#834acd;--color-accent-hover:#834acd26;--color-accent-active:#834acd40;--color-negative:#e46767;--color-warning:#da730b;--color-positive:#29a33d;--color-neutral-hover:#99999926;--color-border-subtle:#9996;--color-border-strong:#9999;--color-border-faint:#ffffff1a;--color-shadow:#0006;--color-backdrop:#00000080;--color-surface-light:#fffffff2;--logo-filter:none}@media (prefers-color-scheme:light){:root{--color-bg:#f2f1ee;--color-fg:#1b1b1b;--color-negative:#c62828;--color-warning:#a15600;--color-positive:#1e7a30;--color-border-faint:#0000001a;--logo-filter:brightness(0)}}:root[data-theme=light]{--color-bg:#f2f1ee;--color-fg:#1b1b1b;--color-negative:#c62828;--color-warning:#a15600;--color-positive:#1e7a30;--color-border-faint:#0000001a;--logo-filter:brightness(0)}body{background:var(--color-bg);min-height:100dvh;color:var(--color-fg);flex-direction:column;margin:0;font-family:system-ui,sans-serif;display:flex;overflow-x:hidden}:focus-visible{outline:1px dashed var(--color-fg);outline-offset:2px}.site-nav{z-index:10000;background:var(--color-bg);align-items:center;gap:1rem;padding:1rem;display:flex;position:sticky;top:0}.site-nav a{color:var(--color-fg);text-decoration:none}.site-nav a:hover{text-decoration:underline}.site-nav-link.active{color:var(--color-accent);font-weight:700}.site-logo{align-items:center;display:flex}.site-logo img{width:auto;height:2rem;filter:var(--logo-filter)}.site-logo.active img{outline:2px solid var(--color-accent);outline-offset:.25rem;border-radius:.25rem}.nav-sidebar-logo{display:none}.nav-burger{z-index:3;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:stretch;gap:.3rem;width:2rem;height:2rem;margin-left:auto;padding:0;display:none;position:relative}.nav-burger-bar{background:var(--color-fg);border-radius:1px;height:4px;transition:transform .15s,opacity .15s;display:block}.nav-burger[aria-expanded=true] .nav-burger-bar:first-child{transform:translateY(calc(.3rem + 4px))rotate(-45deg)}.nav-burger[aria-expanded=true] .nav-burger-bar:nth-child(2){opacity:0}.nav-burger[aria-expanded=true] .nav-burger-bar:nth-child(3){transform:translateY(calc(-.3rem - 4px))rotate(45deg)}.site-nav-links{flex:1;align-items:center;gap:1rem;display:flex}#nav-backdrop{display:none}@media (width<=720px){.nav-burger{display:flex}.site-nav-links{z-index:2;box-sizing:border-box;background:var(--color-bg);visibility:hidden;flex-direction:column;align-items:flex-end;gap:1.5rem;height:100dvh;padding:1rem 1.5rem 1.5rem;transition:transform .2s,visibility 0s linear .2s;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-2px 0 8px #0000004d}.site-nav-links.open{visibility:visible;transition:transform .2s;transform:translate(0)}.site-nav-links.resizing{transition:none}.site-nav-links .nav-sidebar-logo{margin-right:auto;padding-right:3rem;display:flex}.site-nav-links .nav-right{flex-direction:column;align-items:flex-end}#nav-backdrop{z-index:1;background:#0006;position:fixed;inset:0}#nav-backdrop.open{display:block}}.nav-right{flex:1;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.nav-right a{color:var(--color-accent)}.username-badge{display:inline-flex;position:relative}.username-badge-name{cursor:pointer}.copy-feedback-popup{background:var(--color-accent);color:var(--color-bg);white-space:nowrap;z-index:1;border-radius:.25rem;margin-top:.25rem;padding:.15rem .4rem;font-size:.75rem;position:absolute;top:100%;left:0}.rating-delta{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.rating-delta-gain{color:var(--color-positive)}.rating-delta-loss{color:var(--color-negative)}.rating-delta-none{opacity:.75}.link-button{cursor:pointer;font:inherit;color:var(--color-accent);background:0 0;border:none;padding:0;text-decoration:underline}.btn-primary[hidden],.btn-secondary[hidden]{display:none}.btn-primary,.btn-secondary{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-weight:600;transition:filter .15s,background-color .15s,transform .15s;display:inline-flex}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled){transform:scale(.95)}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-primary:active:not(:disabled){filter:brightness(.9)}.btn-secondary{border-color:var(--color-accent);color:var(--color-accent);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary:active:not(:disabled){background:var(--color-accent-active)}.btn-slim{border-radius:.25rem;margin:0;padding:.1rem .25rem}select{border:1px solid var(--color-accent);background:var(--color-bg);color:var(--color-fg);font:inherit;cursor:pointer;border-radius:.25rem;padding:.1rem .25rem}select:hover{background:var(--color-accent-hover)}select option,select optgroup{background:var(--color-bg);color:var(--color-fg)}input[type=text],input[type=email],input[type=password]{border:1px solid var(--color-accent);background:var(--color-bg);color:var(--color-fg);font:inherit;border-radius:.25rem;padding:.4rem .6rem}input[type=text]:hover,input[type=email]:hover,input[type=password]:hover{background:var(--color-accent-hover)}.lang-switch{color:var(--color-accent);font:inherit;opacity:.6;cursor:pointer;background:0 0;border:none}.lang-switch:hover,.lang-switch:focus-visible{opacity:1}.lang-switch option{background:var(--color-bg);color:var(--color-fg)}main#app{box-sizing:border-box;flex-direction:column;flex:1;align-items:center;gap:1rem;max-width:960px;margin:0 auto;padding:0 1rem 2rem;display:flex}.site-footer{opacity:.6;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem;padding:1rem;font-size:.8rem;display:flex}.site-footer-links{gap:1rem;margin-left:auto;display:flex}.site-footer-link{color:inherit}.ability-picker{background:var(--color-bg);width:min(90vw,48rem);max-height:85vh;color:var(--color-fg);border:none;border-radius:.25rem;padding:1.5rem}.ability-picker::backdrop{background-color:var(--color-backdrop)}.ability-picker h2{margin-top:0}.ability-picker-columns{flex-wrap:wrap;gap:1.5rem;display:flex}.ability-picker-column{flex:1;min-width:16rem}.ability-picker-column h3{margin-bottom:.5rem;font-size:1rem}.ability-picker-rows{flex-direction:column;gap:.75rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.ability-picker-row{border:1px solid var(--color-border-subtle);border-radius:.25rem;padding:.5rem}.ability-picker-row-header{justify-content:space-between;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;display:flex}.ability-picker-row-header select,.ability-picker-condition-chip select{flex:0 auto;min-width:0;max-width:100%}.ability-picker-remove{cursor:pointer;color:var(--color-fg);background:0 0;border:none;padding:.1rem .4rem;font-size:1rem;line-height:1}.ability-picker-remove:hover,.ability-picker-remove:focus-visible{color:var(--color-negative)}.ability-picker-conditions{flex-wrap:wrap;gap:.35rem;margin:.4rem 0;padding:0;list-style:none;display:flex}.ability-picker-condition-chip{background-color:var(--color-neutral-hover);border-radius:1rem;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.8rem;font-style:italic;display:inline-flex}.ability-picker-chip-text{cursor:pointer;color:inherit;font:inherit;text-align:left;background:0 0;border:none;padding:0}.ability-picker-chip-text:hover,.ability-picker-chip-text:focus-visible{text-decoration:underline}.ability-picker-condition-chip-editing{flex-wrap:wrap;min-width:0}.ability-picker-separator{opacity:.7;align-items:center;font-size:.75rem;font-style:italic;list-style:none;display:inline-flex}.ability-picker-separator-block{flex:100%}.ability-picker-group{border:1px dashed var(--color-border-strong);border-radius:.25rem;flex:100%;min-width:0;margin:.25rem 0;padding:.4rem;list-style:none}.ability-picker-group-header{opacity:.8;justify-content:space-between;align-items:center;margin-bottom:.25rem;font-size:.75rem;font-style:italic;display:flex}.ability-picker-combinator{gap:.75rem;margin-bottom:.35rem;font-size:.85rem;display:flex}.ability-picker-warning{color:var(--color-warning);margin:0 0 .35rem;font-size:.8rem}.ability-picker-add-condition{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.ability-picker-param-slot{display:contents}.number-stepper{border:1px solid var(--color-accent);background:var(--color-bg);border-radius:.25rem;align-items:stretch;display:inline-flex;overflow:hidden}.number-stepper-input{width:4rem;color:var(--color-fg);font:inherit;-moz-appearance:textfield;background:0 0;border:none;padding:.1rem .25rem}.number-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-stepper-buttons{border-left:1px solid var(--color-accent);flex-direction:column;display:flex}.number-stepper-btn{cursor:pointer;color:var(--color-accent);background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:0 .35rem;font-size:.55rem;line-height:1;display:flex}.number-stepper-btn:not(:last-child){border-bottom:1px solid var(--color-accent)}.number-stepper-btn:hover{background:var(--color-accent-hover)}.number-stepper-btn:active{background:var(--color-accent-active)}.ability-picker-add{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.ability-picker-add button{flex-shrink:0}.ability-picker-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.skeleton{vertical-align:middle;background-color:var(--color-neutral-hover);background-image:linear-gradient(90deg, transparent, var(--color-border-subtle), transparent);background-repeat:no-repeat;background-size:200% 100%;border-radius:.25rem;height:1em;animation:1.4s ease-in-out infinite skeleton-sweep;display:inline-block}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-100% 0}}.spinner{box-sizing:border-box;border:2px solid var(--color-border-subtle);border-top-color:var(--color-accent);border-radius:50%;flex:none;width:1em;height:1em;animation:.7s linear infinite spinner-spin;display:inline-block}@keyframes spinner-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.skeleton{background-image:none;animation:none}.spinner{animation:1.4s ease-in-out infinite spinner-fade}}@keyframes spinner-fade{50%{opacity:.25}}main#app{width:100%}.play-modes{justify-content:center;gap:1rem;display:flex}.board-area{flex-wrap:wrap;justify-content:center;gap:.5rem;width:100%;display:flex}.board-column{flex-direction:column;gap:.5rem;display:flex}#board{touch-action:none;--annotation-color-draft:#8c8c8ca6;width:min(90vw,32rem)}#board::part(arrow-draft){color:var(--annotation-color-draft);stroke-dasharray:3 2}.annotation-controls{align-items:center;gap:.5rem;display:flex}#game-status{min-height:1.2em;font-weight:700}#game-actions[hidden]{display:none}#game-actions{flex-wrap:wrap;align-items:center;gap:1em;display:flex}.share-link-row{align-items:center;display:flex;position:relative}.share-link-row:not(:has(>:not([hidden]))){display:none}.board-prompt[hidden]{display:none}.board-prompt{align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.player-row[hidden]{display:none}.player-row{border-radius:.2rem;align-items:center;margin:0;padding:.25rem .5rem;font-size:.95rem;display:flex}.player-row.player-row-black{color:#fff;background-color:#000}.player-row.player-row-white{color:#1b1b1b;background-color:#fff}.player-rating{opacity:.75;font-variant-numeric:tabular-nums;margin-left:.35rem}.captured-material{letter-spacing:.05em;margin-left:auto}.clock{margin-left:.5rem;font-family:monospace}.clock.clock-active{color:var(--color-positive);font-weight:700}.enhancements[hidden]{display:none}.enhancements{gap:2rem;display:flex}.enhancements h2{margin-bottom:.25rem;font-size:1rem}.enhancements ul{margin:0;padding-left:1.25rem;font-size:.9rem}.enhancements .enhancement-usable{color:var(--color-accent)}.enhancements .enhancement-held{color:var(--color-fg)}.enhancements .enhancement-inactive{color:var(--color-negative)}.enhancements .enhancement-last-used{font-style:italic}.enhancements .enhancement-name{font-weight:700}.enhancements .enhancement-name:after{content:": "}.enhancements .enhancement-condition{opacity:.85;font-style:italic}.enhancement-last-used .enhancements .enhancement-condition{font-style:normal}#sacrifice-btn:not([hidden]),#sacrifice-btn[hidden]~#pass-btn{margin-left:auto}.move-history[hidden]{display:none}.move-history{flex-direction:column;flex:12rem;gap:.5rem;max-width:min(90vw,32rem);display:flex}.move-history-nav{gap:.5rem;display:flex}.move-history-nav #history-next-btn{margin-left:auto}#move-list{background-color:var(--color-neutral-hover);border-radius:.2rem;flex:1 1 0;min-height:12rem;margin:0;padding:0;font-family:monospace;font-size:.9rem;list-style:none;overflow-y:auto}#move-list li{border-radius:.2rem;padding:.15rem .4rem}#move-list li span{cursor:pointer;white-space:nowrap;border-radius:.15rem;padding:0 .15rem}#move-list .move-white{color:#000;background-color:#fff}#move-list .move-white span:hover{background-color:#ddd}#move-list .move-black{color:#fff;background-color:#000}#move-list .move-black span:hover{background-color:#333}#move-list .move-list-current{background-color:var(--color-accent);font-weight:700}#move-list .move-list-current:not(:hover){color:#fff}.promotion-picker{z-index:10;box-shadow:0 .25rem 1rem var(--color-shadow);border-radius:.25rem;flex-direction:column;display:flex;position:fixed;overflow:hidden}.promotion-piece{aspect-ratio:1;background-color:var(--color-surface-light);cursor:pointer;background-position:50%;background-repeat:no-repeat;background-size:80%;border:none;padding:0}.promotion-piece:hover,.promotion-piece:focus-visible{background-color:var(--square-color-light-hover,#fde968)}.grant-picker{background:var(--color-bg);width:min(90vw,32rem);max-height:85vh;color:var(--color-fg);border:none;border-radius:.25rem;padding:1.5rem}.grant-picker::backdrop{background-color:var(--color-backdrop)}.grant-picker h2{margin-top:0;font-size:1.15rem}.grant-picker-explanation{opacity:.8;margin-top:0;font-size:.9rem}.grant-picker-options{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.grant-picker-option{text-align:left;border:1px solid var(--color-border-subtle);color:inherit;cursor:pointer;background:0 0;border-radius:.25rem;flex-direction:column;gap:.25rem;padding:.6rem .75rem;display:flex}.grant-picker-option:hover,.grant-picker-option:focus-visible{border-color:var(--color-accent);background-color:var(--color-accent-hover)}.grant-picker-option-name{align-items:baseline;gap:.5rem;font-weight:700;display:flex}.grant-picker-default-badge{text-transform:uppercase;letter-spacing:.03em;opacity:.7;font-size:.75rem;font-weight:400}.grant-picker-option-description{opacity:.8;font-size:.85rem}.grant-picker-cancel{width:100%}
