@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;color:#d7e2dc;background:#0a1118;font-synthesis:none;font-weight:400;--mint:#b1f2d9;--muted:#7d9294;--border:#b1d1c21a;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:340px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none;transition:background .18s,transform .18s,color .18s,border-color .18s}button:active{transform:scale(.96)}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:5px}button:disabled{opacity:.3;cursor:default}button[hidden],[hidden]{display:none!important}a{color:inherit;text-decoration:none}.ambient{position:fixed;width:680px;height:680px;border-radius:50%;filter:blur(110px);opacity:.08;pointer-events:none;z-index:-1}.ambient-one{background:#3aab88;top:100px;left:25%}.ambient-two{background:#333986;right:-450px;bottom:-100px}header{height:104px;margin:0 6%;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:15px}.brand svg{width:38px;height:38px;color:var(--mint)}.brand>span{font-size:17px;letter-spacing:3px;font-weight:600}.brand small{display:block;letter-spacing:6px;font-size:8px;margin-top:6px;color:#91a29d}.header-note{font:9px monospace;letter-spacing:2.3px;color:#778c8e;display:flex;gap:10px;align-items:center}.tiny-star{color:var(--mint);font-size:15px}.header-actions{display:flex;align-items:center;gap:24px}.icon-button{font-size:24px;position:relative;color:#879c9d}.off-mark{font-size:15px;margin-left:3px}.enabled .off-mark{display:none}.enabled{color:var(--mint)}.outline-button{border:1px solid #789e9740;border-radius:6px;padding:9px 14px;font-size:11px}.outline-button span{margin-left:15px;color:#88a098}.outline-button:hover{background:#b1f2d90e}main{max-width:1440px;margin:0 auto;padding:37px 6% 0}.eyebrow{font:9px monospace;letter-spacing:2px;color:#8aafa3;display:flex;align-items:center;gap:9px;margin:0}.eyebrow>span{width:5px;height:5px;background:var(--mint);border-radius:50%}.intro-line{display:flex;justify-content:space-between;align-items:center;gap:20px}.intro h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,4.1vw,60px);font-weight:400;letter-spacing:-1.7px;margin:15px 0 17px;line-height:1.15;color:#e7e8dd}.intro h1 em{font-weight:400;color:#bce8d5}.intro p{font-size:11px;color:#8da29e;line-height:1.9;margin:0 64px 0 0;letter-spacing:1px}.play-layout{display:grid;grid-template-columns:235px minmax(0,1fr) 40px;gap:38px;align-items:center;margin-top:10px}.chapter-panel{align-self:stretch;padding-top:34px;display:flex;flex-direction:column}.chapter-index{border-bottom:1px solid var(--border);padding:0 0 19px;display:flex;justify-content:space-between;color:var(--mint);font:10px monospace;letter-spacing:1.4px;width:100%}.chapter-index>span:last-child{color:#78968d;font-size:18px;line-height:10px}.chapter-copy{padding-top:28px}.chapter-en{font:italic 17px Georgia;color:#b5c6bd;margin:0 0 9px}h2{font-size:26px;font-weight:500;letter-spacing:1px;margin:0 0 17px}.difficulty{display:inline-block;border:1px solid #b7d5c41c;background:#d6f8e205;border-radius:4px;font-size:9px;color:#92aaa2;letter-spacing:.5px;padding:5px 8px}.lesson{font-size:12px;line-height:2.1;color:#92a6a4;margin:22px 0 27px;min-height:76px}.target-panel{border-top:1px solid var(--border);padding-top:22px}.label{font:9px monospace;letter-spacing:1.8px;color:#718a88;display:flex;justify-content:space-between}.label>span{color:#b6cfc1}.target-item{display:flex;gap:13px;align-items:center;margin-top:19px}.target-mini{font-size:29px;color:var(--target);text-shadow:0 0 15px color-mix(in srgb,var(--target) 25%,transparent);line-height:1}.target-item>div{flex:1}.target-item div>span{font-size:11px;color:#b6c6c1}.target-item small{display:block;font-size:9px;color:#637e7e;margin-top:5px}.target-check{font-size:14px;color:#56756e}.target-item.is-lit .target-check,.target-item.is-lit small{color:var(--mint)}.hint-section{margin-top:30px}.text-button{font-size:11px;color:#9bb3ab;display:flex;gap:8px;align-items:center;padding:9px 0}.text-button:hover{color:#d5ffe6}.hint-section .text-button{width:100%}.hint-arrow{margin-left:auto;color:#5f7b73}#hint-copy{font-size:11px;line-height:1.9;color:#a1b6ae;border-left:1px solid #527365;margin:10px 0 0;padding-left:12px}.chapter-footer{display:flex;align-items:center;gap:15px;margin-top:auto;padding-top:24px}.orbit{font-size:34px;color:#44645f}.chapter-footer p{font-size:9px;line-height:2;color:#617a76}.game-space{min-width:0;position:relative}.board-topline,.board-bottomline{display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1.7px;color:#7e9690;padding:0 34px}.board-topline{padding-top:8px}.live-label{display:flex;align-items:center;gap:7px;color:#8fb09f;font-size:8px;letter-spacing:1px}.live-label i{width:4px;height:4px;background:#9cdbb5;border-radius:50%;box-shadow:0 0 8px #9cdbb599}.board-wrap{position:relative;width:100%;aspect-ratio:1;animation:arrive .55s ease-out}canvas{display:block;width:100%;height:100%}.hit-grid{position:absolute;inset:0}.cell-hit{position:absolute;display:block;border-radius:12px;touch-action:manipulation}.cell-hit:hover{background:#a2eadb09;box-shadow:inset 0 0 0 1px #a2eadb44}.cell-hit:focus-visible{outline-offset:-5px;border-radius:12px}.board-bottomline{letter-spacing:.6px;padding-top:3px;font-size:9px}.board-bottomline>span:first-child{color:#829a90}.board-bottomline b{color:#d7eddf;font-size:11px;margin-right:5px;font-weight:400}.completion{position:absolute;bottom:5.5%;left:8%;right:8%;display:flex;align-items:center;gap:14px;padding:17px 20px;background:#192e29f2;border:1px solid #b0f3cf66;box-shadow:0 8px 36px #0008,0 0 40px #95e5b914;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:7px;animation:complete .4s ease-out;z-index:3}.completion-star{font-size:29px;color:#c5ffdb}.completion>div{flex:1}.completion small{font:7px monospace;letter-spacing:1.3px;color:#9bc9b1}.completion h3{font-size:15px;font-weight:400;margin:7px 0 0}.completion button,.primary{background:#b7efd1;border-radius:4px;color:#183f30;font-size:11px;padding:12px 16px;white-space:nowrap}.completion button span{margin-left:10px}.progress-rail{display:flex;flex-direction:column;align-items:center;gap:25px}.rail-label{writing-mode:vertical-rl;font:8px monospace;letter-spacing:2px;color:#6b817e}.rail-dot{width:30px;height:32px;font:10px monospace;color:#566f6a;position:relative}.rail-dot.current{color:#c8f8dd}.rail-dot.current:before{content:"";position:absolute;left:-6px;top:14px;width:4px;height:4px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint)}.rail-dot.done{color:#91bc9f}.rail-dot:hover{color:#fff}.rail-end{color:#4a6b5a;font-size:16px}.toolbar{margin-top:28px;border:1px solid #9dc9b722;border-radius:9px;background:linear-gradient(100deg,#17272080,#12202040);padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.toolgroup{display:flex;align-items:center;gap:12px}.toolbar-label{font-size:10px;color:#68887b;margin-right:14px}.tool{display:flex;align-items:center;gap:11px;padding:10px 16px;border-radius:5px;font-size:11px;color:#8da99a;border:1px solid transparent}.tool.active{color:#cbf4db;background:#aadbb914;border-color:#abd9b52b}.tool-symbol{font-size:19px;line-height:1}kbd{font:8px inherit;border:1px solid #779b6c30;border-radius:3px;padding:2px 4px;color:#6f947c}.tool b{font:10px monospace;background:#b1f2d91a;border-radius:3px;padding:3px 6px}.secondary-tools{gap:20px}.separator{height:19px;width:1px;background:#a0d1b51c}.bottom-row{display:flex;justify-content:space-between;align-items:center;padding:20px 3px}.legend{display:flex;gap:22px;color:#5d7b72;font-size:9px}.legend>span{display:flex;align-items:center;gap:6px}.legend i{font-style:normal;font-size:14px;color:#829c91}.legend .legend-crystal{color:#a5c0a2;font-size:11px}.save-status{font-size:9px;color:#718c7e;letter-spacing:.5px}#notice{min-height:21px;font-size:11px;color:#b8ddc7;text-align:center}footer{margin:15px 6% 0;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:25px 0;color:#547267;font:8px monospace;letter-spacing:1.4px}footer>span:nth-child(2){font:10px inherit;letter-spacing:2px;color:#809588}footer i{font-style:normal;font-size:19px;margin-left:16px;color:#a2b795}dialog{background:#111e25;color:#c9dfd4;border:1px solid #7ea89155;box-shadow:0 35px 150px #000b;border-radius:14px;padding:34px;width:min(700px,92vw);max-height:90dvh}dialog::backdrop{background:#030a10ba;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-heading{display:flex;justify-content:space-between;align-items:center}.modal-heading h2{margin:12px 0 0;font-size:26px}.close{font-size:30px;color:#88a399;width:40px;height:40px;border-radius:50%}.close:hover{background:#b1f2d91a}.modal-intro{font-size:12px;color:#8eaaa0;line-height:1.8;margin:22px 0}#level-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.level-card{border:1px solid #90b8a51b;border-radius:7px;display:flex;align-items:center;gap:15px;padding:17px 14px;text-align:left}.level-card:hover,.level-card.current{background:#bbf3cf0d;border-color:#9ad7b450}.level-card-number{font:italic 24px Georgia;color:#6e9e84}.level-card>span:nth-child(2){flex:1}.level-card b{display:block;font-size:12px;font-weight:400}.level-card small{display:block;font:10px Georgia;color:#7c9e8e;margin-top:7px}.level-card i{font-size:13px;color:#a0c4a8;font-style:normal}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px}.help-grid article>b{font-size:30px;font-weight:400;color:var(--mint)}.help-grid h3{font-size:13px;font-weight:500}.help-grid p{font-size:12px;line-height:1.9;color:#95ada3}.help-note{font-size:11px;line-height:1.9;color:#8aa293;background:#a2d6b708;border:1px solid #a0d0b31a;padding:16px;border-radius:6px;margin:25px 0}.wide{width:100%;font-size:13px}@keyframes arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes complete{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){main{padding-top:40px}.play-layout{grid-template-columns:250px minmax(0,1fr) 40px;gap:54px}.chapter-panel{padding-top:50px}.chapter-copy{padding-top:40px}.lesson{margin-bottom:40px}}@media(max-width:1050px){header{margin:0 4%;height:86px}.header-note{display:none}main{padding:28px 4% 0}.play-layout{grid-template-columns:200px minmax(0,1fr) 24px;gap:17px}.chapter-panel,.chapter-copy{padding-top:20px}h2{font-size:22px}.lesson{font-size:11px;min-height:0;margin:15px 0 22px}.target-panel{padding-top:17px}.hint-section{margin-top:16px}.chapter-footer{padding-top:15px}.chapter-footer p{font-size:8px}.board-topline,.board-bottomline{padding-left:24px;padding-right:24px;font-size:8px}.completion{padding:12px;gap:10px;left:5%;right:5%}.completion h3{font-size:12px}.completion button{padding:10px;font-size:10px}.completion-star{font-size:24px}.toolbar{margin-top:20px}.intro p{margin-right:36px}.header-actions{gap:16px}footer{margin-left:4%;margin-right:4%}}@media(max-width:720px){header{height:75px;margin:0 22px}.brand{gap:10px}.brand svg{width:30px;height:30px}.brand>span{font-size:13px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:4px;margin-top:4px}.header-actions{gap:14px}.outline-button{padding:7px 10px;font-size:10px}.outline-button span{margin-left:9px}main{padding:24px 16px 0}.intro{padding:0 6px}.intro .eyebrow{font-size:7px;letter-spacing:1.4px}.intro h1{font-size:38px;margin-top:12px;margin-bottom:20px}.intro p{display:none}.play-layout{display:flex;flex-direction:column;gap:4px;margin:0}.chapter-panel{display:grid;grid-template-columns:1fr auto;padding:0 6px;width:100%;gap:0 16px}.chapter-index{grid-column:1/-1;border-top:1px solid var(--border);border-bottom:0;padding:15px 0 5px;font-size:9px}.chapter-copy{padding-top:10px;grid-column:1}.chapter-en{font-size:14px;margin-bottom:6px}h2{font-size:21px;margin-bottom:10px}.difficulty{font-size:8px;padding:4px 6px}.lesson{font-size:11px;line-height:1.8;margin:12px 0 10px;max-width:340px}.target-panel{grid-column:2;grid-row:2;border:0;padding-top:14px;min-width:80px;max-width:114px}.label{font-size:7px;letter-spacing:.6px;gap:8px}.target-item{gap:5px;margin-top:13px}.target-mini{font-size:23px}.target-item div>span{font-size:9px}.target-item small{font-size:8px;line-height:1.6;max-width:75px}.target-check{display:none}.hint-section{grid-column:1/-1;margin-top:0}.hint-section .text-button{font-size:10px;padding:8px 0}.hint-arrow{margin-left:3px}#hint-copy{margin:3px 0 8px;font-size:10px}.chapter-footer{display:none}.game-space{width:100%;margin-top:10px}.board-topline{padding:0 22px;font-size:7px;letter-spacing:.8px}.live-label{font-size:6px}.board-wrap{margin-top:-4px}.board-bottomline{padding:0 22px;font-size:8px;letter-spacing:0}.progress-rail{display:none}.completion{left:8%;right:8%;bottom:5.5%;gap:8px;padding:11px}.completion-star{font-size:22px}.completion small{font-size:5px;letter-spacing:.6px}.completion h3{font-size:11px;margin-top:5px}.completion button{padding:9px 10px;font-size:9px}.completion button span{margin-left:4px}.toolbar{margin:19px 6px 0;padding:9px 11px;gap:8px;border-radius:7px}.toolbar-label{display:none}.toolgroup{gap:3px}.tool{padding:9px 8px;gap:6px;font-size:10px}.tool-symbol{font-size:17px}.tool kbd{display:none}.secondary-tools{gap:12px}.secondary-tools .text-button{font-size:10px}.separator{display:none}.tool b{padding:2px 4px}.bottom-row{padding:15px 9px;gap:10px}.legend{gap:11px;font-size:8px}.legend>span{gap:3px}.legend i{font-size:12px}.save-status{font-size:8px;white-space:nowrap}footer{margin:5px 22px 0;padding:20px 0}footer>span:first-child{display:none}footer>span:nth-child(2){font-size:8px;letter-spacing:.5px}footer>span:last-child{font-size:7px;letter-spacing:.5px}footer i{font-size:13px;margin-left:6px}#notice{font-size:10px;min-height:16px}dialog{padding:24px 19px}.modal-heading h2{font-size:23px}.modal-heading .eyebrow{font-size:7px;letter-spacing:1px}.modal-intro{font-size:11px}#level-cards{gap:7px}.level-card{padding:14px 10px;gap:9px}.level-card-number{font-size:20px}.level-card b{font-size:10px}.level-card small{font-size:9px;line-height:1.4}.level-card i{display:none}.help-grid{gap:18px}.help-grid p,.help-grid h3{font-size:11px}.help-note{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:721px){header{height:80px}main{max-width:1240px;padding-top:27px;padding-left:40px;padding-right:40px}.intro h1{font-size:47px;margin-bottom:15px}.play-layout{grid-template-columns:220px minmax(0,1fr) 30px;gap:27px}.game-space{width:min(100%,calc(100dvh - 250px));min-width:390px;justify-self:center}.chapter-panel{padding-top:22px}.chapter-copy{padding-top:21px}.chapter-footer{padding-top:15px}.lesson{margin:18px 0 21px;min-height:0}.target-panel{padding-top:18px}.hint-section{margin-top:20px}.toolbar{margin-top:20px;padding:11px 18px}.bottom-row{padding:16px 3px}footer{margin-top:5px;padding:20px 0}}@media(min-width:721px)and (max-width:920px){main{padding-left:25px;padding-right:25px}.play-layout{grid-template-columns:190px minmax(0,1fr) 24px;gap:15px}.game-space{min-width:0}.chapter-footer{display:none}}
