:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{inset:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media(prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}:root{font-family:Trebuchet MS,system-ui,sans-serif;color:#f3f4f6;background:#111827;font-synthesis:none;--ion-background-color:#111827;--ion-text-color:#f3f4f6;--gold:#f6c453;--muted:#91a1b6}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button{min-height:48px;border:1px solid #354153;background:#1c2736;color:#f3f4f6;padding:12px 18px;border-radius:8px;cursor:pointer;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#2a394b}button:focus-visible,select:focus-visible{outline:3px solid #44d17a;outline-offset:4px}button:disabled{cursor:default;opacity:.45}.primary{background:var(--gold);border-color:var(--gold);color:#18202a;font-weight:700}.primary:hover:not(:disabled){background:#ffda80}.shell{max-width:1120px;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));min-height:100%;display:flex;flex-direction:column}.masthead{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid #2a3647}.wordmark{font-weight:900;letter-spacing:-1px;font-size:25px;border:0;background:none;padding:0;display:flex;gap:8px;align-items:center}.wordmark img{width:28px;height:28px;image-rendering:pixelated}.wordmark-dot{color:var(--gold);margin-left:-8px}.edition{font-size:11px;letter-spacing:3px;color:var(--muted)}.menu-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center;flex:1;padding:60px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--gold);text-transform:uppercase}.hero-title{font-size:clamp(90px,12vw,160px);line-height:.95;letter-spacing:-10px;margin:22px 0}.hero-title span{color:var(--gold)}.tagline{font-size:20px;color:#bbc6d4;margin:24px 0 34px}.menu-buttons{display:grid;gap:10px}.menu-buttons button{display:flex;justify-content:space-between;align-items:center;min-height:54px;text-align:left}.menu-buttons button span{opacity:.6}.best{display:flex;justify-content:space-between;border-top:1px solid #354153;margin-top:28px;padding-top:20px;color:var(--muted);font-size:13px}.best strong{color:var(--gold);font-size:18px;font-variant-numeric:tabular-nums}.hero-art{position:relative;background:#172433;border:1px solid #354153;border-radius:20px;overflow:hidden;box-shadow:20px 20px #0b1220;aspect-ratio:1}.hero-art>img{position:relative;width:100%;height:100%;image-rendering:pixelated}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#263749 1px,transparent 1px),linear-gradient(90deg,#263749 1px,transparent 1px);background-size:32px 32px;opacity:.4}.art-caption{position:absolute;bottom:22px;left:24px;right:24px;display:flex;justify-content:space-between;color:var(--gold);font-family:monospace;font-size:12px;letter-spacing:3px}footer{display:flex;gap:14px;justify-content:center;color:#6e8097;font-size:10px;letter-spacing:3px;padding:20px}footer span{color:#44d17a}.panel{width:100%;max-width:580px;margin:35px auto;flex:1}.panel.wide{max-width:none}.panel h1{font-size:36px;letter-spacing:-1px;margin:28px 0}.text-button{background:none;border:0;padding-left:0;color:var(--muted)}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.level-grid button{text-align:left;display:flex;flex-direction:column;gap:25px;padding:24px}.level-number{font-size:36px;color:var(--gold);font-family:monospace}.level-grid strong{font-size:19px}.level-grid small{display:flex;width:100%;justify-content:space-between;color:var(--muted)}.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid #354153}.setting select{max-width:60%;padding:13px;background:#1c2736;border:1px solid #526179;color:#fff;border-radius:6px}.setting input{width:26px;height:26px;accent-color:var(--gold)}.help p{color:#bec9d6;line-height:1.65;display:flex;gap:18px}.help-number{color:var(--gold);font-family:monospace}.loading{text-align:center;display:grid;place-content:center}.loading img{width:120px;margin:auto}.notice{border:1px solid var(--gold);padding:12px;border-radius:6px;font-size:14px}.game-shell{max-width:940px;height:100dvh;min-height:0;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.game-shell .masthead{padding-bottom:6px;flex-shrink:0}.game-shell .wordmark{font-size:20px;min-height:32px}.game-layout{display:flex;flex-direction:column;min-height:0;flex:1;width:100%;max-width:720px;margin:auto}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 10px;flex-shrink:0}.game-heading h1{font-size:18px;margin:4px 0 0;line-height:1.2}.game-heading .eyebrow{font-size:9px}.game-actions{display:flex;gap:8px}.game-actions button{font-size:20px;width:48px;padding:6px}.hud{display:flex;justify-content:space-between;gap:8px;background:#1c2736;border:1px solid #354153;border-radius:8px 8px 0 0;padding:10px 16px;flex-shrink:0}.hud>div{display:flex;flex-direction:column;gap:3px}.hud>div>span{font-size:10px;color:var(--muted)}.hud strong{font-size:19px;font-family:monospace}.lives{color:#f18b92}.emerald-count{color:#44d17a}.board{position:relative;min-height:0;flex:1;display:flex;justify-content:center;align-items:center;background:#0b121e;border:1px solid #354153;border-top:0;overflow:hidden}.board canvas{display:block;width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated}.readiness{display:flex;gap:12px;align-items:center;font-size:10px;color:var(--muted);padding:8px 4px;flex-shrink:0}.readiness meter{width:100px;height:8px;accent-color:var(--gold)}.readiness>span:last-child{margin-left:auto;color:var(--gold)}.controls{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:20px;touch-action:none;-webkit-user-select:none;user-select:none;padding:4px 0}.dpad{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,48px);gap:5px}.dpad button{font-size:26px;padding:0;touch-action:none;line-height:1}.dpad .up{grid-area:1/2}.dpad .left{grid-area:2/1}.dpad .down{grid-area:2/2}.dpad .right{grid-area:2/3}.fire{width:100px;height:100px;border-radius:50%;border:2px solid var(--gold);color:var(--gold);background:#332d24;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:1px;touch-action:none;padding:4px}.fire>span{font-size:32px}.controls .held{background:var(--gold);color:#111827;transform:translateY(2px)}.control-mark{color:#344157;font-size:30px}.overlay{position:absolute;inset:0;background:#0b121edd;display:flex;align-items:center;justify-content:center;padding:12px;overflow:auto;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog{width:min(350px,100%);text-align:center;max-height:100%;overflow:auto;padding:12px}.dialog h2{font-size:25px;margin:8px 0 16px}.dialog p{font-size:13px;color:var(--muted)}.dialog .eyebrow{color:var(--gold)}.dialog button{display:block;width:100%;margin:8px 0;min-height:44px;padding:10px}.bonus{color:#ed79ae!important}@media(max-width:700px){.shell{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.menu-layout{grid-template-columns:1fr;gap:30px;padding:32px 0}.hero-art{display:none}.menu-copy{max-width:440px;width:100%;margin:auto}.hero-title{font-size:110px}.tagline{font-size:18px}.level-grid{grid-template-columns:repeat(2,1fr);gap:10px}.level-grid button{padding:16px;gap:18px}.level-grid strong,.game-heading h1{font-size:16px}.hud{padding:8px 10px}.hud strong{font-size:17px}.game-shell .edition{font-size:9px}.panel h1{font-size:30px}.board{flex:0 1 auto}.game-layout{justify-content:center}.controls{margin-top:auto}.overlay .dialog{padding:0}.dialog h2{font-size:20px}.dialog button{margin:5px 0;min-height:40px;padding:7px}}@media(orientation:landscape)and (max-height:650px){.game-shell{max-width:none}.game-shell .masthead{display:none}.game-layout{max-width:1100px;display:grid;grid-template-columns:170px minmax(0,1fr) 110px;grid-template-rows:auto auto minmax(0,1fr) auto;column-gap:12px}.game-heading{grid-area:1/1/2/4;padding:0 0 5px}.game-heading h1{font-size:14px}.game-heading .eyebrow{font-size:8px}.game-actions button{height:48px;min-height:48px}.hud{grid-area:2/2;padding:5px 10px}.board{grid-area:3/2}.readiness{grid-area:4/2}.controls{display:contents}.dpad{grid-area:3/1;align-self:end;margin-bottom:16px}.fire{grid-area:3/3;align-self:end;margin-bottom:16px}.control-mark{display:none}.hud strong{font-size:15px}.dialog h2{font-size:18px}.dialog .eyebrow{display:none}.dialog button{min-height:36px;padding:5px;margin:4px 0}.dialog p{margin:8px 0}.board canvas{height:100%;width:auto;max-width:100%}}.game-layout .board{flex:1}.board canvas{flex:none}
