:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f8f4e8;--paper-2:#efe8d6;--ink:#202321;--muted:#5f625c;--line:#2b2d293d;--red:#cf3c25;--teal:#08859a;--blue:#1e63d0;--leaf:#5f753d;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--sans);margin:0}a{color:inherit}button,canvas{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.skip-link{z-index:99;background:var(--ink);color:var(--paper);padding:10px 15px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{border-bottom:1px solid var(--line);background:#f8f4e8f5;justify-content:space-between;align-items:center;min-height:70px;padding:0 clamp(18px,4vw,58px);display:flex}.brand{color:var(--ink);letter-spacing:-.025em;align-items:center;gap:14px;font-size:clamp(1.02rem,2vw,1.5rem);font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--ink);border-radius:50%;width:37px;height:27px;display:inline-block;position:relative}.brand-mark:after{content:"";border:2px solid var(--red);border-radius:50%;width:26px;height:23px;position:absolute;top:0;left:20px}.brand-mark i{z-index:1;background:var(--paper);width:7px;height:2px;position:absolute;top:11px;left:17px}.site-header nav,footer nav{align-items:center;gap:clamp(17px,3vw,35px);display:flex}.site-header nav a,footer a{color:var(--ink);font:700 .73rem var(--mono);text-decoration:none}.site-header nav a:hover,footer a:hover{color:var(--red)}.explainer{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#d5cdb833 1px,#0000 1px) 0 0/32px 32px,linear-gradient(#d5cdb833 1px,#0000 1px) 0 0/32px 32px;grid-template-columns:minmax(300px,.78fr) minmax(520px,1.22fr);min-height:310px;display:grid}.explainer-copy{padding:clamp(42px,6vw,84px) clamp(24px,5vw,76px)}.explainer h1{letter-spacing:-.055em;text-wrap:balance;margin:0 0 23px;font-size:clamp(2.45rem,5.2vw,5.5rem);line-height:.98}.explainer-copy p{max-width:690px;color:var(--muted);margin:0;font-size:clamp(.96rem,1.3vw,1.1rem);line-height:1.7}.edge-diagram{border-left:1px solid var(--line);align-content:center;padding:clamp(38px,5vw,68px);display:grid;position:relative}.diagram-field{aspect-ratio:2.2;border-left:5px solid var(--red);border-right:5px solid var(--red);border-top:5px solid var(--teal);border-bottom:5px solid var(--teal);background:#ffffff6e;width:min(100%,630px);margin:0 auto;position:relative}.diagram-field svg{width:100%;height:100%}.diagram-field path{fill:none;stroke:var(--blue);stroke-width:3px;stroke-dasharray:8 7}.diagram-token,.diagram-ghost{z-index:2;border-radius:50%;width:22px;height:22px;position:absolute;top:55%}.diagram-token{background:var(--blue);left:16%}.diagram-ghost{border:2px dashed var(--blue);background:#1e63d014;right:-13px}.edge-label{font:800 .7rem var(--mono);position:absolute}.edge-label.top{color:var(--teal);top:18px;left:50%;transform:translate(-50%)}.edge-label.left{color:var(--red);writing-mode:vertical-rl;top:46%;left:13px;transform:rotate(180deg)}.diagram-legend{width:min(100%,630px);color:var(--muted);font:.68rem var(--mono);flex-wrap:wrap;gap:10px 24px;margin:20px auto 0;display:flex}.diagram-legend span{align-items:center;gap:7px;display:flex}.diagram-legend i{border-radius:50%;width:14px;height:14px;display:inline-block}.diagram-legend .solid{background:var(--blue)}.diagram-legend .ghost{border:1px dashed var(--blue)}.diagram-legend .red,.diagram-legend .teal{border-radius:0;width:21px;height:3px}.diagram-legend .red{background:var(--red)}.diagram-legend .teal{background:var(--teal)}.game-mount{padding:clamp(32px,5vw,64px) clamp(16px,4vw,58px)}.game-shell{max-width:1420px;margin:0 auto}.game-toolbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-bottom:14px;display:grid}.mode-switch{align-items:center;display:flex}.mode-switch>span{font:800 .67rem var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-right:14px}.mode-switch button{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;font:700 .72rem var(--mono);background:0 0;padding:0 18px}.mode-switch button+button{border-left:0}.mode-switch button.active{background:var(--teal);border-color:var(--teal);color:#fff}.mode-switch button:disabled{cursor:not-allowed;opacity:.65}.start-button{background:var(--red);color:#fff;cursor:pointer;min-width:220px;min-height:49px;font:800 .78rem var(--mono);text-transform:uppercase;letter-spacing:.04em;border:0;padding:0 24px}.start-button:hover{background:#a92d1b}.live-label{text-align:center;min-width:220px;color:var(--red);font:800 .7rem var(--mono);text-transform:uppercase;letter-spacing:.09em}.hud{border:1px solid var(--line);grid-template-columns:repeat(4,auto);justify-self:end;display:grid}.hud div{border-right:1px solid var(--line);min-width:76px;padding:8px 12px}.hud div:last-child{border-right:0}.hud span,.hud strong{display:block}.hud span{color:var(--muted);font:700 .55rem var(--mono);text-transform:uppercase}.hud strong{font:800 .78rem var(--mono);letter-spacing:.03em;margin-top:3px}.surface-rule{border-left:4px solid var(--teal);color:var(--muted);font:.72rem/1.5 var(--mono);background:#08859a12;margin:0 0 12px;padding:10px 14px}.mode-mobius .surface-rule{border-left-color:var(--red);background:#cf3c2512}.surface-rule strong{color:var(--ink)}.field-frame{aspect-ratio:2.35;border-left:7px solid var(--red);border-right:7px solid var(--red);border-top:7px solid var(--teal);border-bottom:7px solid var(--teal);background:var(--paper-2) url(/seamshift-field.png) center / cover no-repeat;min-height:360px;position:relative;overflow:hidden;box-shadow:0 18px 40px #463a2421}.arena-canvas{touch-action:none;width:100%;height:100%;display:block}.touch-controls{border-bottom:1px solid var(--line);grid-template-columns:90px auto 1fr auto;align-items:center;gap:20px;min-height:98px;display:grid}.touch-controls>span{font:800 .7rem var(--mono);text-transform:uppercase}.d-pad{grid-template-rows:repeat(2,38px);grid-template-columns:repeat(3,42px);gap:5px;display:grid}.d-pad button{border:1px solid var(--line);color:var(--ink);cursor:pointer;font:800 1rem var(--mono);touch-action:none;background:#ffffff73}.d-pad button:active{background:var(--blue);color:#fff}.d-pad .up{grid-area:1/2}.d-pad .left{grid-area:2/1}.d-pad .down{grid-area:2/2}.d-pad .right{grid-area:2/3}.touch-controls small{color:var(--muted);font:.68rem/1.5 var(--mono)}.ghost-key{max-width:250px;color:var(--muted);font:.62rem/1.35 var(--mono);justify-self:end;align-items:center;gap:10px;display:flex}.ghost-key i{border:2px dashed var(--blue);border-radius:50%;flex:0 0 26px;height:26px}.status-message{min-height:42px;color:var(--muted);font:.72rem/1.55 var(--mono);margin:12px 0 0}.lesson-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbf8ef;grid-template-columns:repeat(2,1fr);display:grid}.lesson-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:330px;padding:clamp(32px,5vw,68px)}.lesson-grid article:nth-child(2n){border-right:0}.lesson-grid article:nth-last-child(-n+2){border-bottom:0}.lesson-grid h2,.method h2,.faq h2{letter-spacing:-.04em;margin:0 0 20px;font-size:clamp(1.7rem,3vw,2.65rem);line-height:1.05}.lesson-grid p,.method p,.faq p{color:var(--muted);font-size:.94rem;line-height:1.75}.lesson-grid a{color:var(--red)}.method{grid-template-columns:1.2fr .8fr;gap:clamp(45px,9vw,130px);max-width:1240px;margin:0 auto;padding:clamp(70px,10vw,130px) 22px;display:grid}.method aside{border-left:5px solid var(--leaf);background:#5f753d14;align-self:end;padding:28px}.method aside strong{font:800 .75rem var(--mono);text-transform:uppercase;letter-spacing:.07em}.faq{max-width:980px;margin:0 auto;padding:0 22px clamp(70px,10vw,128px)}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;padding:22px 0;font-weight:750;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq details p{margin:-4px 0 24px}footer{border-top:1px solid var(--line);min-height:112px;color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;margin:0 clamp(18px,4vw,58px);font-size:.7rem;display:grid}.footer-brand{color:var(--ink);font-weight:850;text-decoration:none}footer>span{text-align:center}footer nav{justify-self:end}@media (width<=1100px){.explainer{grid-template-columns:1fr}.edge-diagram{border-left:0;border-top:1px solid var(--line)}.game-toolbar{grid-template-columns:1fr auto}.hud{grid-column:1/-1;grid-template-columns:repeat(4,1fr);justify-self:stretch}.field-frame{aspect-ratio:1.9}}@media (width<=720px){.site-header{min-height:62px}.site-header nav{display:none}.explainer-copy{padding-top:46px}.explainer h1{font-size:clamp(2.5rem,12vw,4rem)}.edge-diagram{padding:45px 25px 28px}.edge-label.left{left:4px}.game-mount{padding-left:10px;padding-right:10px}.game-toolbar{grid-template-columns:1fr}.mode-switch{grid-template-columns:auto 1fr 1fr;display:grid}.mode-switch>span{margin-right:8px}.mode-switch button{padding:0 8px}.start-button,.live-label{width:100%;min-width:0}.hud{grid-column:auto}.hud div{text-align:center;min-width:0;padding:7px 5px}.hud strong{font-size:.68rem}.field-frame{aspect-ratio:1.12;background-position:50%;min-height:330px}.touch-controls{grid-template-columns:60px auto;gap:12px;padding:16px 5px}.touch-controls small{grid-column:1/-1}.ghost-key{grid-column:1/-1;justify-self:start}.d-pad{grid-template-rows:repeat(2,44px);grid-template-columns:repeat(3,48px)}.lesson-grid{grid-template-columns:1fr}.lesson-grid article{border-right:0;min-height:auto;border-bottom:1px solid var(--line)!important}.lesson-grid article:last-child{border-bottom:0!important}.method{grid-template-columns:1fr;gap:32px}footer{grid-template-columns:1fr;padding:30px 0}footer>span{text-align:left}footer nav{flex-wrap:wrap;justify-self:start;gap:14px 20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
