/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-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-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;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Geist", ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#d4622a;--color-on-primary:#170904;--color-primary-hover:#e47b45;--color-primary-focus:#d4622a;--color-ink:#ece4d4;--color-ink-muted:#c6bcaa;--color-ink-subtle:#8e8578;--color-ink-tertiary:#61594f;--color-canvas:#0b0a09;--color-surface-1:#141210;--color-surface-2:#1a1715;--color-surface-3:#201c19;--color-surface-4:#25211d;--color-hairline:#2c2723;--color-hairline-strong:#3b342e;--color-hairline-tertiary:#4a423a;--color-board-light:#5b5249;--color-board-dark:#2f2925;--color-check:#b3261e;--text-display-xl:80px;--text-display-lg:56px;--text-display-lg--line-height:1.1;--text-display-lg--letter-spacing:-1.8px;--text-display-lg--font-weight:600;--text-display-md:40px;--text-display-md--line-height:1.15;--text-display-md--letter-spacing:-1px;--text-display-md--font-weight:600;--text-subhead:20px;--text-subhead--line-height:1.4;--text-subhead--letter-spacing:-.2px;--text-body-lg:18px;--text-body-lg--line-height:1.5;--text-body-lg--letter-spacing:-.1px;--text-headline:28px;--text-headline--line-height:1.2;--text-headline--letter-spacing:-.6px;--text-headline--font-weight:600;--text-card-title:22px;--text-card-title--line-height:1.25;--text-card-title--letter-spacing:-.4px;--text-card-title--font-weight:500;--text-body:16px;--text-body--line-height:1.5;--text-body--letter-spacing:-.05px;--text-body-sm:14px;--text-body-sm--line-height:1.5;--text-caption:12px;--text-caption--line-height:1.4;--text-button:14px;--text-button--line-height:1.2;--text-eyebrow:13px;--text-eyebrow--line-height:1.3;--text-eyebrow--letter-spacing:.4px;--text-eyebrow--font-weight:500}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration: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:where(:not(iframe)){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}:root{--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 -.1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}html{background:var(--color-canvas);color:var(--color-ink);color-scheme:dark}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--text-body--line-height);letter-spacing:var(--text-body--letter-spacing);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid #d4622a80}@supports (color:color-mix(in lab, red, red)){:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary-focus) 50%, transparent)}}:focus-visible{outline-offset:2px}[tabindex="-1"]:focus{outline:none}html{-webkit-tap-highlight-color:transparent}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text}::selection{background:#d4622a66}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--color-primary) 40%, transparent)}}::selection{color:var(--color-ink)}}@layer components{.btn{border-radius:var(--radius-md);min-height:40px;font-size:var(--text-button);line-height:var(--text-button--line-height);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-weight:500;transition:background-color .12s,border-color .12s,color .12s,transform 80ms;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface-1);color:var(--color-ink);border:1px solid var(--color-hairline)}.btn-secondary:hover{background:var(--color-surface-2);border-color:var(--color-hairline-strong)}.btn-secondary[aria-pressed=false]{color:var(--color-ink-subtle)}.btn-secondary.btn-confirm{color:var(--color-ink);border-color:var(--color-check)}.btn:disabled{color:var(--color-ink-tertiary);cursor:default;transform:none}.status-badge{background:var(--color-surface-2);color:var(--color-ink-muted);font-size:var(--text-caption);line-height:var(--text-caption--line-height);border-radius:9999px;align-items:center;gap:6px;padding:2px 8px;display:inline-flex}.board-frame{--stud:radial-gradient(circle at 35% 35%, #8a7f70 0 18%, #4a423a 45%, #1a1715 70%, transparent 72%);border-radius:var(--radius-xl);background:var(--stud) 6px 6px / 10px 10px no-repeat, var(--stud) calc(100% - 6px) 6px / 10px 10px no-repeat, var(--stud) 6px calc(100% - 6px) / 10px 10px no-repeat, var(--stud) calc(100% - 6px) calc(100% - 6px) / 10px 10px no-repeat, var(--grain), linear-gradient(180deg, #221d19, #120f0d);border:1px solid var(--color-hairline-strong);width:min(100%,560px,100dvh - 210px);min-width:280px;padding:10px;position:relative;box-shadow:inset 0 1px #ffffff0f,inset 0 0 0 3px #00000059,0 24px 48px -16px #000000b3}.tabletop{--half:min(280px, calc(50vw - 16px));--rise:34vh;z-index:0;pointer-events:none;perspective:var(--table-perspective);perspective-origin:50% -10%;background:#0b0806;position:fixed;inset:0;overflow:hidden}.table-plane{top:calc(var(--rise) * -1);transform:rotateX(var(--table-tilt));transform-origin:50% 100%;position:absolute;bottom:-4vh;left:-22vw;right:-22vw}.table-wood{object-fit:cover;width:100%;max-width:none;height:100%;position:absolute;inset:0}.prop{max-width:none;height:auto;position:absolute}.prop-candle{left:calc(50% + var(--half) - 10px);top:calc(var(--rise) + 2vh);width:260px}.prop-skull{left:calc(50% + var(--half) + 60px);top:calc(var(--rise) + 36vh);width:190px;transform:rotate(-12deg)}.prop-dagger{left:calc(50% + var(--half) - 30px);top:calc(var(--rise) + 58vh);width:330px}.prop-coins{left:calc(50% + var(--half) + 90px);top:calc(var(--rise) + 70vh);width:240px}.prop-ink{right:calc(50% + var(--half) + 10px);top:calc(var(--rise) + 3vh);width:250px;transform:scaleX(-1)}.prop-parchment{right:calc(50% + var(--half) + 40px);top:calc(var(--rise) + 33vh);width:270px}.prop-book{right:calc(50% + var(--half) - 30px);top:calc(var(--rise) + 62vh);width:300px}@media (max-width:900px){.prop-skull,.prop-dagger,.prop-coins,.prop-parchment,.prop-book{display:none}.prop-candle{left:auto;right:calc(22vw - 70px);top:calc(var(--rise) - 50px);width:190px}.prop-ink{left:calc(22vw - 80px);right:auto;top:calc(var(--rise) - 60px);width:190px}}.on-table{z-index:1;position:relative}:root{--table-tilt:20deg;--table-perspective:1100px}.board-stage{width:100%;perspective:var(--table-perspective);perspective-origin:50% -10%;justify-content:center;display:flex}.board-plane{width:100%;transform:rotateX(var(--table-tilt));transform-origin:50% 100%;justify-content:center;display:flex}.board-corner{pointer-events:none;width:0;height:0;position:absolute}.board-corner-tl{top:0;left:0}.board-corner-tr{top:0;left:100%}.board-corner-br{top:100%;left:100%}.board-corner-bl{top:100%;left:0}.on-table .board-frame{box-shadow:inset 0 1px #ffffff14,inset 0 0 0 3px #00000059,-10px 14px #050302,-26px 40px #00000073,-30px 50px 60px #0009}.board3d-canvas{z-index:0;image-rendering:pixelated;pointer-events:none;display:block;position:fixed;inset:0}.battle-loading{z-index:60;background:var(--color-canvas);place-items:center;padding:0 16px;transition:opacity .7s,visibility 0s linear .7s;display:grid;position:fixed;inset:0;overflow:hidden}.battle-loading.is-lifting{opacity:0;visibility:hidden;pointer-events:none}.battle-loading-art{filter:blur(2px)brightness(.3)saturate(.8);background-position:50%;background-size:cover;animation:16s ease-out both loading-push;position:absolute;inset:-4%}.battle-loading:after{content:"";pointer-events:none;background:radial-gradient(#0000 30%,#000000bf 100%);position:absolute;inset:0}@keyframes loading-push{0%{transform:scale(1)}to{transform:scale(1.06)}}.battle-loading-body{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:8px;width:min(440px,100%);animation:.8s ease-out .1s both line-in;display:flex;position:relative}.battle-loading-title{text-shadow:0 2px 18px #000000e6;margin:0}.battle-loading-track{border:1px solid var(--color-hairline-strong);background:repeating-linear-gradient(90deg, var(--color-board-dark) 0 6.25%, var(--color-board-light) 6.25% 12.5%);border-radius:2px;width:100%;height:12px;margin-top:40px;position:relative;overflow:visible}.battle-loading-fill{width:calc(var(--p) * 100%);background:linear-gradient(90deg, #d4622a59, var(--color-primary));border-radius:2px;position:absolute;inset:0 auto 0 0}@supports (color:color-mix(in lab, red, red)){.battle-loading-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--color-primary) 35%, transparent), var(--color-primary))}}.battle-loading-fill{box-shadow:0 0 16px #d4622a99}@supports (color:color-mix(in lab, red, red)){.battle-loading-fill{box-shadow:0 0 16px color-mix(in srgb, var(--color-primary) 60%, transparent)}}.battle-loading-fill{transition:width .5s cubic-bezier(.2,.7,.2,1)}.battle-loading-knight{bottom:12px;left:calc(var(--p) * 100%);width:30px;height:30px;transition:left .5s cubic-bezier(.2,.7,.2,1);animation:1.1s ease-in-out infinite knight-hop;position:absolute;translate:-50%}.battle-loading-knight svg{width:100%;height:100%;fill:var(--color-ink);filter:drop-shadow(0 2px 6px #000c)}@keyframes knight-hop{0%,to{transform:translateY(0)}45%{transform:translateY(-5px)}}.battle-loading-step{letter-spacing:.04em;min-height:1.4em;margin-top:8px}.battle-loading-tip{max-width:380px;margin-top:24px;font-style:italic}@media (prefers-reduced-motion:reduce){.battle-loading-art,.battle-loading-knight,.battle-loading-body{animation:none}.battle-loading-fill,.battle-loading-knight{transition:none}}.board-3d .tabletop{display:none}.board-3d .board-plane{transform:none}.board-3d .board-frame,.board-3d .on-table .board-frame{box-shadow:none;background:0 0;border-color:#0000}.board-settings{position:relative}.btn-icon{padding-left:10px;padding-right:10px}.board-settings-menu{z-index:20;border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid var(--color-hairline-strong);white-space:nowrap;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 12px 24px -8px #0009}.board-settings-menu .btn{justify-content:flex-start}.move-banner{clip-path:polygon(0 0,100% 0,calc(100% - 16px) 50%,100% 100%,0 100%,16px 50%);background:linear-gradient(#1c1510,#0d0907);border-top:1px solid #d4622a8c;border-bottom:1px solid #d4622a8c;align-items:center;gap:4px;width:100%;max-width:560px;padding:6px 26px;display:flex;box-shadow:inset 0 1px #ffffff0a}.move-nav{width:26px;height:26px;color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0;border-radius:9999px;flex:none;place-items:center;font-size:20px;line-height:1;display:grid}.move-nav:hover,.move-nav:focus-visible{color:var(--color-ink);background:#ffffff0f}.move-strip{scrollbar-width:none;overscroll-behavior-x:contain;flex:1;gap:6px;min-width:0;margin:0;padding:4px 6px;list-style:none;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18px calc(100% - 18px),#0000);mask-image:linear-gradient(90deg,#0000,#000 18px calc(100% - 18px),#0000)}.move-strip::-webkit-scrollbar{display:none}.move-chip{border-radius:var(--radius-sm,6px);font-size:var(--text-body-sm);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;padding:3px 9px;font-weight:600;line-height:1.4}.move-chip.is-white{color:#0b0a09;background:#efe5cf;border:1px solid #efe5cf}.move-chip.is-black{color:#efe5cf;border:1px solid var(--color-hairline-strong);background:#0b0a09}.move-chip.is-last{box-shadow:0 0 0 2px var(--color-primary)}.move-chip.is-white.is-mistake{color:#8a5a08}.move-chip.is-black.is-mistake{color:#e8b04a}.move-chip.is-white.is-blunder{color:#a8240e}.move-chip.is-black.is-blunder{color:#e0482a}.challenger-line{z-index:30;border-radius:var(--radius-md);border:1px solid var(--color-hairline-strong);pointer-events:none;opacity:0;background:#141210e6;flex-direction:column;gap:2px;max-width:min(320px,100vw - 32px);padding:8px 14px;transition:opacity .25s,transform .25s;display:flex;position:fixed;transform:translateY(-50%)}.challenger-line.is-on{opacity:1;transform:translate(6px,-50%)}.challenger-name{font-size:var(--text-caption);color:var(--color-primary-hover);letter-spacing:.08em;text-transform:uppercase;line-height:1.2}.challenger-text{font-size:var(--text-body);line-height:var(--text-body--line-height);color:var(--color-ink)}.move-mark{z-index:30;pointer-events:none;letter-spacing:-.04em;color:#e8b04a;text-shadow:2px 2px #050302,-2px 2px #050302,2px -2px #050302,-2px -2px #050302;font-size:34px;font-weight:700;line-height:1;animation:2.6s ease-out both mark-pop;position:fixed;transform:translate(-50%,-100%)}.move-mark.is-blunder{color:#e0482a;font-size:40px}@keyframes mark-pop{0%{opacity:0;transform:translate(-50%,-60%)scale(.4)}10%{opacity:1;transform:translate(-50%,-110%)scale(1.25)}18%{transform:translate(-50%,-100%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-130%)scale(1)}}.challenger-exclaim{z-index:30;pointer-events:none;opacity:0;color:#f3e2b8;text-shadow:3px 3px #7a1f12,-2px 2px #050302,2px -2px #050302,-2px -2px #050302;font-size:48px;font-weight:800;line-height:1;position:fixed;transform:translate(-50%,-100%)}.challenger-exclaim.is-on{animation:1.5s ease-out both exclaim}@keyframes exclaim{0%{opacity:0;transform:translate(-50%,-40%)scale(.3)rotate(-12deg)}12%{opacity:1;transform:translate(-50%,-120%)scale(1.3)rotate(6deg)}22%{transform:translate(-50%,-100%)scale(1)rotate(0)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-110%)}}@media (prefers-reduced-motion:reduce){.challenger-line{transition:none}.move-mark,.challenger-exclaim.is-on{opacity:1;animation-duration:10ms}}.board-3d .board-frame{width:min(100%,720px,100dvh - 200px)}.board-3d .board-frame:before,.board-3d .board:after{display:none}.board-3d .sq,.board-3d .piece,.board-3d .hint-layer{visibility:hidden}.board-frame:before{content:"";pointer-events:none;border-radius:10px;position:absolute;inset:7px;box-shadow:inset 0 0 0 1px #4a423a,0 0 0 1px #0009}.board{aspect-ratio:1;border-radius:var(--radius-md);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;display:grid;position:relative;overflow:visible;container-type:inline-size}.sq{position:relative;box-shadow:inset -.25cqw .25cqw #ffffff12,inset .35cqw -.45cqw #00000052}.board:after{content:"";z-index:1;pointer-events:none;border-radius:var(--radius-md);background:radial-gradient(circle at 92% 4%,#e47b4529 0 34%,#e47b4512 34% 62%,#0000 62%),linear-gradient(200deg,#0000 0 55%,#00000038 55%);position:absolute;inset:0}.sq-light{background:var(--grain), var(--color-board-light)}.sq-dark{background:var(--grain), var(--color-board-dark)}.board>.sq:first-child{border-top-left-radius:var(--radius-md)}.board>.sq:nth-child(8){border-top-right-radius:var(--radius-md)}.board>.sq:nth-child(57){border-bottom-left-radius:var(--radius-md)}.board>.sq:nth-child(64){border-bottom-right-radius:var(--radius-md)}.sq-last:after{content:"";background:#d4622a4d;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.sq-last:after{background:color-mix(in srgb, var(--color-primary) 30%, transparent)}}.coord{pointer-events:none;color:#ece4d473;font-size:2.2cqw;font-weight:500;line-height:1;position:absolute}@supports (color:color-mix(in lab, red, red)){.coord{color:color-mix(in srgb, var(--color-ink) 45%, transparent)}}.coord-rank{top:.6cqw;left:.7cqw}.coord-file{bottom:.5cqw;right:.8cqw}.piece{z-index:2;pointer-events:none;place-items:center;width:12.5%;height:12.5%;display:grid;position:absolute}.glyph{pointer-events:auto;cursor:grab;will-change:transform;filter:drop-shadow(-.9cqw .7cqw #00000080)drop-shadow(0 .2cqw #0009);width:100%;height:100%;transition:filter .12s;display:block}.glyph svg{pointer-events:none;stroke:currentColor;stroke-width:1.9px;stroke-linejoin:round;stroke-linecap:round;transform-origin:50% 87%;width:100%;height:100%;display:block;overflow:visible;transform:scaleY(1.12)}.glyph svg .d{fill:none;stroke-width:1.1px}.glyph svg .e{fill:currentColor;stroke:none}.piece-white .glyph{color:#0b0a09;fill:url(#kf-bone)}.piece-black .glyph{color:#b4a790;fill:url(#kf-obsidian)}.piece-black .glyph svg .d{stroke:#8e8578}.piece-sprite{width:0;height:0;position:absolute;overflow:hidden}.glyph.is-lifted{cursor:grabbing;filter:drop-shadow(-2cqw 1.8cqw #0006)drop-shadow(0 .2cqw #0009)}.piece.in-check .glyph{animation:1.1s ease-in-out infinite check-pulse}@keyframes check-pulse{0%,to{filter:drop-shadow(0 0 .4cqw var(--color-check))}50%{filter:drop-shadow(0 0 2.2cqw var(--color-check)) drop-shadow(0 0 .8cqw var(--color-check))}}.hint-layer,.fx-layer{pointer-events:none;position:absolute;inset:0}.hint-layer{z-index:3}.fx-layer{z-index:20}.hint{place-items:center;width:12.5%;height:12.5%;display:grid;position:absolute}.hint:after{content:"";background:#ece4d438;border-radius:9999px;width:30%;height:30%}@supports (color:color-mix(in lab, red, red)){.hint:after{background:color-mix(in srgb, var(--color-ink) 22%, transparent)}}.hint-capture:after{background:0 0;width:86%;height:86%;box-shadow:inset 0 0 0 .9cqw #ece4d442}@supports (color:color-mix(in lab, red, red)){.hint-capture:after{box-shadow:inset 0 0 0 .9cqw color-mix(in srgb, var(--color-ink) 26%, transparent)}}.hint-hover{box-shadow:inset 0 0 0 .5cqw #ece4d473}@supports (color:color-mix(in lab, red, red)){.hint-hover{box-shadow:inset 0 0 0 .5cqw color-mix(in srgb, var(--color-ink) 45%, transparent)}}.ghost{pointer-events:none;z-index:21}.ghost .glyph{pointer-events:none}.spark{background:var(--color-primary-hover);width:1.1cqw;height:1.1cqw;box-shadow:0 0 1.4cqw var(--color-primary);border-radius:9999px;position:absolute}.dim{border-radius:var(--radius-md);background:#0000008c;position:absolute;inset:0}.ghost-shadow{background:radial-gradient(closest-side,#000000b3,#0000);border-radius:50%;height:18%;position:absolute;bottom:8%;left:18%;right:18%}.combo-ring{pointer-events:none;border:.8cqw solid var(--color-primary-hover);width:12cqw;height:12cqw;box-shadow:0 0 3cqw var(--color-primary);border-radius:50%;position:absolute}.combo-banner{z-index:50;border-radius:var(--radius-md);pointer-events:none;border:1px solid var(--color-primary);white-space:nowrap;background:#000000b8;flex-direction:column;align-items:center;padding:1.6cqw 4cqw;display:flex;position:absolute;top:42%;left:50%;box-shadow:0 0 6cqw #d4622a73}.combo-banner.is-theirs{border-color:#8a96a3;box-shadow:0 0 6cqw #8a96a359}.combo-count{color:var(--color-primary-hover);text-shadow:0 0 3cqw var(--color-primary);font-size:11cqw;font-weight:600;line-height:1}.combo-banner.is-theirs .combo-count{color:#c9d2db;text-shadow:0 0 3cqw #5b6672}.combo-name{letter-spacing:.2em;text-transform:uppercase;color:var(--color-ink);margin-top:.6cqw;font-size:3.4cqw;font-weight:500}.game-over{z-index:40;opacity:0;place-items:center;animation:.35s ease-out 1.5s forwards fade-in;display:grid;position:absolute;inset:0}.game-over-now{animation-delay:.1s}@keyframes fade-in{to{opacity:1}}html{scroll-behavior:smooth}.board-preview{width:100%;min-width:0}.board-preview .glyph{cursor:default;pointer-events:none}.wordmark-crown,.feature-glyph svg,.avatar svg{fill:url(#kf-bone);stroke:#0b0a09;stroke-width:1.5px;stroke-linejoin:round}.wordmark-crown .d,.feature-glyph svg .d,.avatar svg .d{fill:none;stroke-width:1.1px}.wordmark-crown{width:28px;height:28px}.feature-glyph{border-radius:var(--radius-md);background:var(--color-surface-3);border:1px solid var(--color-hairline);place-items:center;width:48px;height:48px;display:grid}.feature-glyph svg{width:36px;height:36px}.avatar{background:var(--color-surface-3);border:1px solid var(--color-hairline-strong);border-radius:9999px;place-items:center;width:40px;height:40px;display:grid}.avatar svg{width:30px;height:30px}.house-emblem{width:44px;height:44px;box-shadow:0 0 0 1px var(--color-hairline-strong);border-radius:9999px;flex:none}.house-emblem-lg{width:56px;height:56px}.banner-row{flex-wrap:wrap;justify-content:center;gap:clamp(8px,2.4vw,32px);display:flex}.war-banner{transform-origin:50% 4%;width:clamp(88px,13vw,150px);transition:translate .2s,filter .2s;animation:6s ease-in-out infinite alternate banner-sway;display:block}.war-banner:nth-child(2n){animation-duration:7.3s;animation-delay:-2s}.war-banner:nth-child(3n){animation-duration:5.4s;animation-delay:-4s}.war-banner img{filter:drop-shadow(0 18px 18px #0000008c);width:100%;height:auto;display:block}.war-banner:hover,.war-banner:focus-visible{filter:brightness(1.12);translate:0 6px}.war-banner.is-ours img{filter:drop-shadow(0 18px 18px #0000008c)drop-shadow(0 0 14px #d4622a59)}@keyframes banner-sway{0%{rotate:-1.4deg}to{rotate:1.4deg}}@media (prefers-reduced-motion:reduce){.war-banner{animation:none}}.crest{place-items:center;width:44px;height:48px;display:grid;position:relative}.crest svg{width:100%;height:100%;fill:var(--color-surface-3);stroke:var(--color-hairline-tertiary);stroke-width:1px;position:absolute;inset:0}.crest span{color:var(--color-ink);margin-top:-4px;font-size:18px;font-weight:600;position:relative}.timeline{gap:16px;max-width:720px;padding-left:32px;display:grid;position:relative}.timeline:before{content:"";background:var(--color-hairline-strong);width:2px;position:absolute;top:8px;bottom:8px;left:7px}.timeline-node{position:relative}.timeline-dot{background:var(--color-canvas);border:2px solid var(--color-ink-subtle);border-radius:9999px;width:16px;height:16px;position:absolute;top:28px;left:-32px}.timeline-dot.is-attack{border-color:var(--color-primary)}.stars{color:var(--color-hairline-tertiary);gap:4px;font-size:20px;line-height:1;display:flex}.scene{z-index:60;background:var(--color-canvas);cursor:pointer;outline:none;animation:.9s ease-out both scene-in;position:fixed;inset:0;overflow:hidden}.scene-bar{background:#000;justify-content:space-between;align-items:center;height:9vh;min-height:48px;padding:0 16px;display:flex;position:absolute;left:0;right:0}.scene-bar-top{animation:.9s cubic-bezier(.2,.7,.2,1) both bar-top;top:0}.scene-bar-bottom{animation:.9s cubic-bezier(.2,.7,.2,1) both bar-bottom;bottom:0}.scene-controls{gap:8px;display:flex;position:absolute;top:max(12px,4.5vh - 20px);right:16px}.scene-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;animation:.7s ease-out .15s both line-in;display:flex;position:absolute;inset:9vh 16px}.scene-narration{max-width:640px}.scene-oath{max-width:760px}.scene-card{z-index:3;text-align:center;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:0 16px;animation:1.2s ease-out both card-in;display:flex;position:absolute;inset:0}.scene-card-title{color:var(--color-ink);font-size:min(var(--text-display-xl), 11vw);text-transform:uppercase;letter-spacing:.18em;text-shadow:0 0 28px #d4622a73;margin:0;padding-left:.18em;font-weight:600;line-height:1}@supports (color:color-mix(in lab, red, red)){.scene-card-title{text-shadow:0 0 28px color-mix(in srgb, var(--color-primary) 45%, transparent)}}.scene-card-title{animation:3.2s cubic-bezier(.2,.7,.2,1) both card-title}.scene-card.is-chapter .scene-card-title{font-size:min(var(--text-display-md), 9vw);letter-spacing:.08em;text-transform:none;text-shadow:none;padding-left:.08em;animation-duration:2.2s}.scene-card-sub{margin:0;animation:.9s ease-out .2s both line-in}.scene-card-rule{background:linear-gradient(90deg, transparent, var(--color-primary), transparent);transform-origin:50%;width:min(320px,60vw);height:1px;animation:1.6s ease-out 1.1s both card-rule}@keyframes card-in{0%{opacity:0}}@keyframes card-title{0%{opacity:0;letter-spacing:.6em;filter:blur(10px)}60%{opacity:1}}@keyframes card-rule{0%{opacity:0;transform:scaleX(0)}}.scene-dialogue{border-radius:var(--radius-lg);background:var(--color-surface-1);border:1px solid var(--color-hairline);cursor:default;max-width:720px;margin:0 auto;padding:24px;animation:.35s ease-out both line-in;position:absolute;bottom:calc(9vh + 24px);left:16px;right:16px;box-shadow:inset 0 1px #ffffff0a}.stage{perspective:1400px;--cx:0;--cy:0;--zoom:1;--tilt:0deg;--roll:0deg;--far-blur:0px;--ease-cam:cubic-bezier(.25,.7,.2,1);animation:1.4s ease-out both scene-in;position:absolute;inset:0;overflow:hidden}.camera-drift{animation:40s ease-out both push-in;position:absolute;inset:0}.still-art{display:none}.still-art.is-on{animation:1.1s ease-out both still-in;display:block}.still-art-canvas{image-rendering:pixelated;display:block;position:absolute;inset:0}@keyframes still-in{0%{opacity:0}}.camera{transform-origin:50% 65%;transform:rotateX(var(--tilt)) rotate(var(--roll));transition:transform 1.2s var(--ease-cam), filter 1.2s ease;position:absolute;inset:0}.layer{object-fit:cover;pointer-events:none;width:124%;max-width:none;height:124%;transform:translate(calc(var(--cx) * var(--k) * -1%), calc(var(--cy) * var(--k) * -1%)) scale(calc(1 + (var(--zoom) - 1) * var(--k)));transition:transform 1.2s var(--ease-cam), filter 1.2s ease;position:absolute;top:-12%;left:-12%}.layer.is-light{mix-blend-mode:screen}.layer.is-far{filter:blur(var(--far-blur))}.layer.is-near{z-index:2;filter:blur(1.5px)}.scene-shade{z-index:2;pointer-events:none;background:linear-gradient(#0000004d,#0000 30% 55%,#000000b8);position:absolute;inset:0}.scene-center,.scene-dialogue,.scene-bar,.scene-controls{z-index:4}.scene-narration,.scene-oath{text-shadow:0 2px 18px #000000e6}.scene-center.over-stage{justify-content:flex-start;padding-top:3vh}.scene-hint{border-radius:var(--radius-md);border:1px solid var(--color-hairline-strong);background:#0000008c;max-width:560px;padding:8px 14px}.scene-arbiter{max-width:640px;color:var(--color-ink);letter-spacing:.04em;text-shadow:0 0 22px #b3261e8c,0 2px 18px #000000e6;font-style:italic}@supports (color:color-mix(in lab, red, red)){.scene-arbiter{text-shadow:0 0 22px color-mix(in srgb, var(--color-check) 55%, transparent), 0 2px 18px #000000e6}}.scene-arbiter{animation:1.6s ease-out both arbiter-in}@keyframes arbiter-in{0%{opacity:0;letter-spacing:.2em;filter:blur(6px)}}.arbiter-mark{z-index:3;pointer-events:none;flex-wrap:wrap;justify-content:center;column-gap:34px;width:200px;display:flex;position:absolute;top:30%;left:50%;translate:-50%}.arbiter-eye{background:radial-gradient(closest-side, #ffb090, var(--color-primary) 40%, var(--color-check) 75%, transparent);border-radius:50%;width:22px;height:9px;box-shadow:0 0 18px 6px #b3261e99}@supports (color:color-mix(in lab, red, red)){.arbiter-eye{box-shadow:0 0 18px 6px color-mix(in srgb, var(--color-check) 60%, transparent)}}.arbiter-eye{transform-origin:50%;animation:.9s cubic-bezier(.2,.7,.2,1) .2s both eye-open,3.2s ease-in-out 1.1s infinite alternate eye-burn}@keyframes eye-open{0%{opacity:0;transform:scaleY(0)}40%{opacity:1}}@keyframes eye-burn{to{box-shadow:0 0 26px 9px color-mix(in srgb, var(--color-check) 75%, transparent)}}.arbiter-grin{flex-basis:100%;height:40px;margin-top:18px;overflow:visible}.arbiter-grin path{fill:none;stroke:#e1beb0}@supports (color:color-mix(in lab, red, red)){.arbiter-grin path{stroke:color-mix(in srgb, var(--color-ink) 80%, var(--color-check))}}.arbiter-grin path{stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 6px #b3261eb3)}@supports (color:color-mix(in lab, red, red)){.arbiter-grin path{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--color-check) 70%, transparent))}}.arbiter-grin path{animation:1.8s ease-in-out 1.4s forwards grin-draw}@keyframes grin-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.arbiter-eye,.arbiter-grin path,.scene-arbiter{stroke-dashoffset:0;animation:none}}.scene-center.on-set .scene-narration{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;padding:10px 18px}.scene-center.over-stage .scene-narration,.scene-center.on-set.over-stage .scene-narration{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;padding:8px 16px}.figure{z-index:1;pointer-events:none;transform-origin:50% 100%;--fx:0px;--fy:0px;--fs:1;--flip:1;width:auto;max-width:70vw;height:min(64vh,640px);transform:translate(calc(var(--fx) - var(--cx) * 1%), calc(var(--fy) - var(--cy) * 1%)) scale(calc(var(--fs) * var(--zoom) * var(--flip)), calc(var(--fs) * var(--zoom)));transition:transform 1.2s var(--ease-cam), filter .6s ease, opacity .6s ease;position:absolute;bottom:9vh}.figure-left{left:max(-6vw,50% - 640px)}.figure-right{right:max(-6vw,50% - 640px)}.figure.is-mirrored{--flip:-1}.figure{animation-name:enter-left,breathe;animation-duration:.7s,4.6s;animation-timing-function:cubic-bezier(.2,.7,.2,1),ease-in-out;animation-iteration-count:1,infinite;animation-direction:normal,alternate;animation-fill-mode:both,none}.figure-right{animation-name:enter-right,breathe}.figure.pose-sleepy{animation-name:enter-left,breathe-slow;animation-duration:.7s,6.5s}.figure-right.pose-sleepy{animation-name:enter-right,breathe-slow}.figure.pose-pain{animation-name:enter-left,tremble;animation-duration:.7s,.22s}.figure-right.pose-pain{animation-name:enter-right,tremble}.figure.pose-laugh{animation-name:enter-left,laugh;animation-duration:.7s,.34s}.figure-right.pose-laugh{animation-name:enter-right,laugh}.figure.pose-dying{animation-name:enter-left,sink;animation-duration:.7s,3s;animation-iteration-count:1,1;animation-fill-mode:both,forwards}.figure.pose-shout,.figure.pose-shock,.figure.pose-alarm{animation-name:enter-left,jolt;animation-duration:.7s,.45s;animation-iteration-count:1,1}.figure-right.pose-shout,.figure-right.pose-shock,.figure-right.pose-alarm{animation-name:enter-right,jolt}@keyframes breathe{0%{scale:1}to{scale:1 1.008}}@keyframes breathe-slow{0%{scale:1}to{scale:1.004 1.016}}@keyframes tremble{0%{rotate:0deg}25%{rotate:-.6deg}50%{rotate:.4deg}75%{rotate:-.3deg}to{rotate:.5deg}}@keyframes laugh{0%,to{scale:1}50%{scale:1.005 .985}}@keyframes sink{to{rotate:1.5deg;scale:.97 .95}}@keyframes jolt{0%{scale:1}30%{scale:1.035}to{scale:1}}.figure.is-listener{filter:brightness(.35)saturate(.6);--fs:.97}.figure.is-speaker{filter:none}.shot-wide .figure{opacity:0;--fy:6vh}.shot-close{--zoom:1.2;--far-blur:5px}.shot-close.speaker-left{--cx:-3}.shot-close.speaker-right{--cx:3}.shot-close .figure.is-speaker{--fs:1.12}.shot-close .figure-left.is-speaker{--fx:10vw}.shot-close .figure-right.is-speaker{--fx:-10vw}.shot-close .figure.is-listener{opacity:0}.shot-ots{--zoom:1.1;--far-blur:3px}.shot-ots.speaker-left{--cx:-2}.shot-ots.speaker-right{--cx:2}.shot-ots .figure.is-listener{z-index:3;--fs:1.55;--fy:14vh;filter:brightness(.12)blur(3px)}.shot-ots .figure-left.is-listener{--fx:-14vw}.shot-ots .figure-right.is-listener{--fx:14vw}.shot-ots .figure-left.is-speaker{--fx:6vw}.shot-ots .figure-right.is-speaker{--fx:-6vw}.shot-low{--zoom:1.12;--cy:-4;--tilt:4deg}.shot-low .figure.is-speaker{--fs:1.22;--fy:3vh}.shot-high{--zoom:1.1;--cy:5;--tilt:-5deg}.shot-high .camera{filter:saturate(.7)}.shot-high .figure{--fs:.9}.shot-dutch{--zoom:1.14;--roll:-5deg}.shot-dutch .figure.is-speaker{--fs:1.06}@keyframes enter-left{0%{opacity:0;translate:-60px}}@keyframes enter-right{0%{opacity:0;translate:60px}}@keyframes push-in{0%{transform:scale(1)}to{transform:scale(1.04)}}.ash.fx-embers span,.ash.fx-war span{animation-name:ember-rise;animation-duration:calc(var(--d) * .7);background:#ffb060;top:auto;bottom:-12px;box-shadow:0 0 8px #f08a40}.ash.fx-dust span{box-shadow:none;animation-duration:calc(var(--d) * 2.2);width:calc(var(--s) * .7);height:calc(var(--s) * .7);background:#e8d2a8}@keyframes ember-rise{0%{opacity:0;transform:translate(0)}10%{opacity:.9}70%{opacity:.6}to{opacity:0;transform:translate(var(--x), -105vh)}}.war-flash{z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:0;background:radial-gradient(at 55% 60%,#ff8c4680,#0000 60%);animation:7.5s ease-out 1.5s infinite war-flash;position:absolute;inset:0}@keyframes war-flash{0%,to{opacity:0}2%{opacity:.9}8%{opacity:.15}11%{opacity:.55}22%{opacity:0}}.ash{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ash span{width:var(--s);height:var(--s);opacity:0;animation:ash-fall var(--d) linear infinite;background:#e47b45;border-radius:9999px;position:absolute;top:-12px;box-shadow:0 0 6px #d4622a}@keyframes ash-fall{0%{opacity:0;transform:translate(0)}10%{opacity:.8}80%{opacity:.5}to{opacity:0;transform:translate(var(--x), 105vh)}}@keyframes scene-in{0%{opacity:0}}@keyframes bar-top{0%{transform:translateY(-100%)}}@keyframes bar-bottom{0%{transform:translateY(100%)}}@keyframes line-in{0%{opacity:0;transform:translateY(8px)}}.portrait{background:var(--color-surface-3);border:1px solid var(--color-hairline-strong);border-radius:9999px;flex:none;place-items:center;width:48px;height:48px;display:grid}.portrait svg{fill:url(#kf-bone);stroke:#0b0a09;stroke-width:1.5px;stroke-linejoin:round;width:36px;height:36px}.portrait.is-enemy svg{fill:url(#kf-obsidian);stroke:#b4a790}.portrait svg .d{fill:none;stroke-width:1.1px}.portrait svg .e{fill:currentColor;stroke:none}.portrait-sm{width:40px;height:40px}.portrait-sm svg{width:30px;height:30px}.text-input{border-radius:var(--radius-md);background:var(--color-surface-2);min-height:44px;color:var(--color-ink);border:1px solid var(--color-hairline-strong);font-size:var(--text-body);padding:8px 12px}.text-input:focus{outline:2px solid #d4622a80}@supports (color:color-mix(in lab, red, red)){.text-input:focus{outline:2px solid color-mix(in srgb, var(--color-primary-focus) 50%, transparent)}}.text-input:focus{outline-offset:1px}.chip{border-radius:var(--radius-xs);background:var(--color-surface-3);color:var(--color-ink-muted);align-items:center;padding:2px 8px;display:inline-flex}.result-stars{letter-spacing:4px;color:var(--color-primary);font-size:28px;line-height:1}.map-frame{border-radius:var(--radius-xl);border:1px solid var(--color-hairline);background:var(--grain), var(--color-surface-1);padding:8px;box-shadow:inset 0 1px #ffffff0a}.war-map{border-radius:var(--radius-lg);background:var(--grain), #100e0c;width:100%;height:auto;display:block}.province{stroke-width:2px;stroke-linejoin:round;transition:fill .4s}.province-aldmere{fill:#ece4d424}@supports (color:color-mix(in lab, red, red)){.province-aldmere{fill:color-mix(in srgb, var(--color-ink) 14%, transparent)}}.province-aldmere{stroke:#ece4d473}@supports (color:color-mix(in lab, red, red)){.province-aldmere{stroke:color-mix(in srgb, var(--color-ink) 45%, transparent)}}.province-contested{fill:#d4622a1a}@supports (color:color-mix(in lab, red, red)){.province-contested{fill:color-mix(in srgb, var(--color-primary) 10%, transparent)}}.province-contested{stroke:var(--color-primary);stroke-dasharray:8 6}.province-varn{fill:#070605;stroke:var(--color-hairline-tertiary)}.province-hatch{pointer-events:none}.hatch-line{stroke:var(--color-hairline-strong);stroke-width:2px}.river{fill:none;stroke:var(--color-ink-tertiary);stroke-width:6px;stroke-linecap:round;opacity:.55}.province-label{fill:var(--color-ink-muted);letter-spacing:1.5px;text-anchor:middle;pointer-events:none;font-size:18px;font-weight:500}.province-owner{fill:var(--color-ink-subtle);text-anchor:middle;pointer-events:none;font-size:14px}.route{stroke:var(--color-hairline-tertiary);stroke-width:3px;stroke-dasharray:2 10;stroke-linecap:round}.route.is-open{stroke:#ece4d480}@supports (color:color-mix(in lab, red, red)){.route.is-open{stroke:color-mix(in srgb, var(--color-ink) 50%, transparent)}}.route.is-open{stroke-dasharray:none}.checkpoint{cursor:pointer;outline:none}.checkpoint.is-locked{cursor:not-allowed}.checkpoint-halo{fill:#0000}.checkpoint-dot{fill:var(--color-surface-3);stroke:var(--color-ink-subtle);stroke-width:3px;transition:transform .15s}.checkpoint-num{fill:var(--color-ink);text-anchor:middle;pointer-events:none;font-size:18px;font-weight:600}.checkpoint-stars{fill:var(--color-ink-subtle);letter-spacing:2px;text-anchor:middle;pointer-events:none;font-size:16px}.checkpoint.is-done .checkpoint-dot{fill:var(--color-ink);stroke:var(--color-ink)}.checkpoint.is-done .checkpoint-num{fill:var(--color-canvas)}.checkpoint.is-done .checkpoint-stars{fill:var(--color-primary)}.checkpoint.is-next .checkpoint-dot{stroke:var(--color-primary);fill:var(--color-surface-4)}.checkpoint.is-next .checkpoint-halo{fill:#d4622a38}@supports (color:color-mix(in lab, red, red)){.checkpoint.is-next .checkpoint-halo{fill:color-mix(in srgb, var(--color-primary) 22%, transparent)}}.checkpoint.is-next .checkpoint-halo{transform-origin:50%;animation:1.8s ease-out infinite halo}.checkpoint.is-locked .checkpoint-dot{fill:var(--color-surface-1);stroke:var(--color-hairline-strong)}.checkpoint.is-locked .checkpoint-num{fill:var(--color-ink-tertiary)}.checkpoint:not(.is-locked):hover .checkpoint-dot,.checkpoint:not(.is-locked):focus-visible .checkpoint-dot{transform:scale(1.12)}.checkpoint:focus-visible .checkpoint-halo{fill:#d4622a66}@supports (color:color-mix(in lab, red, red)){.checkpoint:focus-visible .checkpoint-halo{fill:color-mix(in srgb, var(--color-primary-focus) 40%, transparent)}}@keyframes halo{0%{opacity:1;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}.stars-earned{letter-spacing:2px;color:var(--color-primary);font-size:20px}@media (prefers-reduced-motion:reduce){.scene,.scene-bar-top,.scene-bar-bottom,.scene-center,.scene-dialogue,.scene-card,.scene-card-title,.scene-card-sub,.scene-card-rule,.stage,.camera-drift,.figure{animation-duration:10ms;animation-delay:0s}.camera,.layer,.figure{transition-duration:10ms}.ash,.war-flash{display:none}.checkpoint.is-next .checkpoint-halo{opacity:.6;animation:none}html{scroll-behavior:auto}.piece.in-check .glyph{filter:drop-shadow(0 0 1.4cqw var(--color-check));animation:none}.game-over{animation-delay:.2s}}}@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:0}.z-50{z-index:50}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.h-14{height:calc(var(--spacing) * 14)}.min-h-dvh{min-height:100dvh}.w-full{width:100%}.max-w-\[320px\]{max-width:320px}.max-w-\[340px\]{max-width:340px}.max-w-\[440px\]{max-width:440px}.max-w-\[480px\]{max-width:480px}.max-w-\[520px\]{max-width:520px}.max-w-\[560px\]{max-width:560px}.max-w-\[640px\]{max-width:640px}.max-w-\[720px\]{max-width:720px}.max-w-\[1280px\]{max-width:1280px}.min-w-0{min-width:0}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.scroll-mt-14{scroll-margin-top:calc(var(--spacing) * 14)}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-hairline{border-color:var(--color-hairline)}.border-hairline-strong{border-color:var(--color-hairline-strong)}.bg-canvas\/90{background-color:#0b0a09e6}@supports (color:color-mix(in lab, red, red)){.bg-canvas\/90{background-color:color-mix(in oklab, var(--color-canvas) 90%, transparent)}}.bg-check{background-color:var(--color-check)}.bg-ink-subtle{background-color:var(--color-ink-subtle)}.bg-ink-tertiary{background-color:var(--color-ink-tertiary)}.bg-primary{background-color:var(--color-primary)}.bg-surface-1{background-color:var(--color-surface-1)}.bg-surface-2{background-color:var(--color-surface-2)}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-card-title{font-size:var(--text-card-title);line-height:var(--tw-leading,var(--text-card-title--line-height));letter-spacing:var(--tw-tracking,var(--text-card-title--letter-spacing));font-weight:var(--tw-font-weight,var(--text-card-title--font-weight))}.text-display-md{font-size:var(--text-display-md);line-height:var(--tw-leading,var(--text-display-md--line-height));letter-spacing:var(--tw-tracking,var(--text-display-md--letter-spacing));font-weight:var(--tw-font-weight,var(--text-display-md--font-weight))}.text-eyebrow{font-size:var(--text-eyebrow);line-height:var(--tw-leading,var(--text-eyebrow--line-height));letter-spacing:var(--tw-tracking,var(--text-eyebrow--letter-spacing));font-weight:var(--tw-font-weight,var(--text-eyebrow--font-weight))}.text-headline{font-size:var(--text-headline);line-height:var(--tw-leading,var(--text-headline--line-height));letter-spacing:var(--tw-tracking,var(--text-headline--letter-spacing));font-weight:var(--tw-font-weight,var(--text-headline--font-weight))}.text-body{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height));letter-spacing:var(--tw-tracking,var(--text-body--letter-spacing))}.text-body-lg{font-size:var(--text-body-lg);line-height:var(--tw-leading,var(--text-body-lg--line-height));letter-spacing:var(--tw-tracking,var(--text-body-lg--letter-spacing))}.text-subhead{font-size:var(--text-subhead);line-height:var(--tw-leading,var(--text-subhead--line-height));letter-spacing:var(--tw-tracking,var(--text-subhead--letter-spacing))}.text-body-sm{font-size:var(--text-body-sm);line-height:var(--tw-leading,var(--text-body-sm--line-height))}.text-caption{font-size:var(--text-caption);line-height:var(--tw-leading,var(--text-caption--line-height))}.text-ink{color:var(--color-ink)}.text-ink-muted{color:var(--color-ink-muted)}.text-ink-subtle{color:var(--color-ink-subtle)}.text-ink-tertiary{color:var(--color-ink-tertiary)}.text-primary{color:var(--color-primary)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:text-ink:hover{color:var(--color-ink)}}@media (min-width:40rem){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:self-center{align-self:center}}@media (min-width:48rem){.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}.md\:text-card-title{font-size:var(--text-card-title);line-height:var(--tw-leading,var(--text-card-title--line-height));letter-spacing:var(--tw-tracking,var(--text-card-title--letter-spacing));font-weight:var(--tw-font-weight,var(--text-card-title--font-weight))}.md\:text-display-lg{font-size:var(--text-display-lg);line-height:var(--tw-leading,var(--text-display-lg--line-height));letter-spacing:var(--tw-tracking,var(--text-display-lg--letter-spacing));font-weight:var(--tw-font-weight,var(--text-display-lg--font-weight))}.md\:text-display-md{font-size:var(--text-display-md);line-height:var(--tw-leading,var(--text-display-md--line-height));letter-spacing:var(--tw-tracking,var(--text-display-md--letter-spacing));font-weight:var(--tw-font-weight,var(--text-display-md--font-weight))}}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[1fr_minmax\(0\,520px\)\]{grid-template-columns:1fr minmax(0,520px)}.lg\:py-24{padding-block:calc(var(--spacing) * 24)}.lg\:pt-20{padding-top:calc(var(--spacing) * 20)}.lg\:pb-24{padding-bottom:calc(var(--spacing) * 24)}}}@font-face{font-family:Geist;src:url(../fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@media (min-width:1100px){.board-3d .back-link{z-index:5;margin:0;position:fixed;top:20px;left:24px}.board-3d .board-head{z-index:5;flex-direction:column;align-items:flex-start;gap:10px;width:300px;max-width:none;position:fixed;top:52px;left:24px}.board-3d .battle-brief{z-index:5;width:340px;max-width:none;position:fixed;top:20px;right:24px}.board-3d .move-banner{z-index:5;width:min(900px,100vw - 48px);max-width:none;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.board-3d .board-frame{width:min(100%,700px,78dvh - 116px)}.board-3d main.on-table{justify-content:flex-start;padding-top:22dvh;padding-bottom:0}.board-3d .board-controls{z-index:5;width:auto;max-width:none;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.board-3d .board-help{display:none}}.board-3d .game-over{animation-delay:3.6s}.board-3d .game-over-now{animation-delay:.1s}@media (prefers-reduced-motion:reduce){.board-3d .game-over{animation-delay:.4s}}.board-3d,.board-3d body{touch-action:none;overscroll-behavior:none}.board-3d .move-strip{touch-action:pan-x}.board-3d body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.board-controls{position:relative}.board-controls-help{display:none}.board-3d .board-controls-help{display:inline-flex}.controls-panel{z-index:20;text-align:left;border-radius:var(--radius-lg);background:var(--color-surface-2);border:1px solid var(--color-hairline-strong);width:min(340px,100vw - 32px);padding:16px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 24px -8px #0009}.controls-panel dl{grid-template-columns:auto 1fr;gap:8px 16px;margin:12px 0 16px;display:grid}.controls-panel dt{color:var(--color-ink);font-size:var(--text-body-sm);line-height:1.5}.controls-panel dd{color:var(--color-ink-subtle);font-size:var(--text-body-sm);margin:0;line-height:1.5}.controls-panel kbd{border-radius:var(--radius-xs);font:inherit;font-size:var(--text-caption);color:var(--color-ink-muted);background:var(--color-surface-3);border:1px solid var(--color-hairline-strong);padding:0 6px;display:inline-block}.controls-mouse{display:contents}.controls-touch{display:none}@media (pointer:coarse){.controls-mouse{display:none}.controls-touch{display:contents}}.landing-hero{isolation:isolate;position:relative;overflow:hidden}.landing-backdrop{z-index:-1;opacity:0;transition:opacity 1.4s ease-out;position:absolute;inset:0}.landing-backdrop.is-on{opacity:.9}.landing-backdrop:after{content:"";pointer-events:none;background:linear-gradient(90deg, #0b0a09d1 0%, #0b0a0980 38%, #0b0a091a 70%), linear-gradient(180deg, #0b0a098c 0%, transparent 24%, transparent 70%, var(--color-canvas) 100%);position:absolute;inset:0}@media (max-width:1023px){.landing-backdrop:after{background:linear-gradient(180deg, #0b0a09b3 0%, #0b0a098c 50%, var(--color-canvas) 100%)}}.section-art{isolation:isolate;position:relative;overflow:hidden}.section-backdrop{z-index:-1;opacity:0;transition:opacity 1.4s ease-out;position:absolute;inset:0}.section-backdrop.is-on{opacity:.6}.section-backdrop:after{content:"";pointer-events:none;background:linear-gradient(90deg, #0b0a09db 0%, #0b0a098c 45%, #0b0a0926 78%), linear-gradient(180deg, var(--color-canvas) 0%, transparent 16%, transparent 84%, var(--color-canvas) 100%);position:absolute;inset:0}@media (max-width:1023px){.section-backdrop:after{background:linear-gradient(180deg, var(--color-canvas) 0%, #0b0a09b3 20%, #0b0a09b3 80%, var(--color-canvas) 100%)}}.shell{grid-template-columns:232px 1fr;min-height:100dvh;display:grid}.shell-nav{background:var(--color-surface-1);border-right:1px solid var(--color-hairline);flex-direction:column;gap:24px;height:100dvh;padding:20px 12px;display:flex;position:sticky;top:0}.shell-brand{color:var(--color-ink);font-size:var(--text-card-title);letter-spacing:-.4px;align-items:center;gap:10px;padding:4px 12px;font-weight:600;display:flex}.shell-items{flex-direction:column;gap:4px;display:flex}.shell-item{border-radius:var(--radius-md);min-height:44px;color:var(--color-ink-subtle);font-size:var(--text-body-sm);align-items:center;gap:12px;padding:8px 12px;font-weight:500;transition:background-color .12s,color .12s;display:flex;position:relative}.shell-item:hover,.shell-item.is-active{background:var(--color-surface-2);color:var(--color-ink)}.shell-item.is-active:before{content:"";background:var(--color-primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:-12px}.shell-item.is-disabled{color:var(--color-ink-tertiary);cursor:not-allowed}.shell-item.is-disabled:hover{color:var(--color-ink-tertiary);background:0 0}.shell-soon{font-size:var(--text-caption);background:var(--color-surface-3);color:var(--color-ink-subtle);border:1px solid var(--color-hairline);border-radius:9999px;margin-left:auto;padding:2px 8px;line-height:1.4}.shell-profile{border-radius:var(--radius-lg);border:1px solid var(--color-hairline);background:var(--color-canvas);align-items:center;gap:12px;margin-top:auto;padding:12px;display:flex}.shell-profile img{border-radius:9999px}.shell-main{min-width:0}.shell-item:focus-visible,.shell-brand:focus-visible{outline:2px solid #d4622a80}@supports (color:color-mix(in lab, red, red)){.shell-item:focus-visible,.shell-brand:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary-focus) 50%, transparent)}}.shell-item:focus-visible,.shell-brand:focus-visible{outline-offset:2px}@media (max-width:767px){.shell{grid-template-columns:1fr;padding-bottom:72px}.shell-nav{z-index:30;height:auto;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-right:none;border-top:1px solid var(--color-hairline);flex-direction:row;gap:0;position:fixed;inset:auto 0 0}.shell-brand,.shell-profile{display:none}.shell-items{flex-direction:row;gap:4px;width:100%}.shell-items li{flex:1}.shell-item{min-height:56px;font-size:var(--text-caption);flex-direction:column;justify-content:center;gap:2px;padding:6px 4px}.shell-item.is-active:before{border-radius:0 0 3px 3px;width:auto;height:3px;inset:0 30% auto}.shell-soon{margin:0;padding:0 5px;font-size:10px;position:absolute;top:2px;right:6px}}.dash{flex-direction:column;gap:24px;max-width:1440px;margin:0 auto;padding:32px;display:flex}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.dash-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.realm-panel{border-radius:var(--radius-xl);border:1px solid var(--color-hairline);background:var(--color-surface-1);position:relative;overflow:hidden}.realm-map{background:#020203;height:clamp(440px,100dvh - 330px,820px);position:relative;overflow:hidden}.warmap-canvas{width:100%;height:100%;image-rendering:pixelated;touch-action:none;cursor:grab;display:block;position:absolute;inset:0}.realm-map .war-map{border-radius:0;width:100%;height:100%;position:absolute;inset:0}.realm-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.realm-labels>*{white-space:nowrap;will-change:transform;position:absolute;top:0;left:0}.realm-hint{color:var(--color-ink-tertiary);font-size:var(--text-caption);pointer-events:none;position:absolute;bottom:12px;left:16px}.warmap-realm span{color:#ece4d4c7;display:block}@supports (color:color-mix(in lab, red, red)){.warmap-realm span{color:color-mix(in srgb, var(--color-ink) 78%, transparent)}}.warmap-realm span{font-size:var(--text-eyebrow);letter-spacing:5px;text-transform:uppercase;text-shadow:0 1px #000,0 0 10px #000;font-weight:500;transition:opacity .3s}.warmap-realm.is-ours span{color:var(--color-ink)}.warmap-realm.is-faint span{opacity:.25}.warmap-castle{border-radius:var(--radius-xs);border:1px solid var(--color-hairline);background:#0b0a09c7;flex-direction:column;align-items:center;padding:2px 8px;display:flex}.warmap-castle span{color:var(--color-ink);font-size:var(--text-caption);font-weight:500}.warmap-castle small{color:var(--color-ink-subtle);font-size:10px}.warmap-castle.is-selected{border-color:var(--color-primary)}.warmap-node{border:1px solid var(--color-hairline-strong);background:#0b0a09d9;border-radius:9999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;display:flex}.warmap-node-n{width:22px;height:22px;font-size:var(--text-caption);background:var(--color-surface-3);color:var(--color-ink);border-radius:9999px;place-items:center;font-weight:600;display:grid}.warmap-node-text{flex-direction:column;line-height:1.2;display:flex}.warmap-node-text strong{color:var(--color-ink);font-size:var(--text-caption);font-weight:500}.warmap-node-text small{color:var(--color-ink-subtle);font-size:10px}.warmap-node.is-done .warmap-node-n{background:var(--color-ink);color:var(--color-canvas)}.warmap-node.is-next .warmap-node-n{background:var(--color-primary);color:var(--color-on-primary)}.warmap-node.is-locked{opacity:.65}.warmap-node.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 3px #d4622a40}@supports (color:color-mix(in lab, red, red)){.warmap-node.is-selected{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 25%, transparent)}}.realm-card{border-radius:var(--radius-lg);border:1px solid var(--color-hairline-strong);background:#1a1715f0;width:320px;padding:24px;position:absolute;top:16px;right:16px;box-shadow:0 16px 32px -12px #000000b3}.realm-emblem{border-radius:9999px}.timeline-strip{border-top:1px solid var(--color-hairline);align-items:center;gap:12px;padding:16px;display:flex}.timeline-chapter{border-right:1px solid var(--color-hairline);flex:none;padding-right:16px}.timeline-steps{scrollbar-width:none;flex:1;gap:8px;display:flex;overflow-x:auto}.timeline-step{flex:1 0 200px;position:relative}.timeline-step:not(:last-child):after{content:"";background:var(--color-hairline-strong);width:8px;height:1px;position:absolute;top:50%;right:-8px}.timeline-step.is-done:not(:last-child):after{background:var(--color-ink-subtle)}.timeline-step>button,.timeline-step.is-future{z-index:1;border-radius:var(--radius-md);text-align:left;border:1px solid #0000;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background-color .12s,border-color .12s;display:flex;position:relative}.timeline-step>button:hover{background:var(--color-surface-2)}.timeline-step>button:focus-visible{outline:2px solid #d4622a80}@supports (color:color-mix(in lab, red, red)){.timeline-step>button:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary-focus) 50%, transparent)}}.timeline-step>button:focus-visible{outline-offset:2px}.timeline-step.is-selected>button{background:var(--color-surface-2);border-color:var(--color-hairline-strong)}.timeline-step-dot{width:36px;height:36px;font-size:var(--text-body-sm);background:var(--color-surface-3);color:var(--color-ink-subtle);border:1px solid var(--color-hairline-strong);border-radius:9999px;flex:none;place-items:center;font-weight:600;display:grid}.timeline-step.is-done .timeline-step-dot{background:var(--color-ink);color:var(--color-canvas);border-color:var(--color-ink)}.timeline-step.is-next .timeline-step-dot{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.timeline-step.is-locked .timeline-step-dot,.timeline-step.is-future .timeline-step-dot{font-size:var(--text-caption)}.timeline-step.is-future{opacity:.55}.warmap-node.is-chapter{opacity:.75}.warmap-node.is-chapter.is-selected{opacity:1}.warmap-node.is-chapter.is-compact{padding:4px}.warmap-castle.is-compact small,.warmap-node.is-chapter.is-compact .warmap-node-text{display:none}.timeline-step.is-chapter>button{opacity:.62}.timeline-step.is-chapter>button:hover,.timeline-step.is-chapter.is-selected>button{opacity:1}.timeline-step.is-chapter .timeline-step-dot{letter-spacing:.02em;background:0 0;border-style:dashed}.timeline-text{flex-direction:column;min-width:0;display:flex}.timeline-text>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline-stars{color:var(--color-primary);font-size:var(--text-caption);letter-spacing:2px}.timeline-step.is-locked .timeline-stars{color:var(--color-ink-tertiary)}.timeline-step-nav{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-ink);background:var(--color-surface-2);border:1px solid var(--color-hairline);flex:none;place-items:center;font-size:20px;display:grid}.timeline-step-nav:disabled{color:var(--color-ink-tertiary);cursor:not-allowed}@media (max-width:1023px){.dash{padding:20px 16px}.realm-panel{flex-direction:column;display:flex}.realm-map{height:clamp(360px,58dvh,620px)}.realm-card{width:auto;box-shadow:none;background:var(--color-surface-2);border-width:1px 0 0;border-radius:0;margin:0;position:relative;top:auto;right:auto}}@media (max-width:767px){.timeline-chapter,.timeline-step-nav{display:none}.timeline-step{flex-basis:220px}.realm-hint{display:none}}.promotion-picker{z-index:45;background:#00000073;outline:none;place-items:center;padding:12px;animation:.15s ease-out forwards fade-in;display:grid;position:absolute;inset:0}.promotion-panel{text-align:center;border-radius:var(--radius-lg);background:var(--color-surface-2);border:1px solid var(--color-hairline-strong);width:min(100%,520px);padding:20px 16px 16px;box-shadow:0 16px 32px -12px #000000b3}.promotion-hand{--w:104px;perspective:700px;justify-content:center;align-items:flex-end;margin:6px 0 0;padding:30px 8px 18px;display:flex}.promotion-card{--spread:calc(var(--i) - (var(--n) - 1) / 2);--rot:calc(var(--spread) * 6deg);--drop:calc(var(--spread) * var(--spread) * 6px);--rx:0deg;--ry:0deg;--shine:50%;width:var(--w);aspect-ratio:5/7;border-radius:var(--radius-lg);color:#0b0a09;transform:translateY(var(--drop)) rotate(var(--rot)) rotateX(var(--rx)) rotateY(var(--ry));transform-origin:50% 90%;animation:.45s cubic-bezier(.2,.8,.3,1.25) backwards card-deal,3.2s ease-in-out infinite card-float;animation-delay:calc(var(--i) * 80ms), calc(var(--i) * -.8s);background:linear-gradient(160deg,#f3e9d6 0%,#e2d3b2 100%);border:3px solid #0b0a09;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;margin:0 -6px;padding:20px 6px 18px;transition:transform .2s cubic-bezier(.2,.8,.3,1.35),box-shadow .2s,opacity .2s;display:flex;position:relative;box-shadow:inset 0 0 0 3px #e2d3b2,inset 0 0 0 4px #7a1f128c,4px 6px #0000008c}.promotion-card:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(105deg, transparent 38%, #ffffff73 50%, transparent 62%) var(--shine) 0 / 260% 100% no-repeat;transition:opacity .2s;position:absolute;inset:0}.promotion-card:hover,.promotion-card:focus-visible{z-index:2;transform:translateY(-24px) rotate(0deg) scale(1.08) rotateX(var(--rx)) rotateY(var(--ry));box-shadow:inset 0 0 0 3px #e2d3b2, inset 0 0 0 4px #7a1f128c, 8px 16px 0 #00000080, 0 0 0 3px var(--color-primary);outline:none;animation-play-state:paused}.promotion-card:hover:after,.promotion-card:focus-visible:after{opacity:1}.promotion-card.is-picked{z-index:3;box-shadow:inset 0 0 0 3px #e2d3b2, inset 0 0 0 4px #7a1f128c, 10px 20px 0 #00000073, 0 0 0 4px var(--color-primary-hover), 0 0 28px 6px #d4622a8c;animation-play-state:paused;transform:translateY(-46px)rotate(0)scale(1.2)}.promotion-card.is-discarded{opacity:0;transform:translateY(70px) rotate(calc(var(--rot) * 3));animation-play-state:paused}.promotion-hand.is-resolving .promotion-card{pointer-events:none}.card-corner{flex-direction:column;align-items:center;line-height:1;display:flex;position:absolute;top:6px;left:8px}.card-corner b{color:#7a1f12;font-size:15px;font-weight:700}.card-corner small{color:#523822;margin-top:2px;font-size:10px;font-weight:500}.card-corner.is-flipped{inset:auto 8px 6px auto;transform:rotate(180deg)}.card-art .glyph{width:56px;height:56px;cursor:inherit;pointer-events:none;filter:drop-shadow(-2px 2px #00000059)}.card-art .glyph svg{transform:none}.card-name{font-size:var(--text-body-sm);color:#0b0a09;font-weight:600;line-height:1.2}.card-note{color:#523822;padding:0 4px;font-size:10px;line-height:1.25}@keyframes card-deal{0%{opacity:0;translate:0 90px;scale:.6}}@keyframes card-float{50%{translate:0 -4px}}@container (max-width:420px){.promotion-hand{--w:72px;padding-top:26px}.promotion-card{margin:0 -4px;padding:16px 4px 14px}.card-art .glyph{width:40px;height:40px}.card-note{display:none}.card-corner b{font-size:12px}}@media (prefers-reduced-motion:reduce){.promotion-card{transition:none;animation:none}}.board-3d .promotion-picker{background:0 0}.chain-hud{z-index:6;pointer-events:none;border:1px solid var(--color-hairline-strong);opacity:0;background:#0b0a09d1;border-radius:9999px;align-items:center;gap:10px;padding:8px 14px 8px 10px;transition:opacity .2s,transform .2s,border-color .2s,box-shadow .2s;display:flex;position:fixed;bottom:132px;left:24px;transform:translateY(8px)}.chain-hud.is-on,.chain-hud.is-broken{opacity:1;transform:none}.chain-count{letter-spacing:-.5px;color:var(--color-primary-hover);text-shadow:0 0 10px #d4622a99;font-size:26px;font-weight:700;line-height:1}.chain-label{font-size:var(--text-eyebrow);letter-spacing:.2em;text-transform:uppercase;color:var(--color-ink-muted);font-weight:500}.chain-flame{width:22px;height:30px;position:relative}.chain-flame:before,.chain-flame:after{content:"";transform-origin:50% 100%;border-radius:50%/60% 60% 40% 40%;animation:.5s ease-in-out infinite alternate flame-lick;position:absolute;bottom:0;left:50%}.chain-flame:before{background:radial-gradient(circle at 50% 75%,#ff9a4a,#c2481f 60%,#0000 72%);width:22px;height:30px;margin-left:-11px}.chain-flame:after{background:radial-gradient(circle at 50% 70%,#fff4dc,#ffd890 55%,#0000 75%);width:10px;height:16px;margin-left:-5px;animation-duration:.35s}@keyframes flame-lick{0%{transform:scale(1)rotate(-3deg)}to{transform:scale(.92,1.1)rotate(3deg)}}.chain-hud.heat-3{border-color:#d4622a99}.chain-hud.heat-4{border-color:var(--color-primary);box-shadow:0 0 18px #d4622a73}.chain-hud.heat-4 .chain-flame,.chain-hud.heat-5 .chain-flame{transform:scale(1.2)}.chain-hud.heat-5,.chain-hud.heat-6{border-color:#ffd890;box-shadow:0 0 26px #ff9a4a99}.chain-hud.heat-5 .chain-count,.chain-hud.heat-6 .chain-count{color:#fff4dc;text-shadow:0 0 14px #ff9a4a}.chain-hud.heat-6 .chain-flame{transform:scale(1.4)}.chain-hud.is-broken{border-color:var(--color-hairline);animation:.6s ease-out chain-crack}.chain-hud.is-broken .chain-count{color:var(--color-ink-tertiary);text-shadow:none;text-decoration:line-through}.chain-hud.is-broken .chain-label{color:var(--color-ink-subtle)}@keyframes chain-crack{0%{transform:translate(0)}20%{transform:translate(-6px)rotate(-2deg)}40%{transform:translate(5px)rotate(2deg)}60%{transform:translate(-3px)}to{transform:translate(0)}}.combo-flash{z-index:4;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(at 50% 55%,#ff9a4a8c,#c2481f40 45%,#0000 75%);position:fixed;inset:0}.combo-flash.is-theirs{background:radial-gradient(at 50% 45%,#8a96a373,#0000 70%)}.value-pop{z-index:7;pointer-events:none;white-space:nowrap;letter-spacing:-.3px;color:#ffd890;text-shadow:0 2px #0b0a09,0 0 10px #d4622ab3;font-size:22px;font-weight:700;position:fixed}.value-pop.is-chain{color:#fff4dc;font-size:26px}.combo-banner.is-hot{box-shadow:0 0 10cqw #ff9a4a8c}.combo-banner.is-hot .combo-count{color:#ffd890;font-size:13cqw}.combo-banner.is-white{box-shadow:0 0 14cqw #fff4dc8c}.combo-banner.is-white .combo-count{color:#fff4dc;text-shadow:0 0 4cqw #ff9a4a,0 0 1cqw #fff4dc;font-size:15cqw}@media (max-width:1099px){.chain-hud{padding:6px 12px 6px 8px;top:88px;bottom:auto;left:12px}.chain-count{font-size:22px}}@media (prefers-reduced-motion:reduce){.chain-flame:before,.chain-flame:after,.chain-hud.is-broken{animation:none}}@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-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}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}