:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--body-font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--body-font);font-synthesis:none;--display-font:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--clock-font:"Cascadia Mono", "SFMono-Regular", Consolas, monospace;--theme-background:#100a0e;--theme-background-raised:#1b111b;--theme-panel:#27131e;--theme-panel-soft:#351b29;--theme-text:#fff4dc;--theme-text-muted:#c9bca9;--theme-accent:#ebc66f;--theme-accent-alt:#b65f5e;--theme-light-square:#e8d8b7;--theme-dark-square:#754438;--theme-board-frame:#6a3f27;--theme-board-edge:#f0c978;--theme-white-piece:#fff7e7;--theme-white-edge:#5a382a;--theme-black-piece:#1f1719;--theme-black-edge:#f0c66b;--theme-selection:#77d6c4;--theme-legal:#23534b;--theme-capture:#b84452;--theme-check:#eb4d5c;--theme-last-move:#f2d77d;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--shadow-panel:0 24px 70px #00000061;--focus:#fff2a8;--transition-fast:.12s ease;--transition-panel:.24s cubic-bezier(.2, .8, .2, 1)}html[data-theme=moonstone-court]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=sunlit-ivory]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-contrast=high]{--theme-background:#000;--theme-background-raised:#090909;--theme-panel:#111;--theme-panel-soft:#191919;--theme-text:#fff;--theme-text-muted:#eee;--theme-accent:#ffeb5c;--theme-accent-alt:#67e8f9;--theme-light-square:#fff;--theme-dark-square:#18222d;--theme-board-frame:#050505;--theme-board-edge:#fff;--theme-white-piece:#fff;--theme-white-edge:#000;--theme-black-piece:#050505;--theme-black-edge:#fff;--theme-selection:#0ff;--theme-legal:#003b30;--theme-capture:#ff164f;--theme-check:#ff164f}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--theme-background);width:100%;height:100%;color:var(--theme-text);margin:0;overflow:hidden}body{min-width:320px;min-height:320px}button,input,select,textarea{font:inherit}button,select,input[type=checkbox],input[type=radio]{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button{-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#app{width:100%;height:100%}.boot-fallback{text-align:center;color:#f5dfad;background:radial-gradient(circle at 50% 24%,#a66fc038,#0000 38%),#0d0912;place-content:center;gap:14px;height:100%;display:grid}.boot-fallback p{letter-spacing:.16em;text-transform:uppercase;margin:0}.boot-crown{font-size:3rem;animation:1.6s ease-in-out infinite alternate crown-breathe}.app-shell{isolation:isolate;background:radial-gradient(circle at 50% -20%, color-mix(in srgb, var(--theme-accent) 14%, transparent), transparent 52%), linear-gradient(145deg, var(--theme-background-raised), var(--theme-background));width:100%;height:100%;position:relative}.ambient-layer{z-index:-2;pointer-events:none;opacity:.75;transition:opacity var(--transition-panel);position:fixed;inset:0}.ambient-layer canvas{display:block}.grain-layer{z-index:-1;pointer-events:none;opacity:.18;mix-blend-mode:soft-light;background-image:repeating-linear-gradient(45deg,#ffffff05 0 1px,#0000 1px 4px),repeating-linear-gradient(-45deg,#00000008 0 1px,#0000 1px 5px);position:fixed;inset:0}.app-stage{width:100%;height:100%;position:relative}.screen{min-width:0;min-height:0;padding:max(20px, var(--safe-top)) max(24px, var(--safe-right)) max(20px, var(--safe-bottom)) max(24px, var(--safe-left));flex-direction:column;animation:.24s cubic-bezier(.2,.8,.2,1) both screen-enter;display:flex;position:absolute;inset:0}.screen-header{align-items:center;gap:16px;min-height:56px;display:flex}.screen-title{font-family:var(--display-font);letter-spacing:.02em;margin:0;font-size:clamp(1.8rem,3vw,3.1rem);font-weight:500}.eyebrow{color:var(--theme-accent);letter-spacing:.24em;text-transform:uppercase;margin:0 0 6px;font-size:.72rem;font-weight:700}.muted{color:var(--theme-text-muted)}.separator{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--theme-accent) 62%, transparent), transparent);border:0;width:100%;height:1px}.plaque-button{border:1px solid color-mix(in srgb, var(--theme-accent) 58%, transparent);background:linear-gradient(120deg, transparent 0 42%, #ffffff1c 50%, transparent 58%) 150% 0 / 220% 100%, linear-gradient(180deg, color-mix(in srgb, var(--theme-panel-soft) 92%, white 8%), var(--theme-panel));min-height:48px;color:var(--theme-text);letter-spacing:.02em;transition:transform var(--transition-fast), border-color var(--transition-fast), background-position .36s ease, box-shadow var(--transition-fast);border-radius:6px 16px;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-size:.86rem;font-weight:760;line-height:1.2;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1f,0 8px 24px #00000038}.plaque-button:hover{border-color:var(--theme-accent);box-shadow:inset 0 1px 0 #ffffff29, 0 10px 28px #00000047, 0 0 20px color-mix(in srgb, var(--theme-accent) 13%, transparent);background-position:-60% 0,0 0;transform:translateY(-1px)}.plaque-button:active{transform:translateY(1px)}.plaque-button.primary{border-color:color-mix(in srgb, var(--theme-accent) 78%, white 12%);background:linear-gradient(120deg, transparent 0 42%, #ffffff2e 50%, transparent 58%) 150% 0 / 220% 100%, linear-gradient(160deg, color-mix(in srgb, var(--theme-accent) 34%, var(--theme-panel)), var(--theme-panel));min-height:62px;padding-inline:30px;font-size:.98rem}.plaque-button.ghost{box-shadow:none;background:#0b081157;border-color:#ffffff1f}.plaque-button.danger{border-color:color-mix(in srgb, var(--theme-check) 55%, transparent);color:color-mix(in srgb, var(--theme-check) 55%, var(--theme-text))}.plaque-button:disabled{cursor:not-allowed;opacity:.46;transform:none}.icon-button{border:1px solid color-mix(in srgb, var(--theme-accent) 38%, transparent);background:color-mix(in srgb, var(--theme-panel) 82%, transparent);width:46px;height:46px;color:var(--theme-text);transition:background var(--transition-fast), transform var(--transition-fast);border-radius:50%;flex:none;place-items:center;display:inline-grid}.icon-button:hover{background:var(--theme-panel-soft);transform:translateY(-1px)}.panel{border:1px solid color-mix(in srgb, var(--theme-accent) 25%, transparent);background:linear-gradient(145deg, #ffffff0a, transparent 30%), color-mix(in srgb, var(--theme-panel) 91%, transparent);box-shadow:inset 0 1px 0 #ffffff12, var(--shadow-panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:10px 26px}@keyframes screen-enter{0%{opacity:0;transform:translateY(10px)}}@keyframes crown-breathe{to{filter:drop-shadow(0 0 18px #e8c675);transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html[data-motion=reduced] *,html[data-motion=reduced] :before,html[data-motion=reduced] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.menu-screen{isolation:isolate;justify-content:space-between;overflow:hidden}.menu-topbar{z-index:4;justify-content:space-between;align-items:center;gap:24px;display:flex;position:relative}.brand-lockup{align-items:center;gap:14px;display:flex}.brand-mark{border:1px solid color-mix(in srgb, var(--theme-accent) 65%, transparent);background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--theme-accent) 26%, transparent), transparent 58%), var(--theme-panel);width:54px;height:54px;box-shadow:0 0 36px color-mix(in srgb, var(--theme-accent) 16%, transparent);color:var(--theme-accent);border-radius:50% 50% 42% 42%;flex:none;place-items:center;display:grid;position:relative}.brand-mark:before,.brand-mark:after{background:var(--theme-accent);content:"";transform-origin:bottom;width:1px;height:21px;position:absolute;top:8px}.brand-mark:before{transform:rotate(-27deg)}.brand-mark:after{transform:rotate(27deg)}.brand-mark>span{border:1px solid var(--theme-accent);width:10px;height:10px;transform:rotate(45deg)}.brand-title{font-family:var(--display-font);letter-spacing:.045em;text-transform:uppercase;margin:0;font-size:clamp(1.45rem,2vw,2.15rem);font-weight:550;line-height:.95}.brand-subtitle{color:var(--theme-accent);font-family:var(--body-font);letter-spacing:.3em;margin-top:8px;font-size:.58rem;font-weight:800;display:block}.utility-nav{gap:8px;display:flex}.menu-composition{flex:1;grid-template-columns:minmax(410px,1.2fr) minmax(320px,.88fr);align-items:center;gap:clamp(38px,6vw,82px);width:min(100%,1120px);min-height:0;margin-inline:auto;padding:clamp(20px,4vh,52px) 0;display:grid;position:relative}.menu-entry{z-index:2;width:100%;position:relative}.menu-intro{margin-bottom:24px}.menu-entry h2{max-width:11ch;font-family:var(--display-font);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(2.7rem,5vw,4.7rem);font-weight:500;line-height:.96}.menu-kicker{max-width:43ch;color:var(--theme-text-muted);font-family:var(--body-font);margin:16px 0 0;font-size:clamp(.95rem,1.2vw,1.08rem);line-height:1.6}.menu-actions{gap:11px;width:min(100%,540px);display:grid}.menu-choice{letter-spacing:0;text-align:left;text-transform:none;border-radius:10px 20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-height:68px;padding:11px 18px;font-size:.9rem;display:grid}.menu-choice.primary{min-height:78px;padding-inline:18px}.menu-choice.primary:after{content:none}.menu-choice.resume{border-color:color-mix(in srgb, var(--theme-selection) 48%, transparent);background:linear-gradient(100deg, color-mix(in srgb, var(--theme-selection) 13%, transparent), transparent 58%), color-mix(in srgb, var(--theme-panel) 88%, transparent)}.menu-choice.browse{box-shadow:none;background:#0b08116b;border-color:#ffffff1f}.menu-choice-icon{border:1px solid color-mix(in srgb, var(--theme-accent) 42%, transparent);background:color-mix(in srgb, var(--theme-panel-soft) 78%, transparent);width:42px;height:42px;color:var(--theme-accent);font-family:var(--display-font);border-radius:12px;place-items:center;font-size:1.2rem;display:grid}.menu-choice-copy{min-width:0;display:block}.menu-choice-copy strong,.menu-choice-copy small{display:block}.menu-choice-copy strong{color:var(--theme-text);letter-spacing:.015em;text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;font-weight:800;line-height:1.25;overflow:hidden}.menu-choice-copy small{color:var(--theme-text-muted);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:.72rem;font-weight:520;line-height:1.3;overflow:hidden}.menu-choice-arrow{color:var(--theme-accent);transition:transform var(--transition-fast);font-size:1.15rem}.menu-choice:hover .menu-choice-arrow{transform:translate(3px)}.mode-tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mode-tile{grid-template-columns:auto minmax(0,1fr);min-height:72px;padding-inline:13px}.mode-tile .menu-choice-icon{width:36px;height:36px;font-size:1rem}.menu-tableau{z-index:0;opacity:.2;pointer-events:none;min-height:320px;position:absolute;inset:5% 18% 1%}.window-crown{border:1px solid color-mix(in srgb, var(--theme-accent) 24%, transparent);box-shadow:inset 0 0 90px #00000075, 0 0 100px color-mix(in srgb, var(--theme-accent) 9%, transparent);border-radius:48% 48% 8% 8%;position:absolute;inset:0 10% 14%}.window-crown:before{border:1px solid color-mix(in srgb, var(--theme-accent) 14%, transparent);border-radius:inherit;content:"";position:absolute;inset:8%}.display-table{border:1px solid color-mix(in srgb, var(--theme-accent) 28%, transparent);background:linear-gradient(90deg, transparent 49.5%, #ffffff14 50%, transparent 50.5%), linear-gradient(0deg, transparent 49.5%, #ffffff14 50%, transparent 50.5%), color-mix(in srgb, var(--theme-board-frame) 72%, transparent);border-radius:50% 50% 16px 16px;height:30%;position:absolute;bottom:2%;left:4%;right:4%;transform:perspective(620px)rotateX(58deg);box-shadow:0 30px 80px #0000007a}.table-piece{filter:drop-shadow(0 14px 12px #00000073);opacity:.45;width:clamp(28px,3vw,48px);position:absolute;bottom:10%}.table-piece.one{left:34%}.table-piece.two{bottom:13%;right:31%}.featured-rival{z-index:2;background:linear-gradient(145deg, #ffffff0d, transparent 30%), color-mix(in srgb, var(--theme-panel) 96%, transparent);text-align:center;flex-direction:column;align-items:center;width:100%;max-height:690px;padding:clamp(22px,2.5vw,32px);display:flex;position:relative;overflow:hidden}.featured-rival:before{background:linear-gradient(90deg, transparent, var(--rival-accent,var(--theme-accent)), transparent);content:"";width:60%;height:2px;position:absolute;top:0}.featured-label{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.featured-label .eyebrow{margin:0}.featured-label>span{border:1px solid color-mix(in srgb, var(--rival-accent,var(--theme-accent)) 38%, transparent);color:var(--theme-text-muted);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:.62rem;font-weight:760}.featured-portrait{aspect-ratio:4/5;width:min(100%,230px);margin:8px auto 2px}.featured-portrait svg{filter:drop-shadow(0 16px 26px #0000004d);width:100%;height:100%}.featured-rival h2{font-family:var(--display-font);letter-spacing:.04em;text-transform:uppercase;margin:7px 0 3px;font-size:clamp(1.65rem,2.2vw,2.25rem);font-weight:550;line-height:1.05}.rival-title{color:var(--rival-accent,var(--theme-accent));letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:800;line-height:1.4}.rival-quote{max-width:31ch;color:var(--theme-text-muted);font-family:var(--display-font);margin:14px auto;font-size:.92rem;font-style:italic;line-height:1.5}.featured-meta{width:100%;color:var(--theme-text-muted);border-block:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:10px 2px;font-size:.7rem;display:flex}.featured-meta strong{color:var(--theme-text);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.featured-rival .plaque-button{width:100%}.menu-footer{z-index:3;color:color-mix(in srgb, var(--theme-text-muted) 78%, transparent);letter-spacing:.05em;justify-content:space-between;align-items:center;font-size:.7rem;display:flex;position:relative}.menu-footer span:last-child{text-align:right}@media (max-width:1100px),(max-height:760px){.screen{padding:max(10px, var(--safe-top)) max(14px, var(--safe-right)) max(10px, var(--safe-bottom)) max(14px, var(--safe-left))}.brand-mark{width:42px;height:42px}.brand-title{font-size:1.42rem}.menu-composition{grid-template-columns:minmax(350px,1.08fr) minmax(270px,.72fr);gap:32px;width:min(100%,930px);padding-block:8px}.menu-intro{margin-bottom:14px}.menu-entry h2{font-size:clamp(2.25rem,5vw,3.25rem)}.menu-kicker{margin-top:10px;font-size:.88rem}.menu-actions{gap:8px}.menu-choice,.menu-choice.primary{min-height:56px;padding:8px 13px}.menu-choice-icon{width:36px;height:36px}.mode-tile{min-height:58px}.featured-rival{max-height:calc(100dvh - 94px);padding:15px 18px}.featured-portrait{width:min(24vh,175px);min-height:0;margin-top:2px}.featured-rival h2{margin-top:2px}.rival-quote{margin-block:7px}.featured-meta{padding-block:7px}.menu-tableau,.menu-footer{display:none}}@media (max-width:740px){.menu-screen{justify-content:flex-start;overflow-y:auto}.menu-topbar{flex-direction:column;gap:12px}.brand-lockup{justify-content:center}.brand-title{font-size:1.35rem}.utility-nav .icon-button{width:38px;height:38px}.menu-composition{flex:none;width:min(100%,500px);margin-inline:auto;padding-block:26px 18px;display:block}.menu-entry{width:100%}.menu-entry h2{text-align:center;max-width:none;font-size:clamp(2.35rem,12vw,3.4rem)}.menu-intro{text-align:center}.menu-kicker{margin-inline:auto}.menu-actions{width:100%}.featured-rival{display:none}}@media (max-width:430px){.mode-tiles{grid-template-columns:1fr}.menu-choice-copy strong{white-space:normal}}@media (max-height:560px) and (min-width:741px){.menu-screen{overflow-y:auto}.menu-topbar{min-height:40px}.brand-mark{width:36px;height:36px}.brand-title{font-size:1.2rem}.utility-nav .icon-button{width:36px;height:36px}.menu-composition{flex:none;width:min(100%,820px);padding-block:8px;display:block}.menu-entry{grid-template-columns:minmax(210px,.72fr) minmax(390px,1.28fr);align-items:center;gap:24px;display:grid}.menu-intro{margin:0}.menu-entry h2{max-width:9ch;font-size:2.1rem}.menu-kicker{font-size:.78rem}.menu-actions{gap:6px}.menu-choice,.menu-choice.primary,.mode-tile{min-height:44px;padding-block:5px}.menu-choice-icon,.mode-tile .menu-choice-icon{width:30px;height:30px}.menu-choice-copy small{margin-top:1px;font-size:.65rem}.featured-rival,.menu-tableau,.menu-footer{display:none}}.rivals-screen{gap:12px;overflow:hidden}.rivals-screen .screen-header{justify-content:space-between}.header-copy{flex:1;min-width:0}.header-copy .screen-title{white-space:nowrap}.header-actions{align-items:center;gap:8px;display:flex}.rivals-stage{flex:1;grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr);gap:clamp(16px,3vw,48px);min-height:0;display:grid}.rival-portrait-stage{justify-content:center;align-items:flex-end;min-height:0;padding:18px;display:flex;position:relative;overflow:hidden}.rival-portrait-stage:before{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--rival-accent) 38%, transparent);background:radial-gradient(circle, color-mix(in srgb, var(--rival-accent) 18%, transparent), transparent 66%);width:min(72%,360px);box-shadow:0 0 100px color-mix(in srgb, var(--rival-accent) 13%, transparent);content:"";border-radius:50%;position:absolute}.rival-portrait-large{width:min(95%,450px);height:100%;max-height:560px;position:relative}.rival-portrait-large svg{width:100%;height:100%}.rival-dossier{flex-direction:column;min-height:0;padding:clamp(20px,2.5vw,38px);display:flex;overflow:auto}.rival-heading-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.rival-dossier h2{font-family:var(--display-font);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:clamp(2rem,4vw,3.8rem);font-weight:500;line-height:.94}.difficulty-badge{border:1px solid var(--rival-accent);min-width:104px;min-height:38px;color:var(--rival-accent);letter-spacing:.14em;text-transform:uppercase;border-radius:4px 12px;justify-content:center;align-items:center;padding:8px 12px;font-size:.7rem;font-weight:800;display:inline-flex}.rival-rating{color:var(--theme-text-muted);font-family:var(--clock-font);letter-spacing:.08em;margin:12px 0 0;font-size:.8rem}.rival-description{max-width:62ch;color:var(--theme-text-muted);margin:18px 0 8px;font-size:clamp(.9rem,1.3vw,1.02rem);line-height:1.65}.style-list{flex-wrap:wrap;gap:8px;margin:12px 0 20px;display:flex}.style-chip{border:1px solid color-mix(in srgb, var(--rival-accent) 35%, transparent);background:color-mix(in srgb, var(--rival-accent) 8%, transparent);color:color-mix(in srgb, var(--rival-accent) 72%, var(--theme-text));border-radius:100px;padding:7px 11px;font-size:.72rem}.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:auto;display:grid}.field-group{min-width:0}.field-group>label,.field-label{color:var(--theme-text-muted);letter-spacing:.16em;text-transform:uppercase;margin:0 0 7px;font-size:.65rem;font-weight:750;display:block}.select-control{border:1px solid color-mix(in srgb, var(--theme-accent) 28%, transparent);background:var(--theme-background-raised);width:100%;min-height:46px;color:var(--theme-text);border-radius:6px 12px;padding:0 40px 0 13px}.segmented-control{border:1px solid color-mix(in srgb, var(--theme-accent) 20%, transparent);background:color-mix(in srgb, var(--theme-background) 55%, transparent);border-radius:8px 14px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.segmented-control button{min-height:38px;color:var(--theme-text-muted);background:0 0;border:0;border-radius:5px 10px;font-size:.74rem;font-weight:700}.segmented-control button[aria-pressed=true]{background:color-mix(in srgb, var(--rival-accent,var(--theme-accent)) 22%, var(--theme-panel));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--rival-accent,var(--theme-accent)) 55%, transparent);color:var(--theme-text)}.challenge-row{justify-content:space-between;align-items:center;gap:14px;margin-top:20px;display:flex}.record-copy{color:var(--theme-text-muted);font-size:.75rem}.record-copy strong{color:var(--theme-text);font-family:var(--clock-font);font-size:1rem;display:block}.rival-rail{scroll-snap-type:x mandatory;scrollbar-color:color-mix(in srgb, var(--theme-accent) 45%, transparent) transparent;flex:none;gap:10px;min-height:104px;padding:4px 4px 8px;display:flex;overflow-x:auto}.rival-rail-card{border:1px solid color-mix(in srgb, var(--card-accent) 30%, transparent);scroll-snap-align:start;background:color-mix(in srgb, var(--theme-panel) 82%, transparent);min-width:154px;min-height:94px;color:var(--theme-text);text-align:left;transition:transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);border-radius:6px 16px;grid-template-columns:52px 1fr;align-items:center;gap:10px;padding:8px;display:grid;position:relative}.rival-rail-card:hover,.rival-rail-card[aria-pressed=true]{border-color:var(--card-accent);background:color-mix(in srgb, var(--card-accent) 12%, var(--theme-panel));transform:translateY(-4px)}.rival-rail-card svg{width:52px;height:68px}.rival-rail-card strong,.rival-rail-card span{display:block}.rival-rail-card strong{font-family:var(--display-font);letter-spacing:.04em;text-transform:uppercase;font-size:.84rem;line-height:1.1}.rival-rail-card span{color:var(--card-accent);letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-size:.58rem;font-weight:750}@media (max-width:1050px),(max-height:650px){.rivals-stage{grid-template-columns:minmax(210px,.58fr) minmax(360px,1.42fr);gap:12px}.rival-dossier{padding:16px 22px}.rival-dossier h2{font-size:clamp(1.8rem,4.5vw,3rem)}.rival-description{margin-block:10px 4px;line-height:1.45}.style-list{margin-block:8px 12px}.rival-rail{min-height:80px}.rival-rail-card{grid-template-columns:38px 1fr;min-width:122px;min-height:72px}.rival-rail-card svg{width:38px;height:54px}}@media (max-width:720px){.rival-portrait-stage{display:none}.rivals-stage{grid-template-columns:1fr}}.match-screen{gap:10px;overflow:hidden}.match-topbar{justify-content:space-between;align-items:center;gap:10px;min-height:42px;display:flex}.match-brand{color:var(--theme-text-muted);font-family:var(--display-font);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:9px;font-size:.82rem;display:flex}.match-brand .mini-mark{color:var(--theme-accent);font-size:1.05rem}.match-status{border:1px solid color-mix(in srgb, var(--theme-accent) 22%, transparent);background:color-mix(in srgb, var(--theme-panel) 75%, transparent);min-width:190px;color:var(--theme-text-muted);letter-spacing:.06em;border-radius:100px;justify-content:center;align-items:center;gap:8px;padding:7px 16px;font-size:.73rem;font-weight:700;display:flex}.match-status[data-state=check]{border-color:color-mix(in srgb, var(--theme-check) 70%, transparent);color:var(--theme-check)}.status-orb{background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px}.match-tools{gap:7px;display:flex}.match-layout{flex:1;grid-template-columns:minmax(0,1fr) 312px;gap:clamp(14px,2vw,30px);min-height:0;display:grid}.board-stage{grid-template-rows:minmax(44px,auto) minmax(0,1fr) minmax(44px,auto);place-items:center;gap:7px;min-width:0;min-height:0;display:grid}.board-stage>[data-ribbon]{width:min(100%, var(--board-size));min-width:0}.player-ribbon{border:1px solid color-mix(in srgb, var(--ribbon-accent,var(--theme-accent)) 25%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--ribbon-accent,var(--theme-accent)) 9%, transparent), transparent 42%), color-mix(in srgb, var(--theme-panel) 76%, transparent);border-radius:7px 20px;grid-template-columns:minmax(0,1fr) minmax(118px,auto);align-items:center;column-gap:16px;width:100%;min-height:58px;padding:7px 9px 7px 12px;display:grid}.player-ribbon.active{border-color:color-mix(in srgb, var(--ribbon-accent,var(--theme-accent)) 58%, transparent);box-shadow:0 0 24px color-mix(in srgb, var(--ribbon-accent,var(--theme-accent)) 10%, transparent)}.identity{align-items:center;gap:11px;min-width:0;display:flex}.identity-portrait{border:1px solid color-mix(in srgb, var(--ribbon-accent,var(--theme-accent)) 48%, transparent);background:var(--theme-background-raised);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid;overflow:hidden}.identity-portrait svg{width:100%;height:100%}.identity-copy{align-content:center;min-width:0;display:grid}.identity-copy strong,.identity-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.identity-copy strong{font-family:var(--body-font);letter-spacing:.035em;text-transform:uppercase;font-size:.9rem;font-weight:800;line-height:1.2}.identity-copy span{color:var(--theme-text-muted);letter-spacing:.06em;margin-top:3px;font-size:.63rem;line-height:1.2}.clock{min-width:118px;min-height:43px;color:var(--theme-text-muted);font-family:var(--clock-font);font-variant-numeric:tabular-nums;letter-spacing:.04em;background:#00000042;border:1px solid #ffffff17;border-radius:5px 14px;justify-self:end;place-items:center;padding:4px 14px;font-size:clamp(1.2rem,2.2vw,1.8rem);display:grid}.player-ribbon.active .clock{border-color:color-mix(in srgb, var(--ribbon-accent,var(--theme-accent)) 52%, transparent);color:var(--theme-text)}.clock.low-time{border-color:var(--theme-check);color:var(--theme-check);animation:.8s ease-in-out infinite alternate low-time}.board-wrap{place-items:center;max-width:100%;max-height:100%;display:grid;position:relative}.board-frame{width:var(--board-size);height:var(--board-size);border:clamp(10px, 1.6vw, 22px) solid var(--theme-board-frame);background:var(--theme-board-frame);max-width:100%;max-height:100%;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--theme-board-edge) 55%, transparent), inset 0 0 16px #00000073, 0 24px 56px #0000006b, 0 0 28px color-mix(in srgb, var(--theme-accent) 9%, transparent);border-radius:8px;position:relative}.board-frame:before,.board-frame:after{z-index:4;border:1px solid var(--theme-board-edge);background:var(--theme-board-frame);content:"";pointer-events:none;width:17px;height:17px;position:absolute;transform:rotate(45deg)}.board-frame:before{top:-10px;left:-10px}.board-frame:after{bottom:-10px;right:-10px}.chess-board{touch-action:none;-webkit-user-select:none;user-select:none;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;height:100%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 18px #0000005c}.square{background:var(--theme-light-square);min-width:0;min-height:0;color:var(--theme-white-edge);border:0;border-radius:0;place-items:center;padding:0;display:grid;position:relative;overflow:visible}.square.dark{background:var(--theme-dark-square)}.square:before,.square:after{z-index:2;content:"";pointer-events:none;position:absolute}.square:hover:before,.square.hover:before{border:1px solid #ffffff4d;inset:4px}.square.selected:before{border:max(2px, calc(var(--board-size) / 260)) solid var(--theme-selection);inset:3px;box-shadow:inset 0 0 0 2px #00000029}.square.last-move:after{background:linear-gradient(var(--theme-last-move), var(--theme-last-move)) left top / 20% 2px no-repeat, linear-gradient(var(--theme-last-move), var(--theme-last-move)) left top / 2px 20% no-repeat, linear-gradient(var(--theme-last-move), var(--theme-last-move)) right bottom / 20% 2px no-repeat, linear-gradient(var(--theme-last-move), var(--theme-last-move)) right bottom / 2px 20% no-repeat;inset:5px}.square.legal:after{background:color-mix(in srgb, var(--theme-legal) 82%, transparent);border:1px solid #ffffff47;border-radius:50%;width:20%;height:20%;box-shadow:0 1px 4px #00000052}.square.capture:after{border:max(2px, calc(var(--board-size) / 220)) dashed color-mix(in srgb, var(--theme-capture) 83%, transparent);border-radius:50%;inset:9%}.square.in-check{background:radial-gradient(circle, color-mix(in srgb, var(--theme-check) 72%, transparent), transparent 70%), var(--theme-light-square);animation:.62s ease-out 2 check-pulse}.square.dark.in-check{background:radial-gradient(circle, color-mix(in srgb, var(--theme-check) 72%, transparent), transparent 70%), var(--theme-dark-square)}.piece{z-index:1;pointer-events:none;filter:drop-shadow(0 6px 4px #00000047);width:86%;height:86%;transition:transform var(--transition-fast), filter var(--transition-fast), opacity var(--transition-fast);position:relative}.piece[data-piece=p]{width:76%;height:76%}.square.selected .piece{filter:drop-shadow(0 8px 5px #00000057) drop-shadow(0 0 7px color-mix(in srgb, var(--theme-selection) 52%, transparent));transform:translateY(-4%)scale(1.035)}.square.dragging .piece{opacity:.22}.square.invalid{animation:.26s invalid-shake}.coord{z-index:3;color:color-mix(in srgb, currentColor 66%, transparent);font-family:var(--clock-font);font-size:clamp(.42rem, calc(var(--board-size) / 70), .68rem);pointer-events:none;font-weight:800;position:absolute}.coord.file{bottom:2px;right:4px}.coord.rank{top:2px;left:3px}.drag-ghost{z-index:40;width:calc(var(--board-size) / 8);height:calc(var(--board-size) / 8);pointer-events:none;filter:drop-shadow(0 12px 8px #00000073) drop-shadow(0 0 10px color-mix(in srgb, var(--theme-accent) 26%, transparent));position:fixed;transform:translate(-50%,-50%)scale(1.08)}.strategy-folio{border-radius:9px 30px;grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;display:grid;position:relative;overflow:hidden}.folio-heading{justify-content:space-between;align-items:center;gap:8px;padding:18px 18px 12px;display:flex}.folio-heading h2{font-family:var(--display-font);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:1.05rem;font-weight:600}.turn-emblem{color:var(--theme-accent);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.captured-section{border-block:1px solid #ffffff12;grid-template-columns:1fr auto;gap:8px;min-height:66px;margin:0 14px;padding:10px 4px;display:grid}.captured-trays{min-width:0}.captured-row{min-height:22px;color:var(--theme-text-muted);align-items:center;gap:1px;display:flex}.captured-piece{filter:drop-shadow(0 2px 1px #0000004d);width:19px;height:19px}.material-score{color:var(--theme-accent);font-family:var(--clock-font);align-self:center;font-size:.74rem}.history-list{scrollbar-color:color-mix(in srgb, var(--theme-accent) 35%, transparent) transparent;min-height:0;margin:0;padding:10px 12px;list-style:none;overflow-y:auto}.history-empty{height:100%;color:var(--theme-text-muted);font-family:var(--display-font);text-align:center;place-content:center;padding:20px;font-size:.9rem;font-style:italic;line-height:1.5;display:grid}.history-pair{min-height:34px;font-family:var(--clock-font);border-radius:6px;grid-template-columns:30px 1fr 1fr;align-items:center;padding:2px 4px;font-size:.77rem;display:grid}.history-pair:nth-child(2n){background:#ffffff08}.move-number{color:var(--theme-text-muted);font-size:.64rem}.move-cell{min-height:30px;color:var(--theme-text);text-align:left;background:0 0;border:0;border-radius:5px;padding:4px 7px}.move-cell:hover,.move-cell.current{background:color-mix(in srgb, var(--theme-accent) 14%, transparent)}.folio-actions{border-top:1px solid #ffffff12;grid-template-columns:1fr 1fr;gap:7px;padding:12px;display:grid}.folio-actions .plaque-button{min-height:42px;padding:8px 10px;font-size:.67rem}.history-drawer-button{display:none}@keyframes low-time{to{box-shadow:0 0 15px color-mix(in srgb, var(--theme-check) 42%, transparent)}}@keyframes check-pulse{50%{filter:brightness(1.25)}}@keyframes invalid-shake{25%{transform:translate(-3px)}60%{transform:translate(3px)}}@media (min-width:1180px) and (min-height:720px){.match-screen{--board-size:min(calc(100dvh - 224px), calc(100dvw - 410px), 820px)}}@media (max-width:1179px),(max-height:719px){.match-screen{--board-size:min(calc(100dvh - 164px), calc(100dvw - 64px), 700px);gap:4px}.match-topbar{min-height:34px}.match-layout{grid-template-columns:1fr;gap:0}.board-stage{grid-template-rows:40px minmax(0,1fr) 40px;gap:3px}.board-stage>[data-ribbon]{width:min(100%, var(--board-size))}.player-ribbon{grid-template-columns:minmax(0,1fr) minmax(90px,auto);column-gap:8px;width:100%;min-height:38px;padding:3px 5px 3px 8px}.identity-portrait{width:31px;height:31px}.identity-copy strong{font-size:.75rem}.identity-copy span{display:none}.clock{min-width:90px;min-height:32px;font-size:1.1rem}.strategy-folio{z-index:30;top:max(8px, var(--safe-top));right:max(8px, var(--safe-right));bottom:max(8px, var(--safe-bottom));width:min(330px,100vw - 36px);transition:transform var(--transition-panel);position:fixed;transform:translate(calc(100% + 22px))}.strategy-folio.open{transform:translate(0)}.history-drawer-button{z-index:29;right:max(10px, var(--safe-right));bottom:max(10px, var(--safe-bottom));display:inline-grid;position:fixed}.match-status{min-width:140px;padding-block:5px}}@media (max-height:520px){.match-screen{--board-size:min(calc(100dvh - 132px), calc(100dvw - 64px), 700px);padding:max(8px, var(--safe-top)) max(12px, var(--safe-right)) max(8px, var(--safe-bottom)) max(12px, var(--safe-left))}.board-stage{grid-template-rows:34px minmax(0,1fr) 34px}.player-ribbon{min-height:32px;padding:1px 4px 1px 6px}.identity-portrait{width:27px;height:27px}.clock{min-width:82px;min-height:28px;padding:2px 10px}}@media (max-width:680px){.match-brand{display:none}.match-status{justify-content:flex-start}.match-topbar{justify-content:center}.match-tools{right:max(10px, var(--safe-right));position:absolute}}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050308c2;place-items:center;padding:20px;animation:.16s both fade-in;display:grid;position:fixed;inset:0}.modal{width:min(100%,560px);max-height:min(90dvh,760px);padding:clamp(22px,4vw,38px);position:relative;overflow-y:auto}.modal.wide{width:min(100%,880px)}.modal-close{position:absolute;top:14px;right:14px}.modal h2{font-family:var(--display-font);margin:0 48px 8px 0;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:500}.modal-intro{color:var(--theme-text-muted);margin:0 0 24px;line-height:1.55}.settings-list{gap:10px;display:grid}.setting-row{border-bottom:1px solid #ffffff12;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:58px;padding-block:7px;display:grid}.setting-row label,.setting-row strong{font-size:.86rem;display:block}.setting-copy{color:var(--theme-text-muted);margin-top:4px;font-size:.72rem;line-height:1.4}.brand-confirmation{border:1px solid color-mix(in srgb, var(--theme-accent) 28%, transparent);background:color-mix(in srgb, var(--theme-accent) 8%, transparent);color:var(--theme-text-muted);border-radius:8px 16px;margin:22px 0 0;padding:14px 16px;line-height:1.5}.brand-confirmation strong{color:var(--theme-text)}.switch{width:52px;height:30px;position:relative}.switch input{opacity:0;position:absolute}.switch span{transition:background var(--transition-fast);background:#00000052;border:1px solid #ffffff24;border-radius:100px;position:absolute;inset:0}.switch span:after{background:var(--theme-text-muted);content:"";width:20px;height:20px;transition:transform var(--transition-fast), background var(--transition-fast);border-radius:50%;position:absolute;top:4px;left:4px}.switch input:checked+span{background:color-mix(in srgb, var(--theme-accent) 35%, var(--theme-panel))}.switch input:checked+span:after{background:var(--theme-accent);transform:translate(22px)}.theme-gallery{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.theme-card{border:1px solid color-mix(in srgb, var(--preview-accent) 38%, transparent);background:var(--preview-panel);min-height:178px;color:var(--preview-text);text-align:left;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:8px 20px;padding:12px}.theme-card:hover,.theme-card[aria-pressed=true]{box-shadow:0 0 0 2px var(--preview-accent);transform:translateY(-2px)}.theme-mini-board{border:5px solid var(--preview-frame);border-radius:4px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(6,1fr);width:100%;height:92px;display:grid;overflow:hidden}.theme-mini-board span:nth-child(odd){background:var(--preview-light)}.theme-mini-board span:nth-child(2n){background:var(--preview-dark)}.theme-card strong,.theme-card small{display:block}.theme-card strong{font-family:var(--display-font);margin-top:10px;font-size:1rem}.theme-card small{opacity:.72;margin-top:3px}.promotion-choices{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:20px;display:grid}.promotion-choice{border:1px solid color-mix(in srgb, var(--theme-accent) 30%, transparent);background:color-mix(in srgb, var(--theme-panel-soft) 75%, transparent);min-height:112px;color:var(--theme-text);border-radius:7px 18px;position:relative}.promotion-choice:hover{border-color:var(--theme-accent);background:color-mix(in srgb, var(--theme-accent) 12%, var(--theme-panel))}.promotion-choice svg{width:75px;height:75px}.promotion-choice span{letter-spacing:.08em;text-transform:uppercase;margin-top:-4px;font-size:.68rem;font-weight:700;display:block}.result-emblem{border:1px solid var(--theme-accent);background:radial-gradient(circle, color-mix(in srgb, var(--theme-accent) 20%, transparent), transparent);width:90px;height:90px;color:var(--theme-accent);font-family:var(--display-font);box-shadow:0 0 40px color-mix(in srgb, var(--theme-accent) 14%, transparent);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:2.4rem;display:grid;position:relative}.result-modal{text-align:center;width:min(100%,600px)}.result-modal>h2{max-width:15ch;font-family:var(--body-font);letter-spacing:-.035em;text-wrap:balance;margin:0 auto 14px;font-size:clamp(2rem,6vw,3.15rem);font-weight:800;line-height:1.08}.result-modal .result-emblem{margin-bottom:16px}.result-modal .rival-quote{margin-block:14px 18px}.result-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-block:20px;display:grid}.result-stat{background:#0000001f;border:1px solid #ffffff14;border-radius:7px 14px;padding:12px 6px}.result-stat strong,.result-stat span{display:block}.result-stat strong{font-family:var(--clock-font);font-size:1rem}.result-stat span{color:var(--theme-text-muted);letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-size:.6rem}.result-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.result-actions .plaque-button{min-height:54px}.result-actions>:last-child:nth-child(odd){grid-column:1/-1}.toast-region{z-index:200;right:max(18px, var(--safe-right));bottom:max(18px, var(--safe-bottom));pointer-events:none;gap:8px;width:min(360px,100vw - 36px);display:grid;position:fixed}.toast{border:1px solid color-mix(in srgb, var(--theme-accent) 38%, transparent);background:color-mix(in srgb, var(--theme-panel) 94%, transparent);color:var(--theme-text);border-radius:6px 16px;padding:12px 15px;font-size:.78rem;animation:.22s both toast-in;box-shadow:0 14px 36px #00000057}.orientation-gate{display:none}@media (orientation:portrait) and (max-width:760px){.orientation-gate.active{z-index:300;background:var(--theme-background);text-align:center;place-content:center;padding:30px;display:grid;position:fixed;inset:0}.orientation-icon{color:var(--theme-accent);margin-bottom:18px;font-size:3.5rem;transform:rotate(90deg)}.orientation-gate h2{font-family:var(--display-font);margin:0;font-weight:500}.orientation-gate p{max-width:34ch;color:var(--theme-text-muted);line-height:1.5}}@media (max-width:460px){.result-actions{grid-template-columns:1fr}.result-actions>*{grid-column:1}}@keyframes fade-in{0%{opacity:0}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@media (forced-colors:active){.panel,.plaque-button,.icon-button,.player-ribbon,.clock,.strategy-folio,.board-frame,.square{color:canvastext;forced-color-adjust:auto;background:canvas;border:1px solid canvastext}.square.dark{background:buttonface}.square.selected{outline-offset:-4px;outline:4px solid highlight}.square.legal:after{background:highlight;border:3px solid highlight}.square.capture:after{border-color:highlight}}html[data-quality=low] .grain-layer,html[data-quality=low] .ambient-layer{opacity:.25}html[data-quality=low] .piece,html[data-quality=low] .featured-portrait svg{filter:none}html[data-motion=reduced] .clock.low-time,html[data-motion=reduced] .square.in-check{animation:none}
