:root{font-family:'Nunito Sans',ui-rounded,system-ui,-apple-system,sans-serif;color:#40575b;background:#f8f5ed;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100svh;padding:18px 24px 38px;background:radial-gradient(ellipse at 0 0,#e3efdf,transparent 45%),radial-gradient(ellipse at 100% 0,#fce4de,transparent 45%),#f8f5ed}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #2f8e8e;outline-offset:4px}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.shell{max-width:1120px;margin:auto}.top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.brand{display:flex;align-items:center;gap:10px}.brand canvas{width:37px;height:47px}.brand small{font-size:9px;font-weight:900;letter-spacing:2px;color:#83938e}.brand h1{font-size:29px;line-height:1.1;letter-spacing:-1px;font-weight:1000;color:#40595b;margin:3px 0 0}.brand h1 span{color:#c96779}.tools{display:flex;align-items:center;gap:7px}.tools button,.quiet{border:1px solid #d4ded3;background:#ffffffb5;color:#526b67;font-size:10px;font-weight:900;border-radius:9px;padding:11px 13px;letter-spacing:.3px}.tools button:hover{background:#fff}.home-link{color:#82938c;text-decoration:none;font-size:11px;font-weight:800;margin-right:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:10px}.stat{display:flex;align-items:center;gap:10px;padding:8px 13px;background:#ffffffb8;border:1px solid #e0e5d9;border-radius:11px}.stat-icon{color:#c97e8a;font-size:21px;width:26px;text-align:center}.stat small{display:block;font-size:8px;letter-spacing:1.6px;font-weight:900;color:#8a9b94}.stat b{font-size:21px;font-weight:1000;line-height:1.1;font-variant-numeric:tabular-nums;color:#4c6762}.stat.urgent{background:#fff0ee;border-color:#ed9a9c}.stat.urgent b{color:#bc566c}.board{height:clamp(340px,calc(100svh - 240px),680px);position:relative;border:4px solid #fff;border-radius:20px;overflow:hidden;background:#cce8e4;box-shadow:0 12px 35px #6b7e6b20;touch-action:none;isolation:isolate}#canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.mission-bar{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none;z-index:1}.goal-card{padding:8px 12px;background:#fffdf5ec;box-shadow:0 2px 10px #496d6812;border:1px solid #ffffffdd;border-radius:10px;max-width:72%;min-width:240px}.stage-label{font-size:8px;font-weight:900;letter-spacing:1.2px;color:#83978e;display:block;margin-bottom:3px}.goal-line{display:flex;gap:20px;align-items:center;justify-content:space-between}.goal-line strong{font-size:12px;color:#49635c;font-weight:1000}.goal-line span{font-size:9px;color:#78928b;font-weight:800;white-space:nowrap}.goal-track,.combo-track{height:4px;background:#e1e9dc;border-radius:5px;overflow:hidden;margin-top:6px}.goal-track i{display:block;height:100%;background:#79b7a0;width:0}.combo-box{background:#fffdf5eb;border-radius:9px;padding:8px 11px;min-width:100px;text-align:center;border:1px solid #fff}#combo{font-size:10px;font-weight:1000;color:#8e9b8b;letter-spacing:.4px}#combo.charged{color:#c48454}.combo-track i{display:block;background:#e4b778;height:100%;width:0}.power-status{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);font-size:10px;letter-spacing:1px;font-weight:900;color:#396a7d;background:#e8fcffd9;padding:7px 12px;border-radius:20px;pointer-events:none}.power-status:empty{display:none}.slowed{border-color:#b4e9f0}.overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#fffdf219;padding:18px;backdrop-filter:blur(1.5px)}.panel{width:min(470px,100%);padding:27px 28px 23px;border-radius:22px;background:#fffdf4f2;border:1px solid #fff;box-shadow:0 12px 45px #45685121;text-align:center}.mini-art{display:flex;justify-content:center;align-items:end;gap:0;height:80px;margin-bottom:6px}.mini-art canvas{width:53px;height:70px;transform:rotate(-12deg)}.mini-art canvas:nth-child(2){width:65px;height:80px;transform:translateY(-5px)}.mini-art canvas:nth-child(3){transform:rotate(12deg)}.kicker{font-size:8px;letter-spacing:2.3px;font-weight:1000;color:#8d9e8e;margin:0 0 10px}.panel h2{font-size:33px;letter-spacing:-1.3px;line-height:1.12;color:#4c6861;font-weight:1000;margin:0 0 11px}.panel p{font-size:12px;line-height:1.8;color:#809187;max-width:345px;margin:0 auto 17px}.primary{border:0;border-radius:11px;padding:14px 23px;color:#fff;font-weight:1000;font-size:12px;letter-spacing:.6px;background:#ca7d88;box-shadow:0 4px 0 #a65e6c}.primary:hover{background:#bd6e7d}.secondary{display:block;width:fit-content;border:0;background:none;color:#839087;font-size:10px;font-weight:900;padding:12px 6px;margin:4px auto 0}.secondary:hover{color:#b75f75}.panel-actions{display:flex;justify-content:center;gap:12px}.save-summary{font-size:9px;color:#a2aa98;letter-spacing:.6px;margin-top:12px}.results{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:16px}.results>div{padding:9px 4px;background:#edf1e5;border-radius:8px}.results small{display:block;font-size:7px;font-weight:900;letter-spacing:.6px;color:#96a18f;margin-bottom:5px}.results b{font-size:17px;color:#60745f;font-weight:1000}.stars-result{font-size:29px;letter-spacing:6px;color:#d6a755;margin:0 0 13px}.bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:11px}.bottom-copy{font-size:10px;color:#97a28f;line-height:1.6}.bottom-copy b{color:#758a7c}.bottom-buttons{display:flex;gap:7px;flex:none}.bottom-buttons button{border:1px solid #d7e0d2;border-radius:8px;background:#fffdf6;padding:9px 13px;font-size:10px;font-weight:900;color:#718879}.bottom-buttons button:disabled{opacity:.4}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dialog{width:min(680px,calc(100% - 28px));max-height:calc(100svh - 40px);overflow:auto;border:2px solid #fff;border-radius:20px;padding:22px;background:#faf8ed;color:#526b62;box-shadow:0 20px 100px #30473855}.dialog::backdrop{background:#3d555b80;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dialog-head h2{margin:0;font-size:23px;letter-spacing:-.7px}.dialog-head button{border:0;border-radius:50%;background:#e8ecdf;color:#647d6d;width:34px;height:34px;font-weight:900;font-size:20px;flex:none}.map-world{padding:13px;border-radius:14px;margin-top:12px;background:#e6efdf}.map-world[data-world="1"]{background:#f3e3df}.map-world[data-world="2"]{background:#e6e3f0}.map-world h3{margin:0 0 10px;font-size:12px;letter-spacing:.4px}.map-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stage-button{border:1px solid #ffffffcc;border-radius:10px;padding:10px 4px;background:#fffdf6;color:#617b68;min-height:92px;display:flex;flex-direction:column;align-items:center;gap:5px}.stage-button b{font-size:22px;font-weight:1000}.stage-button span{font-size:8px;font-weight:900;min-height:21px}.stage-button small{font-size:12px;color:#c39752;letter-spacing:2px}.stage-button:disabled{opacity:.48;background:#ffffff70}.stage-button:disabled small{font-size:7px;letter-spacing:1px;color:#8e978b}.help-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.help-item{display:flex;gap:10px;align-items:center;background:#fffdf5;border-radius:12px;padding:11px}.help-item canvas{width:34px;height:43px;flex:none}.help-item p{font-size:11px;line-height:1.6;margin:0;color:#839282}.help-item b{display:block;font-size:12px;color:#5c7466}.help-note{font-size:12px;line-height:1.9;color:#839080}kbd{font:10px inherit;border:1px solid #d4dccc;border-radius:4px;background:#fff;padding:1px 5px;color:#687a65}@media(max-width:700px){body{padding:12px 12px 34px}.brand{gap:7px}.brand canvas{width:27px;height:36px}.brand h1{font-size:23px}.brand small{font-size:7px;letter-spacing:1.6px}.tools{gap:5px}.home-link{display:none}.tools button{font-size:8px;padding:10px 9px}.top{margin-bottom:11px}.stats{gap:6px;margin-bottom:8px}.stat{padding:8px 6px;gap:5px}.stat-icon{font-size:15px;width:17px}.stat small{font-size:6px;letter-spacing:.6px}.stat b{font-size:17px}.board{height:clamp(360px,calc(100svh - 216px),650px);border-width:3px;border-radius:16px}.mission-bar{top:8px;left:8px;right:8px;gap:6px}.goal-card{padding:7px 8px;min-width:0;max-width:none;flex:1}.stage-label{font-size:6px;letter-spacing:.5px}.goal-line{align-items:flex-start;gap:3px;flex-direction:column}.goal-line strong{font-size:10px}.goal-line span{font-size:7px}.combo-box{padding:8px 7px;min-width:78px}#combo{font-size:7px}.overlay{padding:13px}.panel{padding:20px 17px 15px;border-radius:17px}.mini-art{height:65px;margin-bottom:4px}.mini-art canvas{width:42px;height:56px}.mini-art canvas:nth-child(2){width:52px;height:65px}.panel h2{font-size:27px}.panel p{font-size:11px;margin-bottom:13px}.kicker{font-size:7px;letter-spacing:1.8px}.primary{font-size:10px;padding:13px 16px}.secondary{font-size:9px;padding:9px 5px}.save-summary{font-size:8px;margin-top:8px}.bottom{align-items:flex-start;margin-top:10px;gap:6px}.bottom-copy{font-size:8px;max-width:54%}.bottom-buttons{gap:5px}.bottom-buttons button{font-size:8px;padding:9px 8px}.results{gap:4px}.results small{font-size:6px}.results b{font-size:15px}.dialog{padding:16px}.help-list{grid-template-columns:1fr}.map-row{gap:5px}.stage-button{padding:8px 2px;min-height:84px}.stage-button b{font-size:18px}.stage-button span{font-size:7px}.map-world{padding:10px}.stars-result{font-size:25px;margin-bottom:9px}}@media(max-width:350px){.brand h1{font-size:20px}.brand canvas{display:none}.tools button{font-size:7px;padding:10px 7px}.panel h2{font-size:24px}.panel p{font-size:10px}.panel{padding:17px 13px}.bottom-copy{font-size:7px}.bottom-buttons button{font-size:7px;padding:9px 7px}.goal-line strong{font-size:9px}.stage-label{font-size:5.5px}.results small{letter-spacing:0}}@media(max-height:500px) and (min-width:701px){.board{height:390px}.panel{padding:17px 24px}.mini-art{height:48px}.mini-art canvas{height:44px;width:35px}.mini-art canvas:nth-child(2){height:50px;width:41px}.panel h2{font-size:27px}.panel p{font-size:11px}.kicker{margin-bottom:7px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.overlay,.dialog::backdrop{backdrop-filter:none}}
