:root{color-scheme:dark;--ink:#eff7f3;--muted:#94aaa9;--mint:#a3e8ce;--violet:#b7a1ef;--line:#b3c4df24;font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% -10%,#46576f4d,transparent 60%),radial-gradient(ellipse at 100% 50%,#42436f26,transparent 55%),#0d1822;color:var(--ink)}#app{max-width:1250px;margin:auto;padding:20px 26px 24px}button{font:inherit;cursor:pointer;touch-action:manipulation;transition:background .15s,border-color .15s,transform .15s}button:disabled{opacity:.35;cursor:default}button:hover:not(:disabled){filter:brightness(1.15)}button:active:not(:disabled){transform:translateY(1px)}button,summary,a,canvas{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #c2edda;outline-offset:4px}button{border:1px solid #829c9c66;border-radius:9px;padding:10px 13px;background:#243740;color:#d5e6df;font-size:11px;min-height:40px}header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:22px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.brand img{width:43px;height:43px;border-radius:12px;border:1px solid #b9a56c66}.brand b{display:block;font:25px Georgia,serif;letter-spacing:5px;color:#dbece2}.brand small{display:block;font-size:7px;letter-spacing:2.5px;color:#7e9d9c;margin-top:5px}.stat{font-size:9px;letter-spacing:1.7px;color:#a0b9ad}.stat b{font-size:21px;color:#dbefdf;font-variant-numeric:tabular-nums;margin-left:4px}.slash{margin:0 5px;color:#687e84}.right{display:flex;gap:7px}.right button{width:37px;min-height:37px;padding:0;font-size:17px;border-color:#899e8540;background:#25383e}.hero{display:flex;align-items:center;gap:24px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(110deg,#263c3c,#172c32);padding:12px;margin-bottom:18px;overflow:hidden}.hero>img{width:240px;height:128px;object-fit:cover;border-radius:8px;border:1px solid #c1a7e04d}.intro{flex:1}.eyebrow{font-size:8px;letter-spacing:1.8px;font-weight:750;color:#b5b399}.intro h1{font:35px Georgia,serif;color:#ece2be;margin:10px 0;letter-spacing:-.7px}.intro p{font-size:12px;line-height:1.6;color:#a9c0b5;margin:0}.heroBadge{font-size:9px;letter-spacing:2px;text-align:right;color:#a6c8bb;line-height:2.2;padding-right:12px}.heroBadge b{font-size:7px;font-weight:500;color:#728e8a}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:16px}.board-column{min-width:0}.board-wrap{position:relative;border:1px solid #b6ad7e55;border-radius:15px;overflow:hidden;background:#1c2c3b;box-shadow:0 20px 60px #0004,inset 0 0 0 3px #ab947b15}canvas{display:block;width:100%;height:auto;touch-action:none}.metrics{display:flex;align-items:center;gap:9px;padding:12px 2px;flex-wrap:wrap}.metrics>span{color:#7e9b9a;font-size:8px;letter-spacing:1px}.metrics b{font-size:14px;font-weight:600;color:#d1e7d4;margin:0 4px 0 5px;font-variant-numeric:tabular-nums}.metrics>span+span{border-left:1px solid var(--line);padding-left:9px}.metrics>span:last-child{margin-left:auto;color:#c3b98f;letter-spacing:0}.legend{display:flex;gap:16px;align-items:center;justify-content:center;color:#8ca9a0;font-size:9px;padding-top:9px}.legend>span{display:flex;align-items:center;gap:5px}.legendSprite{width:27px;height:27px;background-image:url('assets/atlas-ai.webp');background-size:400% 400%;display:inline-block}.legendSprite.player{background-position:66.6667% 100%}.legendSprite.ghost{background-position:100% 100%}.legendSprite.crystal{background-position:0 100%}.legendSprite.pad{background-position:33.3333% 33.3333%}.control-panel{border:1px solid #9faf8d44;border-radius:14px;padding:20px 17px;background:linear-gradient(130deg,#253b38,#182c30);display:flex;flex-direction:column;gap:14px}.panel-title h2{font:27px Georgia,serif;color:#e6d9b3;margin:8px 0 1px}.lesson{border-left:2px solid #a8bc8e;padding-left:11px}.lesson>strong{font-size:8px;letter-spacing:1.3px;color:#b9c6a5}.lesson>p{font-size:11px;color:#c3d3c1;line-height:1.7;margin:10px 0 14px;min-height:40px}.lesson-steps{display:flex;flex-direction:column;gap:9px}.lesson-steps>span{display:flex;align-items:center;gap:7px;font-size:10px;color:#728d84}.lesson-steps i{display:grid;place-items:center;flex:none;font-size:7px;font-style:normal;border-radius:50%;width:18px;height:18px;border:1px solid #718d7c44}.lesson-steps .current{color:#e3d7b1}.lesson-steps .current i{border-color:#d5c392;background:#d5c392;color:#213734;box-shadow:0 0 12px #d5c39225}.lesson-steps .done{color:#a5d4b8}.actions{display:flex;flex-direction:column;gap:8px}.echo{display:flex;align-items:center;justify-content:center;gap:10px;min-height:45px;background:linear-gradient(110deg,#7b6baf,#4f5489);border-color:#c4b3ee;color:#f3edff;font-size:10px;letter-spacing:.5px;box-shadow:0 3px 0 #303957}.echo>span{font-size:8px;color:#d4f7de;letter-spacing:2px}.action-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px}.action-pair button{font-size:10px;padding:8px 5px;background:#293f40}.quiet{border-color:#7b947342;background:transparent;font-size:9px;color:#98b3a2;min-height:31px;padding:6px}.echo-state{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:8px}.echo-state>span{display:flex;justify-content:space-between;gap:8px;font-size:7px;letter-spacing:1px;color:#718e85}.echo-state b{font-size:9px;letter-spacing:0;color:#c1d5b5;font-weight:500}.hint{border:1px solid #7a967643;border-radius:8px;background:#132b2880;font-size:10px;color:#b9caae;padding:10px}.hint summary{cursor:pointer;color:#c9c199;list-style:none}.hint summary:before{content:'✧';margin-right:7px}.hint>p{line-height:1.7;color:#97b39e;font-size:10px;margin-bottom:0}.access-tools{display:flex;gap:6px;margin-top:auto}.access-tools button{flex:1;min-height:31px;font-size:8px;padding:6px 4px;color:#a4bea8;border-color:#8ba27644;background:#203934}.access-tools button[aria-pressed=false]{opacity:.5}.quick-guide{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:19px 0 24px;border:1px solid #8a9f6e36;border-radius:10px;background:#1b32324d;color:#91ab9e;padding:10px 13px;font-size:10px}.quick-guide[hidden]{display:none}.quick-guide strong{font-size:8px;letter-spacing:1px;color:#c7c09a}.quick-guide button{min-height:25px;padding:1px 8px;margin-left:auto;font-size:15px;border:0;background:none;color:#8a9e91}.chapter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px}.chapter-heading h2{font:23px Georgia,serif;margin:8px 0 0;color:#d0d6bc}.level-nav{display:flex;gap:7px}.level-nav button{font-size:9px;min-height:34px;padding:7px 11px;background:#20343b;border-color:#84998844}.level-select{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px}.level-select button{position:relative;min-height:44px;padding:8px;font-size:11px;color:#9bb8b2;background:#1c3138;border-color:#8c9e8b40}.level-select button.active{border-color:#d7c58b;background:linear-gradient(#45635b,#314f49);color:#f0deb2;box-shadow:0 0 12px #d9c08611}.level-select button small{font-size:6px;display:block;color:#d3c58b;margin-top:3px}.level-select button:disabled{opacity:.3}.save-tools{font-size:10px;color:#76968b;padding:17px 0 0;line-height:1.7}.save-tools summary{cursor:pointer}.save-tools button{font-size:10px;margin-right:7px}.footer{display:flex;justify-content:space-between;gap:10px;color:#64827e;font-size:7px;letter-spacing:1px;margin-top:24px}.footer>span{line-height:2}kbd{font:8px ui-monospace,monospace;padding:1px 3px;color:#96b6a2;border:1px solid #667e6744;border-radius:3px;margin:0 2px}footer{padding-top:25px;text-align:center;color:#607d75;font-size:8px;letter-spacing:2px}footer span{padding:0 5px}.overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#07151ddd;backdrop-filter:blur(12px)}.modal{width:min(450px,100%);padding:30px;border:1px solid #c0b4796b;border-radius:20px;background:linear-gradient(130deg,#2c4540,#172f35);box-shadow:0 25px 80px #0008;text-align:center}.modal-symbol{display:block;font-size:48px;line-height:1;color:#d0c5ee;margin-bottom:16px;text-shadow:0 0 25px #aa8ded55}.modal h2{font:32px Georgia,serif;color:#f0dfb7;margin:10px 0 15px}.modal p{font-size:12px;color:#aec8b5;line-height:1.8;margin-bottom:23px}.primary{background:linear-gradient(110deg,#b6d7b3,#88b6a4);border-color:#dfebca;color:#183b34;min-height:45px;width:100%;font-weight:800;font-size:12px;box-shadow:0 3px 0 #426b5c}.hidden{display:none!important}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.mobile{display:none}.board-wrap:fullscreen{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#0b1721;border-radius:0}.board-wrap:fullscreen canvas{width:min(100vw,calc(100vh * 1.59375));height:auto}
@media(max-width:1000px){.play-layout{grid-template-columns:minmax(0,1fr) 260px;gap:12px}.control-panel{padding:17px 14px;gap:12px}.hero>img{width:210px;height:118px}.hero{gap:19px}.heroBadge{display:none}.intro h1{font-size:30px}.metrics{gap:7px}.metrics>span{font-size:7px}.metrics b{font-size:12px}.metrics>span+span{padding-left:7px}}
@media(max-width:760px){#app{padding:12px}header{padding-bottom:15px}.brand{gap:8px}.brand img{width:35px;height:35px;border-radius:10px}.brand b{font-size:20px;letter-spacing:3px}.brand small{font-size:6px;letter-spacing:1.5px}.stat{font-size:7px;letter-spacing:1px}.stat b{font-size:17px}.right{gap:5px}.right button{width:30px;min-height:35px;font-size:16px}.hero{gap:13px;padding:9px;margin-bottom:13px;border-radius:11px}.hero>img{width:125px;height:84px}.eyebrow{font-size:6px;letter-spacing:1.2px}.intro h1{font-size:25px;margin:7px 0}.intro p{font-size:10px;line-height:1.5}.play-layout{display:flex;flex-direction:column;gap:11px}.board-wrap{border-radius:11px}.metrics{padding:11px 1px;gap:8px}.metrics>span{font-size:7px}.metrics b{font-size:13px}.metrics>span+span{padding-left:7px}.metrics>span:last-child{font-size:8px}.legend{gap:15px;padding:0;font-size:8px}.legendSprite{width:22px;height:22px}.mobile{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1px 0 11px}.dpad{display:grid;grid-template-columns:repeat(3,43px);grid-template-rows:repeat(2,40px);gap:4px}.dpad button{padding:0;font-size:19px;min-height:40px;background:#2b4545}.dpad button:first-child{grid-column:2;grid-row:1}.dpad button:nth-child(2){grid-column:1;grid-row:2}.dpad button:nth-child(3){grid-column:2;grid-row:2}.dpad button:nth-child(4){grid-column:3;grid-row:2}.mobile-actions{display:flex;flex-direction:column;gap:6px;flex:1;max-width:175px}.mobile-actions button{min-height:38px;font-size:10px}.mobile-actions button:first-child{background:#65578e;border-color:#a69acc}.mobile-actions button:last-child{background:#2b5250}.control-panel{padding:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px}.panel-title{grid-column:1/-1}.panel-title h2{font-size:24px;margin:6px 0 0}.lesson{grid-column:1}.lesson>p{font-size:10px;min-height:0;margin:8px 0 12px}.lesson>strong{font-size:7px}.lesson-steps{gap:8px}.lesson-steps>span{font-size:9px}.actions{grid-column:2;grid-row:2}.echo{font-size:8px;gap:4px;padding:8px 6px}.echo>span{font-size:7px}.action-pair{grid-template-columns:1fr;gap:6px}.action-pair button{min-height:35px;font-size:10px}.quiet{font-size:8px;padding:5px;line-height:1.5}.echo-state{grid-column:1/-1}.hint{grid-column:1/-1}.access-tools{grid-column:1/-1}.access-tools button{font-size:9px;min-height:34px}.quick-guide{font-size:9px;gap:6px;margin:13px 0 22px;padding:9px 11px}.quick-guide>span{max-width:85%;font-size:9px}.quick-guide>span+span{display:none}.chapter-heading{align-items:flex-end}.chapter-heading h2{font-size:20px;line-height:1.2}.level-nav button{font-size:8px;padding:7px;min-height:33px}.level-select{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.level-select button{min-height:42px;font-size:10px}.footer{display:none}footer{font-size:6px;padding-top:20px}.modal{padding:25px}.modal h2{font-size:29px}}
@media(max-width:360px){#app{padding:10px}.brand img{width:29px;height:29px}.brand b{font-size:18px}.brand small{font-size:5px}.right{gap:4px}.right button{width:26px;min-height:32px}.stat{font-size:6px}.stat b{font-size:15px}.hero>img{width:105px;height:80px}.intro h1{font-size:22px}.intro p{font-size:9px}.hero{gap:11px}.metrics{gap:6px}.metrics>span{font-size:6px}.metrics b{font-size:12px;margin:0 2px}.metrics>span+span{padding-left:5px}.metrics>span:last-child{font-size:7px}.control-panel{padding:13px;gap:11px}.dpad{grid-template-columns:repeat(3,39px)}.mobile-actions{max-width:145px}.chapter-heading h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
#app:fullscreen{max-width:none;width:100%;height:100%;overflow-y:auto;background:#0d1822;padding:15px max(15px,calc((100vw - 1250px)/2))}.hero{scroll-margin-top:15px}

/* The interface is deliberately a game chamber, not a page around a game. */
body{background:radial-gradient(ellipse at 50% 0,#1a3649 0,transparent 47%),#081119}#app{max-width:1160px;padding:16px 20px 28px}header{padding:0 5px 13px;border-bottom:1px solid #9dbca51f;margin-bottom:13px}.brand b{font-size:20px;letter-spacing:4px}.brand small{font-size:6px;color:#7cb1a6}.stat{margin-left:auto;margin-right:12px;color:#7fa89c}.stat b{font-size:17px}.right button{width:32px;min-height:32px;background:#132a31;border-color:#83ab9c33}.play-layout{grid-template-columns:minmax(0,1fr) 214px;gap:10px;align-items:stretch}.board-wrap{border-radius:8px;border:1px solid #d3b87280;box-shadow:0 0 0 3px #b4935714,0 24px 60px #0009;isolation:isolate}.board-wrap:before{content:'';position:absolute;inset:8px;z-index:2;pointer-events:none;border:1px solid #d3c9932c;border-radius:4px}.scene-title{position:absolute;z-index:3;top:19px;left:21px;max-width:48%;padding:8px 12px 9px;border-left:2px solid #e6c87c;background:linear-gradient(90deg,#071621e8,transparent);text-shadow:0 2px 5px #000}.scene-title span{display:block;color:#d8bd72;font-size:7px;letter-spacing:2px}.scene-title h1{margin:3px 0 2px;font:22px Georgia,serif;color:#f6e7ba}.scene-title p{margin:0;color:#bcd3c7;font-size:9px;line-height:1.4}.scene-objective{position:absolute;z-index:3;right:19px;bottom:17px;display:flex;flex-direction:column;gap:4px;align-items:flex-end;font-size:8px;letter-spacing:1px;color:#d8e7ce;text-shadow:0 2px 4px #000}.scene-objective span{padding:5px 8px;background:#06151bd9;border:1px solid #acd2b63b;border-radius:3px}.metrics{justify-content:center;padding:10px 2px 8px}.metrics>span{font-size:7px;color:#769d92}.metrics b{font-size:12px;color:#e6d6a8}.metrics>span:last-child{margin-left:0}.legend{display:none}.control-panel{border:1px solid #a8996744;border-radius:8px;padding:13px 11px;background:linear-gradient(180deg,#142b30,#0e2025);box-shadow:inset 0 1px #bbd6b112;gap:12px}.lesson{padding-left:9px;border-color:#d9bd73}.lesson>strong{font-size:7px;color:#ddc981}.lesson>p{font-size:10px;line-height:1.5;margin:7px 0 9px;min-height:0;color:#c4d8c9}.lesson-steps{gap:6px}.lesson-steps>span{font-size:8px}.lesson-steps i{width:14px;height:14px;font-size:6px}.echo{min-height:42px;font-size:8px;border-radius:5px;background:linear-gradient(120deg,#58447c,#2f4a66);box-shadow:0 2px 0 #192a3d}.echo>span{font-size:6px}.action-pair{gap:5px}.action-pair button{min-height:34px;font-size:8px;background:#1b3538}.quiet{font-size:8px}.echo-state{padding-top:8px}.echo-state>span{font-size:6px}.echo-state b{font-size:8px;color:#c7dec4}.hint{padding:8px;border-radius:4px;font-size:8px;background:#0a1c20}.hint>p{font-size:9px}.access-tools button{border-radius:4px;font-size:7px;background:#162d2e}.mobile{display:none}.game-menu{margin:13px 0 0;border:1px solid #759b9138;border-radius:6px;background:#0d2025;color:#99b9ac}.game-menu>summary{padding:10px 12px;cursor:pointer;font-size:8px;letter-spacing:1.2px;color:#aac9b9}.game-menu[open]>summary{border-bottom:1px solid #759b9130}.game-menu .chapter-heading{padding:12px 12px 0;margin:0 0 10px}.game-menu .chapter-heading h2{font-size:18px;margin:0;color:#e1d6ac}.game-menu .level-select{padding:0 12px}.game-menu .save-tools{padding:12px}.overlay{position:absolute;z-index:10;padding:16px;background:radial-gradient(circle at 50% 44%,#263e38d9,#06131bf2 70%);backdrop-filter:blur(4px)}.modal{position:relative;width:min(385px,100%);padding:35px 28px 25px;border:1px solid #e0c275a6;border-radius:50% 50% 10px 10px / 20% 20% 7% 7%;background:linear-gradient(180deg,#1d3a3b,#102329);box-shadow:0 0 0 7px #c49e5914,0 26px 70px #000a}.modal:before,.modal:after{content:'✦';position:absolute;color:#dbbd78;font-size:17px}.modal:before{top:20px;left:25px}.modal:after{top:20px;right:25px}.modal-symbol{font-size:60px;color:#f2d894;margin:0 0 10px;text-shadow:0 0 28px #f1ca6d99}.seal{display:block;font-size:7px;letter-spacing:2px;color:#a9d0b6}.modal h2{font-size:29px;color:#f7e2a5;margin:10px 0}.modal p{font-size:11px;color:#c3d8c9;margin:0 0 19px;line-height:1.7}.primary{border-radius:4px;min-height:41px;background:linear-gradient(110deg,#e2c87e,#9ebf9d);box-shadow:0 3px 0 #496956;color:#142a28;font-size:10px;letter-spacing:.4px}
@media(max-width:760px){#app{padding:10px}header{margin-bottom:9px}.play-layout{display:flex;flex-direction:column;gap:8px}.scene-title{top:13px;left:14px;padding:5px 8px}.scene-title h1{font-size:17px}.scene-title p{display:none}.scene-title span{font-size:6px}.scene-objective{right:10px;bottom:10px;font-size:6px}.scene-objective span{padding:4px 5px}.metrics{order:1;padding:8px 0}.mobile{order:2;display:flex}.control-panel{order:3;display:grid;grid-template-columns:1fr 1fr;gap:10px}.lesson{grid-column:1/-1}.lesson-steps{display:none}.actions{grid-column:1}.echo-state{grid-column:2;grid-row:2;border-top:0;padding:0;align-self:center}.hint{grid-column:1/-1}.access-tools{grid-column:1/-1}.game-menu{margin-top:9px}.modal{padding:30px 22px 22px}.modal h2{font-size:25px}.modal p{font-size:10px}.legend{display:none}}
