
/* BRICK BREAKER game styles · Challenge Preview edition. The optional Ko-fi button loads its provider script separately. */
:root{color-scheme:dark;--bg:#0b0e16;--panel:#111620;--panel-2:#151b27;--line:#252d3b;--text:#f2f3f8;--muted:#9ba7bb;--lime:#d7fb86;--violet:#ab97ff;--cyan:#7ee3d5;--pink:#ed9ac1;--radius:18px;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:radial-gradient(ellipse at 50% 15%,#17152655,transparent 42%),var(--bg);color:var(--text);font-size:15px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.38}a{color:inherit;text-decoration:none}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid var(--lime);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}button{border:0}svg{flex-shrink:0}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:20px;z-index:200;padding:12px 20px;background:var(--lime);color:var(--bg);border-radius:9px}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line);background:#0b0e16aa}.header-inner{max-width:1248px;margin:auto;padding:0 36px;height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:6px;font-weight:850;letter-spacing:.025em;font-size:16px;white-space:nowrap}.brand>span:not(.brand-mark){font-weight:400;color:var(--muted)}.brand-mark{width:26px;height:26px;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-right:8px;transform:rotate(-9deg)}.brand-mark i{display:block;border-radius:2px;background:var(--violet)}.brand-mark i:last-child{background:var(--lime);border-radius:50%;transform:scale(.78)}.site-header nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600;height:100%}.site-header nav a{display:flex;align-items:center;height:100%;color:var(--muted);border-bottom:2px solid transparent;padding-top:2px}.site-header nav a:hover,.site-header nav a.nav-active{color:var(--text)}.site-header nav .nav-active{border-color:var(--lime)}.header-note{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:9px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);flex-shrink:0}main{max-width:1248px;padding:0 36px;margin:auto}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:37px 0 30px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.15em;color:var(--muted)}.hero .eyebrow{color:var(--violet);font-size:9px;letter-spacing:.19em;margin-bottom:12px}.hero h1{font-size:clamp(38px,4.3vw,60px);font-weight:850;letter-spacing:-.065em}.title-dot{color:var(--lime)}.hero-sub{font-size:15px;color:var(--muted);margin-top:10px}.hero-tags{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;padding-bottom:5px}.hero-tags span{border:1px solid var(--line);border-radius:100px;padding:5px 12px;font-size:10px;color:#c7cfdd;white-space:nowrap}.hero-tags span:first-child{color:var(--lime);border-color:#d7fb8633;background:#d7fb8606}.game-area{display:grid;grid-template-columns:minmax(175px,1fr) minmax(300px,480px) minmax(175px,1fr);gap:28px;align-items:start;padding-bottom:54px;scroll-margin-top:16px}.mission{padding-top:10px}.mission-top{display:flex;justify-content:space-between;align-items:center}.edition{font-size:10px;font-family:ui-monospace,monospace;color:#8490a5}.mission-number{font-size:112px;line-height:1.1;font-weight:750;letter-spacing:-.08em;color:var(--violet);margin:17px 0 5px}.mission h2{font-size:22px;letter-spacing:-.025em}.mission>p:not(.eyebrow){font-size:12px;line-height:1.85;color:var(--muted);margin-top:12px;max-width:240px}.mission-count{font-size:11px;color:#c2cbda;margin-top:20px}.mission-count>span:first-child{font-weight:800;color:var(--text)}.tiny-dot{padding:0 5px;color:#5a6578}.rule{height:1px;background:var(--line);margin:25px 0}.power-card{display:flex;gap:11px;align-items:center;margin-top:19px;border-radius:8px;transition:background .2s}.power-symbol{display:grid;place-items:center;width:35px;height:35px;border-radius:9px;font-weight:800;font-size:16px;flex-shrink:0}.power-symbol.wide{color:var(--violet);background:#ab97ff14;border:1px solid #ab97ff35}.power-symbol.multi{color:var(--lime);background:#d7fb8614;border:1px solid #d7fb8635}.power-symbol.slow{color:var(--cyan);background:#7ee3d514;border:1px solid #7ee3d535}.power-card strong{display:block;font-size:11px;font-weight:650}.power-card div>span{display:block;color:var(--muted);font-size:9px;margin-top:3px}.power-card[data-active="true"]{background:#d7fb860d;outline:1px solid #d7fb8633;outline-offset:6px}.tip-card{margin-top:28px;background:#ffffff03;border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;align-items:start;gap:10px}.tip-star{font-size:20px;color:var(--lime);line-height:1.4}.tip-card p{font-size:10px;line-height:1.7;color:var(--muted)}.tip-card strong{display:block;color:#dfe6f1;font-size:11px;margin-bottom:5px}.game-shell{background:var(--panel);border:1px solid #303849;border-radius:var(--radius);padding:0 14px 10px;box-shadow:0 20px 75px #0003;position:relative;min-width:0;scroll-margin-top:12px}.game-topbar{height:49px;display:flex;justify-content:space-between;align-items:center;gap:8px}.game-status{display:flex;align-items:center;gap:7px;min-width:0;font-size:8px;letter-spacing:.105em;color:var(--muted);font-weight:700}.game-status>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-actions{display:flex;align-items:center;gap:1px}.icon-button{width:40px;height:40px;display:grid;place-items:center;background:transparent;border:1px solid transparent;border-radius:9px;color:var(--muted);padding:0}.icon-button:hover{background:#ffffff07;color:var(--text);border-color:var(--line)}.icon-button[aria-pressed="true"]{color:var(--lime)}.icon-button .icon{width:17px;height:17px}.hud{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:10px;background:#0d111a;padding:12px 16px;margin-bottom:12px;gap:8px}.hud>div>span{font-size:8px;letter-spacing:.15em;color:var(--muted);display:block;margin-bottom:3px;font-weight:700}.hud strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.035em}.hud-level{text-align:center}.hud strong small{font-size:11px;color:#68758a;font-weight:500}.hud-lives{text-align:right}.hud-lives strong{display:flex;align-items:center;gap:7px}.heart{color:var(--pink);fill:#ed9ac130;width:17px;height:17px}.stage{position:relative;width:100%;aspect-ratio:480/620;margin:0 auto;background:#0a0e17;border:1px solid #283145;border-radius:11px;overflow:hidden;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none;outline-offset:-4px!important}.game-overlay{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(180deg,#090d1500 15%,#090d1538 32%,#090d1555 85%,#090d1500)}.overlay-card{text-align:center;padding:26px 23px 22px;background:linear-gradient(145deg,#171d2cfa,#101620fa);border:1px solid #394254;border-radius:17px;box-shadow:0 20px 65px #0008;width:100%;max-width:310px;transform:translateY(26px)}.overlay-eyebrow{display:block;font-size:8px;font-weight:750;letter-spacing:.18em;color:var(--violet);margin-bottom:15px}.overlay-card h2{font-size:42px;line-height:1.02;font-weight:800;letter-spacing:-.065em}.overlay-card p{font-size:11px;line-height:1.8;color:#adb8cb;margin:17px 0 21px;white-space:pre-line}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:9px;min-height:44px;padding:11px 16px;font-size:12px;font-weight:700;line-height:1.4;border:1px solid transparent;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button.primary{background:var(--lime);color:#182114;box-shadow:0 3px 16px #d7fb8612}.button.primary:hover{background:#e3ffab}.overlay-card .primary{width:100%;justify-content:space-between}.overlay-footnote{display:block;font-size:8px;letter-spacing:.13em;margin-top:16px;color:#94a0b4}.text-button{background:none;padding:8px 0;color:#d6deeb;font-size:11px;font-weight:650;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px}.text-button:hover{color:var(--lime)}.overlay-secondary{display:block;margin:6px auto -5px;min-height:38px}.overlay-challenges{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.overlay-challenges-label{grid-column:1/-1;font-size:7px;letter-spacing:.16em;color:var(--muted);font-weight:800;text-align:left;margin:0 2px -2px}.overlay-challenge{width:100%;min-height:56px;background:#ab97ff18;border-color:#ab97ff66;color:var(--violet);font-size:10px;letter-spacing:.02em;padding:8px 10px;text-align:left;justify-content:flex-start;gap:8px}.overlay-challenge:hover{background:#ab97ff2b;border-color:#ab97ff99}.overlay-challenge>span:first-child{font-size:17px;line-height:1}.overlay-challenge>span:last-child{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.overlay-challenge strong{font-size:11px;color:currentColor}.overlay-challenge small{font-size:8px;color:var(--muted);font-weight:650;margin-top:4px;white-space:nowrap}.overlay-challenge.challenge-expert{background:#ed9ac114;border-color:#ed9ac155;color:var(--pink)}.overlay-challenge.challenge-expert:hover{background:#ed9ac126;border-color:#ed9ac188}.overlay-challenges{grid-template-columns:1fr!important;margin:2px 0 11px!important}.overlay-challenges-label{text-align:center!important;margin:0 0 2px!important;color:var(--lime)!important;font-size:8px!important}.overlay-challenge{min-height:50px!important;border-width:2px!important;box-shadow:0 5px 18px #0002!important}.overlay-challenge strong{font-size:12px!important;letter-spacing:.03em}.overlay-card>.primary{margin-top:0}.stage.compact .overlay-card{padding-top:12px}.stage.compact .overlay-card h2{font-size:26px}.stage.compact .overlay-card p{margin:7px 0 9px}.stage.compact .overlay-challenges{margin:1px 0 7px!important}.stage.compact .overlay-challenge{min-height:42px!important}.stage.compact .overlay-challenge strong{font-size:10px!important}.stage.compact .overlay-challenge small{font-size:7px!important}.game-controls{display:flex;gap:7px;margin-top:12px}.control-primary{flex:1;background:#d7fb8611;border-color:#d7fb8630;color:var(--lime)}.control-primary:hover{background:#d7fb8622}.control-secondary{background:#ffffff04;border-color:var(--line);color:#c4cfdf}.control-secondary:hover{background:#ffffff0a}.restart-button{padding:10px 12px;min-width:44px}.canvas-help{font-size:8px;color:#8c99af;text-align:center;margin-top:10px;letter-spacing:.015em}.touch-help{display:none}.game-toast{position:absolute;left:16px;right:16px;top:40%;text-align:center;z-index:4;font-size:12px;font-weight:700;color:var(--lime);padding:9px 12px;background:#121b2af2;border:1px solid #455b35;border-radius:8px;opacity:0;transform:translateY(5px);pointer-events:none;transition:opacity .2s,transform .2s}.game-toast.visible{opacity:1;transform:translateY(0)}.game-toast.power-freeze{font-size:13px;padding:11px 14px;border-color:var(--lime);box-shadow:0 10px 30px #0006,0 0 0 1px #d7fb8622}.stage.power-freeze canvas{filter:saturate(.88) brightness(.92)}.effects{position:absolute;top:8px;left:8px;right:8px;display:flex;justify-content:center;gap:5px;pointer-events:none;z-index:2;min-height:20px}.effect-chip{background:#0b101bee;border:1px solid #4d4764;color:var(--violet);padding:3px 7px;border-radius:5px;font-size:8px;font-weight:700}.effect-chip.slow-chip{color:var(--cyan);border-color:#355a57}.effect-chip.multi-chip{color:var(--lime);border-color:#4c6134}.serve-hint{position:absolute;bottom:22%;left:10px;right:10px;text-align:center;pointer-events:none}.serve-hint strong{display:block;color:var(--lime);font-size:13px}.serve-hint span{display:block;color:var(--muted);font-size:10px;margin-top:4px}.noscript-note{position:absolute;inset:0;background:#111620;display:grid;place-content:center;text-align:center;padding:25px;font-size:16px;z-index:20}.record-card,.journey-card{background:#10151f;border:1px solid var(--line);border-radius:13px;padding:18px}.card-label{display:flex;justify-content:space-between;align-items:center;gap:8px}.card-label .icon{color:var(--lime);width:18px}.record-card>strong{display:block;font-family:ui-monospace,Consolas,monospace;font-size:35px;font-weight:500;letter-spacing:-.04em;line-height:1.25;color:var(--lime);margin-top:23px}.record-caption{display:block;font-size:9px;color:var(--muted);margin-top:8px}.journey-card{margin-top:17px}.journey-card .eyebrow{font-size:8px}.journey-count{font-family:ui-monospace,monospace;font-size:10px;color:#d2d8e5;white-space:nowrap}.journey-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:18px}.journey-node{aspect-ratio:1;border-radius:6px;border:1px solid #252d3b;background:#131a26;color:#7e8ba0;display:grid;place-items:center;font-size:10px;font-family:ui-monospace,monospace;position:relative}.journey-node.available{border-color:#ab97ff66;color:var(--violet);background:#ab97ff13}.journey-node.complete{border-color:#d7fb8644;color:var(--lime);background:#d7fb8612}.journey-node.current{outline:1px solid var(--violet);outline-offset:2px}.journey-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px;font-size:8px;color:var(--muted)}.journey-legend span{display:flex;align-items:center;gap:5px}.journey-legend i{width:5px;height:5px;border-radius:2px;background:var(--lime)}.journey-legend span:nth-child(2) i{background:var(--violet)}.journey-button{width:100%;border-top:1px solid var(--line);margin-top:13px;padding-top:13px;font-size:10px}.journey-button .icon{width:15px;height:15px}.howto-mini{padding:24px 4px 0}.howto-mini>p{display:flex;gap:11px;align-items:center;margin-top:17px;font-size:10px;color:var(--muted)}.howto-mini>p>.icon{color:#a3aec2}.howto-mini strong{display:block;color:#d4dce9;font-size:11px;margin-bottom:2px}.howto-mini>a{display:flex;justify-content:space-between;font-size:10px;color:var(--violet);margin-top:16px;min-height:38px;align-items:center}.storage-note{font-size:9px;line-height:1.7;color:#8c9ab0;display:flex;align-items:baseline;gap:7px;padding:14px 4px 0;border-top:1px solid var(--line);margin-top:9px}.storage-note .status-dot{width:4px;height:4px;background:#8492aa}.content-area{border-top:1px solid var(--line)}.intro-section{display:grid;grid-template-columns:1fr 1.3fr;gap:85px;padding:58px 0;border-bottom:1px solid var(--line)}.intro-section h2{font-size:35px;margin-top:15px;line-height:1.18}.intro-copy p{color:#acb7ca;font-size:14px;line-height:1.9}.inline-link{display:inline-flex;gap:14px;align-items:center;color:var(--lime);font-size:12px;font-weight:600;margin-top:18px;min-height:40px}
.game-recommendations{padding:34px 0 42px;border-bottom:1px solid var(--line)}
.recommendations-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}.recommendations-head h2{font-size:27px;margin-top:8px}.recommendations-head p:last-child{max-width:560px;color:var(--muted);font-size:12px;line-height:1.75}.recommendation-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.recommendation-card{min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:18px;display:flex;flex-direction:column;gap:11px}.recommendation-visual{height:92px;border-radius:12px;background:linear-gradient(135deg,var(--panel-2),color-mix(in srgb,var(--violet) 16%,var(--panel)));display:grid;place-items:center;font-size:35px;overflow:hidden}.recommendation-card:nth-child(2) .recommendation-visual{background:linear-gradient(135deg,var(--panel-2),color-mix(in srgb,var(--cyan) 18%,var(--panel)))}.recommendation-card:nth-child(3) .recommendation-visual{background:linear-gradient(135deg,var(--panel-2),color-mix(in srgb,var(--lime) 15%,var(--panel)))}.recommendation-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.recommendation-card h3{font-size:16px;letter-spacing:-.02em}.recommendation-card p{font-size:11px;line-height:1.65;color:var(--muted)}.recommendation-status{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--violet);white-space:nowrap}.recommendation-tags{display:flex;gap:6px;flex-wrap:wrap}.recommendation-tags span{font-size:9px;border:1px solid var(--line);padding:4px 7px;border-radius:999px;color:var(--muted)}.recommendation-note{margin-top:14px;color:var(--muted);font-size:10px;line-height:1.6}
.instructions{padding:58px 0;border-bottom:1px solid var(--line)}.instructions h2{font-size:30px;margin-top:13px}.instruction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:31px}.instruction-number{display:block;color:var(--violet);font-size:12px;font-family:ui-monospace,monospace;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:18px}.instruction-grid h3{font-size:16px;line-height:1.4}.instruction-grid p{font-size:12px;color:var(--muted);line-height:1.9;margin-top:10px}.seo-article{display:grid;grid-template-columns:1fr 1.3fr;gap:85px;padding:65px 0;border-bottom:1px solid var(--line)}.article-heading h2{font-size:34px;line-height:1.22;margin-top:16px}.article-lead{font-size:14px;color:var(--muted);margin-top:22px;line-height:1.8}.article-body p{font-size:14px;line-height:1.95;color:#adb8ca}.article-body h3{font-size:19px;margin:33px 0 13px;line-height:1.4;letter-spacing:-.02em}.faq-section{display:grid;grid-template-columns:1fr 1.3fr;gap:85px;padding:62px 0}.faq-section h2{font-size:35px;margin-top:16px}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{cursor:pointer;list-style:none;font-size:13px;font-weight:600;min-height:61px;padding:18px 30px 18px 0;position:relative;display:flex;align-items:center}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:2px;font-size:20px;color:var(--violet);font-weight:400}.faq-list details[open] summary::after{content:'−'}.faq-list p{font-size:13px;color:var(--muted);line-height:1.85;padding:0 15px 21px 0}.bottom-cta{border:1px solid #323c2c;background:linear-gradient(115deg,#172017,#121923 70%);border-radius:16px;display:flex;justify-content:space-between;align-items:center;padding:28px 34px;margin-bottom:65px;gap:22px}.bottom-cta .eyebrow{color:#a9bd91;font-size:9px}.bottom-cta h2{font-size:30px;margin-top:9px}.site-footer{max-width:1248px;margin:auto;padding:24px 36px 32px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer .brand{font-size:12px}.site-footer>span{font-size:9px;color:#8492a7}.modal{color:var(--text);background:#131a27;border:1px solid #3a4354;border-radius:18px;width:min(92vw,510px);max-height:85dvh;padding:27px;box-shadow:0 35px 100px #0008}.modal::backdrop{background:#050910c9;backdrop-filter:blur(5px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.modal h2{font-size:29px;margin-top:9px}.modal-description,.small-modal>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.85;margin-top:17px}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:23px 0 16px}.level-button{min-height:71px;background:#1a2230;border:1px solid #323e52;border-radius:9px;display:flex;align-items:start;flex-direction:column;justify-content:center;padding:10px 13px;text-align:left;position:relative}.level-button strong{font-family:ui-monospace,monospace;font-size:17px;color:var(--violet)}.level-button span{font-size:8px;color:#b6c1d1;margin-top:4px}.level-button.completed{border-color:#d7fb8644;background:#d7fb8607}.level-button.completed strong{color:var(--lime)}.level-button:hover:not(:disabled){border-color:var(--lime)}.level-button .level-check{position:absolute;top:10px;right:11px;color:var(--lime)}.modal-note{font-size:10px;color:var(--muted)}.small-modal{max-width:425px}.modal-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.is-focused{overflow:hidden}.is-focused .game-shell{position:fixed;inset:0;z-index:100;width:100%;height:100vh;height:100dvh;border-radius:0;border:0;max-width:none;padding:0 max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;background:#0b0e16;overflow:auto}.is-focused .game-topbar,.is-focused .hud,.is-focused .game-controls,.is-focused .canvas-help{width:100%;max-width:540px;flex-shrink:0}.is-focused .stage{flex-shrink:0}.is-focused .hud{padding:8px 16px;margin-bottom:8px}.is-focused .game-topbar{height:44px;min-height:44px}.is-focused .game-controls{margin-top:8px}.is-focused .canvas-help{margin-top:5px}.embed-mode{background:var(--bg)}.embed-mode .site-header,.embed-mode .hero,.embed-mode .mission,.embed-mode .session,.embed-mode .content-area,.embed-mode .site-footer{display:none}.embed-mode main{padding:0;max-width:none}.embed-mode .game-area{display:flex;justify-content:center;padding:0;gap:0}.embed-mode .game-shell{width:100%;max-width:520px}.embed-mode .skip-link{display:none}
@media(min-width:1350px){.game-area{gap:38px}}
@media(max-width:1060px){.header-inner,main,.site-footer{padding-left:24px;padding-right:24px}.game-area{grid-template-columns:minmax(140px,1fr) minmax(300px,450px) minmax(155px,1fr);gap:18px}.mission-number{font-size:96px}.record-card,.journey-card{padding:14px}.power-card{gap:8px}.power-card strong{font-size:10px}.power-card div>span{font-size:8px}.power-symbol{width:31px;height:31px;font-size:13px}.eyebrow{font-size:9px}.tip-card{padding:11px}.tip-card p{font-size:9px}.journey-grid{gap:5px}.intro-section,.seo-article,.faq-section{gap:45px}}
@media(max-width:850px){.game-area{grid-template-columns:minmax(300px,1.6fr) minmax(180px,1fr);gap:23px;max-width:760px;margin:auto}.mission{display:none}.game-shell{grid-column:1}.session{grid-column:2}.hero{padding-top:28px}.hero h1{font-size:46px}.hero-tags{max-width:230px}.header-note{display:none}.game-status{font-size:7px}.hero-sub{font-size:13px}.intro-section,.seo-article,.faq-section{grid-template-columns:1fr 1.35fr;gap:32px}.intro-section h2,.article-heading h2{font-size:28px}.instruction-grid{gap:24px}.instruction-grid h3{font-size:14px}.article-body p{font-size:13px}}
@media(max-width:620px){.header-inner{height:62px;padding:0 18px}.brand{font-size:13px}.brand-mark{width:22px;height:22px;gap:3px;margin-right:4px}.site-header nav{gap:19px;font-size:11px}.site-header nav a:nth-child(3){display:none}main{padding:0 14px}.hero{padding:25px 3px 22px;display:block}.hero .eyebrow{font-size:8px;margin-bottom:11px}.hero h1{font-size:43px}.hero-sub{font-size:12px;margin-top:9px}.hero-tags{max-width:none;justify-content:flex-start;padding:0;margin-top:15px;gap:6px}.hero-tags span{font-size:9px;padding:3px 10px}.game-area{display:flex;flex-direction:column;gap:24px;padding-bottom:32px}.game-shell{width:100%;max-width:480px;align-self:center;padding:0 10px 9px;border-radius:15px}.game-topbar{height:45px}.game-status{font-size:7px;letter-spacing:.08em}.hud{padding:10px 13px;margin-bottom:10px}.hud strong{font-size:23px}.hud>div>span{font-size:7px}.hud strong small{font-size:10px}.session{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px}.record-card,.journey-card{padding:14px;margin:0}.record-card>strong{font-size:30px;margin-top:20px}.record-caption{font-size:9px;max-width:120px;line-height:1.8}.journey-card .eyebrow,.record-card .eyebrow{font-size:7px;letter-spacing:.10em}.journey-count{font-size:9px}.journey-grid{margin-top:14px;gap:5px}.journey-node{font-size:9px;aspect-ratio:1.18}.journey-legend{gap:7px;font-size:7px}.journey-button{font-size:9px;margin-top:11px;padding-top:10px}.howto-mini{display:none}.storage-note{grid-column:1/-1;margin:0;border:0;padding:0 2px;font-size:9px}.game-controls{margin-top:10px;gap:6px}.game-controls .button{font-size:11px;padding:10px 12px}.canvas-help{font-size:8px;margin-top:8px}.overlay-card{max-width:290px;padding:23px 20px 20px;transform:translateY(18px)}.overlay-card h2{font-size:38px}.overlay-card p{font-size:11px;margin:14px 0 19px}.game-overlay{padding:20px}.intro-section,.seo-article,.faq-section{display:block;padding:36px 3px}.intro-section h2,.article-heading h2,.faq-section h2{font-size:29px}.intro-section h2 br{display:block}.intro-copy{margin-top:22px}.intro-copy p{font-size:13px}.instructions{padding:36px 3px}.instructions h2{font-size:27px}.instruction-grid{grid-template-columns:1fr;gap:24px;margin-top:25px}.instruction-number{padding-bottom:9px;margin-bottom:11px}.instruction-grid h3{font-size:17px}.instruction-grid p{font-size:13px;margin-top:8px}.article-heading{margin-bottom:26px}.article-lead{margin-top:15px;font-size:13px}.article-body p{font-size:14px;line-height:1.9}.article-body h3{font-size:19px}.faq-list{margin-top:25px}.faq-list summary{font-size:13px}.bottom-cta{padding:23px 20px;margin-bottom:35px;gap:18px}.bottom-cta h2{font-size:24px}.bottom-cta .eyebrow{font-size:7px}.bottom-cta .button{font-size:10px;padding:11px}.bottom-cta .button .icon{width:15px}.site-footer{padding:22px 18px 28px;flex-wrap:wrap;gap:14px}.site-footer>span{font-size:8px}.site-footer>span:last-child{width:100%}.modal{padding:22px}.modal h2{font-size:26px}.level-button{padding:9px 10px;min-height:65px}.level-grid{gap:7px}.is-focused .game-shell{padding-left:10px;padding-right:10px}.is-focused .game-status{font-size:8px}}
@media(pointer:coarse){.desktop-help{display:none}.touch-help{display:inline}.icon-button{width:44px;height:44px}.game-topbar{height:48px}}
@media(max-width:360px){.hero h1{font-size:38px}.game-controls .button{padding:10px 9px;font-size:10px}.overlay-card{padding:18px 17px}.overlay-card h2{font-size:31px}.overlay-eyebrow{font-size:7px;margin-bottom:10px}.overlay-card p{font-size:10px;margin:12px 0 14px}.overlay-footnote{font-size:7px;margin-top:12px}.hero-tags span{font-size:8px}.game-status{font-size:6px}.record-card,.journey-card{padding:11px}.journey-grid{gap:4px}.record-card>strong{font-size:26px}.bottom-cta{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover{transform:none}}
@media print{.site-header,.hero-tags,.game-area,.bottom-cta,.site-footer,.skip-link{display:none}body{background:white;color:black}.hero,.content-area,.intro-section,.instructions,.seo-article,.faq-section{border:0}.intro-section,.seo-article,.faq-section{display:block;padding:18px 0}.article-body p,.intro-copy p,.instruction-grid p,.faq-list p{color:#222}.article-heading{margin-bottom:18px}main{padding:0}h2,h3{break-after:avoid}p{orphans:3;widows:3}}

/* Keep all dialog actions reachable on short or narrow displays. */
.overlay-card{max-height:calc(100% - 12px);overflow:auto;scrollbar-width:thin}.stage.compact .game-overlay{padding:13px}.stage.compact .overlay-card{padding:16px 14px;transform:none}.stage.compact .overlay-card h2{font-size:30px}.stage.compact .overlay-eyebrow{font-size:7px;margin-bottom:9px}.stage.compact .overlay-card p{font-size:10px;line-height:1.6;margin:12px 0 14px}.stage.compact .overlay-card .primary{font-size:11px;padding:10px 12px}.stage.compact .overlay-footnote{font-size:7px;letter-spacing:.07em;margin-top:10px}.stage.compact .overlay-secondary{font-size:10px;min-height:35px}.stage.compact .overlay-challenges{gap:6px;margin-top:8px}.stage.compact .overlay-challenges-label{font-size:6px}.stage.compact .overlay-challenge{min-height:48px;padding:6px 8px}.stage.compact .overlay-challenge>span:first-child{font-size:14px}.stage.compact .overlay-challenge strong{font-size:10px}.stage.compact .overlay-challenge small{font-size:7px}

/* Alexo 1.1: logo and support stay in the existing top bar, including embed/focus mode.
   The text wordmark is only a replaceable placeholder, not an official supplied logo. */
.alexo-home{display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;min-width:44px;flex:0 0 auto;line-height:1;border-radius:6px;text-decoration:none;color:var(--text)}
.alexo-wordmark{font-size:25px;font-weight:850;letter-spacing:-.055em;white-space:nowrap}
.alexo-wordmark>span{color:var(--lime)}
.alexo-logo{display:block;width:76px;height:28px;object-fit:contain;object-position:left center}
.alexo-topbar{gap:6px;min-height:49px}
.alexo-game-links{display:flex;align-items:center;gap:10px;flex:1;min-width:0;height:100%}
.alexo-topbar .alexo-wordmark{font-size:21px}
.alexo-topbar .alexo-logo{width:64px;height:26px}
.alexo-support{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;min-width:44px;padding:4px 7px;border-radius:7px;color:var(--lime);font-size:11px;font-weight:650;line-height:1.2;text-decoration:none;text-align:start;overflow-wrap:anywhere}
.alexo-support:hover{background:#d7fb8612}
.alexo-support-heart{font-size:14px;line-height:1;flex-shrink:0}
.alexo-topbar .icon-actions{flex:0 0 auto}
.alexo-support-dialog p:not(.eyebrow){color:var(--muted);line-height:1.8;margin-top:16px;font-size:14px}
.is-focused .alexo-topbar{min-height:49px;height:auto;padding-block:2px}
@media(max-width:360px){.alexo-game-links{gap:4px}.alexo-topbar .alexo-wordmark{font-size:20px}.alexo-topbar .alexo-logo{width:54px}.alexo-support{padding-inline:5px;font-size:10px;gap:4px}.alexo-support-heart{font-size:12px}}
@media print{.alexo-topbar,.alexo-support-dialog{display:none}}

/* BRICK BREAKER: stable game name and intent-led reading navigation. */
.hero h1 { overflow-wrap:normal; }
.article-jumps { display:grid; height:auto; align-content:start; gap:0; margin-top:27px; max-width:320px; }
.article-jumps a { display:flex; height:auto; align-items:center; justify-content:space-between; gap:16px; min-height:44px; padding:10px 0; border-bottom:1px solid var(--line); font-size:12px; color:var(--muted); }
.article-jumps a:hover,.article-jumps a:focus-visible { color:var(--lime); }
.article-jumps a span { color:var(--violet); }
.article-body p a { text-decoration:underline; text-underline-offset:3px; color:inherit; }
.article-body h3 { scroll-margin-top:30px; }
@media(max-width:600px) { .hero h1 { font-size:clamp(28px,8.2vw,43px); letter-spacing:-.055em; } .article-jumps { max-width:none; margin-top:20px; } }
@media print { .article-jumps { display:none; } }


/* 100-level expansion */
.power-symbol.life{color:#ff7aa8;background:#ff7aa814;border:1px solid #ff7aa838}
.chapter-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:20px 0 4px}
.chapter-tab{min-height:38px;border-radius:8px;border:1px solid var(--line);background:#ffffff04;color:var(--muted);font:700 10px ui-monospace,monospace;padding:6px}
.chapter-tab:hover:not(:disabled),.chapter-tab[aria-selected="true"]{border-color:var(--violet);color:var(--text);background:#ab97ff12}
.chapter-tab.chapter-complete{border-color:#d7fb8644;color:var(--lime);background:#d7fb8608}
.chapter-tab:disabled{opacity:.3}
.journey-grid{grid-template-columns:repeat(5,1fr)!important}
.journey-node{aspect-ratio:1.35!important;font-size:9px!important}
:root[data-theme="light"] .chapter-tab{background:#f2f5fb;border-color:#c2cddd;color:#566680}
:root[data-theme="light"] .chapter-tab[aria-selected="true"]{background:#f0eafa;border-color:#aa96d8;color:#332c48}
:root[data-theme="light"] .chapter-tab.chapter-complete{background:#eff6e5;border-color:#b3c992;color:#53682f}
:root[data-theme="light"] .overlay-challenge{background:#eee9fb;border-color:#b9a9e1;color:#4f3498}:root[data-theme="light"] .overlay-challenge:hover{background:#e5dcf8;border-color:#947bcf}:root[data-theme="light"] .overlay-challenge.challenge-expert{background:#faeaf1;border-color:#dca8bd;color:#8a3157}:root[data-theme="light"] .overlay-challenge.challenge-expert:hover{background:#f6dce7;border-color:#c7819d}
@media(max-width:620px){.chapter-tabs{grid-template-columns:repeat(5,1fr);gap:5px}.chapter-tab{font-size:9px;padding:5px}.level-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:360px){.chapter-tab{font-size:8px}.level-grid{grid-template-columns:repeat(2,1fr)}}


@media(max-width:720px){.recommendations-head{display:block}.recommendations-head p:last-child{margin-top:10px}.recommendation-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;gap:12px;-webkit-overflow-scrolling:touch}.recommendation-card{flex:0 0 min(82vw,280px);scroll-snap-align:start}.game-recommendations{padding:28px 0 34px}}



/* Alexo · shared appearance tokens and BRICK BREAKER canvas palette.
   Both palettes have the same geometry, typography and game mechanics.
   Canvas reads these tokens once per appearance change, not every frame. */
:root {
  --primary-bg: #d7fb86;
  --primary-text: #182114;
  --primary-hover: #e3ffab;
  --theme-track: #0d111a;
  --theme-selected: #263c21;
  --theme-selected-text: #d7fb86;
  --theme-selected-line: #71874f;
  --canvas-bg: #0a0e17;
  --canvas-glow: #16172c;
  --canvas-dots: #8697c51d;
  --canvas-wall: #263146;
  --canvas-label: #93a2bc;
  --canvas-brick-1: #ab97ff;
  --canvas-brick-2: #9faeff;
  --canvas-brick-3: #80d8eb;
  --canvas-brick-4: #7ee3d5;
  --canvas-brick-5: #d7fb86;
  --canvas-brick-6: #ed9ac1;
  --canvas-brick-7: #f5c58e;
  --canvas-brick-edge: #ffffff42;
  --canvas-brick-shine: #ffffff4d;
  --canvas-brick-hp: #142032;
  --canvas-drop-bg: #101827;
  --canvas-wide: #ab97ff;
  --canvas-multi: #d7fb86;
  --canvas-slow: #7ee3d5;
  --canvas-ball: #efffcf;
  --canvas-ball-highlight: #ffffff;
  --canvas-ball-trail: #d7fb86;
  --canvas-ball-glow: #d7fb86;
  --canvas-paddle: #d7fb86;
  --canvas-paddle-detail: #1b2d1655;
  --canvas-loss-line: #3c4b64;
  --canvas-score: #d7fb86;
  --canvas-aim: #d7fb8670;
}
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f4f6fb;
  --panel: #ffffff;
  --panel-2: #edf1f8;
  --line: #d2d9e6;
  --text: #192740;
  --muted: #53627a;
  --lime: #316319;
  --violet: #6340bd;
  --cyan: #086b65;
  --pink: #ad3265;
  --primary-bg: #d7fb86;
  --primary-text: #182114;
  --primary-hover: #c8f069;
  --theme-track: #edf1f7;
  --theme-selected: #ffffff;
  --theme-selected-text: #3e287d;
  --theme-selected-line: #76669d;
  --canvas-bg: #eff3fa;
  --canvas-glow: #f9fbff;
  --canvas-dots: #8596b722;
  --canvas-wall: #a4b2c8;
  --canvas-label: #4f627f;
  --canvas-brick-1: #8758d2;
  --canvas-brick-2: #617bd2;
  --canvas-brick-3: #3696ba;
  --canvas-brick-4: #23877d;
  --canvas-brick-5: #688c1f;
  --canvas-brick-6: #b9497f;
  --canvas-brick-7: #b7682c;
  --canvas-brick-edge: #1d2e4944;
  --canvas-brick-shine: #ffffff45;
  --canvas-brick-hp: #ffffff;
  --canvas-drop-bg: #ffffff;
  --canvas-wide: #6340bd;
  --canvas-multi: #316319;
  --canvas-slow: #086b65;
  --canvas-ball: #192d4b;
  --canvas-ball-highlight: #aabdda;
  --canvas-ball-trail: #29486e;
  --canvas-ball-glow: #192d4b;
  --canvas-paddle: #294977;
  --canvas-paddle-detail: #ffffff90;
  --canvas-loss-line: #9caec6;
  --canvas-score: #316319;
  --canvas-aim: #294977a0;
}

/* Direct, touch-friendly controls: no separate dialog or reload needed. */
.theme-toolbar {
  display: flex; align-items: center; gap: 10px;
  width: 100%; min-height: 46px; margin: 0 0 10px;
}
.theme-caption {
  color: var(--muted); font-size: 9px; font-weight: 750;
  letter-spacing: .1em; text-transform: uppercase; flex: 0 0 auto;
}
.theme-options {
  margin-left: auto; display: flex; align-items: stretch; gap: 2px;
  padding: 2px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--theme-track); min-width: 0;
}
.theme-option {
  display: inline-flex; justify-content: center; align-items: center; gap: 5px;
  min-height: 44px; min-width: 64px; padding: 6px 10px;
  background: transparent; border: 1px solid transparent; border-radius: 7px;
  font-size: 11px; font-weight: 650; line-height: 1.2; color: var(--muted);
}
.theme-option .icon { width: 15px; height: 15px; }
.theme-option:hover { color: var(--text); border-color: var(--line); }
.theme-option[aria-pressed="true"] {
  background: var(--theme-selected); color: var(--theme-selected-text);
  border-color: var(--theme-selected-line); box-shadow: 0 1px 4px #00000010;
}
.theme-option:focus-visible { outline: 3px solid var(--violet); outline-offset: 2px; }
.is-focused .theme-toolbar { max-width: 540px; flex-shrink: 0; margin-bottom: 8px; }
.appearance-note {
  margin-top: 28px; display: flex; align-items: flex-start; gap: 14px;
  padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px;
  background: var(--panel);
}
.appearance-note > .icon { color: var(--violet); margin-top: 3px; }
.appearance-note strong { font-size: 13px; }
.appearance-note p { color: var(--muted); font-size: 12px; line-height: 1.8; margin-top: 4px; }
.button.primary { background: var(--primary-bg); color: var(--primary-text); }
.button.primary:hover { background: var(--primary-hover); }
.stage { background: var(--canvas-bg); }

/* Light surfaces: UI, pop-ups and prose match the actual light canvas. */
:root[data-theme="light"] body { background: radial-gradient(ellipse at 50% 8%, #ece5ff70, transparent 40%), var(--bg); }
:root[data-theme="light"] .site-header { background: #f9faffd9; }
:root[data-theme="light"] .hero-tags span { color: var(--muted); background: #ffffff80; }
:root[data-theme="light"] .hero-tags span:first-child { color: #316319; border-color: #b8cb9b; background: #eff7e4; }
:root[data-theme="light"] .edition,
:root[data-theme="light"] .mission-count,
:root[data-theme="light"] .tiny-dot,
:root[data-theme="light"] .journey-count,
:root[data-theme="light"] .canvas-help,
:root[data-theme="light"] .storage-note,
:root[data-theme="light"] .site-footer > span { color: var(--muted); }
:root[data-theme="light"] .power-symbol.wide { background: #efe8fc; border-color: #c6b7e8; }
:root[data-theme="light"] .power-symbol.multi { background: #edf5df; border-color: #bfd299; }
:root[data-theme="light"] .power-symbol.slow { background: #e0f3ef; border-color: #a7cfc7; }
:root[data-theme="light"] .power-card[data-active="true"] { background: #e8f4dc; outline-color: #b2c798; }
:root[data-theme="light"] .tip-card { background: #ffffffb3; }
:root[data-theme="light"] .tip-card strong,
:root[data-theme="light"] .howto-mini strong { color: var(--text); }
:root[data-theme="light"] .game-shell { border-color: #c1cbdd; box-shadow: 0 18px 65px #38496715; }
:root[data-theme="light"] .icon-button:hover { background: #eaf0f8; }
:root[data-theme="light"] .hud { background: #f3f6fb; }
:root[data-theme="light"] .hud strong small { color: var(--muted); }
:root[data-theme="light"] .heart { fill: #ad326515; }
:root[data-theme="light"] .stage { border-color: #b3c0d5; }
:root[data-theme="light"] .game-overlay { background: linear-gradient(180deg, #f0f4fb00 15%, #f0f4fb38 32%, #f0f4fb88 85%, #f0f4fb00); }
:root[data-theme="light"] .overlay-card { background: linear-gradient(145deg, #fffffffc, #f5f7fcfc); border-color: #b4c1d7; box-shadow: 0 18px 50px #25395824; }
:root[data-theme="light"] .overlay-card p,
:root[data-theme="light"] .overlay-footnote { color: var(--muted); }
:root[data-theme="light"] .text-button { color: var(--text); }
:root[data-theme="light"] .text-button:hover { color: var(--violet); }
:root[data-theme="light"] .control-primary { background: #ecf5df; border-color: #acbe95; color: #31541d; }
:root[data-theme="light"] .control-primary:hover { background: #e2efce; }
:root[data-theme="light"] .control-secondary { background: #f2f5fa; border-color: #c0cada; color: #34445e; }
:root[data-theme="light"] .control-secondary:hover { background: #e8eef7; }
:root[data-theme="light"] .game-toast { background: #fffffff5; border-color: #9db883; color: #31541d; }
:root[data-theme="light"] .effect-chip { background: #fffffff5; border-color: #ad98d9; }
:root[data-theme="light"] .effect-chip.slow-chip { border-color: #7faea6; }
:root[data-theme="light"] .effect-chip.multi-chip { border-color: #a4b881; }
:root[data-theme="light"] .noscript-note { background: var(--panel); }
:root[data-theme="light"] .record-card,
:root[data-theme="light"] .journey-card { background: #ffffff; }
:root[data-theme="light"] .journey-node { color: #566680; border-color: #ccd5e3; background: #f0f3f8; }
:root[data-theme="light"] .journey-node.available { color: var(--violet); border-color: #b7a4df; background: #f0eafa; }
:root[data-theme="light"] .journey-node.complete { color: var(--lime); border-color: #b3c992; background: #eff6e5; }
:root[data-theme="light"] .howto-mini > p > .icon { color: var(--muted); }
:root[data-theme="light"] .storage-note .status-dot { background: var(--muted); }
:root[data-theme="light"] .intro-copy p,
:root[data-theme="light"] .article-body p { color: #495c77; }
:root[data-theme="light"] .bottom-cta { border-color: #bdcfa7; background: linear-gradient(115deg, #eaf3dd, #f0f4fa 85%); }
:root[data-theme="light"] .bottom-cta .eyebrow { color: #45602f; }
:root[data-theme="light"] .modal { background: #ffffff; border-color: #b5c1d5; box-shadow: 0 25px 100px #182d4444; }
:root[data-theme="light"] .modal::backdrop { background: #25344c80; }
:root[data-theme="light"] .level-button { background: #f2f5fb; border-color: #b6c4d9; }
:root[data-theme="light"] .level-button span { color: #53647e; }
:root[data-theme="light"] .level-button.completed { border-color: #b3c992; background: #f0f6e6; }
:root[data-theme="light"] .is-focused .game-shell { background: var(--bg); box-shadow: none; }
:root[data-theme="light"] .embed-mode { background: var(--bg); }
:root[data-theme="light"] .alexo-support:hover { background: #eaf2dd; }
:root[data-theme="light"] .skip-link { color: #ffffff; }

@media (max-width: 365px) {
  .theme-caption { display: none; }
  .theme-options { margin-left: 0; width: 100%; }
  .theme-option { flex: 1; padding-inline: 7px; }
}
@media (max-width: 600px) {
  .appearance-note { padding: 15px; gap: 10px; }
}
@media print {
  .theme-toolbar { display: none; }
  :root[data-theme="light"] body { background: white; color: black; }
}

/* Leave room for actions on small screens; completed-run overlays can scroll. */
.stage.compact .overlay-card { padding: 12px; }
.stage.compact .overlay-card h2 { font-size: 28px; }
.stage.compact .overlay-eyebrow { font-size: 6.5px; margin-bottom: 7px; }
.stage.compact .overlay-card p { font-size: 9.5px; line-height: 1.5; margin: 8px 0 10px; }
.stage.compact .overlay-footnote { font-size: 6.5px; margin-top: 8px; }

/* Use the spare width, rather than shrinking the game, in phone landscape focus mode. */
@media (min-width: 620px) and (max-height: 500px) and (orientation: landscape) {
  .is-focused .game-shell {
    display: grid; grid-template-columns: 320px auto;
    grid-template-rows: repeat(4, min-content) 1fr;
    justify-content: center; align-content: start; align-items: start;
    column-gap: 24px; padding-top: max(8px, env(safe-area-inset-top));
  }
  .is-focused .game-topbar { grid-column: 1; grid-row: 1; }
  .is-focused .theme-toolbar { grid-column: 1; grid-row: 2; }
  .is-focused .hud { grid-column: 1; grid-row: 3; }
  .is-focused .game-controls { grid-column: 1; grid-row: 4; }
  .is-focused .canvas-help { grid-column: 1; grid-row: 5; }
  .is-focused .stage { grid-column: 2; grid-row: 1 / 6; align-self: start; }
}




/* Ko-fi header button: same purple in both themes; no floating overlay. */
.game-shell { container-type: inline-size; container-name: alexo-game; }
.alexo-topbar { height: auto; min-height: 56px; padding-block: 4px; }
.alexo-game-links { gap: 9px; }
.alexo-kofi { --kofi-color: #ca73f5; display: flex; align-items: center; min-width: 0; max-width: 100%; }
.alexo-kofi a.alexo-kofi-button,
:root[data-theme="light"] .alexo-kofi a.alexo-kofi-button {
  display: inline-flex !important; justify-content: center; align-items: center;
  gap: 7px; min-width: 44px; min-height: 44px; max-width: 100%; height: auto !important;
  margin: 0 !important; padding: 10px 12px !important;
  border: 1px solid #66357d !important; border-radius: 9px !important;
  background: var(--kofi-color) !important; color: #251331 !important;
  box-shadow: none !important; text-shadow: none !important;
  font-family: inherit !important; font-size: 12px !important; font-weight: 750 !important;
  line-height: 1.35 !important; letter-spacing: normal !important;
  text-decoration: none !important; text-align: center !important;
  white-space: normal !important; overflow-wrap: anywhere;
  cursor: pointer; transition: filter .15s ease, border-color .15s ease;
}
.alexo-kofi .alexo-kofi-button:hover { filter: brightness(1.06); border-color: #251331 !important; }
.alexo-kofi .alexo-kofi-button:focus-visible { outline: 3px solid var(--text); outline-offset: 3px; }
.alexo-kofi .alexo-kofi-button span {
  color: inherit !important; font: inherit !important; line-height: inherit !important;
  text-shadow: none !important; white-space: normal !important;
}
.alexo-kofi .alexo-kofi-button .kofitext { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.alexo-kofi .alexo-kofi-button img {
  width: 23px !important; height: 19px !important; margin: 0 !important;
  object-fit: contain; vertical-align: middle; flex: 0 0 auto;
  animation: none !important; transform: none !important;
}
.alexo-kofi .alexo-support-heart { font-size: 15px !important; }
/* Use component width, so the same layout also works inside an iframe. */
@container alexo-game (max-width: 400px) {
  .alexo-topbar { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3px 8px; padding-block: 3px 8px; }
  .alexo-topbar .alexo-game-links { display: contents; }
  .alexo-topbar .alexo-home { grid-column: 1; grid-row: 1; justify-self: start; }
  .alexo-topbar .icon-actions { grid-column: 2; grid-row: 1; }
  .alexo-topbar .alexo-kofi { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .alexo-kofi .alexo-kofi-button { width: 100%; }
}
/* Focus landscape has a 320px control column inside a wider game shell. */
@media (min-width: 620px) and (max-height: 500px) and (orientation: landscape) {
  .is-focused .alexo-topbar { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3px 8px; padding-block: 3px 8px; }
  .is-focused .alexo-topbar .alexo-game-links { display: contents; }
  .is-focused .alexo-topbar .alexo-home { grid-column: 1; grid-row: 1; justify-self: start; }
  .is-focused .alexo-topbar .icon-actions { grid-column: 2; grid-row: 1; }
  .is-focused .alexo-topbar .alexo-kofi { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .is-focused .alexo-kofi .alexo-kofi-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .alexo-kofi * { animation: none !important; transition: none !important; } }




/* Compact game header: theme, sound and fullscreen in one row; support beneath. */
.control-topbar {
  display:flex; align-items:center; gap:6px; width:100%; min-height:52px; height:auto;
  padding:4px 0; margin:0;
}
.control-topbar .theme-options { margin:0; flex:1 1 auto; min-width:0; }
.control-topbar .theme-option { min-width:0; flex:1 1 0; padding:6px 8px; }
.topbar-actions { display:flex; align-items:stretch; gap:4px; flex:0 0 auto; }
.topbar-action {
  display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:44px;
  padding:6px 9px; border:1px solid var(--line); border-radius:8px; background:var(--theme-track);
  color:var(--text); font-size:10px; font-weight:700; line-height:1; white-space:nowrap;
}
.topbar-action .icon { width:16px; height:16px; }
.topbar-action:hover { border-color:var(--violet); }
.topbar-action[aria-pressed="true"] { background:var(--theme-selected); border-color:var(--theme-selected-line); color:var(--theme-selected-text); }
.focus-action { min-width:82px; border-color:color-mix(in srgb, var(--violet) 55%, var(--line)); }
.game-support-row { width:100%; display:flex; justify-content:center; margin:0 0 8px; }
.game-support-row .alexo-kofi { width:100%; }
.game-support-row .alexo-kofi-button { width:100%; min-height:40px !important; padding:7px 12px !important; }
.is-focused .game-support-row { width:100%; max-width:540px; flex-shrink:0; }
@media (max-width: 430px) {
  .control-topbar { gap:4px; min-height:48px; padding:2px 0; }
  .control-topbar .theme-options { gap:1px; padding:1px; }
  .control-topbar .theme-option { min-height:42px; padding:5px 5px; font-size:9px; gap:3px; }
  .control-topbar .theme-option .icon { width:13px; height:13px; }
  .topbar-actions { gap:3px; }
  .topbar-action { min-height:42px; padding:5px 7px; font-size:9px; gap:3px; }
  .topbar-action .icon { width:14px; height:14px; }
  .focus-action { min-width:72px; }
  .game-support-row { margin-bottom:6px; }
  .game-support-row .alexo-kofi-button { min-height:36px !important; padding:6px 10px !important; font-size:11px !important; }
}
@media (max-width: 350px) {
  .control-topbar .theme-option { min-width:0; padding-inline:3px; font-size:8px; }
  .control-topbar .theme-option .icon { width:12px; height:12px; }
  .topbar-action { padding-inline:5px; font-size:8px; }
  .focus-action { min-width:64px; }
}
@media (min-width: 620px) and (max-height: 500px) and (orientation: landscape) {
  .is-focused .control-topbar { grid-column:1; grid-row:1; }
  .is-focused .game-support-row { grid-column:1; grid-row:2; }
  .is-focused .hud { grid-column:1; grid-row:3; }
  .is-focused .game-controls { grid-column:1; grid-row:4; }
  .is-focused .canvas-help { grid-column:1; grid-row:5; }
  .is-focused .stage { grid-column:2; grid-row:1 / 6; }
}

/* Seven-digit score reserve: 0–9.999.999 fits without layout jumps; larger scores may grow naturally. */
.score-number {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  white-space: nowrap;
}
.hud-score strong {
  display: inline-block;
  min-width: 9ch; /* room for seven digits plus German grouping separators */
  text-align: left;
}
.record-card > strong.score-number {
  font-size: clamp(22px, 2.7vw, 35px);
  letter-spacing: -0.055em;
}
@media (max-width: 365px) {
  .hud-score strong { font-size: 21px; min-width: 9ch; }
  .record-card > strong.score-number { font-size: 22px; }
}

/* Direct home escape next to appearance controls; remains available in focus/fullscreen mode. */
.game-home-link{width:44px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--theme-track);color:var(--text);text-decoration:none;flex:0 0 44px}.game-home-link:hover{border-color:var(--violet);color:var(--violet)}.game-home-link .icon{width:18px;height:18px}
@media(max-width:430px){.game-home-link{width:42px;min-width:42px;min-height:42px;flex-basis:42px}.game-home-link .icon{width:15px;height:15px}}
@media(max-width:350px){.game-home-link{width:38px;min-width:38px;flex-basis:38px}}
