@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Press+Start+2P&family=Silkscreen:wght@400;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f4f7ff;font-synthesis:none;text-rendering:optimizelegibility;--ink:#050611;--panel:#0b1024;--panel-lift:#121a38;--line:#53d6ff40;--line-bright:#53d6ffb8;--accent:#53e6ff;--accent-soft:#d8fbff;--violet:#566ee0;--hot:#315bb8;--text:#f4f7ff;--muted:#8290b5;background:#050611;font-family:Silkscreen,IBM Plex Mono,monospace}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%}body{background:var(--ink);min-width:320px;min-height:100vh;margin:0;overflow-x:clip}button{font:inherit;-webkit-font-smoothing:none;font-smooth:never}button,input{border-radius:0}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-shell{background:radial-gradient(circle at 50% -12%,#11183a 0,#080b1d 35%,#050611 80%);flex-direction:column;min-height:100dvh;padding:0 5vw;display:flex;position:relative;overflow-x:clip}.app-shell:before{content:"";opacity:.28;pointer-events:none;background-image:linear-gradient(#53d6ff17 1px,#0000 1px),linear-gradient(90deg,#53d6ff17 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 86%);mask-image:linear-gradient(#000,#0000 86%)}.app-shell:after,.lore-shell:after{content:"";z-index:4;pointer-events:none;opacity:.07;background:repeating-linear-gradient(0deg,#0000 0 3px,#53d6ff52 3px 4px);position:fixed;inset:0}.atmosphere{pointer-events:none;filter:blur(16px);opacity:.37;border-radius:999px;position:absolute}.atmosphere-one{background:radial-gradient(circle,#53e6ff21,#0000 68%);width:48vw;max-width:700px;height:48vw;max-height:700px;top:29vh;right:-20vw}.atmosphere-two{background:radial-gradient(circle,#b06cff1f,#0000 64%);width:45vw;max-width:560px;height:45vw;max-height:560px;bottom:-20vw;left:-22vw}.topbar,.hero-copy,.game-layout,.app-footer{z-index:1;width:min(100%,1440px);max-width:100%;margin:0 auto;position:relative}.topbar{border-bottom:2px solid #53d6ff3d;justify-content:space-between;align-items:center;min-height:76px;display:flex}.app-shell>.topbar,.lore-shell>.topbar{width:calc(100% + 10vw);max-width:none;margin-left:-5vw;padding-left:5vw;padding-right:5vw}.brand-lockup{align-items:center;gap:13px;display:flex}.brand-crest{border:2px solid var(--accent);background:#fff;place-items:center;width:40px;height:40px;display:grid;overflow:hidden;box-shadow:4px 4px #315bb8b8}.brand-crest img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;display:block}.brand-crest svg{width:31px;height:31px;overflow:visible}.logo-frame{fill:none;stroke:#bedaff5c;stroke-width:1px}.logo-mark{fill:none;stroke:var(--accent);stroke-width:2.35px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #4da3ff94)}.logo-node{fill:var(--accent-soft);filter:drop-shadow(0 0 5px #4da3ffe6)}.brand-name{letter-spacing:0;color:var(--text);text-transform:uppercase;font:700 11px/1.4 "Press Start 2P",monospace}.brand-name span{color:var(--accent)}.top-nav{align-items:center;gap:25px;margin-left:6%;display:flex}.nav-link{color:#687aa4;letter-spacing:0;text-transform:uppercase;white-space:nowrap;font:700 9px "Press Start 2P",monospace}.nav-active{color:var(--accent)}.nav-disabled{color:#4d5e72;cursor:not-allowed}.nav-soon{color:#4d5e72;text-transform:lowercase;margin-left:4px;font:400 8px IBM Plex Mono,monospace}.token-balance-chip{color:#687aa4;letter-spacing:.04em;white-space:nowrap;align-items:center;gap:7px;font:700 8px IBM Plex Mono,monospace;display:inline-flex}.token-balance-chip strong{color:var(--text);font-weight:700}.token-balance-verified strong{color:var(--accent)}.token-balance-error strong{color:#ffb2bd}.hero-copy{text-align:center;justify-content:center;align-items:center;gap:20px;padding:47px 0 35px;display:flex}.hero-copy>div:first-child{min-width:0}.hero-actions{justify-content:center;margin-top:23px;display:flex}.board-kicker,.panel-kicker,.promotion-kicker,.result-kicker{color:var(--accent);letter-spacing:0;text-transform:uppercase;font:700 9px "Press Start 2P",monospace}h1{overflow-wrap:anywhere;letter-spacing:0;max-width:100%;color:var(--text);text-transform:uppercase;text-shadow:5px 5px #b06cff59;margin:0;font:700 clamp(30px,4vw,64px)/1.35 "Press Start 2P",monospace}.hero-copy h1{font-size:clamp(24px,3vw,48px)}h1 em{color:var(--accent);text-shadow:0 0 28px #4da3ff40;font-style:normal}.hero-description{color:#9eacd0;max-width:920px;margin:17px auto 0;padding:0 12px;font:400 13px/1.7 Silkscreen,monospace}.hero-rule{color:var(--accent);letter-spacing:.02em;margin:12px auto 0;padding:0 12px;font:700 9px/1.5 "Press Start 2P",monospace}.hero-contract{background:#0b1024;border:2px solid #26345c;justify-content:center;align-items:center;gap:13px;width:min(100%,560px);margin:17px auto 0;padding:10px 13px;display:flex;box-shadow:4px 4px #315bb847}.hero-contract span{color:var(--accent);font:700 8px "Press Start 2P",monospace}.hero-contract code{color:var(--text);font:400 13px Silkscreen,monospace}.footer-dot{background:var(--hot);width:6px;height:6px;animation:2.2s steps(2,end) infinite pulse;display:inline-block;box-shadow:3px 3px #315bb861}.game-layout{--arena-size:min(680px, max(400px, calc(100dvh - 370px)));grid-template-columns:minmax(0, var(--arena-size)) minmax(320px, 360px);max-width:calc(var(--arena-size) + 436px);align-items:start;gap:56px;display:grid}.records-section{z-index:1;width:min(100%,1440px);max-width:100%;margin:clamp(48px,7vh,84px) auto 0;position:relative}.records-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px;display:flex}.records-heading h2{color:var(--text);margin:10px 0 0;font:700 clamp(20px,2.5vw,30px)/1.25 "Press Start 2P",monospace}.records-total{color:#687aa4;font:700 8px "Press Start 2P",monospace}.records-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;display:grid}.records-card{background:#0b1024;border:2px solid #26345c;min-width:0;box-shadow:6px 6px #315bb83d}.records-card-heading{border-bottom:2px solid #7faaca1f;justify-content:space-between;align-items:center;gap:14px;padding:15px 16px 12px;display:flex}.records-list{scrollbar-width:thin;scrollbar-color:#315bb8 transparent;max-height:360px;padding:5px 16px;overflow:auto}.record-row{border-bottom:1px solid #7faaca1f;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:52px;padding:9px 0;display:grid}.record-row:last-child{border-bottom:0}.record-player{flex-direction:column;gap:5px;min-width:0;display:flex}.record-player strong{color:var(--text);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font:700 11px Silkscreen,monospace;overflow:hidden}.record-player span,.record-row time{color:#687aa4;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font:500 8px IBM Plex Mono,monospace}.record-row time{color:#91a6bb;text-align:right}.game-record-row{grid-template-columns:minmax(0,1fr) auto auto}.record-result{text-align:center;text-transform:uppercase;min-width:46px;padding:5px 6px;font:700 8px "Press Start 2P",monospace}.record-won{color:#050611;background:var(--accent)}.record-lost{color:#d0d7ec;background:#26345c}.record-draw{color:#050611;background:var(--violet)}.records-empty{color:#8290b5;text-align:center;place-items:center;min-height:126px;margin:0;padding:22px;font:500 10px/1.6 Silkscreen,monospace;display:grid}.records-pagination{color:#8290b5;border-top:2px solid #7faaca1f;justify-content:center;align-items:center;gap:10px;padding:12px 16px 14px;font:700 8px "Press Start 2P",monospace;display:flex}.records-page-button{width:28px;height:28px;color:var(--accent);cursor:pointer;background:#080b1b;border:2px solid #315bb8;font:700 12px "Press Start 2P",monospace}.records-page-button:hover:not(:disabled){box-shadow:2px 2px 0 var(--violet);background:#132044;transform:translate(-1px,-1px)}.records-page-button:disabled{opacity:.35;cursor:not-allowed}.lore-teaser{z-index:1;background:#0b1024;border:2px solid #26345c;justify-content:space-between;align-items:center;gap:28px;width:min(100%,1440px);max-width:100%;margin:clamp(42px,6vh,78px) auto 0;padding:25px 28px;display:flex;position:relative;box-shadow:7px 7px #b06cff38}.lore-teaser-kicker{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font:600 10px IBM Plex Mono,monospace}.lore-teaser h2{color:var(--text);letter-spacing:0;margin:9px 0 7px;font:700 clamp(18px,2.3vw,27px)/1.25 "Press Start 2P",monospace}.lore-teaser p{color:#91a6bb;max-width:640px;margin:0;font:400 12px/1.55 Silkscreen,monospace}.lore-teaser-link{flex:none;align-items:center;gap:8px;min-height:42px;padding:0 14px;text-decoration:none;display:inline-flex}.lore-teaser-link span{margin:0}.board-column{min-width:0}.board-intro{justify-content:space-between;align-items:end;margin-bottom:16px;display:flex}.board-title-row{flex-direction:column;gap:9px;display:flex}.board-round{color:#5d7085;letter-spacing:.15em;font:500 9px IBM Plex Mono,monospace}.board-status{color:#b4c8d5;letter-spacing:.025em;text-align:right;align-items:center;gap:9px;font:500 11px IBM Plex Mono,monospace;display:flex}.status-orb{background:var(--accent);width:8px;height:8px;box-shadow:3px 3px #53e6ff57}.status-thinking{background:var(--violet);animation:1s steps(2,end) infinite pulse;box-shadow:3px 3px #b06cff57}.board-frame{width:100%;max-width:var(--arena-size);background:var(--accent);box-shadow:8px 8px 0 var(--hot), 0 0 0 2px #02030a;border-radius:0;margin:0 auto;padding:3px;position:relative}.board-frame:before{content:"";pointer-events:none;z-index:2;border:2px solid #d8fbff7a;border-radius:0;position:absolute;inset:6px}.board-frame-inner{background:#040812;border-radius:0;padding:8px;position:relative}.chess-board{aspect-ratio:1;border-radius:0;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.square{appearance:none;cursor:pointer;isolation:isolate;border:0;place-items:center;min-width:0;min-height:0;margin:0;padding:0;display:grid;position:relative}.square-light{background:#b6d7de}.square-dark{background:#18355b}.square:after{content:"";pointer-events:none;opacity:0;background:#53e6ff33;transition:opacity 80ms steps(2,end);position:absolute;inset:0}.square:hover:after,.square-selected:after,.square-legal:after{opacity:1}.square-selected{box-shadow:inset 0 0 0 3px var(--accent), inset 0 0 0 6px #b06cff73;z-index:1}.square-last{box-shadow:inset 0 0 0 999px #315bb829}.square-check{box-shadow:inset 0 0 0 999px #315bb84d}.square-check:after{opacity:1;background:#315bb847}.rank-coordinate,.file-coordinate{z-index:3;opacity:.74;pointer-events:none;font:700 10px IBM Plex Mono,monospace;position:absolute}.rank-coordinate{color:#45739d;top:5px;left:6px}.square-dark .rank-coordinate,.square-dark .file-coordinate{color:#b8d4f5}.file-coordinate{color:#45739d;bottom:4px;right:7px}.legal-dot{z-index:2;aspect-ratio:1;background:#061836ad;border-radius:0;width:16%;position:absolute;box-shadow:3px 3px #05061159}.legal-capture{border:3px solid var(--hot);background:0 0;width:77%;box-shadow:4px 4px #05061159}.piece-svg{z-index:3;-webkit-user-select:none;user-select:none;width:63%;height:67%;image-rendering:pixelated;shape-rendering:crispedges;-webkit-font-smoothing:none;transition:transform .17s,filter .17s;position:relative;overflow:visible;transform:translateY(-2%)}.square:hover .piece-svg{transform:translateY(-4%)scale(1.02)}.piece-flight{z-index:8;left:var(--from-x);top:var(--from-y);pointer-events:none;will-change:left, top, filter;place-items:center;width:12.5%;height:12.5%;animation:.36s cubic-bezier(.22,.85,.25,1) both piece-flight;display:grid;position:absolute}.piece-flight .piece-svg{width:63%;height:67%;transform:translateY(-2%)}.piece-shape,.piece-base{fill:currentColor;stroke:var(--piece-edge);stroke-width:1.75px;stroke-linejoin:miter;stroke-linecap:square;vector-effect:non-scaling-stroke}.piece-detail{fill:none;stroke:var(--piece-detail);stroke-width:2px;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.piece-eye{fill:var(--piece-detail)}.piece-svg-w{color:#f4f2d2;--piece-edge:#182244;--piece-detail:#42627e;filter:drop-shadow(4px 4px #05061161)}.piece-svg-b{color:#050611;--piece-edge:var(--accent);--piece-detail:#87f0ff;filter:drop-shadow(4px 4px #00000094)}.legal-dot~.piece-svg{filter:drop-shadow(3px 3px 0 var(--hot))}.piece-svg-small{width:20px;height:23px;transform:none}.captured-pieces .piece-svg,.captured-panel-row .piece-svg{margin-left:-3px}.captured-pieces .piece-svg:first-child,.captured-panel-row .piece-svg:first-child{margin-left:0}.board-rune{color:#53e6ffd1;pointer-events:none;z-index:3;font:700 10px "Press Start 2P",monospace;position:absolute}.rune-top{top:1px;left:1px}.rune-bottom{bottom:1px;right:1px;transform:rotate(180deg)}.board-footer{justify-content:space-between;align-items:center;padding:14px 3px 0;display:flex}.captured-strip{align-items:center;gap:9px;display:flex}.footer-label,.hint-key{color:#62768b;letter-spacing:.11em;text-transform:uppercase;font:600 9px IBM Plex Mono,monospace}.captured-pieces{align-items:center;min-width:54px;display:flex}.captured-empty{color:#4f6276;font:11px IBM Plex Mono,monospace}.material-count{color:var(--accent);font:500 10px IBM Plex Mono,monospace}.board-hint{color:#5b6f83;letter-spacing:.04em;font:500 9px IBM Plex Mono,monospace}.hint-key{border:2px solid #53e6ff57;margin-right:6px;padding:4px 6px}.side-panel{flex-direction:column;align-self:center;gap:17px;padding-top:0;display:flex}.player-stack{flex-direction:column;gap:8px;display:flex}.player-card{background:#0b1024;border:2px solid #26345c;align-items:center;gap:12px;min-height:68px;padding:11px 13px;transition:border-color .12s steps(2,end),background .12s steps(2,end);display:flex;position:relative}.player-active{border-color:var(--accent);background:#101a38;box-shadow:6px 6px #315bb847}.player-avatar{border:2px solid var(--accent);place-items:center;width:42px;height:42px;display:grid}.avatar-code{color:var(--accent);letter-spacing:-.08em;font:700 10px IBM Plex Mono,monospace}.avatar-bot{background:#121a38}.avatar-you{color:var(--accent-soft);background:#050e1dd6}.player-details{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.player-name-row{align-items:center;gap:7px;display:flex}.player-name{color:#edf5ff;letter-spacing:0;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font:700 12px Silkscreen,monospace;overflow:hidden}.player-name-input{color:#edf5ff;cursor:text;letter-spacing:0;text-transform:uppercase;background:#080b1b;border:2px solid #53e6ff59;outline:none;width:100%;min-width:0;padding:4px 7px 5px;font:700 12px Silkscreen,monospace;transition:border-color .12s steps(2,end),background .12s steps(2,end),box-shadow .12s steps(2,end)}.player-name-input::placeholder{color:#edf5ff;opacity:.95}.player-name-input:focus{border-color:var(--accent);background:#101a38;box-shadow:4px 4px #b06cff61}.player-label{color:#718398;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font:500 8px IBM Plex Mono,monospace;overflow:hidden}.turn-dot{background:var(--accent);width:7px;height:7px;display:inline-block;box-shadow:3px 3px #53e6ff57}.clock{color:#74879a;letter-spacing:.02em;min-width:58px;font:500 16px IBM Plex Mono,monospace}.clock-active{color:var(--accent);text-shadow:3px 3px #b06cff80}.color-mark{background:#2e4f7a;width:2px;height:35px;position:absolute;top:16px;left:-1px}.color-w{background:var(--accent)}.color-b{background:var(--violet)}.versus-line{color:#5d7aa2;letter-spacing:.12em;align-items:center;gap:10px;padding:0 16px;font:500 9px IBM Plex Mono,monospace;display:flex}.versus-line span{background:#538bcd2e;flex:1;height:1px}.panel-card{background:#080b1b;border:2px solid #26345c}.moves-card{flex-direction:column;min-height:206px;display:flex}.panel-card-heading{border-bottom:1px solid #7faaca1f;justify-content:space-between;align-items:center;padding:15px 16px 12px;display:flex}.move-count{color:#566d83;letter-spacing:.1em;font:500 9px IBM Plex Mono,monospace}.move-list{scrollbar-width:thin;scrollbar-color:#1d4e83 transparent;flex:1;max-height:175px;padding:7px 11px;overflow:auto}.move-empty{color:#6c8093;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:114px;font:500 10px IBM Plex Mono,monospace;display:flex}.empty-sigil{color:var(--accent);opacity:.75;font:700 16px "Press Start 2P",monospace}.move-row{border-bottom:1px solid #7faaca14;grid-template-columns:28px 1fr 1fr;align-items:center;min-height:31px;display:grid}.move-number{color:#4e657a;font:500 10px IBM Plex Mono,monospace}.move-san{color:#b4c7d4;padding:5px 7px;font:500 12px IBM Plex Mono,monospace}.move-current{color:var(--accent);background:#53e6ff24}.captured-panel-row{color:#60758a;border-top:1px solid #7faaca1f;justify-content:space-between;align-items:center;min-height:39px;padding:8px 15px;font:500 9px IBM Plex Mono,monospace;display:flex}.captured-panel-row>div{align-items:center;min-height:21px;display:flex}.engine-card{padding:14px 16px 13px}.engine-heading{color:#8498aa;letter-spacing:.12em;align-items:center;gap:7px;font:500 9px IBM Plex Mono,monospace;display:flex}.engine-icon{color:var(--accent);font-size:13px}.engine-live{color:#83a9b4;margin-left:auto;font-size:8px}.telemetry-row{color:#5d748a;letter-spacing:.08em;justify-content:space-between;padding-top:15px;font:500 9px IBM Plex Mono,monospace;display:flex}.telemetry-row strong{color:#b9d3df;font-weight:500}.telemetry-bar{background:#4da3ff1f;height:3px;margin:12px 0 9px;overflow:hidden}.telemetry-bar span{background:linear-gradient(90deg, var(--violet), var(--accent));height:100%;transition:width .5s;display:block;box-shadow:0 0 10px #4da3ffa6}.engine-note{color:#60778b;margin:0;font-size:10px;line-height:1.5}.actions-row{grid-template-columns:.75fr .75fr 1.4fr;gap:8px;display:grid}.button{cursor:pointer;letter-spacing:0;text-transform:uppercase;-webkit-font-smoothing:none;font-smooth:never;border:2px solid #31416d;min-height:43px;font:700 9px "Press Start 2P",monospace;transition:transform .12s steps(2,end),border-color .12s steps(2,end),background .12s steps(2,end),opacity .12s steps(2,end)}.button:hover:not(:disabled){border-color:var(--accent);box-shadow:4px 4px 0 var(--hot);transform:translate(-2px,-2px)}.button:disabled{cursor:not-allowed;opacity:.34}.button-ghost{color:#92a6b6;background:#080b1b}.danger-button:hover:not(:disabled){color:#b9d8ff;border-color:#82b4ffd1}.button-gold{color:#050611;background:var(--accent);border-color:var(--accent);box-shadow:5px 5px 0 var(--hot)}.button-gold:hover:not(:disabled){background:#bfffff}.button span{margin-right:5px}.app-footer{color:#50667b;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:auto;padding:38px 3px 0;font:500 9px Silkscreen,monospace;display:flex}.app-footer .footer-dot{background:#6caaff;width:5px;height:5px;margin-right:7px;animation:none;box-shadow:0 0 7px #6caaff}.footer-story{flex-direction:column;align-items:flex-start;gap:9px;min-width:0;display:flex}.footer-lore{align-items:center;min-width:0;display:inline-flex}.footer-lore-link{color:#83b7eb;letter-spacing:0;-webkit-font-smoothing:none;font-smooth:never;font:700 8px "Press Start 2P",monospace;text-decoration:none;transition:color .12s steps(2,end),transform .12s steps(2,end)}.footer-lore-link span{margin-left:5px}.footer-lore-link:hover{color:var(--accent);transform:translate(2px)}.footer-x{color:#9dcaff;-webkit-font-smoothing:none;font-smooth:never;border:2px solid #53e6ff57;flex:none;place-items:center;width:30px;height:30px;font:700 10px/1 "Press Start 2P",monospace;text-decoration:none;transition:color .12s steps(2,end),border-color .12s steps(2,end),background .12s steps(2,end),transform .12s steps(2,end);display:grid}.footer-x:hover{color:#edf5ff;border-color:var(--accent);box-shadow:3px 3px 0 var(--hot);background:#53e6ff1f;transform:translate(-2px,-2px)}.footer-gold{color:var(--accent)}.promotion-backdrop{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#01030ad1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.promotion-card{border:2px solid var(--accent);width:min(440px,100%);box-shadow:8px 8px 0 var(--violet);text-align:center;background:#0b1024;padding:30px}.promotion-card h2{color:var(--text);margin:9px 0 22px;font:700 18px/1.35 "Press Start 2P",monospace}.promotion-options{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.promotion-choice{color:#9bb0be;cursor:pointer;background:#080b1b;border:2px solid #53e6ff33;flex-direction:column;align-items:center;gap:8px;padding:11px 5px;transition:all .12s steps(2,end);display:flex}.promotion-choice:hover{color:var(--accent);border-color:var(--accent);box-shadow:3px 3px 0 var(--hot);background:#121a38;transform:translate(-2px,-2px)}.promotion-choice .piece-svg{width:43px;height:48px}.promotion-choice span{text-transform:uppercase;font:500 9px IBM Plex Mono,monospace}.start-game-backdrop{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#01030ad1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.start-game-card{border:2px solid var(--accent);width:min(470px,100%);box-shadow:8px 8px 0 var(--violet);background:#0b1024;flex-direction:column;gap:13px;padding:30px;display:flex}.start-game-card h2{color:var(--text);margin:0;font:700 20px/1.35 "Press Start 2P",monospace}.start-game-card>p{color:#8da4b5;margin:-2px 0 7px;font:500 11px/1.5 IBM Plex Mono,monospace}.start-game-field{flex-direction:column;gap:7px;display:flex}.start-game-field>span{color:var(--accent);letter-spacing:.14em;font:600 9px IBM Plex Mono,monospace}.wallet-connect-button{border-color:#53e6ff52;align-self:flex-start;min-height:34px;padding:0 11px;font-size:8px}.start-game-field input{width:100%;height:44px;color:var(--text);background:#080b1b;border:2px solid #53e6ff59;border-radius:0;outline:none;padding:0 12px;font:500 12px Silkscreen,monospace}.start-game-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4da3ff1f}.start-game-field input::placeholder{color:#607991}.wallet-holder-status{text-transform:uppercase;color:#7f96aa!important;letter-spacing:.02em!important;font:500 9px/1.45 IBM Plex Mono,monospace!important}.wallet-holder-verified{color:var(--accent)!important}.wallet-holder-error{color:#ffb2bd!important}.start-game-error{color:#ff9fae;font:500 10px/1.4 IBM Plex Mono,monospace}.start-game-submit{width:100%;margin-top:4px}.result-banner{z-index:9;border:2px solid var(--accent);width:min(760px,100vw - 40px);max-height:calc(100vh - 36px);box-shadow:7px 7px 0 var(--violet);isolation:isolate;background:#0b1024;justify-content:space-between;align-items:flex-start;gap:23px;padding:16px 17px 16px 21px;animation:.62s cubic-bezier(.2,1.35,.35,1) both result-pop;display:flex;position:fixed;bottom:28px;left:50%;overflow:auto;transform:translate(-50%)}.result-banner:before{content:"";z-index:-1;pointer-events:none;border:1px solid #d8fbff33;animation:.7s steps(4,end) both result-frame;position:absolute;inset:5px}.result-banner:after{content:"";z-index:-1;pointer-events:none;background:#d8fbff1f;width:22%;animation:1.15s steps(6,end) .18s both result-sheen;position:absolute;top:0;bottom:0;left:-35%;transform:skew(-18deg)}.result-won{border-color:#53e6ff;box-shadow:7px 7px #6e4dff,0 0 24px #53e6ff38}.result-lost{border-color:#7284a8;box-shadow:7px 7px #26345c}.result-draw{border-color:#9a7bff;box-shadow:7px 7px #4c3c8c}.result-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.result-summary{flex-direction:column;gap:4px;min-width:0;display:flex}.result-banner strong{color:var(--text);font:700 13px Silkscreen,monospace}.result-summary>span:last-child,.winner-wallet>span:not(.result-kicker){color:#8da4b5;font:500 10px IBM Plex Mono,monospace}.winner-wallet{border-top:1px solid #7faaca29;flex-direction:column;gap:5px;margin-top:11px;padding-top:11px;display:flex}.winner-wallet strong{font-size:14px}.result-banner>.button{white-space:nowrap;padding:0 14px}.lore-shell{background:radial-gradient(circle at 50% -12%,#11183a 0,#080b1d 35%,#050611 80%);flex-direction:column;min-height:100dvh;padding:0 5vw;display:flex;position:relative;overflow-x:clip}.lore-shell:before{content:"";opacity:.28;pointer-events:none;background-image:linear-gradient(#53d6ff17 1px,#0000 1px),linear-gradient(90deg,#53d6ff17 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 86%);mask-image:linear-gradient(#000,#0000 86%)}.brand-link{color:inherit;text-decoration:none}.header-back{color:var(--accent);letter-spacing:0;border:2px solid #53e6ff61;padding:10px 12px;font:700 9px "Press Start 2P",monospace;text-decoration:none;transition:background .12s steps(2,end),border-color .12s steps(2,end),transform .12s steps(2,end)}.header-back span{margin-left:6px}.header-back:hover{border-color:var(--accent);background:#4da3ff1f;transform:translateY(-2px)}.lore-hero,.lore-grid,.lore-tribute,.lore-sources{z-index:1;width:min(100%,1440px);max-width:100%;margin-left:auto;margin-right:auto;position:relative}.lore-hero{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(34px,6vw,92px);padding:72px 0 42px;display:grid}.lore-hero-copy{min-width:0}.lore-kicker,.lore-card-kicker,.lore-sources>span{color:var(--accent);letter-spacing:0;text-transform:uppercase;font:700 9px "Press Start 2P",monospace}.lore-hero h1{max-width:760px;margin-top:14px;font-size:clamp(30px,4.5vw,56px)}.lore-hero p{color:#9ab0c5;max-width:650px;margin:22px 0 0;font:400 15px/1.7 Silkscreen,monospace}.lore-hero-art{border:2px solid var(--accent);min-height:410px;box-shadow:8px 8px 0 var(--hot);background:#030b18;margin:0;position:relative;overflow:hidden}.lore-hero-art:after{content:"";pointer-events:none;background:linear-gradient(#02050a05 35%,#02050ad1 100%);position:absolute;inset:0}.lore-hero-art img{object-fit:cover;object-position:center;opacity:.88;width:100%;height:100%;display:block}.lore-hero-art figcaption{z-index:1;color:#aac7e3;letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:end;gap:16px;font:500 9px IBM Plex Mono,monospace;display:flex;position:absolute;bottom:16px;left:19px;right:19px}.lore-hero-art figcaption strong{color:var(--text);font-weight:600}.lore-grid{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:16px;display:grid}.lore-feature,.lore-stat-card,.lore-logo-card,.lore-tribute{background:#0b1024;border:2px solid #26345c;box-shadow:6px 6px #b06cff33}.lore-feature{padding:28px}.lore-feature-wide{grid-column:1/-1}.lore-feature h2,.lore-tribute h2{color:var(--text);letter-spacing:0;margin:11px 0 13px;font:700 clamp(18px,3vw,29px)/1.35 "Press Start 2P",monospace}.lore-feature p,.lore-tribute p{color:#91a6bb;max-width:730px;margin:0 0 14px;font:400 13px/1.75 Silkscreen,monospace}.lore-feature p:last-child,.lore-tribute p:last-of-type{margin-bottom:0}.lore-stat-card{flex-direction:column;justify-content:center;min-height:220px;padding:28px;display:flex}.lore-stat-card strong{color:var(--accent);letter-spacing:0;text-shadow:5px 5px #b06cff59;margin:16px 0 4px;font:700 clamp(40px,7vw,70px)/1 "Press Start 2P",monospace;display:block}.lore-stat-card p{color:#d1e2f1;max-width:190px;margin:0;font:500 13px/1.45 Silkscreen,monospace}.lore-stat-detail{color:#607991;letter-spacing:.06em;text-transform:uppercase;margin-top:22px;font:500 9px/1.5 IBM Plex Mono,monospace}.lore-logo-card{align-items:center;gap:18px;padding:19px;display:flex}.lore-logo-tile{aspect-ratio:1;border:2px solid var(--accent);background:#fff;place-items:center;width:118px;min-width:118px;display:grid;overflow:hidden}.lore-logo-tile img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;display:block}.lore-logo-card h2{color:var(--text);letter-spacing:0;margin:9px 0 8px;font:700 16px/1.4 "Press Start 2P",monospace}.lore-logo-card p{color:#91a6bb;margin:0;font:400 11px/1.65 Silkscreen,monospace}.lore-timeline{margin-top:22px}.lore-event{border-top:1px solid #7faaca1f;grid-template-columns:58px 1fr;gap:15px;padding:15px 0;display:grid}.lore-event:first-child{border-top:0;padding-top:0}.lore-event>span{color:var(--accent);font:600 11px IBM Plex Mono,monospace}.lore-event strong{color:#dceafa;font:700 12px Silkscreen,monospace}.lore-event p{margin:4px 0 0;font-size:12px;line-height:1.55}.lore-tribute{margin-top:16px;padding:32px}.lore-tribute p{max-width:660px}.lore-cta{align-items:center;gap:8px;min-height:43px;margin-top:10px;padding:0 15px;text-decoration:none;display:inline-flex}.lore-cta span{margin:0}.lore-sources{color:#587087;letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:14px 22px;padding:29px 3px 0;font:500 9px IBM Plex Mono,monospace;display:flex}.lore-sources a{color:#7998b6;text-decoration:none}.lore-sources a:hover{color:var(--accent)}.lore-footer{width:min(100%,1440px)}@keyframes pulse{0%,to{opacity:.65;transform:scale(.85)}50%{opacity:1;transform:scale(1.12)}}@keyframes arrive{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes result-pop{0%{opacity:0;transform:translate(-50%,28px)scale(.88)}55%{opacity:1;transform:translate(-50%,-4px)scale(1.025)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes result-frame{0%{opacity:0;transform:scaleX(.15)}to{opacity:1;transform:scaleX(1)}}@keyframes result-sheen{0%{opacity:0;left:-35%}20%{opacity:1}to{opacity:0;left:130%}}@keyframes piece-flight{0%{left:var(--from-x);top:var(--from-y);opacity:.72;filter:brightness()}18%{opacity:1;filter:brightness(1.25)drop-shadow(0 0 12px #4da3ff8c)}to{left:var(--to-x);top:var(--to-y);opacity:1;filter:brightness()}}@media (width<=980px){.app-shell,.lore-shell{padding:0 24px}.topbar,.hero-copy,.game-layout,.app-footer,.lore-hero,.lore-grid,.lore-tribute,.lore-sources,.lore-footer{width:100%;max-width:700px}.app-shell>.topbar,.lore-shell>.topbar{width:calc(100% + 48px);max-width:none;margin-left:-24px;padding-left:24px;padding-right:24px}.hero-copy{align-items:center}.game-layout{--arena-size:min(620px, calc(100vw - 48px), calc(100svh - 245px));width:min(100%, var(--arena-size));grid-template-columns:minmax(0, var(--arena-size));gap:29px;max-width:100%}.records-section,.lore-teaser{width:100%;max-width:700px}.records-grid{grid-template-columns:1fr}.lore-teaser{margin-top:34px}.board-frame{max-width:var(--arena-size)}.side-panel{grid-template-columns:1fr 1fr;align-self:stretch;align-items:start;padding-top:0;display:grid}.player-stack,.moves-card{grid-column:1/-1}.actions-row{grid-column:1/-1;align-self:end}.app-footer{max-width:700px}}@media (width<=620px){.app-shell,.lore-shell{padding:0 14px}.topbar,.hero-copy,.game-layout,.app-footer,.lore-hero,.lore-grid,.lore-tribute,.lore-sources,.lore-footer{width:100%;max-width:100%}.app-shell>.topbar,.lore-shell>.topbar{width:calc(100% + 28px);max-width:none;margin-left:-14px;padding-left:14px;padding-right:14px}.topbar{min-height:76px}.top-nav{gap:11px;margin-left:auto;display:flex}.nav-link{font-size:7px}.brand-name{font-size:9px}.hero-copy{padding:31px 0 22px;display:block}.hero-copy h1{font-size:clamp(18px,5.2vw,30px);line-height:1.45}.hero-description{font-size:11px}.hero-contract{text-align:center;flex-direction:column;gap:7px}.hero-actions{margin-top:20px}.game-layout{--arena-size:min(620px, calc(100vw - 28px), calc(100svh - 220px));gap:29px;width:100%;max-width:100%}.board-intro{display:block}.board-status{text-align:left;margin-top:13px}.piece-svg{width:64%;height:68%}.rank-coordinate,.file-coordinate{font-size:8px}.board-footer{display:block}.board-hint{margin-top:13px}.side-panel{display:flex}.actions-row{order:3}.app-footer{align-items:flex-start;padding-top:30px;line-height:1.8;display:flex}.footer-story{gap:7px}.footer-lore{padding-right:10px;display:block}.footer-x{margin-top:12px}.lore-topbar .header-back{padding:8px 9px;font-size:8px}.lore-hero{flex-direction:column;align-items:stretch;gap:28px;padding:45px 0 28px;display:flex}.lore-hero h1{font-size:clamp(20px,6vw,32px)}.lore-hero p{font-size:13px}.lore-hero-art{min-height:260px}.lore-hero-art figcaption{font-size:8px;bottom:12px;left:13px;right:13px}.lore-grid{flex-direction:column;display:flex}.lore-feature,.lore-stat-card,.lore-logo-card,.lore-tribute{padding:22px}.lore-stat-card{min-height:180px}.lore-logo-card{align-items:flex-start}.lore-logo-tile{width:92px;min-width:92px}.lore-sources{line-height:1.9;display:block}.lore-sources a,.records-heading{display:block}.records-total{margin-top:12px;display:block}.records-card-heading,.records-list{padding-left:12px;padding-right:12px}.lore-teaser{flex-direction:column;align-items:stretch;gap:19px;margin-top:30px;padding:22px}.lore-teaser-link{justify-content:center;width:100%}.result-banner{flex-direction:column;align-items:flex-start;gap:13px}.result-banner>.button{width:100%}.start-game-card{padding:23px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.board-frame,.board-frame:hover{transform:none}}
