:root{color-scheme:dark;--bg:#091426;--deep:#07101f;--surface:#14243b;--surface2:#172943;--line:#2a3a53;--soft:#a8b9cc;--white:#f2f6ff;--mint:#56e6b0;--violet:#bd9aff;--amber:#ffbf6e;--pill:#1a3049;--radius:22px;--shadow:0 22px 70px rgba(1,7,22,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased}body::before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;height:740px;pointer-events:none;background:radial-gradient(circle at 18% 18%,rgba(86,230,176,.11),transparent 35%),radial-gradient(circle at 79% 26%,rgba(189,154,255,.10),transparent 35%)}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{opacity:.36;cursor:not-allowed}a:focus-visible,button:focus-visible{outline:3px solid var(--mint);outline-offset:4px}img,canvas{display:block;max-width:100%}p{line-height:1.7}.shell{max-width:1192px;margin:0 auto;padding-left:28px;padding-right:28px}.skip-link{position:absolute;left:12px;top:-90px;background:var(--mint);color:var(--deep);padding:12px;z-index:99}.skip-link:focus{top:8px}.eyebrow{font-size:11px;font-weight:850;letter-spacing:.19em;text-transform:uppercase;color:var(--mint)}h1,h2,h3{font-weight:760;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(3.45rem,6.1vw,6rem);margin:16px 0 20px}h2{font-size:clamp(2rem,4vw,3.65rem);margin:0 0 19px}h3{font-size:1.2rem;margin:0 0 11px}h1 em,h2 em{font-style:normal;color:var(--mint)}.text-soft{color:var(--soft)}.tiny-label{font-size:11px;letter-spacing:.13em;font-weight:850;text-transform:uppercase;color:#91a8c3}.section-intro{max-width:660px;font-size:1.1rem;color:var(--soft);line-height:1.75}
.site-header{position:relative;z-index:9;border-bottom:1px solid rgba(183,204,232,.08);background:rgba(8,19,36,.93)}.header-inner{min-height:86px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:13px;min-width:max-content}.brand-glyph{width:38px;height:38px;display:flex;align-items:center;justify-content:center;position:relative}.brand-glyph i{display:block;position:absolute;width:12px;height:12px;border-radius:50%;box-shadow:0 0 16px currentColor}.brand-glyph i:nth-child(1){color:var(--mint);background:var(--mint);left:3px;top:5px}.brand-glyph i:nth-child(2){color:var(--violet);background:var(--violet);right:3px;top:5px}.brand-glyph i:nth-child(3){color:var(--amber);background:var(--amber);left:13px;bottom:3px}.brand-name{font-size:24px;font-weight:900;letter-spacing:-.085em;line-height:.96}.brand-name sup{font-size:11px;vertical-align:super;letter-spacing:0;margin-left:2px}.brand-sub{display:block;font-size:9px;letter-spacing:.105em;margin-top:7px;color:#95a9c2;font-weight:800}.site-nav{display:flex;align-items:center;justify-content:center;flex:1;gap:24px}.site-nav a{font-size:13px;font-weight:690;color:#b2c2d7;transition:color .16s}.site-nav a:hover,.site-nav a[aria-current="page"]{color:#fff}.header-actions{display:flex;align-items:center;gap:12px}.header-sound{color:#9eb2cb;background:transparent;border:0;font-size:12px;white-space:nowrap}.mobile-menu{display:none;border:1px solid var(--line);background:var(--surface);color:var(--white);padding:9px;border-radius:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-align:center;border-radius:12px;padding:13px 21px;min-height:46px;font-size:13px;font-weight:800;border:1px solid transparent;line-height:1.3;transition:transform .13s,background .15s,border-color .15s;white-space:normal}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--mint);color:#061b1a;box-shadow:0 10px 36px rgba(86,230,176,.11)}.btn-primary:hover{background:#88f7d0}.btn-secondary{color:#f2f6ff;background:#273950;border-color:#395067}.btn-secondary:hover{background:#344d66}.btn-accent{background:var(--violet);color:#141029}.btn-accent:hover{background:#d1b9ff}.btn-outline{background:transparent;border-color:#3a4f68;color:var(--white)}.btn-outline:hover{border-color:var(--mint)}.btn-compact{padding:10px 16px;min-height:40px;border-radius:10px;font-size:12px}.btn-ghost{background:rgba(255,255,255,.045);border:1px solid #30425a;color:#e0e8f8}.btn-ghost:hover{background:rgba(255,255,255,.10)}
.home-hero{display:grid;grid-template-columns:1.03fr .97fr;min-height:600px;align-items:center;gap:32px;padding-top:75px;padding-bottom:82px}.hero-words{max-width:620px}.hero-words p{font-size:18px;color:#b0c2da;line-height:1.75;max-width:510px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 24px}.hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:17px;color:#8299b1;font-size:12px;font-weight:650}.hero-meta span::before{content:'✓';color:var(--mint);margin-right:7px}.hero-meta span:last-child::before{content:'◈';color:var(--amber)}.triple-art{position:relative;display:grid;gap:12px;transform:rotate(-3deg);padding:20px}.art-board{display:flex;gap:14px;align-items:center;padding:19px;border-radius:20px;background:#13243a;border:1px solid rgba(255,255,255,.105);box-shadow:0 22px 55px rgba(0,0,0,.20);transform:translateX(var(--offset,0));position:relative}.art-board:nth-child(1){--offset:-10px}.art-board:nth-child(2){--offset:20px}.art-board:nth-child(3){--offset:-3px}.art-board::after{content:'';position:absolute;inset:-1px;border-radius:20px;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}.art-board .art-tiles{flex:0 0 108px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.art-tiles span{display:block;background:#24364d;width:100%;aspect-ratio:1;border-radius:5px}.art-tiles span.wall{background:#3e4e62}.art-tiles span.goal{border:2px dashed var(--art-color);background:transparent}.art-tiles span.player{background:var(--art-color);box-shadow:0 0 15px var(--art-color);border-radius:50%;transform:scale(.69)}.art-label{color:var(--art-color);font-size:12px;letter-spacing:.16em;font-weight:900}.art-copy strong{display:block;font-size:21px;margin:5px 0}.art-copy small{color:#93a4ba;line-height:1.5}.floating-orbit{position:absolute;border-radius:50%;filter:blur(45px);width:200px;height:200px;pointer-events:none;z-index:-1}.floating-orbit.one{background:rgba(189,154,255,.16);right:10%;top:15%}.floating-orbit.two{background:rgba(86,230,176,.15);left:5%;bottom:6%}.floating-note{position:absolute;top:5px;right:3px;font-weight:800;font-size:10px;padding:8px 12px;border:1px solid #30445a;background:#11223a;border-radius:30px;color:#c8d6eb;transform:rotate(3deg)}
.micro-line{border-top:1px solid #203046;border-bottom:1px solid #203046;background:rgba(20,36,59,.24)}.micro-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:20px;padding-bottom:20px}.micro-inner div{display:flex;align-items:center;gap:10px;font-weight:680;font-size:12px;color:#aac0d8}.micro-inner b{font-size:19px;color:var(--mint);font-weight:780}.content-section{padding-top:92px;padding-bottom:92px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:32px}.section-head p{max-width:475px;color:var(--soft)}.rule-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.rule-card{border:1px solid #293d56;border-radius:23px;background:linear-gradient(155deg,#162a43,#112038);padding:28px;min-height:265px;position:relative;overflow:hidden}.rule-card::before{content:'';position:absolute;right:-50px;top:-55px;width:170px;height:170px;background:var(--rule-color);opacity:.07;filter:blur(30px);border-radius:50%}.rule-num{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--rule-color),transparent 86%);color:var(--rule-color);font-weight:900;margin-bottom:24px}.rule-card h3{font-size:24px}.rule-card p{color:#a4b7d0;font-size:14px}.rule-card strong{font-size:12px;color:var(--rule-color);letter-spacing:.14em;text-transform:uppercase}.banner-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;border-radius:28px;background:linear-gradient(115deg,#1a3850,#16353a);border:1px solid #30535c;padding:46px 52px}.banner-cta h2{font-size:clamp(1.85rem,3vw,2.7rem)}.banner-cta p{color:#b7d0d3}.small-note{font-size:12px;color:#8299b1}
.page-hero{padding-top:65px;padding-bottom:37px}.page-hero.compact{padding-bottom:22px}.page-hero h1{font-size:clamp(2.7rem,5vw,4.3rem);margin-bottom:18px}.page-hero p{color:#b1c0d5;max-width:680px}.breadcrumbs{font-size:12px;color:#788da7}.breadcrumbs a:hover{color:var(--mint)}.breadcrumbs span{margin:0 9px;color:#4b6280}
.game-container{padding-bottom:70px}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:25px}.game-heading h1{font-size:clamp(2rem,3.2vw,3rem);margin:9px 0 4px}.game-heading p{margin:0;color:#95aac1;font-size:13px}.game-badge{padding:10px 15px;background:#182b45;border:1px solid #31465f;color:var(--mint);border-radius:80px;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.game-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.game-meta a{color:#a6b7cb;font-size:12px}.game-statbar{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:19px}.game-stat{padding:16px 20px;border:1px solid #2b3e58;background:linear-gradient(160deg,#15273e,#122138);border-radius:15px}.game-stat strong{display:block;font-size:23px;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.game-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#90a3bc;font-weight:750}.world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;touch-action:none}.world-card{--world-color:var(--mint);background:linear-gradient(180deg,#162942,#122139);border:1px solid #2b3f58;border-radius:21px;padding:18px;min-width:0;transition:border-color .2s,box-shadow .2s}.world-card.violet{--world-color:var(--violet)}.world-card.amber{--world-color:var(--amber)}.world-card.at-goal{border-color:color-mix(in srgb,var(--world-color),#2b3f58 35%);box-shadow:inset 0 0 21px color-mix(in srgb,var(--world-color),transparent 93%)}.world-card-top{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:8px}.world-name{font-size:13px;letter-spacing:.18em;font-weight:900;color:var(--world-color)}.world-number{font-size:10px;color:#8298b2;font-weight:750}.world-rule{font-size:12px;color:#9fb1c7;min-height:19px;margin:0 0 8px;line-height:1.5}.canvas-wrap{padding:4px;background:#0c1b2f;border:1px solid #243954;border-radius:13px;overflow:hidden;max-width:320px;margin:0 auto}.world-canvas{display:block;width:100%;aspect-ratio:1;touch-action:none}.world-bottom{margin-top:12px;color:#96aac1;font-size:11px;min-height:17px;text-align:center}.control-panel{margin-top:19px;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;border:1px solid #293c55;background:#112039;border-radius:21px;padding:23px 26px}.control-side{display:flex;align-items:flex-start;flex-direction:column;gap:9px}.control-side.right{align-items:flex-end;text-align:right}.control-side small{color:#91a5bd;font-size:12px;line-height:1.55}.control-actions{display:flex;gap:7px;flex-wrap:wrap}.control-actions .btn{min-height:40px;padding:9px 14px}.direction-pad{display:grid;grid-template-columns:repeat(3,57px);grid-template-rows:repeat(2,52px);gap:7px}.direction-pad button{border-radius:12px;background:#263b55;border:1px solid #3d526c;color:#edf8ff;font-size:25px;font-weight:700;transition:background .15s,transform .12s;touch-action:manipulation}.direction-pad button:hover{background:#395674;transform:translateY(-1px)}.direction-pad button:active{background:var(--mint);color:#0d2025}.direction-pad button[data-dir="U"]{grid-column:2;grid-row:1}.direction-pad button[data-dir="L"]{grid-column:1;grid-row:2}.direction-pad button[data-dir="D"]{grid-column:2;grid-row:2}.direction-pad button[data-dir="R"]{grid-column:3;grid-row:2}.game-ruleline{margin:14px 0 0;font-size:12px;color:#869cb4;text-align:center}.game-error{padding:18px;color:#ffb7b7;border:1px solid #8c394d;background:#2f1d34;border-radius:14px}.daily-next{color:var(--mint);font-size:12px;font-variant-numeric:tabular-nums}.daily-topline{margin:0 0 22px;padding:13px 18px;background:#1b2e46;border:1px solid #37526b;border-radius:13px;font-size:13px;color:#a7bdd4;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.daily-topline strong{color:#f3f8ff}
.level-intro-row{display:flex;gap:18px;align-items:center;justify-content:space-between;margin:30px 0 25px}.level-intro-row strong{color:var(--mint)}.levels-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:80px}.level-tile{display:flex;flex-direction:column;border:1px solid #29405b;border-radius:19px;background:#14243b;padding:20px;min-height:218px;transition:transform .15s,border-color .15s,background .15s}.level-tile:hover{transform:translateY(-3px);border-color:#5b89a4;background:#192d45}.tile-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:23px}.level-n{font-size:23px;font-weight:800;letter-spacing:-.045em}.tile-difficulty{font-size:10px;font-weight:850;text-transform:uppercase;padding:6px 9px;border-radius:100px;color:#8affd0;background:#204d45}.tile-difficulty.easy{color:#9cd6fc;background:#1f405a}.tile-difficulty.medium{color:#eed1ff;background:#3b315a}.tile-difficulty.hard{color:#ffca92;background:#553c2a}.level-tile h3{font-size:17px}.level-tile p{color:#8fa6c1;font-size:12px;margin:0 0 auto}.tile-footer{border-top:1px solid #273e57;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:25px;padding-top:15px;font-size:11px;color:#95acc5}.tile-footer b{color:var(--mint)}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.feature-card{border:1px solid #28405a;background:#13243c;padding:27px;border-radius:20px}.feature-card h3{color:#e8f0fc}.feature-card p{color:#afc0d5;font-size:14px}.how-steps{display:grid;gap:16px;margin:20px 0 65px;max-width:875px}.how-step{display:flex;gap:22px;border:1px solid #2b425b;border-radius:18px;padding:25px;background:#122139}.how-step b{color:var(--mint);font-size:24px;min-width:46px}.how-step p{margin:6px 0 0;color:#a5b8cd}.reading{max-width:820px;padding-top:26px;padding-bottom:110px}.reading h2{font-size:1.65rem;margin:40px 0 15px}.reading h3{font-size:1.3rem;margin:30px 0 10px}.reading p,.reading li{color:#b8c8d9;font-size:15px;line-height:1.85}.reading ul{padding-left:22px}.reading a{color:var(--mint);text-decoration:underline;text-underline-offset:3px}.reading .note{margin-top:30px;background:#172b42;border:1px solid #34526a;border-radius:14px;padding:22px}.reading .note p{margin:0}.info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}.info-strip div{background:#112039;border:1px solid #29415a;border-radius:16px;padding:24px}.info-strip strong{display:block;font-size:30px}.info-strip small{color:#99aec6;font-size:12px}
.score-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:24px 0 32px}.score-summary .game-stat strong{font-size:31px}.score-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:90px}.score-card{background:#12223a;border:1px solid #2a415b;border-radius:20px;padding:26px}.score-card h2{font-size:25px}.score-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #263b54}.score-line:last-child{border-bottom:0}.score-line div{display:flex;flex-direction:column;gap:3px}.score-line strong{font-size:13px}.score-line span{color:#8399b5;font-size:11px}.score-line b{margin-left:auto;white-space:nowrap;font-size:12px;color:var(--mint)}.score-line small{font-size:11px;color:#8299b7;min-width:70px;text-align:right}.score-line small a{color:var(--violet)}.empty-state{color:#9db0c7;font-size:14px;line-height:1.7}
.modal-root{position:fixed;z-index:99;inset:0;pointer-events:none}.modal-root.visible{pointer-events:auto}.modal-shade{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:20px;background:rgba(3,8,19,.80);backdrop-filter:blur(8px)}.modal-panel{width:min(100%,565px);max-height:min(90vh,740px);overflow:auto;border-radius:24px;border:1px solid #426078;background:linear-gradient(145deg,#172940,#0f1e33);box-shadow:0 40px 100px rgba(0,0,0,.46);padding:35px;text-align:center}.modal-panel h2{font-size:37px;margin:13px 0}.modal-intro{font-size:14px;color:#a8bbce;line-height:1.7}.modal-actions{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:22px}.modal-actions .btn{min-width:130px}.completion-stats{display:grid;grid-template-columns:repeat(3,1fr);border-radius:15px;background:#0d1c31;border:1px solid #2a415b;padding:19px 10px;margin:24px 0 12px}.completion-stats div{display:flex;flex-direction:column;gap:3px}.completion-stats div+div{border-left:1px solid #2d4760}.completion-stats strong{font-size:28px;letter-spacing:-.05em}.completion-stats span{font-size:10px;color:#91a7c0}.result-note{color:#93eed0;font-size:13px}.success-dots{display:flex;gap:14px;justify-content:center;margin:8px 0 25px}.success-dots span{width:30px;height:30px;border-radius:50%;background:var(--mint);box-shadow:0 0 25px rgba(86,230,176,.42)}.success-dots span:nth-child(2){background:var(--violet);box-shadow:0 0 25px rgba(189,154,255,.42)}.success-dots span:nth-child(3){background:var(--amber);box-shadow:0 0 25px rgba(255,191,110,.42)}.share-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:20px}.share-row button{border:1px solid #365066;background:#20354a;color:#e8f3fc;border-radius:10px;padding:9px 12px;font-size:12px;font-weight:700}.share-row button:hover{background:#2c4760}.fine-note{color:#869cb5;font-size:10px;line-height:1.75;overflow-wrap:anywhere;margin-top:23px}.tutorial-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:25px 0}.tutorial-preview>div>span{display:block;margin-bottom:8px;font-size:11px;font-weight:850;letter-spacing:.15em}.tutorial-preview>div:nth-child(1)>span{color:var(--mint)}.tutorial-preview>div:nth-child(2)>span{color:var(--violet)}.tutorial-preview>div:nth-child(3)>span{color:var(--amber)}.tutorial-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:7px;border:1px solid #354c65;background:#0d1c32;border-radius:11px;aspect-ratio:1}.tutorial-mini span{background:#1e304a;border-radius:3px}.tutorial-mini.mint{--dot:var(--mint)}.tutorial-mini.violet{--dot:var(--violet)}.tutorial-mini.amber{--dot:var(--amber)}.tutorial-mini span.occupied{background:var(--dot);border-radius:50%;box-shadow:0 0 12px var(--dot);transform:scale(.76)}.tutorial-progress{display:flex;gap:8px;justify-content:center}.tutorial-progress i{height:5px;width:32px;border-radius:8px;background:#3d5169}.tutorial-progress i.lit{background:var(--mint)}.tutorial-input{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:25px;flex-wrap:wrap}.tutorial-input span{color:#aebfd4;font-size:13px}.link-button{background:transparent;border:0;color:#a0b3ca;padding:10px;font-size:12px;text-decoration:underline}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;padding:18px 0;border-bottom:1px solid #29415a}.setting-row div{display:flex;flex-direction:column;gap:7px}.setting-row strong{font-size:14px}.setting-row small{font-size:12px;color:#91a6bc}.toggle{min-width:65px;border:1px solid #3f526d;border-radius:40px;color:#c0d4e7;background:#1b3149;padding:10px}.toggle.on{background:var(--mint);color:#0b2521;border-color:var(--mint);font-weight:850}.modal-active{overflow:hidden}
.toast{position:fixed;z-index:130;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;border-radius:14px;padding:14px 20px;background:#e0fff0;color:#102d29;box-shadow:0 16px 55px rgba(0,0,0,.35);font-size:13px;font-weight:700;max-width:calc(100vw - 25px);text-align:center;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.site-footer{border-top:1px solid #26364d;background:#081322;margin-top:50px}.footer-top{padding-top:55px;padding-bottom:48px;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:50px}.footer-top p{color:#859bb6;font-size:13px;max-width:390px}.footer-links{display:grid;gap:12px;margin-top:15px}.footer-links a{color:#9eafc4;font-size:13px}.footer-links a:hover{color:var(--mint)}.footer-label{font-size:12px;font-weight:900;color:#e4edfa;text-transform:uppercase;letter-spacing:.13em}.footer-bottom{border-top:1px solid #22344b;padding-top:21px;padding-bottom:25px;display:flex;justify-content:space-between;gap:16px;font-size:11px;color:#8295ac}.footer-bottom a{color:#b4c9dc}.ad-placeholder{border:1px dashed #34516e;background:rgba(15,31,49,.30);color:#688198;font-size:11px;letter-spacing:.1em;text-align:center;padding:20px;margin:40px auto 0;border-radius:12px;max-width:700px}.hide-visually{position:absolute!important;width:1px;height:1px;clip:rect(0 0 0 0);white-space:nowrap;overflow:hidden}
@media(max-width:1020px){.site-nav{gap:15px}.header-inner{gap:18px}.site-nav a{font-size:12px}.home-hero{gap:15px;min-height:540px}.triple-art{transform:rotate(-2deg)}.levels-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:810px){.header-inner{min-height:75px}.mobile-menu{display:block}.site-nav{display:none;position:absolute;left:18px;right:18px;top:70px;background:#13243a;border:1px solid #3c506c;border-radius:17px;padding:17px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav a{font-size:14px;padding:12px;border-radius:9px}.site-nav a:hover{background:#213851}.header-actions>a{display:none}.home-hero{grid-template-columns:1fr;padding-top:61px;padding-bottom:56px}.triple-art{max-width:560px;margin:auto;width:100%}.micro-inner{grid-template-columns:repeat(2,1fr)}.rule-cards{grid-template-columns:1fr}.rule-card{min-height:unset}.banner-cta{padding:32px}.game-stat{padding:14px}.game-stat strong{font-size:21px}.world-card{padding:11px}.control-panel{grid-template-columns:1fr auto 1fr;padding:18px;gap:12px}.control-actions{flex-direction:column}.control-actions .btn{font-size:11px}.levels-grid{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}}
@media(max-width:520px){.shell{padding-left:17px;padding-right:17px}.brand-name{font-size:22px}.brand-glyph{width:31px}.header-inner{gap:9px;min-height:67px}.header-sound{display:none}.home-hero{padding-top:42px;padding-bottom:45px}.home-hero h1{font-size:clamp(3.2rem,12vw,4.8rem)}.hero-words p{font-size:15px}.hero-actions .btn{flex:1}.hero-meta{font-size:10px;gap:8px 14px}.art-board{padding:13px;gap:11px}.art-board .art-tiles{flex-basis:78px}.art-copy strong{font-size:17px}.art-copy small{font-size:11px}.floating-note{display:none}.micro-inner{gap:12px}.micro-inner div{font-size:10px}.content-section{padding-top:60px;padding-bottom:60px}.section-head{display:block}.section-head h2{font-size:2.4rem}.banner-cta{flex-direction:column;align-items:flex-start}.page-hero{padding-top:43px}.page-hero h1{font-size:2.7rem}.game-container{padding-bottom:42px}.game-heading{margin-bottom:16px}.game-heading h1{font-size:2rem}.game-statbar{gap:6px}.game-stat{padding:11px 10px;border-radius:10px}.game-stat strong{font-size:18px}.game-stat span{font-size:9px;letter-spacing:.08em}.world-grid{gap:6px}.world-card{border-radius:13px;padding:6px}.world-card-top{display:block;text-align:center;margin:4px 0 6px}.world-name{font-size:10px;letter-spacing:.09em}.world-number{display:none}.world-rule{font-size:9px;text-align:center;min-height:31px;margin-bottom:4px}.canvas-wrap{padding:1px;border-radius:8px}.world-bottom{font-size:9px;min-height:26px;line-height:1.3;margin-top:5px}.control-panel{margin-top:11px;padding:14px;grid-template-columns:1fr auto;gap:10px}.control-side{grid-column:1;grid-row:1;gap:7px}.control-side.right{grid-column:1/-1;grid-row:2;align-items:flex-start;text-align:left}.control-side.right small{font-size:10px}.direction-pad{grid-column:2;grid-row:1;grid-template-columns:repeat(3,47px);grid-template-rows:repeat(2,43px);gap:5px}.direction-pad button{font-size:22px;border-radius:9px}.control-actions{flex-direction:row}.control-actions .btn{min-height:33px;padding:7px 8px;font-size:10px}.control-side small{font-size:10px}.game-ruleline{font-size:10px}.daily-topline{font-size:11px}.levels-grid{gap:9px}.level-tile{padding:14px;min-height:175px}.level-tile h3{font-size:15px}.level-tile p{font-size:11px}.level-n{font-size:19px}.tile-difficulty{font-size:9px;padding:5px}.tile-footer{margin-top:16px;font-size:10px}.feature-grid,.score-columns{grid-template-columns:1fr}.score-summary{gap:7px}.score-summary .game-stat strong{font-size:23px}.info-strip{grid-template-columns:1fr}.reading{padding-top:10px;padding-bottom:65px}.modal-shade{padding:11px}.modal-panel{padding:26px 17px;max-height:93vh}.modal-panel h2{font-size:30px}.modal-intro{font-size:13px}.completion-stats strong{font-size:25px}.modal-actions .btn{min-width:unset}.tutorial-preview{gap:7px}.footer-top{gap:25px}.footer-bottom{flex-direction:column;gap:8px}}
@media(max-width:375px){.shell{padding-left:12px;padding-right:12px}.game-stat{padding:10px 7px}.world-card{padding:4px}.world-rule{font-size:8px}.control-panel{padding:11px}.direction-pad{grid-template-columns:repeat(3,41px);grid-template-rows:repeat(2,40px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Four-position advertising-ready frame for Play and Daily only.
   Empty placeholders are intentionally non-interactive. Google AdSense is NOT loaded.
   Side positions need wide viewports so at least 150px separates ad areas from gameplay. */
.echo-ad-frame{max-width:1920px;margin:0 auto;padding:0 25px}
.echo-ad-grid{display:grid;grid-template-columns:160px minmax(0,1fr) 160px;grid-template-areas:"top top top" "left main right" "bottom bottom bottom";column-gap:155px;row-gap:155px;align-items:start;min-width:0}
.echo-ad-grid>.game-container{grid-area:main;max-width:none;width:100%;min-width:0;padding:0;margin:0}
.echo-ad{border:1px dashed #3f5066;border-radius:12px;background:rgba(19,36,59,.36);color:#8a9db5;min-width:0;overflow:hidden;pointer-events:none;text-align:center}
.echo-ad--top{grid-area:top;width:min(100%,900px);justify-self:center;min-height:112px}
.echo-ad--bottom{grid-area:bottom;width:min(100%,900px);justify-self:center;min-height:112px;margin-bottom:36px}
.echo-ad--left{grid-area:left;width:160px;min-height:600px}
.echo-ad--right{grid-area:right;width:160px;min-height:600px}
.echo-ad-label{display:block;font-size:10px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;padding:9px 5px 0}
.echo-ad-space{display:flex;align-items:center;justify-content:center;min-height:80px;padding:15px;font-size:11px;line-height:1.6;color:#71859b}
.echo-ad--left .echo-ad-space,.echo-ad--right .echo-ad-space{min-height:560px;writing-mode:vertical-rl;transform:rotate(180deg);margin:0 auto}
/* Ad integrations must explicitly switch data-ad-active to true; only then can a real ad be interactive. */
.echo-ad[data-ad-active="true"]{pointer-events:auto;background:transparent;border:0}
.echo-ad[data-ad-active="true"] .echo-ad-space{display:none}
@media(max-width:1640px){
  .echo-ad-grid{max-width:1192px;margin:0 auto;grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "main" "bottom";row-gap:155px}
  .echo-ad--left,.echo-ad--right{display:none}
  .echo-ad-grid>.game-container{padding:0 28px}
}
@media(max-width:810px){.echo-ad-grid>.game-container{padding:0 17px}}
@media(max-width:720px){
  .echo-ad-frame{padding:0}
  .echo-ad-grid{display:block}
  .echo-ad--top,.echo-ad--left,.echo-ad--right{display:none}
  .echo-ad-grid>.game-container{padding:0 17px}
  .echo-ad--bottom{width:calc(100% - 34px);margin:155px auto 40px}
}
@media(max-width:375px){.echo-ad-grid>.game-container{padding:0 12px}.echo-ad--bottom{width:calc(100% - 24px)}}
