:root{--wall:#cfe3d9;--wall-deep:#b5d3c7;--wall-line:#9dbfb3;--lace:#fffdf8;--shutter:#1f5c4e;--shutter-deep:#163f36;--ink:#17302a;--ink-soft:#4b6a61;--roof:#a8322d;--roof-deep:#7e2420;--bougainvillea:#c2367a;--bronze:#8b6135;--mahogany:#4a2414;--radius-panel:4px;--radius-btn:6px;--font:Figtree, "Segoe UI", system-ui, sans-serif;--display:Corben, Georgia, "Times New Roman", serif;--lift:0 2px 0 #17302a1a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:repeating-linear-gradient(90deg, transparent 0 63px, #17302a0b 63px 64px), var(--wall);color:var(--ink);font-family:var(--font);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-size:17px;line-height:1.45;overflow-x:hidden}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--shutter);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.valance{height:calc(env(safe-area-inset-top) + 50px);background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='48'%20height='40'%20viewBox='0%200%2048%2040'%3e%3crect%20width='48'%20height='9.5'%20fill='%23A8322D'/%3e%3cpath%20d='M3%200h2v9.5H3zM15%200h2v9.5h-2zM27%200h2v9.5h-2zM39%200h2v9.5h-2z'%20fill='%238A2622'/%3e%3crect%20y='8.5'%20width='48'%20height='1.5'%20fill='%236E1D1A'/%3e%3cpath%20d='M0%2011.6H48V21.6A12%209%200%200%201%2024%2021.6A12%209%200%200%201%200%2021.6Z'%20fill='%2317302A'%20fill-opacity='.16'/%3e%3cg%20fill='%23FFFDF8'%20fill-rule='evenodd'%3e%3cpath%20d='M0%2010H48V20A12%209%200%200%201%2024%2020A12%209%200%200%201%200%2020Z%20M38.4%2022a2.4%202.4%200%201%200-4.8%200a2.4%202.4%200%201%200%204.8%200Z%20M14.4%2022a2.4%202.4%200%201%200-4.8%200a2.4%202.4%200%201%200%204.8%200Z%20M12%2012.6l1.9%201.9-1.9%201.9-1.9-1.9Z%20M36%2012.6l1.9%201.9-1.9%201.9-1.9-1.9Z%20M25.2%2014.5a1.2%201.2%200%201%200-2.4%200a1.2%201.2%200%201%200%202.4%200Z'/%3e%3cpath%20d='M23.3%2019h1.4v8h-1.4Z'/%3e%3ccircle%20cx='24'%20cy='30'%20r='2.4'/%3e%3c/g%3e%3ccircle%20cx='24'%20cy='31.4'%20r='2.4'%20fill='%2317302A'%20fill-opacity='.14'/%3e%3ccircle%20cx='24'%20cy='30'%20r='2.4'%20fill='%23FFFDF8'/%3e%3c/svg%3e") left bottom / 60px 50px repeat-x, linear-gradient(var(--roof) 0 calc(100% - 38px), transparent 0);z-index:2;pointer-events:none;position:relative}.lang-root:has(.screen.game)>.valance{height:calc(env(safe-area-inset-top) + 27px);background-size:32px 27px,auto;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='48'%20height='40'%20viewBox='0%200%2048%2040'%3e%3crect%20width='48'%20height='9.5'%20fill='%23A8322D'/%3e%3cpath%20d='M3%200h2v9.5H3zM15%200h2v9.5h-2zM27%200h2v9.5h-2zM39%200h2v9.5h-2z'%20fill='%238A2622'/%3e%3crect%20y='8.5'%20width='48'%20height='1.5'%20fill='%236E1D1A'/%3e%3cpath%20d='M0%2011.6H48V21.6A12%209%200%200%201%2024%2021.6A12%209%200%200%201%200%2021.6Z'%20fill='%2317302A'%20fill-opacity='.16'/%3e%3cg%20fill='%23FFFDF8'%20fill-rule='evenodd'%3e%3cpath%20d='M0%2010H48V20A12%209%200%200%201%2024%2020A12%209%200%200%201%200%2020Z%20M38.4%2022a2.4%202.4%200%201%200-4.8%200a2.4%202.4%200%201%200%204.8%200Z%20M14.4%2022a2.4%202.4%200%201%200-4.8%200a2.4%202.4%200%201%200%204.8%200Z%20M12%2012.6l1.9%201.9-1.9%201.9-1.9-1.9Z%20M36%2012.6l1.9%201.9-1.9%201.9-1.9-1.9Z%20M25.2%2014.5a1.2%201.2%200%201%200-2.4%200a1.2%201.2%200%201%200%202.4%200Z'/%3e%3cpath%20d='M23.3%2019h1.4v8h-1.4Z'/%3e%3ccircle%20cx='24'%20cy='30'%20r='2.4'/%3e%3c/g%3e%3ccircle%20cx='24'%20cy='31.4'%20r='2.4'%20fill='%2317302A'%20fill-opacity='.14'/%3e%3ccircle%20cx='24'%20cy='30'%20r='2.4'%20fill='%23FFFDF8'/%3e%3c/svg%3e"), linear-gradient(var(--roof) 0 calc(100% - 20px), transparent 0)}.screen{min-height:calc(100dvh - 50px - env(safe-area-inset-top));max-width:480px;padding:4px 20px calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;gap:26px;margin:0 auto;display:flex}.screen.center{text-align:center;justify-content:flex-start;align-items:stretch;gap:18px;padding-top:8px}.corner{align-self:flex-end}.corner+.wordmark{margin-top:auto}.screen.center>:last-child{margin-bottom:auto}.bar{justify-content:space-between;align-items:center;gap:10px;min-height:44px;display:flex}.bar-end,.controls{align-items:center;gap:8px;display:inline-flex}.who{align-items:center;gap:10px;min-width:0;font-weight:700;display:inline-flex}.who-names,.seat-names{flex-direction:column;min-width:0;line-height:1.2;display:flex}.who-names>span:first-child,.seat-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.handle{color:var(--ink-soft);font-size:13px;font-weight:500}.title{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:34px;font-weight:700;line-height:1.05}.title.small{font-size:30px}.h2{font-family:var(--display);margin:0;font-size:22px;font-weight:700;line-height:1.15}.lede{color:var(--ink-soft);margin:0;font-size:17px}.fine{color:var(--ink-soft);margin:0;font-size:14px}.error{border-left:4px solid var(--roof);background:var(--lace);color:var(--roof-deep);text-align:left;margin:0;padding:10px 12px;font-weight:600}.legend,.table-types legend{color:var(--ink);margin:0 0 8px;padding:0;font-size:15px;font-weight:800}.wordmark{flex-direction:column;align-items:center;gap:0;display:flex}.wordmark-top{color:var(--shutter);letter-spacing:.02em;font-size:16px;font-weight:700}.wordmark-name{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);text-shadow:0 3px 0 var(--lace);font-size:68px;font-weight:700;line-height:.95}.house-front{width:min(100%,330px);margin:2px auto 4px;display:block}.hf-roof{fill:var(--roof)}.hf-gable-line{fill:none;stroke:var(--lace);stroke-width:3px;stroke-linejoin:round}.hf-gable-line.thin{stroke-width:2px}.hf-oculus{fill:var(--ink);stroke:var(--lace);stroke-width:3px}.hf-beam,.hf-floor,.hf-post rect,.hf-post path,.hf-lace{fill:var(--lace)}.hf-wall{fill:var(--wall-deep)}.hf-transom{fill:var(--lace);stroke:var(--shutter-deep);stroke-width:1.5px}.hf-bars{stroke:var(--shutter);stroke-width:1.6px;fill:none}.hf-shutter{fill:var(--shutter);stroke:var(--shutter-deep);stroke-width:1.2px}.hf-louvres path{stroke:var(--lace);stroke-opacity:.35;stroke-width:1.4px}.hf-open{fill:var(--ink)}.hf-knight{font-family:var(--glyphs);fill:var(--lace);font-size:46px}.hf-floor-line{stroke:var(--wall-line);stroke-width:2px}.invite-line{background:var(--lace);border-left:4px solid var(--shutter);border-radius:var(--radius-panel);text-align:left;margin:0;padding:10px 14px;font-weight:700}.btn{border-radius:var(--radius-btn);cursor:pointer;text-align:center;border:0;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:12px 20px;font-size:17px;font-weight:800;display:inline-flex}.btn.primary{color:var(--lace);background:repeating-linear-gradient(180deg, #fffdf817 0 2px, transparent 2px 7px), var(--shutter);box-shadow:inset 0 0 0 3px var(--shutter-deep), inset 0 0 0 4px #fffdf838, 0 3px 0 var(--shutter-deep)}.btn.primary:active{box-shadow:inset 0 0 0 3px var(--shutter-deep), inset 0 0 0 4px #fffdf838, 0 1px 0 var(--shutter-deep);translate:0 2px}.btn.ghost{color:var(--shutter-deep);background:var(--lace);box-shadow:inset 0 0 0 1.5px var(--shutter), var(--lift)}.btn.danger{color:var(--lace);background:var(--roof);box-shadow:inset 0 0 0 3px var(--roof-deep), 0 3px 0 var(--roof-deep)}.btn.wide{width:100%}.btn.small{min-height:44px;padding:8px 12px;font-size:15px}.btn:disabled{opacity:.45;cursor:default;translate:none}.link{color:var(--shutter-deep);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:6px 2px;font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px}.chip{background:var(--lace);min-width:40px;height:40px;color:var(--shutter-deep);box-shadow:inset 0 0 0 1.5px var(--wall-line);cursor:pointer;border:0;border-radius:20px;place-items:center;padding:0 10px;font-size:14px;font-weight:800;display:inline-grid}.chip.icon{width:40px;padding:0}.chip.off{color:var(--ink-soft)}.row{gap:10px;display:flex}.row>.btn{flex:1}.stack{text-align:left;flex-direction:column;gap:14px;display:flex}.field{text-align:left;flex-direction:column;gap:6px;font-size:15px;font-weight:700;display:flex}.field input,.field textarea{font:inherit;color:var(--ink);background:var(--lace);border-radius:var(--radius-panel);box-shadow:inset 0 0 0 1.5px var(--wall-line), inset 0 2px 0 #17302a0f;border:0;min-height:52px;padding:12px 14px;font-size:18px;font-weight:500}.field textarea{resize:vertical;font-size:17px}.field input:focus,.field textarea:focus{box-shadow:inset 0 0 0 2px var(--shutter);outline:none}.code-input{letter-spacing:.24em;text-align:center;font-family:var(--display)!important}.lobby{flex-direction:column;gap:14px;display:flex}.lobby.join{background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='48'%20height='40'%20viewBox='0%200%2048%2040'%3e%3crect%20width='48'%20height='9.5'%20fill='%23A8322D'/%3e%3cpath%20d='M3%200h2v9.5H3zM15%200h2v9.5h-2zM27%200h2v9.5h-2zM39%200h2v9.5h-2z'%20fill='%238A2622'/%3e%3crect%20y='8.5'%20width='48'%20height='1.5'%20fill='%236E1D1A'/%3e%3cpath%20d='M0%2011.6H48V21.6A12%209%200%200%201%2024%2021.6A12%209%200%200%201%200%2021.6Z'%20fill='%2317302A'%20fill-opacity='.16'/%3e%3cg%20fill='%23FFFDF8'%20fill-rule='evenodd'%3e%3cpath%20d='M0%2010H48V20A12%209%200%200%201%2024%2020A12%209%200%200%201%200%2020Z%20M38.4%2022a2.4%202.4%200%201%200-4.8%200a2.4%202.4%200%201%200%204.8%200Z%20M14.4%2022a2.4%202.4%200%201%200-4.8%200a2.4%202.4%200%201%200%204.8%200Z%20M12%2012.6l1.9%201.9-1.9%201.9-1.9-1.9Z%20M36%2012.6l1.9%201.9-1.9%201.9-1.9-1.9Z%20M25.2%2014.5a1.2%201.2%200%201%200-2.4%200a1.2%201.2%200%201%200%202.4%200Z'/%3e%3cpath%20d='M23.3%2019h1.4v8h-1.4Z'/%3e%3ccircle%20cx='24'%20cy='30'%20r='2.4'/%3e%3c/g%3e%3ccircle%20cx='24'%20cy='31.4'%20r='2.4'%20fill='%2317302A'%20fill-opacity='.14'/%3e%3ccircle%20cx='24'%20cy='30'%20r='2.4'%20fill='%23FFFDF8'/%3e%3c/svg%3e") 0 -6px/30px 25px repeat-x;margin:0 -20px;padding-top:26px;padding-left:20px;padding-right:20px}.table-types{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.table-type,.vs-option,.tc-tile,.choice{background:var(--lace);border-radius:var(--radius-panel);box-shadow:inset 0 0 0 1.5px var(--wall-line), var(--lift);cursor:pointer;position:relative}.table-type{text-align:left;align-items:center;gap:12px;padding:12px 14px;display:flex}.table-type input,.tc-tile input,.choice input{opacity:0;pointer-events:none;position:absolute}.table-type.picked,.choice.picked{box-shadow:inset 0 0 0 2px var(--shutter), inset 6px 0 0 var(--shutter), var(--lift);padding-left:20px}:is(.table-type:has(input:focus-visible),.tc-tile:has(input:focus-visible),.choice:has(input:focus-visible)){outline:3px solid var(--shutter);outline-offset:2px}.table-type-text{flex-direction:column;min-width:0;display:flex}.table-type-label{font-weight:800}.table-type-note{color:var(--ink-soft);font-size:14px;line-height:1.3}.tc-icon{background:var(--wall);width:38px;height:38px;color:var(--shutter);border-radius:50%;flex:none;place-items:center;display:grid}.tc-icon.level-master{color:var(--lace);background:var(--roof)}.elo{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-left:6px;font-size:13px;font-weight:700}.tc-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tc-grid legend{float:left;grid-column:1/-1;width:100%}.tc-tile{flex-direction:column;gap:4px;min-height:96px;padding:12px 12px 14px;display:flex}.tc-top{color:var(--shutter);align-items:center;gap:7px;display:flex}.tc-label{font-family:var(--display);color:var(--ink);font-size:19px;font-weight:400;line-height:1.1}.tc-note{color:var(--ink-soft);font-size:13px;line-height:1.3}.tc-tile.picked{background:repeating-linear-gradient(180deg, #fffdf812 0 2px, transparent 2px 7px), var(--shutter);box-shadow:inset 0 0 0 3px var(--shutter-deep), 0 2px 0 var(--shutter-deep)}.tc-tile.picked .tc-top,.tc-tile.picked .tc-label{color:var(--lace)}.tc-tile.picked .tc-note{color:#fffdf8d1}.vs-switch{grid-template-columns:1fr 1fr;gap:8px;margin-top:-6px;display:grid}.vs-option{text-align:left;border:0;flex-direction:column;align-items:flex-start;gap:8px;min-height:112px;padding:14px 12px;display:flex}.vs-option.picked{background:repeating-linear-gradient(180deg, #fffdf812 0 2px, transparent 2px 7px), var(--shutter);color:var(--lace);box-shadow:inset 0 0 0 3px var(--shutter-deep), 0 2px 0 var(--shutter-deep)}.vs-icon{color:var(--shutter);flex:none}.vs-option.picked .vs-icon{color:var(--lace)}.vs-text{flex-direction:column;min-width:0;display:flex}.vs-label{font-family:var(--display);font-size:20px;font-weight:400;line-height:1.1}.vs-note{color:var(--ink-soft);margin-top:2px;font-size:13px;line-height:1.3}.vs-option.picked .vs-note{color:#fffdf8d1}.code-card{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.code-label{font-size:15px;font-weight:800}.code{cursor:pointer;background:0 0;border:0;gap:6px;padding:0;display:flex}.code span{background:var(--lace);width:46px;height:58px;color:var(--shutter-deep);font-family:var(--display);box-shadow:inset 0 0 0 3px var(--lace), inset 0 0 0 5px var(--shutter), 0 2px 0 #17302a2e;border-radius:5px;place-items:center;font-size:30px;font-weight:700;display:grid}.seats{flex-direction:column;gap:8px;display:flex}.seat{background:var(--lace);border-radius:var(--radius-panel);box-shadow:inset 0 0 0 1.5px var(--wall-line), var(--lift);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.seat.open{box-shadow:inset 0 0 0 1.5px var(--wall-line);color:var(--ink-soft);background:0 0}.seat-who{align-items:center;gap:12px;min-width:0;display:flex}.seat-name{font-weight:700}.seat-state{color:var(--shutter);white-space:nowrap;font-size:14px;font-weight:700}.seat-empty-face{width:34px;height:40px;box-shadow:inset 0 0 0 2px var(--wall-line);border:2px dashed #0000;border-radius:50%}.rules-summary p{color:var(--ink-soft);margin:0 0 8px;font-size:15px}.rules-summary strong{color:var(--ink)}.ruleset{color:var(--ink-soft);box-shadow:inset 0 0 0 1px var(--wall-line);border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.watchers{flex-direction:column;gap:8px;display:flex}.watcher{justify-content:space-between;align-items:center;gap:10px;display:flex}.watcher-who{align-items:center;gap:10px;font-weight:600;display:inline-flex}.watcher-actions{gap:12px;display:inline-flex}.actions{flex-direction:column;gap:10px;margin-top:auto;display:flex}.share-link svg{flex:none}.banner{top:calc(env(safe-area-inset-top) + 6px);z-index:40;background:var(--ink);color:var(--lace);border-radius:4px;padding:6px 14px;font-size:14px;font-weight:700;position:fixed;left:50%;translate:-50%}.notice{left:50%;top:calc(env(safe-area-inset-top) + 56px);z-index:40;border-radius:var(--radius-panel);background:var(--lace);width:max-content;max-width:calc(100vw - 32px);color:var(--ink);box-shadow:inset 4px 0 0 var(--shutter), 0 8px 24px #17302a40;padding:12px 16px;font-size:15px;font-weight:700;animation:.18s fade-in;position:fixed;translate:-50%}.notice.warn{box-shadow:inset 4px 0 0 var(--roof), 0 8px 24px #17302a40}.lang-root:has(.screen.game)~.notice{top:calc(env(safe-area-inset-top) + 32px)}.avatar{background:var(--av-bg,var(--wall-deep));color:var(--ink);box-shadow:0 0 0 2px var(--lace), 0 0 0 3.5px var(--wall-line);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-initials{letter-spacing:.02em}.avatar.ring-turn{box-shadow:0 0 0 2px var(--lace), 0 0 0 4.5px var(--shutter)}.avatar-progress{position:absolute;inset:0;rotate:-90deg}.avatar-progress .ap-bg{fill:none;stroke:#17302a26}.avatar-progress .ap-fg{fill:none;stroke:var(--shutter);stroke-linecap:round}.avatar.low .ap-fg{stroke:var(--roof)}.avatar-stack{display:inline-flex}.avatar.stacked+.avatar.stacked{margin-left:-8px}.avatar.more{background:var(--lace);color:var(--ink-soft)}.bot-face{background:linear-gradient(180deg, var(--wall) 0%, var(--wall-deep) 100%);color:var(--shutter)}.bot-face.ring-turn{box-shadow:0 0 0 2px var(--lace), 0 0 0 4.5px var(--shutter)}.vs-option.picked .bot-face{box-shadow:0 0 0 2px var(--shutter-deep), 0 0 0 3.5px #fffdf880}.watching-tag{color:var(--ink-soft);box-shadow:inset 0 0 0 1px var(--wall-line);border-radius:4px;padding:2px 8px;font-size:13px;font-weight:700}.screen.game{min-height:calc(100dvh - 27px - env(safe-area-inset-top));gap:10px;padding-top:0;padding-left:12px;padding-right:12px}.screen.game>.bar{min-height:40px}.player{background:var(--lace);border-radius:var(--radius-panel);min-height:62px;box-shadow:inset 0 0 0 1.5px var(--wall-line), var(--lift);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 10px 8px 12px;display:grid;position:relative}.player.on-turn{box-shadow:inset 0 0 0 2px var(--shutter), inset 6px 0 0 var(--shutter), var(--lift)}.player-id{flex-direction:column;min-width:0;display:flex}.player-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:7px;font-weight:800;display:flex;overflow:hidden}.side-dot{border-radius:50%;flex:none;width:12px;height:12px}.side-dot.w{box-shadow:0 0 0 1.5px var(--ink);background:#fbf6ea}.side-dot.b{box-shadow:0 0 0 1.5px var(--ink);background:#1b2232}.player-sub{align-items:center;min-height:22px;display:flex}.bot-tag{color:var(--shutter-deep);background:var(--wall);border-radius:4px;flex:none;margin-right:8px;padding:1px 7px;font-size:12px;font-weight:800}.captured{flex-wrap:wrap;align-items:center;line-height:1;display:inline-flex}.cap{font-family:var(--glyphs);margin-right:-3px;font-size:18px}.cap.white{color:#fbf6ea;-webkit-text-stroke:.7px var(--ink)}.cap.black{color:#1b2232}.cap-diff{color:var(--ink-soft);margin-left:8px;font-size:13px;font-weight:800}.warn-text{color:var(--roof);font-size:14px;font-weight:700}.clock{font-variant-numeric:tabular-nums;text-align:center;background:var(--wall);min-width:96px;color:var(--ink-soft);box-shadow:inset 0 0 0 2px var(--wall-line);border-radius:5px;padding:10px 12px;font-size:27px;font-weight:800;line-height:1}.clock.running{background:var(--shutter);color:var(--lace);box-shadow:inset 0 0 0 2px var(--shutter-deep), inset 0 0 0 3.5px #fffdf840}.clock.low{background:var(--roof);color:var(--lace);box-shadow:inset 0 0 0 2px var(--roof-deep)}.clock.low.running{animation:.5s ease-in-out infinite alternate clock-hurry}@keyframes clock-hurry{to{scale:1.05}}.clock.friendly{min-width:0;padding:8px 10px;font-size:13px;font-weight:700}.bubble{z-index:6;background:var(--lace);color:var(--ink);font-family:var(--display);box-shadow:inset 0 0 0 2px var(--shutter), 0 8px 18px #17302a40;pointer-events:none;white-space:nowrap;border-radius:14px;padding:8px 14px;font-size:17px;font-weight:400;animation:3.2s forwards bubble-pop;position:absolute}.bubble.top{top:calc(100% - 14px);right:118px}.bubble.bottom{bottom:calc(100% - 14px);right:118px}@keyframes bubble-pop{0%{opacity:0;scale:.6}8%{opacity:1;scale:1.08}14%{scale:1}85%{opacity:1}to{opacity:0;translate:0 -6px}}@font-face{font-family:Chekye Pieces;src:url(/chekye/fonts/chekye-pieces.woff2)format("woff2");font-display:block;unicode-range:U+265A-265F}:root{--sq-light:#eadbbc;--sq-dark:#94673a;--piece-white:#fbf6ea;--piece-white-edge:#2a1409;--piece-black:#1b2232;--piece-black-edge:#e9dcc0;--glyphs:"Chekye Pieces", "Noto Sans Symbols 2", "Segoe UI Symbol", "Apple Symbols", "DejaVu Sans", serif}.board-wrap{position:relative}.board-frame{background:linear-gradient(145deg, #5a2c18 0%, var(--mahogany) 50%, #33180c 100%);box-shadow:0 0 0 2px var(--bronze), 0 0 0 3px #2a1409, 0 14px 34px #00000073;border-radius:10px;padding:7px;position:relative}.board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:3px;width:100%;height:auto;display:block}.board.dragging{cursor:grabbing}.sq.light{fill:var(--sq-light)}.sq.dark{fill:var(--sq-dark)}.hl-last{fill:#dab84f80}.hl-sel{fill:#f3e28dbf}.hl-pre{fill:#5cc8bd80}.hl-check{fill:#dc262e99;filter:blur(8px)}.coords text{font-family:var(--font);pointer-events:none;font-size:19px;font-weight:800}.coords .on-light{fill:var(--sq-dark)}.coords .on-dark{fill:var(--sq-light)}.glyph{font-family:var(--glyphs);pointer-events:none}.piece.white .glyph{fill:var(--piece-white);stroke:var(--piece-white-edge);stroke-width:2.6px;paint-order:stroke fill;filter:drop-shadow(0 3px 1.5px #00000059)}.piece.black .glyph{fill:var(--piece-black);stroke:var(--piece-black-edge);stroke-width:1.6px;paint-order:stroke fill;filter:drop-shadow(0 3px 1.5px #0006)}.piece.picked .glyph{filter:drop-shadow(0 0 6px #f3e28df2)drop-shadow(0 4px 2px #00000059)}.piece.lifted{opacity:.3}.piece.ghost .glyph{filter:drop-shadow(0 12px 8px #00000073)}.dest{fill:#1d243361;pointer-events:none}.dest.capture{fill:none;stroke:#1d24336b;stroke-width:9px}.board-wrap.thump .board-frame{animation:.24s ease-out thump}@keyframes thump{40%{scale:.992}}.board-wrap.quake .board-frame{animation:.6s cubic-bezier(.36,.07,.19,.97) 2 quake}@keyframes quake{10%,90%{translate:-2px}20%,80%{translate:4px 1px}30%,50%,70%{translate:-6px -1px}40%,60%{translate:6px 1px}}.promo{z-index:5;background:#0e1a33d1;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:7px}.promo-title{font-family:var(--display);color:var(--lace);font-weight:900}.promo-row{gap:10px;display:flex}.promo-btn{background:var(--sq-light);width:68px;height:68px;box-shadow:0 0 0 2px var(--bronze), 0 3px 0 var(--bronze);cursor:pointer;border:0;border-radius:14px;padding:4px}.promo-btn svg{width:100%;height:100%}.promo{background:#17302ad6}.promo-title{font-family:var(--display);color:var(--lace);font-size:22px;font-weight:700}.promo .link{color:var(--lace)}.shout{z-index:4;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.shout .shout-text{font-family:var(--display);text-align:center;color:var(--lace);-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;text-shadow:0 6px #17302a59;padding:0 12px;font-size:clamp(36px,11.5vw,60px);font-weight:700;line-height:1;animation:1s cubic-bezier(.2,1.4,.4,1) both shout-in}.shout.check .shout-text,.shout.flag .shout-text{-webkit-text-stroke-color:var(--roof);text-shadow:0 6px #7e242073}.shout.mate .shout-text{font-size:clamp(42px,13.5vw,74px)}@keyframes shout-in{0%{opacity:0;rotate:-8deg;scale:2.2}45%{opacity:1;rotate:2deg;scale:.92}70%{rotate:-1deg;scale:1.04}to{rotate:0deg;scale:1}}.status{text-align:center;min-height:28px;color:var(--ink-soft);justify-content:center;align-items:center;gap:10px;margin:2px 0 0;font-size:16px;font-weight:700;display:flex}.status.mine{font-family:var(--display);color:var(--shutter-deep);font-size:19px;font-weight:700}.check-tag{font-family:var(--display);background:var(--roof);color:var(--lace);box-shadow:inset 0 0 0 2px var(--roof-deep);border-radius:4px;padding:3px 10px 4px;font-size:16px;font-weight:700}.status .watching-tag{font-family:var(--font)}.moves{scrollbar-width:none;background:var(--lace);border-radius:var(--radius-panel);box-shadow:inset 0 0 0 1.5px var(--wall-line);gap:2px;margin:0;padding:5px;list-style:none;display:flex;overflow-x:auto}.moves::-webkit-scrollbar{display:none}.moves li{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:3px;align-items:baseline;gap:6px;padding:5px 9px;display:inline-flex}.moves li.latest{background:var(--wall)}.move-n{color:var(--ink-soft);font-size:13px}.san{font-weight:700;font-family:var(--glyphs), var(--font)}.moves-empty{text-align:center;color:var(--ink-soft);margin:0;padding:10px 0;font-size:14px}.action-bar{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.action-bar .btn.small{padding:6px;font-size:15px;line-height:1.15}@media (max-width:380px){.action-bar .btn.small{font-size:14px}}.draw-ask{border-radius:var(--radius-panel);background:var(--lace);box-shadow:inset 0 0 0 2px var(--shutter), var(--lift);text-align:center;flex-direction:column;gap:10px;padding:14px;display:flex}.draw-ask p{font-family:var(--display);margin:0;font-size:19px;font-weight:700}.sheet-back{z-index:30;background:#17302a73;justify-content:center;align-items:flex-end;animation:.16s fade-in;display:flex;position:fixed;inset:0}.sheet{background:var(--lace);border-top:8px solid var(--shutter);width:100%;max-width:480px;padding:20px 20px calc(env(safe-area-inset-bottom) + 20px);border-radius:8px 8px 0 0;flex-direction:column;gap:12px;animation:.22s cubic-bezier(.2,.8,.3,1) sheet-up;display:flex;box-shadow:0 -16px 40px #17302a4d}.sheet-title{font-family:var(--display);margin:0;font-size:23px;font-weight:700;line-height:1.15}.react-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.react-btn{background:var(--wall);min-height:54px;color:var(--ink);font-family:var(--display);box-shadow:inset 0 0 0 1.5px var(--wall-line), 0 2px 0 var(--wall-line);cursor:pointer;border:0;border-radius:14px;font-size:18px;font-weight:400}.react-btn:active{box-shadow:inset 0 0 0 1.5px var(--wall-line);translate:0 2px}.choices{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.choice{align-items:center;gap:10px;padding:12px 14px;font-weight:700;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{translate:0 40px}}.end-back{z-index:25;background:#17302a73;place-items:center;padding:20px;animation:.22s both fade-in;display:grid;position:fixed;inset:0}.end-back.delayed{animation:.26s 1.6s both fade-in}.card{background:var(--lace);width:100%;max-width:400px;color:var(--ink);text-align:center;border-radius:6px;flex-direction:column;align-items:center;gap:12px;padding:54px 22px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #17302a59}.card:before{content:"";background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='48'%20height='40'%20viewBox='0%200%2048%2040'%3e%3crect%20width='48'%20height='9.5'%20fill='%23A8322D'/%3e%3cpath%20d='M3%200h2v9.5H3zM15%200h2v9.5h-2zM27%200h2v9.5h-2zM39%200h2v9.5h-2z'%20fill='%238A2622'/%3e%3crect%20y='8.5'%20width='48'%20height='1.5'%20fill='%236E1D1A'/%3e%3cpath%20d='M0%2011.6H48V21.6A12%209%200%200%201%2024%2021.6A12%209%200%200%201%200%2021.6Z'%20fill='%2317302A'%20fill-opacity='.16'/%3e%3cg%20fill='%23FFFDF8'%20fill-rule='evenodd'%3e%3cpath%20d='M0%2010H48V20A12%209%200%200%201%2024%2020A12%209%200%200%201%200%2020Z%20M38.4%2022a2.4%202.4%200%201%200-4.8%200a2.4%202.4%200%201%200%204.8%200Z%20M14.4%2022a2.4%202.4%200%201%200-4.8%200a2.4%202.4%200%201%200%204.8%200Z%20M12%2012.6l1.9%201.9-1.9%201.9-1.9-1.9Z%20M36%2012.6l1.9%201.9-1.9%201.9-1.9-1.9Z%20M25.2%2014.5a1.2%201.2%200%201%200-2.4%200a1.2%201.2%200%201%200%202.4%200Z'/%3e%3cpath%20d='M23.3%2019h1.4v8h-1.4Z'/%3e%3ccircle%20cx='24'%20cy='30'%20r='2.4'/%3e%3c/g%3e%3ccircle%20cx='24'%20cy='31.4'%20r='2.4'%20fill='%2317302A'%20fill-opacity='.14'/%3e%3ccircle%20cx='24'%20cy='30'%20r='2.4'%20fill='%23FFFDF8'/%3e%3c/svg%3e") left bottom / 48px 40px repeat-x, linear-gradient(var(--roof) 0 10px, transparent 0);height:40px;position:absolute;inset:0 0 auto}.card-title{font-family:var(--display);margin:0;font-size:40px;font-weight:700;line-height:1.05}.card.end.win .card-title{color:var(--bougainvillea)}.card.end.win{box-shadow:0 0 0 3px var(--bougainvillea), 0 20px 50px #17302a59}.card.end.loss .card-title{color:var(--ink)}.card.end.draw .card-title,.card.end.watch .card-title{color:var(--shutter-deep)}.card-reason{color:var(--ink-soft);margin:0;font-weight:600}.end-pieces{width:240px;position:relative}.end-pieces svg{width:100%;display:block}.end-pieces .piece.white .glyph{fill:#fbf6ea;stroke:#2a1409;stroke-width:2.6px;paint-order:stroke fill}.end-score{font-family:var(--display);color:var(--ink);font-size:26px;font-weight:700;position:absolute;top:50%;left:50%;translate:-50% -50%}.kontinye-note{margin:0;font-weight:700}.kontinye-wait{flex-direction:column;align-items:center;gap:2px;display:flex}.end-links{flex-wrap:wrap;justify-content:center;gap:2px 18px}.reopen-end{bottom:calc(env(safe-area-inset-bottom) + 12px);z-index:3;position:sticky}.confetti{pointer-events:none;position:absolute;inset:0}.confetti span{opacity:.92;border-radius:70% 0;width:11px;height:14px;animation-name:petal-fall;animation-timing-function:cubic-bezier(.3,.6,.6,1);animation-iteration-count:2;position:absolute;top:-14px}@keyframes petal-fall{33%{translate:14px 170px;rotate:140deg}66%{translate:-10px 350px;rotate:260deg}to{translate:12px 540px;rotate:420deg}}@media (prefers-reduced-motion:reduce){.shout .shout-text,.board-wrap.quake .board-frame,.bubble,.confetti span,.clock.low.running{animation-duration:1ms!important}}@media (max-height:700px){.lang-root:has(.screen.game)>.valance{height:calc(env(safe-area-inset-top) + 20px);background-size:24px 20px,auto;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='48'%20height='40'%20viewBox='0%200%2048%2040'%3e%3crect%20width='48'%20height='9.5'%20fill='%23A8322D'/%3e%3cpath%20d='M3%200h2v9.5H3zM15%200h2v9.5h-2zM27%200h2v9.5h-2zM39%200h2v9.5h-2z'%20fill='%238A2622'/%3e%3crect%20y='8.5'%20width='48'%20height='1.5'%20fill='%236E1D1A'/%3e%3cpath%20d='M0%2011.6H48V21.6A12%209%200%200%201%2024%2021.6A12%209%200%200%201%200%2021.6Z'%20fill='%2317302A'%20fill-opacity='.16'/%3e%3cg%20fill='%23FFFDF8'%20fill-rule='evenodd'%3e%3cpath%20d='M0%2010H48V20A12%209%200%200%201%2024%2020A12%209%200%200%201%200%2020Z%20M38.4%2022a2.4%202.4%200%201%200-4.8%200a2.4%202.4%200%201%200%204.8%200Z%20M14.4%2022a2.4%202.4%200%201%200-4.8%200a2.4%202.4%200%201%200%204.8%200Z%20M12%2012.6l1.9%201.9-1.9%201.9-1.9-1.9Z%20M36%2012.6l1.9%201.9-1.9%201.9-1.9-1.9Z%20M25.2%2014.5a1.2%201.2%200%201%200-2.4%200a1.2%201.2%200%201%200%202.4%200Z'/%3e%3cpath%20d='M23.3%2019h1.4v8h-1.4Z'/%3e%3ccircle%20cx='24'%20cy='30'%20r='2.4'/%3e%3c/g%3e%3ccircle%20cx='24'%20cy='31.4'%20r='2.4'%20fill='%2317302A'%20fill-opacity='.14'/%3e%3ccircle%20cx='24'%20cy='30'%20r='2.4'%20fill='%23FFFDF8'/%3e%3c/svg%3e"), linear-gradient(var(--roof) 0 calc(100% - 15px), transparent 0)}.screen.game{min-height:calc(100dvh - 20px - env(safe-area-inset-top));gap:5px}.screen.game>.bar{min-height:32px}.screen.game .chip{min-width:32px;height:32px}.screen.game .chip.icon{width:32px}.screen.game>.bar .link{padding:2px}.status{min-height:24px}.screen.game{padding-bottom:calc(env(safe-area-inset-bottom) + 8px)}.player{min-height:48px;padding:4px 8px 4px 10px}.player .avatar{width:31px!important;height:36px!important;font-size:13px!important}.player-sub{min-height:18px}.moves{padding:3px}.moves li{padding:4px 8px}.clock{min-width:86px;padding:8px 10px;font-size:23px}.status.mine{font-size:19px}.moves-empty{padding:4px 0}}@media (max-width:400px){.status.mine{font-size:17px}}@media (max-width:360px){.wordmark-name{font-size:58px}.code span{width:40px;height:52px;font-size:26px}.tc-label{font-size:17px}}.bar .link{white-space:nowrap}.no-points{border-left:3px solid var(--wall-line);text-align:left;padding-left:10px}.card .no-points{text-align:center;border-left:0;margin-top:-4px;padding-left:0}
