@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-7xl:80rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-bold:700;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.-right-6{right:calc(var(--spacing)*-6)}.-bottom-5{bottom:calc(var(--spacing)*-5)}.left-0{left:calc(var(--spacing)*0)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.h-\[var\(--piece-size\)\]{height:var(--piece-size)}.h-\[var\(--square-size\)\]{height:var(--square-size)}.h-full{height:100%}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-56{width:calc(var(--spacing)*56)}.w-60{width:calc(var(--spacing)*60)}.w-\[var\(--piece-size\)\]{width:var(--piece-size)}.w-\[var\(--square-size\)\]{width:var(--square-size)}.w-full{width:100%}.max-w-7xl{max-width:var(--container-7xl)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\[chunky-blink_0\.4s_ease-in-out_infinite\]{animation:.4s ease-in-out infinite chunky-blink}.animate-\[chunky-blink_0\.5s_ease-in-out_infinite\]{animation:.5s ease-in-out infinite chunky-blink}.animate-\[mystery-shimmer_3s_ease-in-out_infinite\]{animation:3s ease-in-out infinite mystery-shimmer}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.border{border-style:var(--tw-border-style);border-width:1px}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.py-4{padding-block:calc(var(--spacing)*4)}.text-center{text-align:center}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-\[6px\]{font-size:6px}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}@media(min-width:40rem){.sm\:block{display:block}}@media(min-width:48rem){.md\:p-6{padding:calc(var(--spacing)*6)}}@media(min-width:64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-64{width:calc(var(--spacing)*64)}.lg\:flex-col{flex-direction:column}.lg\:flex-row{flex-direction:row}}}:root{--gb-bg-hard:#1d2021;--gb-bg:#282828;--gb-bg-soft:#32302f;--gb-bg1:#3c3836;--gb-bg2:#504945;--gb-bg3:#665c54;--gb-bg4:#7c6f64;--gb-fg:#ebdbb2;--gb-fg1:#d5c4a1;--gb-fg2:#bdae93;--gb-fg3:#a89984;--gb-fg4:#928374;--gb-red:#fb4934;--gb-red-dim:#cc241d;--gb-green:#b8bb26;--gb-green-dim:#98971a;--gb-yellow:#fabd2f;--gb-yellow-dim:#d79921;--gb-blue:#83a598;--gb-blue-dim:#458588;--gb-purple:#d3869b;--gb-purple-dim:#b16286;--gb-aqua:#8ec07c;--gb-aqua-dim:#689d6a;--gb-orange:#fe8019;--gb-orange-dim:#d65d0e;--color-bg:var(--gb-bg);--color-bg-alt:var(--gb-bg-soft);--color-bg-elevated:var(--gb-bg1);--color-bg-hover:var(--gb-bg2);--color-fg:var(--gb-fg);--color-fg-muted:var(--gb-fg3);--color-fg-subtle:var(--gb-fg4);--color-border:var(--gb-bg3);--color-border-strong:var(--gb-bg4);--square-light:#d5c4a1;--square-dark:#7c6f64;--square-light-shadow:#ebdbb2;--square-dark-shadow:#504945;--board-border:#504945;--board-shadow:#1d2021;--piece-white:#fbf1c7;--piece-white-shadow:#a89984;--piece-black:#282828;--piece-black-highlight:#3c3836;--hidden-bg:var(--gb-purple-dim);--hidden-border:#8f3f71;--hidden-highlight:var(--gb-purple);--hidden-text:var(--gb-yellow);--accent-primary:var(--gb-aqua);--accent-primary-dim:var(--gb-aqua-dim);--accent-success:var(--gb-green);--accent-success-dim:var(--gb-green-dim);--accent-warning:var(--gb-yellow);--accent-warning-dim:var(--gb-yellow-dim);--accent-danger:var(--gb-red);--accent-danger-dim:var(--gb-red-dim);--square-size:56px;--piece-size:44px;--border-thick:4px;--border-chunky:5px}[data-theme=light],.light{--gb-bg-hard:#f9f5d7;--gb-bg:#fbf1c7;--gb-bg-soft:#f2e5bc;--gb-bg1:#ebdbb2;--gb-bg2:#d5c4a1;--gb-bg3:#bdae93;--gb-bg4:#a89984;--gb-fg:#3c3836;--gb-fg1:#504945;--gb-fg2:#665c54;--gb-fg3:#7c6f64;--gb-fg4:#928374;--gb-red:#cc241d;--gb-red-dim:#9d0006;--gb-green:#98971a;--gb-green-dim:#79740e;--gb-yellow:#d79921;--gb-yellow-dim:#b57614;--gb-blue:#458588;--gb-blue-dim:#076678;--gb-purple:#b16286;--gb-purple-dim:#8f3f71;--gb-aqua:#689d6a;--gb-aqua-dim:#427b58;--gb-orange:#d65d0e;--gb-orange-dim:#af3a03;--color-bg:var(--gb-bg);--color-bg-alt:var(--gb-bg-soft);--color-bg-elevated:var(--gb-bg1);--color-bg-hover:var(--gb-bg2);--color-fg:var(--gb-fg);--color-fg-muted:var(--gb-fg3);--color-fg-subtle:var(--gb-fg4);--color-border:var(--gb-bg3);--color-border-strong:var(--gb-bg4);--square-light:#ebdbb2;--square-dark:#a89984;--square-light-shadow:#fbf1c7;--square-dark-shadow:#7c6f64;--board-border:#7c6f64;--board-shadow:#504945;--piece-white:#fbf1c7;--piece-white-shadow:#bdae93;--piece-black:#1d2021;--piece-black-highlight:#282828;--hidden-bg:var(--gb-purple);--hidden-border:var(--gb-purple-dim);--hidden-highlight:#d3869b}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--gb-bg-hard:#f9f5d7;--gb-bg:#fbf1c7;--gb-bg-soft:#f2e5bc;--gb-bg1:#ebdbb2;--gb-bg2:#d5c4a1;--gb-bg3:#bdae93;--gb-bg4:#a89984;--gb-fg:#3c3836;--gb-fg1:#504945;--gb-fg2:#665c54;--gb-fg3:#7c6f64;--gb-fg4:#928374;--gb-red:#cc241d;--gb-green:#98971a;--gb-yellow:#d79921;--gb-blue:#458588;--gb-purple:#b16286;--gb-aqua:#689d6a;--gb-orange:#d65d0e;--color-bg:var(--gb-bg);--color-bg-alt:var(--gb-bg-soft);--color-bg-elevated:var(--gb-bg1);--color-bg-hover:var(--gb-bg2);--color-fg:var(--gb-fg);--color-fg-muted:var(--gb-fg3);--color-fg-subtle:var(--gb-fg4);--color-border:var(--gb-bg3);--color-border-strong:var(--gb-bg4);--square-light:#ebdbb2;--square-dark:#a89984;--board-border:#7c6f64;--board-shadow:#504945;--piece-white:#fbf1c7;--piece-black:#1d2021;--hidden-bg:var(--gb-purple);--hidden-border:#8f3f71}}*{box-sizing:border-box}body{background-color:var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-fg);image-rendering:pixelated;image-rendering:crisp-edges;margin:0;font-family:"Press Start 2P",monospace;font-size:8px;line-height:1.8;transition:background-color .2s,color .2s}body:before{content:"";pointer-events:none;z-index:1000;background-image:repeating-linear-gradient(0deg,#0000 0 2px,#00000005 2px 4px);position:fixed;inset:0}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-bg-alt)}::-webkit-scrollbar-thumb{background:var(--color-border);border:2px solid var(--color-bg-alt)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.chunky-panel{background:var(--color-bg-elevated);border:var(--border-chunky)solid var(--color-border);box-shadow:inset 2px 2px 0 var(--color-bg-hover),inset -2px -2px 0 var(--color-bg),4px 4px 0 var(--color-bg);padding:12px}.chunky-panel-header{background:var(--color-bg-hover);border:var(--border-thick)solid var(--color-border);border-bottom-color:var(--color-bg);color:var(--color-fg);text-transform:uppercase;letter-spacing:1px;margin:-12px -12px 12px;padding:8px 12px}.chunky-btn{background:var(--color-bg-hover);border:var(--border-thick)solid var(--color-border);box-shadow:inset 2px 2px 0 var(--color-border-strong),inset -2px -2px 0 var(--color-bg);color:var(--color-fg);cursor:pointer;text-transform:uppercase;padding:10px 16px;font-family:"Press Start 2P",monospace;font-size:8px;transition:none;position:relative;top:0;left:0}.chunky-btn:hover{background:var(--color-border)}.chunky-btn:active{box-shadow:inset -2px -2px 0 var(--color-border-strong),inset 2px 2px 0 var(--color-bg);top:2px;left:2px}.chunky-btn:disabled{opacity:.5;cursor:not-allowed}.chunky-btn-primary{background:var(--accent-success);border-color:var(--accent-success-dim);color:var(--gb-bg-hard);box-shadow:inset 2px 2px 0 var(--gb-green),inset -2px -2px 0 var(--accent-success-dim)}.chunky-btn-primary:hover{background:var(--gb-green)}.chunky-btn-danger{background:var(--accent-danger);border-color:var(--accent-danger-dim);color:var(--gb-bg-hard);box-shadow:inset 2px 2px 0 var(--gb-red),inset -2px -2px 0 var(--accent-danger-dim)}.chunky-btn-danger:hover{background:var(--gb-red)}.theme-toggle{background:var(--color-bg-hover);border:3px solid var(--color-border);color:var(--gb-yellow);cursor:pointer;box-shadow:inset 1px 1px 0 var(--color-border-strong),inset -1px -1px 0 var(--color-bg);padding:6px 10px;font-family:"Press Start 2P",monospace;font-size:16px}.theme-toggle:hover{background:var(--color-border);color:var(--gb-orange)}.chunky-indicator{border:2px solid var(--color-bg);background:var(--color-border);width:10px;height:10px}.chunky-indicator-on{background:var(--accent-success);box-shadow:0 0 4px var(--accent-success)}.chunky-indicator-danger{background:var(--accent-danger);box-shadow:0 0 4px var(--accent-danger)}.chunky-badge{background:var(--accent-warning);border:2px solid var(--accent-warning-dim);color:var(--gb-bg-hard);text-transform:uppercase;box-shadow:inset 1px 1px 0 var(--gb-yellow),inset -1px -1px 0 var(--accent-warning-dim);padding:3px 6px;font-size:7px}@keyframes chunky-blink{0%,49%{opacity:1}50%,to{opacity:.4}}@keyframes chunky-pulse{0%,to{box-shadow:0 0 0 var(--accent-primary)}50%{box-shadow:0 0 6px var(--accent-primary)}}@keyframes mystery-shimmer{0%,to{box-shadow:inset 2px 2px 0 var(--hidden-highlight),inset -2px -2px 0 var(--hidden-border),2px 2px 0 var(--color-bg)}50%{box-shadow:inset 2px 2px 0 var(--gb-purple),inset -2px -2px 0 var(--hidden-border),2px 2px 0 var(--color-bg),0 0 6px var(--hidden-highlight)}}@media(max-width:768px){:root{--square-size:38px;--piece-size:30px;--border-thick:3px;--border-chunky:4px}body{font-size:7px}}@media(min-width:769px)and (max-width:1023px){:root{--square-size:48px;--piece-size:38px}}@media(min-width:1024px){:root{--square-size:56px;--piece-size:44px}}.move-history-panel{width:240px}.move-history-list{scrollbar-width:thin;scrollbar-color:var(--color-border)var(--color-bg);flex-direction:column;gap:2px;max-height:200px;display:flex;overflow-y:auto}.move-history-list::-webkit-scrollbar{width:6px}.move-history-list::-webkit-scrollbar-track{background:var(--color-bg)}.move-history-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:0}.move-history-list::-webkit-scrollbar-thumb:hover{background:var(--color-fg-subtle)}.move-history-empty{text-align:center;color:var(--color-fg-muted);text-transform:uppercase;padding:20px;font-size:8px}.move-pair{align-items:center;gap:4px;padding:4px 0;display:flex}.move-pair>.move-number{width:28px;color:var(--color-fg-subtle);text-align:right;flex-shrink:0;padding-right:4px}.move-entry{border:2px solid #0000;border-radius:0;align-items:center;gap:2px;min-height:24px;padding:4px 6px;display:inline-flex}.move-entry>.move-number{display:none}.move-entry.current{background:var(--color-bg-hover);border-color:var(--accent-primary);box-shadow:inset 1px 1px 0 var(--color-bg-alt),inset -1px -1px 0 var(--color-border)}.move-entry.deception{border-left:2px solid var(--accent-danger);background:#fb49341a}.move-entry.deception.current{border-color:var(--accent-danger);border-left-width:2px}.move-notation{color:var(--color-fg-muted);white-space:nowrap;font-size:8px;line-height:1.6}.move-notation.revealed{color:var(--color-fg)}.move-notation-placeholder{color:var(--color-fg-subtle);padding:4px 6px;font-size:8px}.reveal-indicator{margin-left:2px;font-weight:400}.reveal-indicator.success{color:var(--accent-success)}.reveal-indicator.deception{color:var(--accent-danger)}@media(max-width:1023px){.move-history-panel{width:100%}.move-history-list{max-height:200px}}@media(max-width:767px){.move-history-panel{width:100%}.move-history-list{max-height:150px}.move-pair{font-size:7px}.move-pair>.move-number{width:24px}}@keyframes modal-enter{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)translateY(-20px)}to{opacity:1;transform:translate(-50%,-50%)scale(1)translateY(0)}}@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}.end-game-modal .chunky-panel{max-width:400px}.end-game-modal .result-header{text-align:center}.end-game-modal .result-icon{margin:0 auto}.end-game-modal .winner-white{color:var(--piece-white);text-shadow:1px 1px 0 var(--piece-white-shadow),-1px -1px 0 var(--color-border)}.end-game-modal .winner-black{color:var(--piece-black);text-shadow:1px 1px 0 var(--piece-black-highlight),0 0 2px var(--color-fg)}.end-game-modal .summary-table{font-size:8px}.end-game-modal .summary-row:hover{background:var(--color-bg-hover)}@media(max-width:400px){.end-game-modal{max-width:calc(100% - 32px)}.end-game-actions{flex-direction:column}.end-game-actions .chunky-btn{width:100%;max-width:none!important}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chunky-input{background:var(--color-bg);border:3px solid var(--color-border);box-shadow:inset 2px 2px 0 var(--color-bg-alt),inset -2px -2px 0 var(--color-bg-hover);color:var(--color-fg);width:100%;height:44px;padding:10px 12px;font-family:"Press Start 2P",monospace;font-size:8px}.chunky-input:focus{border-color:var(--accent-primary);outline:none}.chunky-input::placeholder{color:var(--color-fg-subtle)}.chunky-input:invalid,.chunky-input.error{border-color:var(--accent-danger)}.time-input-wrapper{flex-direction:column;align-items:center;display:inline-flex;position:relative}.input-error{color:var(--accent-danger);white-space:nowrap;font-size:6px;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}.chunky-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.chunky-checkbox-box{background:var(--color-bg);border:3px solid var(--color-border);flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.chunky-checkbox-box.checked{background:var(--accent-success);border-color:var(--accent-success-dim)}.chunky-divider{background:var(--color-border);height:2px;margin:10px 0}.game-setup-panel{max-width:480px;margin:0 auto;animation:.2s ease-out setup-panel-enter}@keyframes setup-panel-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.color-selector{justify-content:center;display:flex}.color-option{background:var(--color-bg-hover);border:3px solid var(--color-border);color:var(--color-fg);cursor:pointer;text-transform:uppercase;box-shadow:inset 2px 2px 0 var(--color-border-strong),inset -2px -2px 0 var(--color-bg);justify-content:center;align-items:center;min-width:64px;min-height:52px;padding:12px 20px;font-family:"Press Start 2P",monospace;font-size:8px;transition:background .15s,border-color .15s;display:flex;position:relative;top:0}.color-option:first-child{border-right-width:1px}.color-option:nth-child(2){border-left-width:1px;border-right-width:1px}.color-option:last-child{border-left-width:1px}.color-option:hover{background:var(--color-border)}.color-option:focus{z-index:1;outline:none}.color-option.selected{background:var(--accent-success);border-color:var(--accent-success-dim);box-shadow:inset 2px 2px 0 var(--gb-green),inset -2px -2px 0 var(--accent-success-dim)}.color-option.selected:hover{background:var(--gb-green)}.color-option-icon{justify-content:center;align-items:center;font-size:28px;line-height:1;display:flex}.color-option-icon-random{gap:2px;font-size:22px}.color-option-icon .king-white,.color-option-icon .king-black{display:inline-block}.color-option-icon .king-white{color:#fbf1c7;text-shadow:1px 0 #1d2021,-1px 0 #1d2021,0 1px #1d2021,0 -1px #1d2021,1px 1px #1d2021,-1px -1px #1d2021,1px -1px #1d2021,-1px 1px #1d2021}.color-option-icon .king-black{color:#1d2021;text-shadow:1px 0 #ebdbb2,-1px 0 #ebdbb2,0 1px #ebdbb2,0 -1px #ebdbb2,1px 1px #ebdbb2,-1px -1px #ebdbb2,1px -1px #ebdbb2,-1px 1px #ebdbb2}[data-theme=light] .color-option-icon .king-black,.light .color-option-icon .king-black{text-shadow:none}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .color-option-icon .king-black{text-shadow:none}}.time-presets{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.time-preset{min-width:80px}.time-preset.selected{background:var(--accent-primary);border-color:var(--accent-primary-dim);color:var(--gb-bg-hard);box-shadow:inset -2px -2px 0 var(--accent-primary),inset 2px 2px 0 var(--accent-primary-dim);top:2px}.custom-time-inputs{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.custom-time-inputs .chunky-input{text-align:center;width:60px}.custom-time-label{color:var(--color-fg-muted);text-transform:uppercase;font-size:8px}@media(max-width:480px){.game-setup-panel{max-width:100%;margin:0 16px}.color-option{min-width:56px;min-height:48px;padding:10px 16px}.color-option-icon{font-size:24px}.time-presets{grid-template-columns:1fr 1fr;gap:8px;display:grid}.time-preset{min-width:unset;width:100%}.custom-time-inputs{flex-direction:column}.custom-time-inputs .chunky-input{width:100%}}.end-game-backdrop{z-index:50;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.end-game-modal{z-index:51;width:100%;max-width:400px;margin:0 16px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.end-game-modal .chunky-panel{padding:24px}.end-game-divider{background:var(--color-border);height:2px;margin:16px 0}.end-game-actions{justify-content:center;gap:12px;padding-top:8px;display:flex}.end-game-actions .chunky-btn{flex:1;max-width:150px}.game-summary{padding:16px 0}.game-summary .summary-header{color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-size:8px}.game-summary .summary-table{border-collapse:separate;border-spacing:0 4px;width:100%}.game-summary .summary-label{text-align:left;color:var(--color-fg-muted);text-transform:uppercase;border:2px solid var(--color-border);background:var(--color-bg);border-right:none;padding:8px 12px}.game-summary .summary-value{text-align:right;color:var(--color-fg);border:2px solid var(--color-border);background:var(--color-bg);border-left:none;padding:8px 12px}.backdrop-animate{animation:.2s ease-out backdrop-fade-in}.modal-animate{animation:.2s ease-out modal-slide-in}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-in{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.piece-tracker{font-size:8px}.player-tracking-section{margin-bottom:4px}.player-tracking-header{text-transform:uppercase;letter-spacing:1px;background:var(--color-bg-elevated);color:var(--color-fg);border:2px solid var(--color-border);box-shadow:inset 1px 1px 0 var(--color-border-strong),inset -1px -1px 0 var(--color-bg);justify-content:space-between;align-items:center;margin-bottom:6px;padding:4px 6px;font-size:7px;display:flex}.player-tracking-header.white{border-left:4px solid #fbf1c7}.player-tracking-header.black{border-left:4px solid #1d2021}.player-name-row{align-items:center;gap:6px;display:flex}.player-icon{font-size:12px;line-height:1}.player-name{letter-spacing:.5px;text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:8px;font-weight:400;overflow:hidden}.player-tracking-header.white .player-icon{color:#fbf1c7;text-shadow:1px 0 #1d2021,-1px 0 #1d2021,0 1px #1d2021,0 -1px #1d2021}.player-tracking-header.black .player-icon{color:#1d2021;text-shadow:1px 0 #fbf1c7,-1px 0 #fbf1c7,0 1px #fbf1c7,0 -1px #fbf1c7}.player-tracking-badge{background:var(--color-bg);border:1px solid var(--color-border);opacity:.8;padding:2px 4px;font-size:6px}.piece-tracker-section-label{text-transform:uppercase;letter-spacing:1px;color:var(--color-fg-subtle);margin-bottom:4px;font-size:6px}.hidden-pieces-grid{flex-wrap:wrap;gap:3px;margin-bottom:8px;display:flex}.hidden-piece-card{cursor:help;background:var(--hidden-bg);border:2px solid var(--hidden-border);width:28px;height:34px;box-shadow:inset 1px 1px 0 var(--hidden-highlight),inset -1px -1px 0 var(--hidden-border);flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex}.hidden-piece-card.empty{opacity:.35;background:var(--color-bg-hover);border-color:var(--color-border);box-shadow:none}.hidden-piece-icon{filter:drop-shadow(1px 1px 0 var(--hidden-border));font-size:14px;line-height:1}.hidden-piece-card.empty .hidden-piece-icon{opacity:.5;filter:none}.hidden-piece-count{color:var(--hidden-text);text-shadow:1px 1px 0 var(--hidden-border);font-size:8px;font-weight:700}.hidden-piece-card.empty .hidden-piece-count{color:var(--color-fg-subtle);text-shadow:none}.captured-pieces-row{background:var(--color-bg);border:2px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:2px;min-height:28px;padding:6px 8px;display:flex}.captured-piece-icon{color:var(--color-fg-muted);opacity:.6;font-size:14px;line-height:1}.captured-empty-text{color:var(--color-fg-subtle);text-transform:uppercase;font-size:7px}.revealed-tracker{flex-direction:column;display:flex}.revealed-content{scrollbar-width:thin;scrollbar-color:var(--color-border)var(--color-bg);gap:6px;max-height:180px;display:flex;overflow:hidden auto}.revealed-content::-webkit-scrollbar{width:6px}.revealed-content::-webkit-scrollbar-track{background:var(--color-bg)}.revealed-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:0}.revealed-content::-webkit-scrollbar-thumb:hover{background:var(--color-fg-subtle)}.revealed-player-column{flex:1;min-width:0}.revealed-player-header{text-align:center;text-transform:uppercase;z-index:1;margin-bottom:6px;padding:6px 8px;font-size:8px;position:sticky;top:0}.revealed-player-header.white{background:var(--piece-white);color:var(--gb-bg-hard);border:2px solid var(--piece-white-shadow);box-shadow:inset 1px 1px 0 var(--gb-fg4),inset -1px -1px 0 var(--piece-white-shadow)}.revealed-player-header.black{background:var(--piece-black);color:var(--gb-fg);border:2px solid var(--gb-bg-hard);box-shadow:inset 1px 1px 0 var(--piece-black-highlight),inset -1px -1px 0 var(--gb-bg-hard)}.revealed-player-pieces{min-height:40px}.revealed-empty{color:var(--color-fg-subtle);text-align:center;text-transform:uppercase;padding:12px 0}@media(max-width:767px){.hidden-piece-card{width:28px;height:34px}.hidden-piece-icon{font-size:14px}.hidden-piece-count{font-size:8px}.captured-piece-icon{font-size:12px}.revealed-content{max-height:160px}}.timer-container{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.player-timer{border:3px solid var(--color-border);background:var(--color-bg-elevated);opacity:.6;justify-content:space-between;align-items:center;padding:8px 12px;transition:background .2s,border-color .2s,opacity .2s;display:flex}.player-timer.active{opacity:1;box-shadow:inset 2px 2px 0 var(--color-bg-hover),inset -2px -2px 0 var(--color-bg),0 0 4px var(--accent-primary)}.player-timer.white{border-color:var(--piece-white-shadow)}.player-timer.white.active{background:var(--piece-white);color:var(--gb-bg-hard);box-shadow:inset 2px 2px 0 var(--gb-fg4),inset -2px -2px 0 var(--piece-white-shadow)}.player-timer.black{border-color:var(--gb-bg-hard)}.player-timer.black.active{background:var(--piece-black);color:var(--gb-fg);box-shadow:inset 2px 2px 0 var(--piece-black-highlight),inset -2px -2px 0 var(--gb-bg-hard)}.player-timer.warning{background:var(--accent-warning);border-color:var(--accent-warning-dim);color:var(--gb-bg-hard)}.player-timer.warning.active{box-shadow:inset 2px 2px 0 var(--gb-yellow),inset -2px -2px 0 var(--accent-warning-dim);animation:.5s ease-in-out infinite timer-warning-pulse}.player-timer.critical{background:var(--accent-danger);border-color:var(--accent-danger-dim);color:var(--gb-bg-hard)}.player-timer.critical.active{box-shadow:inset 2px 2px #fc6e5d,inset -2px -2px 0 var(--accent-danger-dim);animation:.3s ease-in-out infinite timer-critical-blink}@keyframes timer-warning-pulse{0%,to{box-shadow:inset 2px 2px 0 var(--gb-yellow),inset -2px -2px 0 var(--accent-warning-dim),0 0 0 var(--accent-warning)}50%{box-shadow:inset 2px 2px 0 var(--gb-yellow),inset -2px -2px 0 var(--accent-warning-dim),0 0 8px var(--accent-warning)}}@keyframes timer-critical-blink{0%,49%{opacity:1}50%,to{opacity:.7}}.player-timer-name{text-transform:uppercase;letter-spacing:1px;font-size:7px}.player-timer-time{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-size:12px;font-weight:700}@media(max-width:767px){.player-timer{padding:6px 10px}.player-timer-name{font-size:6px}.player-timer-time{font-size:10px}}.game-panel{min-width:200px}.game-alert{text-align:center;text-transform:uppercase;border:3px solid;margin-bottom:12px;padding:8px 12px;font-size:9px}.game-alert-check,.game-alert-danger{background:var(--accent-danger);border-color:var(--accent-danger-dim);color:var(--gb-bg-hard);box-shadow:inset 2px 2px #fc6e5d,inset -2px -2px 0 var(--accent-danger-dim)}.game-alert-warning{background:var(--accent-warning);border-color:var(--accent-warning-dim);color:var(--gb-bg-hard);box-shadow:inset 2px 2px 0 var(--gb-yellow),inset -2px -2px 0 var(--accent-warning-dim)}.game-alert-title{margin-bottom:4px;font-size:10px}.game-alert-winner{justify-content:center;align-items:center;gap:4px;font-size:8px;display:flex}.player-rows{flex-direction:column;gap:8px;display:flex}.player-row{background:var(--color-bg);border:2px solid var(--color-border);padding:8px;transition:background .15s,border-color .15s}.player-row.active{background:var(--color-bg-hover);border-color:var(--accent-primary)}.player-row.warning{border-color:var(--accent-warning)}.player-row.critical{border-color:var(--accent-danger);animation:.3s ease-in-out infinite timer-critical-blink}.player-row-main{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.player-row-identity{align-items:center;gap:6px;display:flex}.player-row-name{text-transform:uppercase;letter-spacing:.5px;text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:8px;overflow:hidden}.player-row-timer{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;background:var(--color-bg-elevated);border:2px solid var(--color-border);padding:2px 6px;font-size:12px}.player-row-timer.warning{background:var(--accent-warning);border-color:var(--accent-warning-dim);color:var(--gb-bg-hard)}.player-row-timer.critical{background:var(--accent-danger);border-color:var(--accent-danger-dim);color:var(--gb-bg-hard)}.player-row-info{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.player-row-captured{flex-wrap:wrap;align-items:center;gap:2px;min-height:18px;display:flex}.captured-icon{color:var(--color-fg-muted);opacity:.7;font-size:12px}.captured-none{color:var(--color-fg-subtle);font-size:10px}.hidden-badge{background:var(--hidden-bg);border:1px solid var(--hidden-border);color:var(--hidden-text);margin-left:4px;padding:1px 4px;font-size:7px}.player-section{padding:6px 0}.player-section.active{background:var(--color-bg-hover)}.player-hidden-badge{background:var(--hidden-bg);border:1px solid var(--hidden-border);color:var(--hidden-text);margin-left:6px;padding:1px 4px;font-size:8px;font-weight:700}.player-intel{padding:4px 10px}.intel-label{text-transform:uppercase;letter-spacing:1px;color:var(--color-fg-subtle);margin-bottom:4px;font-size:6px}@media(max-width:767px){.game-panel{min-width:unset}.player-row-name{max-width:70px}.player-row-timer{font-size:10px}}.intel-badge{cursor:pointer;background:0 0;border:none;padding:0;font-family:"Press Start 2P",monospace;transition:transform .1s;display:inline-flex}.intel-badge:hover{transform:scale(1.02)}.intel-badge:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.intel-badge-hidden{background:var(--hidden-bg);border:2px solid;border-color:var(--hidden-border);color:var(--hidden-text);align-items:center;gap:3px;padding:2px 6px;font-size:7px;display:flex}.intel-badge-chevron{margin-left:2px;font-size:5px;transition:transform .15s}.intel-badge.expanded .intel-badge-chevron{transform:rotate(180deg)}.intel-breakdown{background:var(--color-bg);border:2px solid var(--color-border);margin-top:6px;padding:6px;animation:.15s ease-out intel-expand}@keyframes intel-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.intel-breakdown-header{text-transform:uppercase;letter-spacing:.5px;color:var(--color-fg-subtle);margin-bottom:4px;font-size:6px}.intel-breakdown-row{flex-wrap:wrap;gap:3px;display:flex}.mini-piece-card{border:2px solid;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:22px;height:26px;display:flex}.mini-piece-card.hidden-variant{background:var(--hidden-bg);border-color:var(--hidden-border);box-shadow:inset 1px 1px 0 var(--hidden-highlight),inset -1px -1px 0 var(--hidden-border)}.mini-piece-card.revealed-variant{background:var(--accent-success-dim);border-color:var(--accent-success);box-shadow:inset 1px 1px 0 var(--accent-success),inset -1px -1px 0 var(--accent-success-dim)}.mini-piece-card.empty{opacity:.35;background:var(--color-bg-hover);border-color:var(--color-border);box-shadow:none}.mini-piece-icon{font-size:11px;line-height:1}.mini-piece-card.hidden-variant .mini-piece-icon{filter:drop-shadow(1px 1px 0 var(--hidden-border))}.mini-piece-card.revealed-variant .mini-piece-icon{color:var(--gb-bg-hard)}.mini-piece-card.empty .mini-piece-icon{color:var(--color-fg-subtle);filter:none}.mini-piece-count{font-size:6px;font-weight:700}.mini-piece-card.hidden-variant .mini-piece-count{color:var(--hidden-text);text-shadow:1px 1px 0 var(--hidden-border)}.mini-piece-card.revealed-variant .mini-piece-count{color:var(--gb-bg-hard)}.mini-piece-card.empty .mini-piece-count{color:var(--color-fg-subtle);text-shadow:none}.game-log-panel{flex-direction:column;max-height:400px;display:flex}.game-log-filter{gap:0;margin-bottom:8px;padding:0 8px;display:flex}.game-log-filter-btn{text-transform:uppercase;background:var(--color-bg);border:2px solid var(--color-border);color:var(--color-fg-muted);cursor:pointer;flex:1;padding:4px 8px;font-family:"Press Start 2P",monospace;font-size:7px;transition:background .15s,color .15s}.game-log-filter-btn:first-child{border-right:1px solid var(--color-border)}.game-log-filter-btn:last-child{border-left:1px solid var(--color-border)}.game-log-filter-btn:hover{background:var(--color-bg-hover)}.game-log-filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary-dim);color:var(--gb-bg-hard)}.game-log-list{flex:1;min-height:100px;padding:8px;overflow-y:auto}.game-log-empty{text-align:center;color:var(--color-fg-subtle);text-transform:uppercase;padding:20px 0;font-size:8px}.game-log-entry{margin-bottom:6px}.game-log-entry:last-child{margin-bottom:0}.game-log-reveals{flex-wrap:wrap;gap:4px;margin-top:3px;margin-left:24px;display:flex}.reveal-detail{background:var(--color-bg);border:2px solid;border-left-width:3px;align-items:center;gap:3px;padding:2px 6px;font-size:7px;display:inline-flex}.reveal-detail.match{border-color:var(--accent-success);border-left-color:var(--accent-success)}.reveal-detail.deception{border-color:var(--accent-danger);border-left-color:var(--accent-danger);background:#fb49341a}.reveal-detail-pos{background:var(--color-bg-hover);border:1px solid var(--color-border);padding:1px 3px;font-size:6px}.reveal-detail-expected,.reveal-detail-actual{font-size:10px}.reveal-detail-arrow{color:var(--accent-warning);font-size:8px}.reveal-detail-status{margin-left:2px;font-size:8px}.reveal-detail.match .reveal-detail-status{color:var(--accent-success)}.reveal-detail.deception .reveal-detail-status{color:var(--accent-danger)}.game-log-footer{border-top:2px solid var(--color-border);background:var(--color-bg);justify-content:space-between;padding:6px 8px;font-size:7px;display:flex}.game-log-stat{align-items:center;gap:4px;display:flex}.game-log-stat-label{color:var(--color-fg-subtle);text-transform:uppercase}.game-log-stat-value{color:var(--color-fg)}.game-log-stat.deception .game-log-stat-value{color:var(--accent-danger)}@media(max-width:767px){.game-log-panel{max-height:250px}.game-log-reveals{margin-left:16px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
