:root {
  --ink: #07130e;
  --panel: #0c1b15;
  --panel-2: #10241b;
  --acid: #b8f238;
  --blue: #6de5ff;
  --cream: #f4f1e7;
  --display: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  --body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;color:white;background:var(--ink);font-family:var(--body);line-height:1.5;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(circle at 70% 30%,black,transparent 70%)}
button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}
.skip-link{position:fixed;z-index:999;top:10px;left:10px;padding:10px 14px;color:var(--ink);background:white;transform:translateY(-160%)}.skip-link:focus{transform:none}
.game-shell{position:relative;z-index:1;width:min(calc(100% - 44px),1500px);margin:auto}
.game-header{height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}
.back-link{justify-self:start;color:rgba(255,255,255,.56);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;transition:color .2s}.back-link span{display:inline-block;margin-right:10px;color:var(--acid);font-size:18px;vertical-align:-2px}.back-link:hover{color:white}
.game-logo{display:grid;grid-template-columns:40px auto;grid-template-rows:auto auto;align-items:center;column-gap:10px;line-height:1}.game-logo>span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;color:var(--ink);background:var(--acid);font:900 22px/1 var(--display);box-shadow:5px 5px 0 rgba(184,242,56,.16)}.game-logo strong{font-size:14px;letter-spacing:.1em}.game-logo small{margin-top:4px;color:rgba(255,255,255,.35);font-size:7px;letter-spacing:.18em}
.help-button{justify-self:end;width:36px;height:36px;border:1px solid rgba(255,255,255,.2);background:transparent;font-weight:900;cursor:pointer;transition:.2s}.help-button:hover{color:var(--ink);background:var(--acid);border-color:var(--acid)}
.game-main{display:grid;grid-template-columns:310px minmax(0,1fr);gap:42px;align-items:center;min-height:calc(100svh - 146px);padding:32px 0}
.game-copy{align-self:center}.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 23px;color:rgba(255,255,255,.48);font-size:9px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.eyebrow i{width:7px;height:7px;background:var(--acid);box-shadow:0 0 0 5px rgba(184,242,56,.08)}
.game-copy h1{margin:0;font:900 clamp(64px,6.8vw,105px)/.79 var(--display);letter-spacing:-.02em;text-transform:uppercase}.game-copy h1 span{color:var(--acid)}.game-copy>p:not(.eyebrow){margin:30px 0;color:rgba(255,255,255,.47);font-size:13px;line-height:1.7}
.mission-list{border-top:1px solid rgba(255,255,255,.1)}.mission-list>div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;min-height:72px;border-bottom:1px solid rgba(255,255,255,.1)}.mission-list>div>span{color:rgba(255,255,255,.27);font-size:9px;font-weight:900}.mission-list p{display:flex;flex-direction:column;margin:0}.mission-list strong{font-size:11px}.mission-list small{margin-top:4px;color:rgba(255,255,255,.34);font-size:9px}
.game-card{min-width:0;border:1px solid rgba(255,255,255,.13);background:var(--panel);box-shadow:0 35px 80px rgba(0,0,0,.3)}
.hud{min-height:64px;display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.12)}.hud-item{display:flex;min-width:122px;align-items:center;gap:10px;padding:11px 18px;border-right:1px solid rgba(255,255,255,.1)}.hud-item p{display:flex;flex-direction:column;margin:0}.hud-item small{color:rgba(255,255,255,.34);font-size:7px;font-weight:850;letter-spacing:.14em}.hud-item strong{margin-top:3px;font-size:15px;line-height:1}.hud-item.best{margin-left:auto;border-right:0;border-left:1px solid rgba(255,255,255,.1)}
.hud-icon{position:relative;display:block;flex:0 0 auto;width:22px;height:22px}.crystal-icon{width:18px;height:18px;margin-inline:2px;background:var(--blue);transform:rotate(45deg);box-shadow:inset 5px 4px rgba(255,255,255,.65),0 0 12px rgba(109,229,255,.5)}.block-icon{background:#77513a;border-top:6px solid #74b747;box-shadow:inset -5px 0 rgba(0,0,0,.2)}
.canvas-wrap{position:relative;isolation:isolate;overflow:hidden;background:#091710}.canvas-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;touch-action:none}.scanlines{position:absolute;z-index:2;inset:0;pointer-events:none;opacity:.13;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.15) 4px)}
.game-overlay{position:absolute;z-index:5;inset:0;display:flex;visibility:hidden;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;background:rgba(6,17,12,.83);backdrop-filter:blur(7px);opacity:0;transition:opacity .25s,visibility .25s}.game-overlay.is-visible{visibility:visible;opacity:1}.overlay-cube{display:grid;place-items:center;width:58px;height:58px;margin-bottom:22px;color:var(--ink);background:var(--acid);box-shadow:9px 9px 0 rgba(184,242,56,.13)}.overlay-cube span{font-size:15px;margin-left:3px}.game-overlay>p{margin:0;color:var(--acid);font-size:8px;font-weight:900;letter-spacing:.2em}.game-overlay h2{margin:10px 0 17px;font:900 clamp(39px,5vw,72px)/1 var(--display);text-transform:uppercase}
.key-hint{display:grid;grid-template-columns:repeat(3,28px);grid-template-rows:28px 28px auto;gap:4px;margin:0 0 20px}.key-hint span{display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);font-size:9px;font-weight:900}.key-hint span:nth-child(1){grid-column:2}.key-hint span:nth-child(2){grid-row:2;grid-column:1}.key-hint span:nth-child(3){grid-row:2;grid-column:2}.key-hint span:nth-child(4){grid-row:2;grid-column:3}.key-hint small{grid-column:1/-1;margin-top:4px;color:rgba(255,255,255,.3);font-size:7px;letter-spacing:.12em;text-transform:uppercase}
.start-button{display:flex;align-items:center;gap:25px;min-width:190px;justify-content:space-between;padding:13px 16px;border:0;color:var(--ink);background:var(--acid);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:6px 6px 0 rgba(184,242,56,.14);transition:transform .2s,background .2s}.start-button:hover{transform:translateY(-3px);background:white}.start-button span{font-size:17px}.win-overlay{background:rgba(9,23,16,.9)}.win-star{display:grid;place-items:center;width:60px;height:60px;margin-bottom:20px;color:var(--ink);background:var(--acid);font-size:28px;transform:rotate(45deg)}.win-star::first-line{transform:rotate(-45deg)}.win-score{display:flex;flex-direction:column;margin-bottom:18px}.win-score small{color:rgba(255,255,255,.4);font-size:7px;letter-spacing:.15em}.win-score strong{margin:4px 0;color:var(--acid);font:900 34px/1 var(--display)}.win-score span{min-height:14px;color:white;font-size:9px;font-weight:800;text-transform:uppercase}
.toast{position:absolute;z-index:4;left:50%;bottom:20px;max-width:80%;padding:8px 14px;color:var(--ink);background:rgba(244,241,231,.92);font-size:9px;font-weight:850;letter-spacing:.05em;text-align:center;text-transform:uppercase;transform:translate(-50%,20px);opacity:0;transition:.25s;pointer-events:none}.toast.show{transform:translate(-50%,0);opacity:1}
.controls{display:none;align-items:center;justify-content:space-between;min-height:158px;padding:15px 20px;border-top:1px solid rgba(255,255,255,.1)}.d-pad{display:grid;grid-template-columns:repeat(3,43px);grid-template-rows:repeat(2,43px);gap:5px}.d-pad button,.action-controls button{border:1px solid rgba(255,255,255,.16);background:#11241b;touch-action:manipulation}.d-pad button:active,.action-controls button:active{color:var(--ink);background:var(--acid)}.d-pad button:nth-child(1){grid-column:2}.d-pad button:nth-child(2){grid-column:1;grid-row:2}.d-pad button:nth-child(3){grid-column:2;grid-row:2}.d-pad button:nth-child(4){grid-column:3;grid-row:2}.action-controls{display:flex;gap:8px}.action-controls button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:65px;height:65px}.action-controls span{font-size:22px}.action-controls small{margin-top:5px;color:rgba(255,255,255,.45);font-size:6px;font-weight:850;letter-spacing:.1em}
.desktop-help{display:flex;align-items:center;gap:22px;min-height:55px;padding:0 18px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.37);font-size:8px;text-transform:uppercase;letter-spacing:.04em}.desktop-help kbd{padding:3px 5px;color:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.16);font:700 8px var(--body)}.desktop-help button{margin-left:auto;border:0;color:rgba(255,255,255,.4);background:transparent;font-size:8px;text-transform:uppercase;cursor:pointer}.desktop-help button:hover{color:var(--acid)}
.game-footer{height:62px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.28);font-size:8px;letter-spacing:.1em}.game-footer p{margin:0;text-transform:none;letter-spacing:0}
.rules-dialog{width:min(calc(100% - 30px),540px);padding:38px;color:white;border:1px solid rgba(255,255,255,.15);background:#0d2018;box-shadow:0 30px 100px black}.rules-dialog::backdrop{background:rgba(2,8,5,.8);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:16px;top:14px;width:35px;height:35px;border:1px solid rgba(255,255,255,.15);background:transparent;font-size:22px;cursor:pointer}.dialog-label{margin:0;color:var(--acid);font-size:8px;font-weight:900;letter-spacing:.16em}.rules-dialog h2{margin:12px 0 25px;font:900 43px/1 var(--display);text-transform:uppercase}.rules-dialog ol{margin:0 0 25px;padding:0;list-style:none}.rules-dialog li{display:grid;grid-template-columns:35px 1fr;gap:12px;padding:13px 0;border-top:1px solid rgba(255,255,255,.1)}.rules-dialog li>span{color:rgba(255,255,255,.3);font-size:9px;font-weight:900}.rules-dialog li p{margin:0;color:rgba(255,255,255,.5);font-size:11px}.rules-dialog li strong{display:block;margin-bottom:3px;color:white;font-size:12px}.dialog-ok{width:100%;padding:13px;border:0;color:var(--ink);background:var(--acid);font-size:9px;font-weight:900;text-transform:uppercase;cursor:pointer}
@media(max-width:1120px){.game-main{grid-template-columns:230px minmax(0,1fr);gap:25px}.game-copy h1{font-size:70px}.mission-list{display:none}}
@media(max-width:850px){.game-shell{width:min(calc(100% - 24px),900px)}.game-main{grid-template-columns:1fr;padding:26px 0 34px}.game-copy{text-align:center}.game-copy h1{font-size:clamp(60px,15vw,90px)}.game-copy>p:not(.eyebrow){max-width:520px;margin:23px auto}.eyebrow{justify-content:center}.hud-item{min-width:auto;flex:1;padding:10px}.hud-item.best{margin-left:0}.desktop-help{display:none}.controls{display:flex}.game-footer{height:55px}.game-footer p{display:none}}
@media(max-width:560px){.game-shell{width:100%}.game-header{height:64px;margin:0 12px}.back-link{font-size:0}.back-link span{font-size:22px}.game-logo>span{width:32px;height:32px}.game-logo{grid-template-columns:34px auto}.game-main{padding-top:20px}.game-copy{padding:0 16px}.game-copy h1{font-size:64px}.game-copy>p:not(.eyebrow){font-size:12px}.game-card{border-inline:0}.hud{min-height:55px}.hud-item{justify-content:center;padding:8px 5px}.hud-item small{font-size:6px}.hud-item strong{font-size:13px}.hud-item.best{display:none}.hud-icon{display:none}.game-overlay h2{font-size:38px}.overlay-cube{width:48px;height:48px;margin-bottom:15px}.key-hint{margin-bottom:13px}.canvas-wrap canvas{min-height:305px;object-fit:cover}.controls{padding-inline:14px}.d-pad{grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px)}.action-controls button{width:59px;height:59px}.game-footer{padding:0 14px}.toast{bottom:10px}.rules-dialog{padding:30px 22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
