:root{--board-frame-border:5px;--page-padding-inline:20px;--layout-gap:30px;--dev-panel-min-width:248px;--side-panel-min-width:208px;--board-size:min(86dvh, 640px, max(420px, calc(100vw - (var(--page-padding-inline) * 2) - (var(--layout-gap) * 2) - var(--dev-panel-min-width) - var(--side-panel-min-width) - (var(--board-frame-border) * 2))));--board-outer-size:calc(var(--board-size) + var(--board-frame-border) + var(--board-frame-border));--square-size:calc(var(--board-size) / 10);--coordinate-row-height:clamp(18px, 2.4dvh, 24px);--coordinate-font-size:clamp(10px, 1.3dvh, 13px);--side-by-side-gap:calc(var(--layout-gap) - var(--board-frame-border));--side-panel-width:clamp(var(--side-panel-min-width), calc(var(--board-size) * .43), 292px);--dev-panel-width:clamp(var(--dev-panel-min-width), calc(var(--board-size) * .48), 340px);--side-panel-height:min(525px, calc(100dvh - 40px));--side-panel-padding:clamp(8px, calc(var(--board-size) * .026), 18px);--dev-panel-padding:14px;--side-panel-outer-width:var(--side-panel-width);--side-panel-board-center-shift:calc((var(--coordinate-row-height) + 8px) / -2);--settings-option-gap:16px;--action-history-offset:-2px;--action-history-height:clamp(112px, 18dvh, 132px);--action-history-min-height:var(--action-history-height);--action-history-max-height:var(--action-history-height);--action-history-bg:#0000003b;--action-history-fade-height:17px;--dev-panel-fade-height:33px;--dev-panel-fade-edge-overlap:1px;--panel-title-size:clamp(1rem, calc(var(--board-size) * .04), 1.75rem);--panel-title-margin:clamp(3px, calc(var(--board-size) * .013), 10px);--status-font-size:clamp(.74rem, calc(var(--board-size) * .022), .95rem);--status-row-margin:clamp(3px, calc(var(--board-size) * .009), 10px);--control-gap:clamp(4px, calc(var(--board-size) * .009), 6px);--control-height:clamp(27px, calc(var(--board-size) * .05), 32px);--control-padding-inline:clamp(4px, calc(var(--board-size) * .01), 6px);--text-control-width:clamp(46px, calc(var(--board-size) * .084), 54px);--rules-control-width:var(--text-control-width);--icon-control-width:clamp(30px, calc(var(--board-size) * .052), 34px);--info-box-spacing:clamp(4px, calc(var(--board-size) * .014), 8px);--info-box-height:clamp(64px, calc(var(--board-size) * .112), 76px);--phase-info-font-size:clamp(.9rem, calc(var(--board-size) * .024), 1rem);--phase-info-line-height:1.3;--bg-color:#211e1c;--panel-bg:#3a3532;--dev-panel-bg:#26221ff0;--border-color:#000;--text-color:#e0e0e0;--text-muted:#b0a9a4;--light-square:#e9d9b6;--dark-square:#a98865;--life-color:#4caf50;--death-color:#9e9e9e;--status-available:#81c784;--status-used:#e57373;--status-unavailable:#757575;--highlight-select:#87cefa66;--highlight-move:#2e8b5799;--highlight-death-move:#567367b8;--highlight-attack:#ffa07a99;--highlight-special:#add8e699;--highlight-special-muted:#add8e64d;--button-bg:#272320;--button-border:#6b625b;--button-active:#514941;--checkbox-size:16px;--intimidated-white:#f0edff;--intimidated-black:#16121f;--font-main:"Lato", sans-serif;--font-display:"Merriweather", serif}html{background-color:var(--bg-color);overflow-anchor:none;min-height:100%}body{font-family:var(--font-main);background-color:var(--bg-color);background:radial-gradient(ellipse at center, #3f3a36 0%, var(--bg-color) 70%);min-height:100vh;color:var(--text-color);-webkit-user-select:none;user-select:none;overflow-anchor:none;justify-content:center;align-items:center;margin:0;display:flex}.action-history,.action-history *,.rules-panel,.rules-panel *{-webkit-user-select:text;user-select:text}#game-container{grid-template-columns:minmax(0, 1fr) var(--board-outer-size) minmax(0, 1fr);gap:20px var(--layout-gap);height:100dvh;padding:max(16px, calc((100dvh - var(--board-size) - var(--coordinate-row-height) - 18px) / 2)) var(--page-padding-inline);box-sizing:border-box;overflow-anchor:none;justify-content:stretch;place-items:center;width:100%;display:grid;overflow:hidden}body.app-booting #game-container{visibility:hidden}#developer-panel-stack{width:min(var(--dev-panel-width), 100%);grid-column:1;place-self:center end;min-width:0;position:relative;overflow:visible}#developer-panel{box-sizing:border-box;width:100%;max-height:min(720px,100dvh - 40px);padding:var(--dev-panel-padding);background:var(--dev-panel-bg);overflow-anchor:none;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#e9d9b647 transparent;border:1px solid #e9d9b624;border-radius:8px;position:relative;overflow-y:auto;box-shadow:0 4px 15px #0000006b}#developer-panel:after{content:"";bottom:calc((var(--dev-panel-padding) + var(--dev-panel-fade-edge-overlap)) * -1);z-index:6;height:calc(var(--dev-panel-fade-height) + var(--dev-panel-fade-edge-overlap));margin:calc((var(--dev-panel-fade-height) + var(--dev-panel-fade-edge-overlap)) * -1) calc(var(--dev-panel-padding) * -1) calc((var(--dev-panel-padding) + var(--dev-panel-fade-edge-overlap)) * -1);opacity:0;pointer-events:none;background:linear-gradient(#26221f00,#26221ffa);border-radius:0 0 8px 8px;transition:opacity .14s;display:block;position:sticky}#developer-panel.has-hidden-dev-content-below:after{opacity:1}.dev-panel-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}#developer-panel h2{font-family:var(--font-display);margin:0;font-size:1.05rem;line-height:1.2}.dev-collapse-button{flex:none;min-width:48px;width:auto!important}#developer-panel.is-collapsed{width:min(58px,100%);padding:8px;overflow:hidden}#developer-panel.is-collapsed:after{display:none}#developer-panel.is-collapsed .dev-panel-header{justify-content:center;margin-bottom:0}#developer-panel.is-collapsed .dev-panel-title,#developer-panel.is-collapsed .dev-panel-content{display:none}.dev-field,.dev-check{color:var(--text-muted);gap:5px;min-width:0;margin-bottom:10px;font-size:.82rem;font-weight:700;display:grid}.dev-check{grid-template-columns:auto 1fr;align-items:center;gap:8px}.dev-field span,.dev-check span{overflow-wrap:anywhere;min-width:0;line-height:1.25}.dev-check-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.dev-check-row .dev-check{margin-bottom:0}.dev-primary-check{color:var(--text-color);background:#ffffff0a;border:1px solid #e9d9b633;border-radius:6px;margin:2px 0 12px;padding:8px 9px}.dev-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dev-pawn-row{align-items:start}.dev-section{border-top:1px solid #e9d9b638;margin-top:12px;padding-top:12px}.dev-section-toggle{color:var(--text-color);border-bottom:1px solid #e9d9b61a;margin-bottom:12px;padding-bottom:8px;font-size:.9rem}.dev-board-edit-heading{border-bottom:1px solid #e9d9b61a;grid-template-columns:minmax(0,1fr) minmax(86px,auto);align-items:start;gap:8px;margin-bottom:12px;padding-bottom:8px;display:grid}.dev-board-edit-heading .dev-section-toggle{border-bottom:0;margin-bottom:0;padding-bottom:0}.dev-board-edit-heading button{min-height:28px;padding-inline:6px}.dev-button-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}#developer-panel select,#developer-panel input,#developer-panel textarea,#developer-panel button{box-sizing:border-box;border:1px solid var(--button-border);background:var(--button-bg);width:100%;color:var(--text-color);font:inherit;border-radius:6px}#developer-panel select,#developer-panel input{min-width:0;min-height:32px;padding:5px 7px}#developer-panel input[type=checkbox],.settings-panel input[type=checkbox]{width:var(--checkbox-size);min-width:var(--checkbox-size);height:var(--checkbox-size);min-height:var(--checkbox-size);accent-color:var(--dark-square);padding:0}#developer-panel textarea{resize:none;white-space:pre-wrap;overflow-wrap:anywhere;field-sizing:content;min-height:50px;max-height:calc(10.8em + 16px);padding:7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.35;overflow:hidden}#developer-panel button{cursor:pointer;overflow-wrap:anywhere;min-height:32px;padding:6px 8px;font-weight:700}#developer-panel button:hover,#developer-panel button:focus-visible{background:var(--button-active);outline-offset:2px;outline:2px solid #e9d9b6a6}#developer-panel button:disabled{cursor:default;opacity:.48}#developer-panel button:disabled:hover,#developer-panel button:disabled:focus-visible{background:var(--button-bg);outline:none}.dev-wide-button{margin-top:2px}.dev-fen-actions{position:relative}#dev-message{box-sizing:border-box;width:100%;height:1.35em;min-height:1.35em;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:8px 0 0;font-size:.78rem;line-height:1.35;overflow:hidden}.dev-toast{z-index:4;width:max-content;max-width:100%;color:var(--text-color);pointer-events:none;background:#272320f5;border:1px solid #e9d9b642;border-radius:6px;margin:0;padding:6px 10px;font-size:.78rem;font-weight:700;position:absolute;top:50%;left:4px;transform:translateY(-50%);box-shadow:0 5px 18px #00000061}.dev-toast[hidden]{display:none}#right-rail{width:min(var(--side-panel-width), 100%);min-width:0;height:var(--side-panel-height);max-height:none;transform:translateY(var(--side-panel-board-center-shift));flex-shrink:0;order:2;grid-column:3;place-self:center start;display:block;position:relative;overflow:visible}#ui-panel{width:100%;height:var(--side-panel-height);min-height:var(--side-panel-height);max-height:var(--side-panel-height);box-sizing:border-box;text-align:center;background-color:var(--panel-bg);padding:var(--side-panel-padding);border-radius:8px;flex-direction:column;flex-shrink:0;margin-top:0;display:flex;overflow:visible;box-shadow:0 4px 15px #00000080}#ui-panel h1{font-family:var(--font-display);margin-top:0;margin-bottom:var(--panel-title-margin);font-size:var(--panel-title-size);color:var(--text-color);font-weight:700;line-height:1.18}#status-panel{text-align:left;flex-direction:column;flex:1;min-height:0;display:flex}.captured-pieces{z-index:18;box-sizing:border-box;background:#00000029;border:1px solid #e9d9b61f;border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:42px;padding:6px 8px;display:grid;position:absolute;left:0;right:0;box-shadow:inset 0 1px #ffffff08}#captured-top{bottom:calc(100% + 8px)}#captured-bottom{top:calc(100% + 8px)}.captured-pieces[data-side=white]{--captured-dot:#f7f4ed;--captured-border:#ffffff3d}.captured-pieces[data-side=black]{--captured-dot:#080706;--captured-border:#ffffff2e}.captured-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:0;align-items:center;gap:5px;font-size:.72em;font-weight:700;line-height:1;display:inline-flex}.captured-label:before{content:"";border:1px solid var(--captured-border);background:var(--captured-dot);border-radius:50%;width:8px;height:8px}.captured-piece-list{flex-wrap:wrap;align-items:center;gap:2px;min-height:28px;display:flex}.captured-pieces[data-position=top] .captured-piece-list{align-content:end}.captured-pieces[data-position=bottom] .captured-piece-list{align-content:start}.captured-piece{width:clamp(19px, calc(var(--board-size) * .044), 28px);aspect-ratio:1;opacity:.82;filter:grayscale(.18)saturate(.92);justify-content:center;align-items:center;display:inline-flex}.captured-piece img{object-fit:contain;pointer-events:none;filter:drop-shadow(0 1px 2px #00000080);transform-origin:50%;width:100%;height:100%;display:block}.captured-piece.is-flipped img{transform:scaleX(-1)}.captured-pieces.is-empty .captured-piece-list{opacity:.45}#turn-status-container p{margin:var(--status-row-margin) 0;font-size:var(--status-font-size);color:var(--text-muted);overflow-wrap:anywhere;line-height:1.25}#turn-status-container span{font-weight:700}.action-history{background:var(--action-history-bg);border:1px solid #e9d9b624;border-radius:6px;flex-direction:column;flex:none;margin:auto 0 0;padding:10px;display:flex;position:relative}.action-history:after{content:"";height:var(--action-history-fade-height);pointer-events:none;opacity:0;background:linear-gradient(to top, var(--action-history-bg), transparent);transition:opacity .14s;position:absolute;bottom:10px;left:10px;right:10px}.action-history.has-hidden-actions-below:after{opacity:1}.action-history p{color:var(--text-muted);text-transform:uppercase;letter-spacing:0;-webkit-user-select:none;user-select:none;font-weight:700;margin:0 0 7px!important;font-size:.78em!important}.action-history ol{height:var(--action-history-height);min-height:var(--action-history-height);max-height:var(--action-history-height);scroll-behavior:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#e9d9b647 transparent;flex:none;margin:0;padding-left:0;list-style:none;overflow-y:auto}.action-history ol::-webkit-scrollbar{width:8px}.action-history ol::-webkit-scrollbar-track{background:0 0}.action-history ol::-webkit-scrollbar-thumb{background:#e9d9b647 padding-box content-box;border:2px solid #0000;border-radius:999px;min-height:28px}.action-history ol::-webkit-scrollbar-thumb:hover{background:#e9d9b66b padding-box content-box}.action-history ol::-webkit-scrollbar-corner{background:0 0}.action-history li{color:var(--text-color);grid-template-columns:10px 1fr;align-items:start;gap:7px;margin:4px 0;font-size:.82em;line-height:1.25;display:grid}.action-history li:before{content:"";box-sizing:border-box;border-radius:50%;width:8px;height:8px;margin-top:3px}.action-history li[data-action-color=white]:before{background:#f7f4ed;border:1px solid #00000075;box-shadow:0 0 6px #ffffff3d}.action-history li[data-action-color=black]:before{background:#080706;border:1px solid #ffffff3d;box-shadow:0 0 5px #00000080}.action-history li.player-break{border-top:1px solid #e9d9b61a;margin-top:9px;padding-top:9px}.action-history li.empty-history{color:var(--text-muted);display:block}.action-history li.empty-history:before{content:none}.status-available{color:var(--status-available)}.status-used{color:var(--status-used)}.status-unavailable{color:var(--status-unavailable)}.turn-controls{gap:var(--control-gap);min-height:calc(var(--control-height) + 4px);margin-top:clamp(5px, calc(var(--board-size) * .012), 9px);z-index:20;flex-wrap:wrap;justify-content:flex-start;align-items:center;display:flex;position:relative}.settings-anchor,.rules-anchor{flex:none;min-width:0;position:relative}.icon-button{border:1px solid var(--button-border);background:var(--button-bg);color:var(--text-color);min-width:var(--icon-control-width);height:var(--control-height);padding:0 var(--control-padding-inline);font:inherit;cursor:pointer;overflow-wrap:anywhere;border-radius:6px;max-width:100%;font-size:.95em;font-weight:700;box-shadow:inset 0 1px #ffffff0d,0 2px 8px #00000047}.skip-button{min-width:var(--text-control-width)}.undo-button{min-width:var(--text-control-width);margin-right:auto}.rules-button{min-width:var(--rules-control-width)}.skip-button[hidden]{pointer-events:none;visibility:hidden;display:inline-block}.icon-button:hover,.icon-button:focus-visible{background:var(--button-active);outline-offset:2px;outline:2px solid #e9d9b6a6}.icon-button:disabled{cursor:not-allowed;opacity:.56}.icon-button:disabled:hover,.icon-button:disabled:focus-visible{background:var(--button-bg);outline:none}.settings-panel,.rules-panel{box-sizing:border-box;overscroll-behavior:contain;z-index:30;overflow-wrap:anywhere;background:#211e1cf5;border:1px solid #524c47;border-radius:8px;width:min(252px,100vw - 48px);max-height:calc(100dvh - 48px);padding:14px;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 12px 26px #00000075}.rules-panel{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#e9d9b647 transparent;width:min(292px,100vw - 48px)}.rules-panel::-webkit-scrollbar{width:8px}.rules-panel::-webkit-scrollbar-track{background:0 0}.rules-panel::-webkit-scrollbar-thumb{background:#e9d9b647 padding-box content-box;border:2px solid #0000;border-radius:999px;min-height:28px}.rules-panel::-webkit-scrollbar-thumb:hover{background:#e9d9b66b padding-box content-box}.rules-panel::-webkit-scrollbar-corner{background:0 0}.settings-anchor .settings-panel,.rules-anchor .rules-panel{left:auto;right:0}.rules-anchor .rules-panel{right:-48px}@media screen and (min-width:1025px){.rules-anchor .rules-panel{max-height:min(440px,100dvh - 48px)}}.settings-panel[hidden],.rules-panel[hidden]{display:none}.rules-panel h2{color:var(--text-color);font-family:var(--font-display);margin:0 0 9px;font-size:1rem}.rules-panel ul{margin:0;padding-left:18px}.rules-panel li{color:var(--text-muted);margin:7px 0;font-size:.82em;line-height:1.3}.rules-link{color:#e9d9b6;margin-top:11px;font-size:.82em;font-weight:700;text-decoration:none;display:inline-block}.rules-link:hover,.rules-link:focus-visible{color:#fff4d4;outline:none;text-decoration:underline}.settings-panel label{color:var(--text-muted);margin:0;font-size:.9em;font-weight:700;display:block}.settings-panel .setting-group+.setting-group{margin-top:var(--settings-option-gap)}.setting-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.setting-heading span{color:var(--text-color);font-size:.82em;font-weight:700}.settings-panel input[type=range]{accent-color:#a98865;width:100%}.settings-hint{color:var(--text-muted);margin:4px 0 0;font-size:.76em;line-height:1.25}.setting-row{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:.9em;font-weight:700;display:flex}.side-label{align-items:center;gap:6px;display:inline-flex}.segmented-control{border:1px solid var(--button-border);background:var(--button-bg);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:min(118px,100%);display:inline-grid;overflow:hidden}.segmented-option{min-width:0;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;padding:7px 8px;font-weight:700}.segmented-option[aria-pressed=true]{background:var(--button-active);color:var(--text-color);box-shadow:inset 0 0 0 1px #e9d9b633}.segmented-option:disabled{cursor:not-allowed;opacity:.46}.info-capsule{width:16px;height:16px;color:var(--text-muted);cursor:help;background:#0000003d;border:1px solid #e9d9b62e;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.7em;line-height:1;display:inline-flex;position:relative}.info-capsule[hidden]{display:none}.info-capsule:after{content:attr(data-tooltip);width:max-content;min-width:0;max-width:190px;color:var(--text-muted);opacity:0;pointer-events:none;white-space:normal;z-index:40;background:#211e1cfa;border:1px solid #e9d9b638;border-radius:999px;padding:7px 9px;transition:opacity .14s,transform .14s;position:absolute;top:50%;left:calc(100% + 8px);transform:translate(4px,-50%);box-shadow:0 8px 18px #0000006b}.info-capsule:hover:after,.info-capsule:focus-visible:after{opacity:1;transform:translateY(-50%)}.toggle-row{justify-content:space-between;align-items:center;gap:10px;padding-top:2px;display:flex!important}.toggle-row input{accent-color:var(--life-color);transform:scale(1.1)}.new-game-button{border:1px solid var(--button-border);width:100%;color:var(--text-color);font:inherit;cursor:pointer;background:linear-gradient(#3c342e 0%,#292420 100%);border-radius:6px;padding:8px 10px;font-weight:700}.new-game-button:hover,.new-game-button:focus-visible{background:var(--button-active);outline-offset:2px;outline:2px solid #e9d9b6a6}#info-box{margin-top:var(--info-box-spacing);padding-top:var(--info-box-spacing);flex:0 0 var(--info-box-height);min-height:var(--info-box-height);max-height:var(--info-box-height);border-top:1px solid #524c47;overflow:hidden}#info-box p{color:var(--text-muted);font-style:italic;font-size:var(--phase-info-font-size);line-height:var(--phase-info-line-height);min-height:0;max-height:calc(var(--info-box-height) - var(--info-box-spacing) - 1px);margin:0;overflow:hidden;transform:translateY(-1px)}#phase-info.is-tight{font-size:calc(var(--phase-info-font-size) * .9);line-height:1.2}#phase-info.is-tiny{font-size:calc(var(--phase-info-font-size) * .82);line-height:1.14}#player-turn{border-radius:4px;padding:2px 8px;font-weight:700;transition:background-color .3s,color .3s}#player-turn.white{color:#000;background-color:#f0f0f0}#player-turn.black{color:#fff;background-color:#000}#player-turn.turn-start-flash{animation:.96s cubic-bezier(.22,.74,.24,1) turn-start-flash}#board-container{width:var(--board-outer-size);flex:none;order:1;grid-column:2;position:relative}#board-frame{border:var(--board-frame-border) solid var(--border-color);width:var(--board-size);height:var(--board-size);position:relative;box-shadow:0 4px 20px #0009}#game-board:after{content:"";z-index:3;pointer-events:none;background-color:#424242b3;width:100%;height:2px;position:absolute;top:50%;left:0;transform:translateY(-50%)}#game-board{width:var(--board-size);height:var(--board-size);grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(10,1fr);display:grid;position:relative}#file-coordinates{width:var(--board-size);height:var(--coordinate-row-height);color:#e9d9b6c7;font-size:var(--coordinate-font-size);text-align:center;text-transform:lowercase;text-shadow:0 1px 3px #000000a6;background:0 0;grid-template-columns:repeat(10,1fr);align-items:center;margin:8px 5px 0;font-weight:700;line-height:1;display:grid}.square{width:var(--square-size);height:var(--square-size);box-sizing:border-box;font:inherit;cursor:default;border:0;border-radius:0;padding:0;line-height:1;position:relative;overflow:visible}.square.has-piece,.square.is-actionable{cursor:pointer}.square.is-animating{z-index:8}.square.light{background-color:var(--light-square)}.square.dark{background-color:var(--dark-square)}.square.frame-square:before,.square.wrap-file:after{content:"";z-index:0;pointer-events:none;position:absolute;inset:0}.square.frame-square:before{background:linear-gradient(135deg,#a78bfa1f,#0000 42%),radial-gradient(circle,#0000 46%,#24184824);border:1px solid #a78bfa52;box-shadow:inset 0 0 10px #674cb829}.square.wrap-file:after{mix-blend-mode:screen;opacity:.95;background:linear-gradient(90deg,#c7a6ff75 0%,#9b68ff47 34%,#664cb81f 64%,#0000 92%);box-shadow:inset 12px 0 18px #7955e642}.square.wrap-file[data-col="9"]:after{transform:scaleX(-1)}.piece{width:100%;height:100%;font-size:calc(var(--square-size) * .7);cursor:pointer;z-index:2;-webkit-user-select:none;user-select:none;text-shadow:0 0 3px #000000b3;isolation:isolate;justify-content:center;align-items:center;transition:opacity .3s,filter .25s;display:flex;position:relative}.piece-image{z-index:0;object-fit:contain;pointer-events:none;-webkit-user-drag:none;filter:drop-shadow(0 2px 2px #00000080);transform-origin:50%;width:88%;height:88%;display:block;position:relative}.piece-symbol{z-index:0;font-size:calc(var(--square-size) * .68);pointer-events:none;transform-origin:50%;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset:0}.fool-profile-overlay{z-index:3;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:25%}.fool-profile-image,.fool-profile-symbol{object-fit:contain;width:100%;height:100%;line-height:1;display:block}.fool-profile-symbol{font-size:calc(var(--square-size) * .34);justify-content:center;align-items:center;display:flex}.fool-profile-overlay.white{filter:drop-shadow(0 1px 1px #000000f2)drop-shadow(0 0 4px #000000e6)}.fool-profile-overlay.black{filter:drop-shadow(0 1px 1px #ffffffe0)drop-shadow(0 0 5px #fff5d6c7)}.piece.is-flipped .piece-image,.piece.is-flipped .piece-symbol{transform:scaleX(-1)}.piece-status-overlay{z-index:2;opacity:0;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle at 50% 44%,#b29aff8f 0 22%,#5844ae61 45%,#22184838 66%,#0000 78%),linear-gradient(135deg,#cfebff38,#694cd233);border-radius:50%;transition:opacity .12s;position:absolute;inset:12%;box-shadow:inset 0 0 14px #ac96ff6b,0 0 13px #5c48cd61}.piece-image[hidden],.piece-symbol[hidden],.fool-profile-image[hidden],.fool-profile-symbol[hidden]{display:none}.piece.is-moving{z-index:12;pointer-events:none;will-change:transform, filter}.piece-ghost{width:var(--square-size);height:var(--square-size);z-index:14;pointer-events:none;font-size:calc(var(--square-size) * .7);text-shadow:0 0 4px #000000d9;will-change:transform, opacity, filter;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute}.piece-ghost.is-moving-removal{z-index:15}.piece-ghost.castling-ghost{z-index:32}.piece-ghost.wrapped-exit{z-index:34}.piece-ghost .piece-image{width:88%;height:88%}.board-effect{z-index:13;pointer-events:none;will-change:transform, opacity;border-radius:50%;animation-duration:.38s;animation-timing-function:cubic-bezier(.2,.8,.22,1);position:absolute}.piece.white{color:#fff;text-shadow:1px 1px 2px #000c,0 0 8px #000000f2}.piece.black{color:#1a1a1a}.piece.life-piece{color:var(--life-color);opacity:.72;text-shadow:0 1px 2px #00000073,0 0 3px #4caf505c;font-weight:700}.piece.death-piece{color:var(--death-color);opacity:.7;text-shadow:0 1px 2px #00000080,0 0 3px #d2d2d242}.piece.life-piece:after,.piece.death-piece:after{content:"";background:radial-gradient(circle, var(--owner-glow-core,#e9d9b61f) 0 36%, var(--owner-glow-mid,#e9d9b614) 48%, transparent 72%);box-shadow:0 0 5px var(--owner-glow-ring,#e9d9b62e), 0 0 12px var(--owner-glow-soft,#e9d9b61f);opacity:.72;pointer-events:none;z-index:-1;border-radius:50%;position:absolute;inset:13%}.piece.has-shield:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle,#64e2740e 0 34%,#59d4691f 58%,#4cc65c33 78%,#4bcb5e21 100%);border-radius:50%;width:90%;height:90%;transition:background .3s ease-in-out,box-shadow .3s ease-in-out;position:absolute;top:5%;left:5%;box-shadow:inset 0 0 8px 2px #4ccd5cb3,0 0 6px 1px #4ac45a61}.piece.has-shield.is-immune:after{background:radial-gradient(circle,#70eb7e1a 0 38%,#54dc6433 62%,#48cd5a4d 82%,#4eda622e 100%);box-shadow:inset 0 0 10px 4px #4ad758e6,0 0 10px 3px #48cd58b3}.piece.white.is-intimidated{color:var(--intimidated-white);filter:saturate(.98)drop-shadow(0 0 8px #705be0b8);text-shadow:1px 1px 2px #000000b8,0 0 7px #ab97ff6b}.piece.black.is-intimidated{color:var(--intimidated-black);filter:saturate(.95)drop-shadow(0 0 8px #7963f2c2);text-shadow:0 1px 1px #dde7ff33,0 0 5px #000000d6}.piece.is-intimidated .piece-image{filter:saturate(.86)contrast(1.08)brightness(.98)drop-shadow(0 0 6px #755feead)drop-shadow(0 2px 2px #00000075)}.piece.is-intimidated .piece-status-overlay{opacity:.5}.piece.frame-shield-suppressed .piece-status-overlay{opacity:.76;background:radial-gradient(circle at 50% 45%,#f0e5ff94,#0000 42%),linear-gradient(135deg,#bb93ff80,#5030aa4d);border-radius:12%;inset:15%;box-shadow:inset 0 0 10px #e2d2ff94,0 0 12px #915dff85}.piece.frame-shield-suppressed:before{content:"";z-index:3;pointer-events:none;border:2px solid #cfbcffad;border-radius:12%;position:absolute;inset:9%;box-shadow:inset 0 0 8px #5a3bb83d,0 0 8px #8b5cf661}.piece.frame-affected .piece-status-overlay{opacity:.34;background:radial-gradient(circle at 50% 45%,#d6beff5c,#0000 48%),linear-gradient(135deg,#9a6cff52,#4b2c962e);border-radius:18%;inset:17%;box-shadow:inset 0 0 8px #c3acff47,0 0 8px #8056ef42}.piece.is-intimidated.intimidation-framed .piece-status-overlay{opacity:.68;border-radius:14%;inset:8%}.piece.is-intimidated.intimidation-framed:before{content:"";pointer-events:none;z-index:3;border:3px solid #b29effe6;border-radius:12%;animation:.96s ease-in-out infinite alternate intimidation-pulse;position:absolute;inset:8%;box-shadow:0 0 13px #705be09e,inset 0 0 9px #0b081f57}.piece.winning-king:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle,#fff4be66 0 28%,#ffca4e4d 42%,#a666142e 58%,#0000 72%);border-radius:50%;animation:1.15s ease-in-out infinite alternate winning-king-glow;position:absolute;inset:2%;box-shadow:0 0 0 2px #ffe78f66,0 0 14px #ffcc4fb8,0 0 26px #ffa31f57}.piece.winning-king:after{content:"";pointer-events:none;z-index:-1;border:2px solid #ffe893e0;border-radius:50%;position:absolute;inset:14%;box-shadow:inset 0 0 7px #5a34046b,0 0 8px #ffd65c9e}.life-piece[data-owner=black],.death-piece[data-owner=black]{--owner-glow-core:#120f0c33;--owner-glow-mid:#120f0c21;--owner-glow-ring:#0000006b;--owner-glow-soft:#1c171252}.life-piece[data-owner=white],.death-piece[data-owner=white]{--owner-glow-core:#fff8e22e;--owner-glow-mid:#fff8e21a;--owner-glow-ring:#ffffff3d;--owner-glow-soft:#fff6dc38}.highlight-overlay{z-index:1;pointer-events:none;box-sizing:border-box;width:100%;height:100%;position:absolute;top:0;left:0}.highlight-overlay.selected{background-color:var(--highlight-select)}.highlight-overlay.selected-muted{background-color:var(--highlight-special-muted)}.highlight-overlay.valid-move:before{content:"";background-color:var(--highlight-move);border-radius:50%;width:30%;height:30%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.highlight-overlay.valid-death-move:before{content:"";background-color:var(--highlight-death-move);border-radius:50%;width:30%;height:30%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.highlight-overlay.valid-ramp:before{content:"";background-color:#2e8b5757;border-radius:50%;width:30%;height:30%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.highlight-overlay.valid-death-ramp:before{content:"";background-color:#56706773;border-radius:50%;width:30%;height:30%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.highlight-overlay.valid-attack:before{content:"";border:5px solid var(--highlight-attack);box-sizing:border-box;background-color:#0000;border-radius:15%;width:80%;height:80%;position:absolute;top:10%;left:10%}.highlight-overlay.valid-special:before{content:"";box-sizing:border-box;filter:drop-shadow(0 0 6px #ffffff57);background-color:#0000;border:5px dashed #d8effffa;border-radius:50%;width:78%;height:78%;position:absolute;top:11%;left:11%}.highlight-overlay.valid-special{z-index:6}.highlight-overlay.valid-special:after{content:"";opacity:.84;pointer-events:none;border-radius:50%;position:absolute;inset:25%}.highlight-overlay.valid-life-special:before{border-color:#55e897fa;box-shadow:0 0 0 2px #0b462a29,0 0 14px #37d27e9e}.highlight-overlay.valid-life-special:after{background:radial-gradient(circle,#67f2aa4d 0 24%,#34b56c2e 48%,#0000 72%)}.highlight-overlay.valid-death-special:before{border-color:#ee535dfa;box-shadow:0 0 0 2px #310a0d2e,0 0 14px #dd3341a8}.highlight-overlay.valid-death-special:after{background:radial-gradient(circle,#ff5f6947 0 22%,#421f2438 50%,#0000 74%)}.highlight-overlay.valid-staging,.highlight-overlay.valid-resting{background-color:var(--highlight-special);cursor:pointer;pointer-events:all}.board-effect.shield-hit{border:3px solid #78e687f2;animation-name:shield-hit;box-shadow:0 0 16px #78e687e6}.board-effect.life-glow{background:radial-gradient(circle,#4caf508c,#0000 68%);animation-name:life-glow}.board-effect.death-move-glow{background:radial-gradient(circle,#26221f4d 0 24%,#0003 52%,#0000 72%);animation-name:death-move-glow;box-shadow:0 0 10px #0000002e,inset 0 0 8px #e9d9b60a}.board-effect.death-burst{background:radial-gradient(circle,#e9d9b63d 0 16%,#4c423857 44%,#12100f38 64%,#0000 78%);animation-name:death-burst;box-shadow:0 0 10px #0000005c,inset 0 0 10px #e9d9b614}.board-effect.intimidation-glow{background:radial-gradient(circle,#ffd87447 0 28%,#c691222e 48%,#0000 74%);border:2px solid #ffcd62e0;animation-name:intimidation-glow;box-shadow:0 0 12px #ffb4466b,inset 0 0 10px #00000029}@keyframes shield-hit{0%{opacity:0;transform:scale(.7)}45%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:scale(1.3)}}@keyframes life-glow{0%{opacity:0;transform:scale(.62)}45%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.35)}}@keyframes death-move-glow{0%{opacity:0;transform:scale(.62)}45%{opacity:.72;transform:scale(1.04)}to{opacity:0;transform:scale(1.32)}}@keyframes death-burst{0%{opacity:0;transform:scale(.54)rotate(-5deg)}42%{opacity:.82;transform:scale(1.04)rotate(2deg)}to{opacity:0;transform:scale(1.28)rotate(7deg)}}@keyframes intimidation-pulse{0%{opacity:.58;transform:scale(.92)}to{opacity:1;transform:scale(1.04)}}@keyframes intimidation-glow{0%{opacity:0;transform:scale(.68)}38%{opacity:.86;transform:scale(1.02)}to{opacity:0;transform:scale(1.34)}}@keyframes winning-king-glow{0%{opacity:.72;transform:scale(.96)}to{opacity:1;transform:scale(1.05)}}@keyframes turn-start-flash{0%{transform:scale(1);box-shadow:0 0 #e9d9b600,0 0 #fff0}38%{transform:scale(1.018);box-shadow:0 0 0 3px #e9d9b61f,0 0 13px #e9d9b638}to{transform:scale(1);box-shadow:0 0 #e9d9b600,0 0 #fff0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}#promotion-panel{z-index:34;width:min(268px, calc(var(--board-size) - 32px));box-sizing:border-box;-webkit-backdrop-filter:blur(5px);text-align:center;pointer-events:auto;background:#211e1cb8;border:1px solid #e9d9b63d;border-radius:8px;margin:0;padding:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 32px #00000070,inset 0 1px #ffffff0d}#promotion-panel[hidden]{display:none}#promotion-panel p{color:var(--text-color);font-family:var(--font-display);margin:0 0 12px;font-size:.98rem;font-weight:700}.promotion-options{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.promotion-choice{border:1px solid var(--button-border);color:var(--text-color);min-height:36px;font:inherit;cursor:pointer;background:#272320d1;border-radius:6px;padding:8px 9px;font-weight:700;box-shadow:inset 0 1px #ffffff0d,0 2px 8px #00000040}.promotion-choice:hover,.promotion-choice:focus-visible{outline-offset:2px;background:#4a433de6;outline:2px solid #e9d9b6a6}@media screen and (max-width:1380px){#game-container{grid-template-columns:minmax(0, 1fr) var(--board-outer-size) minmax(0, 1fr);gap:var(--side-by-side-gap);padding-inline:var(--page-padding-inline);justify-content:stretch;display:grid}#developer-panel-stack{grid-column:1}#board-container{order:1;grid-column:2}#right-rail{order:2;grid-column:3}}@media screen and (min-width:1025px) and (max-width:1180px){:root{--page-padding-inline:clamp(12px, 1.6vw, 18px);--layout-gap:clamp(14px, 1.8vw, 22px);--side-by-side-gap:var(--layout-gap);--dev-panel-min-width:224px;--side-panel-min-width:196px;--side-panel-padding:clamp(8px, calc(var(--board-size) * .023), 13px);--dev-panel-padding:12px;--status-font-size:clamp(.7rem, calc(var(--board-size) * .021), .86rem);--text-control-width:clamp(42px, calc(var(--board-size) * .08), 50px);--rules-control-width:var(--text-control-width);--icon-control-width:clamp(29px, calc(var(--board-size) * .05), 32px)}.dev-grid,.dev-check-row,.dev-button-row{gap:6px}}@media screen and (max-width:1024px){#developer-panel-stack{display:block}}@media screen and (max-width:1024px) and (orientation:portrait){:root{--board-size:min(92vw, 560px, 84dvh);--action-history-height:132px;--action-history-min-height:var(--action-history-height);--action-history-max-height:var(--action-history-height);--info-box-height:68px}body{align-items:flex-start}#game-container{align-items:center;gap:var(--layout-gap);flex-direction:column;height:auto;min-height:auto;padding:20px;display:flex;overflow:visible}#board-container{order:1}#developer-panel-stack{order:3;place-self:center;width:min(560px,100vw - 40px)}#developer-panel{max-height:none}#right-rail{--side-capture-size:clamp(42px, 10vw, 54px);--side-capture-gap:8px;width:min(300px, calc(100vw - 40px - var(--side-capture-size) - var(--side-capture-size) - var(--side-capture-gap) - var(--side-capture-gap)));order:2;min-width:min(238px,100vw - 40px);height:auto;max-height:none;transform:none}#ui-panel{box-sizing:border-box;width:100%;height:auto;max-height:none;margin-top:0;overflow:visible;transform:none}.action-history{flex:none}.captured-pieces{width:var(--side-capture-size);height:auto;min-height:var(--side-capture-size);grid-template-columns:1fr;grid-auto-rows:auto;place-content:start center;place-items:start center;gap:5px;max-height:none;padding:7px 5px;inset:0 auto auto;overflow:visible}#captured-top,#captured-bottom{top:0;bottom:auto}.captured-pieces[data-side=white]{right:calc(100% + var(--side-capture-gap))}.captured-pieces[data-side=black]{left:calc(100% + var(--side-capture-gap))}.captured-label{justify-content:center;gap:0;width:100%;font-size:0}.captured-label:before{border-width:2px;width:18px;height:18px}.captured-piece-list{flex-flow:column;justify-content:flex-start;align-items:center;width:100%;height:auto;min-height:0;overflow:visible}.captured-pieces.is-empty .captured-piece-list{display:none}.captured-piece{width:clamp(24px, calc(var(--side-capture-size) * .62), 34px)}#ui-panel h1{order:2;margin:16px 0 0}#status-panel{order:1}.settings-panel,.rules-panel{width:min(272px, calc(var(--board-size) - 28px))}.rules-anchor .rules-panel{max-height:min(440px,100dvh - 48px);top:auto;bottom:calc(100% + 8px)}.info-capsule:after{top:calc(100% + 8px);left:auto;right:0;transform:translateY(4px)}.info-capsule:hover:after,.info-capsule:focus-visible:after{transform:translateY(0)}}@media screen and (max-width:1024px) and (orientation:landscape){:root{--page-padding-inline:clamp(8px, 2vw, 16px);--layout-gap:clamp(10px, 2.2vw, 18px);--side-by-side-gap:var(--layout-gap);--mobile-landscape-side-width:clamp(180px, 25vw, 246px);--dev-panel-width:var(--mobile-landscape-side-width);--side-panel-width:var(--mobile-landscape-side-width);--dev-panel-padding:10px;--board-size:min(calc(100dvh - var(--coordinate-row-height) - 28px), calc(100vw - (var(--mobile-landscape-side-width) * 2) - (var(--layout-gap) * 2) - (var(--page-padding-inline) * 2) - 10px));--side-panel-height:min(350px, calc(100dvh - 16px));--side-panel-padding:clamp(8px, calc(var(--board-size) * .025), 10px);--action-history-height:82px;--action-history-min-height:var(--action-history-height);--action-history-max-height:var(--action-history-height);--panel-title-size:clamp(.95rem, calc(var(--board-size) * .04), 1.08rem);--panel-title-margin:4px;--status-font-size:clamp(.72rem, calc(var(--board-size) * .022), .78rem);--status-row-margin:2px;--control-gap:4px;--control-height:27px;--control-padding-inline:4px;--text-control-width:46px;--rules-control-width:46px;--icon-control-width:30px;--info-box-spacing:5px;--info-box-height:54px;--phase-info-font-size:.82rem;--settings-option-gap:10px}body{align-items:stretch;min-height:100dvh}#game-container{grid-template-columns:minmax(0, 1fr) var(--board-outer-size) minmax(0, 1fr);justify-content:center;place-items:center;gap:var(--layout-gap);height:100dvh;min-height:0;padding-block:10px;padding-inline:var(--page-padding-inline);display:grid;overflow:hidden}#board-container{order:1;grid-column:2}#developer-panel-stack{width:min(var(--dev-panel-width), 100%);order:0;grid-column:1;place-self:center end}#developer-panel{max-height:calc(100dvh - 20px);padding:10px}#developer-panel h2{font-size:.92rem}.dev-panel-header{margin-bottom:8px}.dev-field,.dev-check{margin-bottom:7px;font-size:.72rem}.dev-grid,.dev-check-row,.dev-button-row{gap:6px}#developer-panel select,#developer-panel input,#developer-panel button{min-height:27px;padding:4px 5px}#developer-panel textarea{min-height:42px;font-size:.68rem}#right-rail{width:min(var(--side-panel-width), 100%);height:var(--side-panel-height);max-height:none;transform:translateY(var(--side-panel-board-center-shift));order:2;grid-column:3;justify-self:start}#ui-panel{box-sizing:border-box;width:100%;padding:var(--side-panel-padding);margin-top:0}#ui-panel h1{margin:0 0 var(--panel-title-margin);order:0}#status-panel{order:1}.action-history{padding:8px}.captured-pieces{grid-template-columns:1fr;gap:3px;min-height:30px;padding:4px 6px}.captured-label{justify-content:center;font-size:.62em}.captured-piece-list{justify-content:center;min-height:18px}.captured-piece{width:clamp(15px, calc(var(--board-size) * .042), 20px)}.action-history li{margin:3px 0;font-size:.75em}.settings-panel,.rules-panel{width:min(264px,100vw - 32px);max-height:calc(100dvh - 58px);overflow-y:auto}}
