:root{color:#f8fcff;font-synthesis:none;background:#10213d;font-family:Mori JP,system-ui,-apple-system,Noto Sans JP,sans-serif;font-weight:750}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;color:#153050;touch-action:manipulation;background:#f4fbff;border:2px solid #102846;border-radius:15px;padding:12px 16px;font-weight:900;box-shadow:0 4px #102846}button:hover{filter:brightness(1.05)}button:active{transform:translateY(3px);box-shadow:0 1px #102846}button:disabled{opacity:.45;cursor:default}button:focus-visible,canvas:focus-visible{outline-offset:3px;outline:4px solid #ffe474}#app{isolation:isolate;background:#a5e3e8;width:min(100%,480px);height:100dvh;min-height:480px;max-height:1100px;margin:auto;position:relative;overflow:hidden}#game{touch-action:none;width:100%;height:100%;position:absolute;inset:0}#hud{top:max(10px,env(safe-area-inset-top));pointer-events:none;position:absolute;left:13px;right:13px}#hud button{pointer-events:auto}.hud-line{justify-content:space-between;align-items:center;gap:8px;display:flex}.pill{color:#ffdf6e;background:#183451e8;border:2px solid #15304e;border-radius:30px;padding:8px 13px;font-size:16px;box-shadow:0 3px #12344e}.icon-button{border-radius:13px;min-width:44px;padding:8px 13px}.stage-tag{color:#fff;background:#15314cec;font-size:14px}.squad-stat{text-align:center;margin-top:15px}.squad-stat strong{text-shadow:0 3px #123052;color:#fff;-webkit-text-stroke:1px #23455c;font-size:43px;line-height:1}.squad-stat span{color:#153050;font-size:13px;display:block}.squad-stat .shield{color:#fff;background:#543c97;border-radius:20px;margin-top:7px;padding:4px 12px;font-size:14px;display:inline-block}.progress{background:#28496355;border:1px solid #28496377;border-radius:10px;height:8px;margin-top:11px;overflow:hidden}.progress i{background:#ffdf68;height:100%;display:block}.next-preview{color:#edfaff;text-align:center;background:#183450c9;border-radius:12px;min-height:23px;margin-top:9px;padding:5px 8px;font-size:11px}.next-preview b{color:#ffdf68}#panel{pointer-events:none;position:absolute;inset:0}#panel>*{pointer-events:auto}.home-title{text-align:center;width:100%;position:absolute;top:13%;left:0;pointer-events:none!important}.eyebrow{color:#19466a;letter-spacing:.16em;font-size:13px}.home-title h1{color:#fff8df;text-shadow:3px 0 #172e4f,-3px 0 #172e4f,0 3px #172e4f,0 -3px #172e4f,4px 6px #172e4f;margin:8px 0;font-size:clamp(29px,8vw,39px);line-height:1.15}.home-title h1 em{color:#ffe06b;font-style:normal}.home-title p{color:#19466a;font-size:12px}.home-bottom{left:16px;right:16px;bottom:max(20px,env(safe-area-inset-bottom));gap:10px;display:grid;position:absolute}.primary{background:linear-gradient(#ffe873,#ffcb46);min-height:57px;font-size:20px}.secondary{background:#d3f8ff}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.small{padding:11px 6px;font-size:12px}.resume{background:#b2f4d7}.home-note{text-align:center;color:#234257;font-size:11px}#controls{bottom:max(17px,env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;left:18px;right:18px}#controls[hidden]{display:none}#controls button{background:#fff4cd;width:77px;height:53px;font-size:23px}#controls span{color:#183350;text-align:center;pointer-events:none;font-size:11px}#notice{text-align:center;pointer-events:none;color:#fff;text-shadow:0 2px 3px #10223f;font-size:14px;position:absolute;bottom:100px;left:20px;right:20px}.result{text-align:center;background:#142b4496;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;inset:0}.result h2{color:#ffdf65;margin:10px 0;font-size:33px}.result .stars{color:#ffdf65;letter-spacing:5px;font-size:43px}.result p{margin:6px;font-size:15px}.result-actions{gap:12px;width:100%;margin-top:20px;display:grid}.reward{background:#12314d;border:2px solid #ffd664;border-radius:17px;justify-content:center;gap:14px;padding:14px;display:flex}.result .tip{color:#d6e4f3;font-size:12px}.mini-island{background:linear-gradient(#95dcf0,#afeadd 75%,#80c3cd);border:2px solid #163453;border-radius:22px;height:165px;margin:12px 0;position:relative;overflow:hidden}.island-ground{background:#72ce99;border-bottom:13px solid #a89c61;border-radius:50%;width:80%;height:50px;position:absolute;bottom:18px;left:10%}.factory-building{background:#f3eace;border:3px solid #264561;border-radius:8px;width:48%;height:64px;position:absolute;bottom:51px;left:26%}.factory-building:before{content:"";clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);background:#ff9f75;border:3px solid #264561;height:23px;position:absolute;top:-19px;left:-9px;right:-9px}.factory-building:after{content:"MORI";color:#ffe373;text-align:center;background:#284d67;border-radius:4px;width:58%;margin:20px auto;font-size:14px;display:block}.factory-puff{font-size:21px;position:absolute;top:24px;left:50%}.island-slime{background:#43d7ff;border:2px solid #173653;border-radius:60% 60% 30% 30%;width:28px;height:32px;position:absolute;bottom:43px;left:15%}.island-slime:after{content:"••";text-align:center;color:#163554;padding-top:5px;display:block}.tree{font-size:40px;position:absolute;bottom:54px;right:15%}dialog{color:#193451;background:#effaf2;border:3px solid #193451;border-radius:24px;width:min(94vw,440px);max-height:85dvh;padding:22px;overflow:auto;box-shadow:0 8px #10243b}dialog::backdrop{background:#102a49b8}dialog h2{margin:0 0 15px;font-size:23px}dialog p{font-size:13px;line-height:1.8}dialog button{margin-top:9px}.upgrade-row{background:#daedf0;border-radius:13px;justify-content:space-between;align-items:center;gap:10px;margin:11px 0;padding:11px;display:flex}.upgrade-row p{margin:0;font-size:12px}.upgrade-row button{white-space:nowrap;padding:10px;font-size:12px}.skin-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.skin-grid button{height:100px;font-size:12px}.skin-face{color:#fff;border:2px solid #204766;border-radius:60% 60% 30% 30%;width:42px;height:44px;margin:0 auto 6px;font-size:24px;display:block}dialog .close{color:#fff;background:#163958;width:100%;margin-top:16px}.level-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.level-grid button{padding:9px 2px;font-size:12px}.level-grid small{color:#b18b22;font-size:9px;display:block}#file{display:none}.battle-note{text-align:center;background:#cb465be8;border-radius:12px;margin-top:10px;padding:9px;font-size:17px}.toggle{justify-content:space-between;width:100%;display:flex}a{color:#125e84}.rule{background:#daedf0;border-radius:12px;gap:10px;margin:8px 0;padding:10px;font-size:13px;display:flex}.rule b{white-space:nowrap;font-size:23px}.count-label{color:#fff;pointer-events:none;background:#143651d9;border:2px solid #183a59;border-radius:22px;padding:5px 15px;font-size:18px;position:absolute;top:74%;left:50%;transform:translate(-50%,-50%)}.timer{font-variant-numeric:tabular-nums;font-size:11px}@media (height<=680px){.home-title{top:12%}.home-title h1{font-size:30px}.home-title p{display:none}.home-bottom{gap:7px;bottom:12px}.home-bottom button{min-height:39px;padding:9px;font-size:14px}.home-note{display:none}.squad-stat{margin-top:8px}.squad-stat strong{text-shadow:0 3px #123052;font-size:34px}.next-preview{font-size:10px}.result h2{font-size:27px}}@media (prefers-reduced-motion:reduce){button:active{transform:none}}@font-face{font-family:Mori JP;src:url(../mori-jp.woff2)format("woff2");font-weight:100 900;font-display:swap}.convoy-map,.convoy-orders{gap:10px;display:grid}.convoy-map button,.convoy-orders button{text-align:left;min-height:68px;padding:12px 14px}.convoy-map span,.convoy-map small,.convoy-orders span{margin-top:5px;font-size:13px;display:block}.convoy-progress{text-align:center;color:#ffe581;background:#163d63;border-radius:10px;padding:7px;font-size:13px}.home-bottom #start{font-size:14px}.home-bottom{max-height:58dvh;overflow-y:auto}.home-title{pointer-events:none}.next-preview{justify-content:center;gap:4px;display:flex}.gate-outlook{border:1px solid #85b4c8;border-radius:8px;flex:1;min-width:0;padding:6px 2px;line-height:1.5}.gate-outlook span,.gate-outlook strong{font-size:10px;display:block}.gate-outlook.selected{background:#325d6f;border:2px solid #ffe77a;padding:5px 1px}.gate-outlook.fatal{background:#773b45}.gate-outlook strong{color:#fff}.convoy-orders .order-warning{background:#fff0dc;border-color:#bc643b}.convoy-orders em{color:#9a3e1e;margin-top:5px;font-size:12px;font-style:normal;line-height:1.6;display:block}@media (height<=680px){.gate-outlook{padding:3px 1px}.gate-outlook.selected{padding:2px 0}.gate-outlook span,.gate-outlook strong{font-size:9px}}.progress i{transform-origin:0;will-change:transform}.pill{color:#173d60;background:#fff3c5;border:2px solid #173d60;box-shadow:0 4px #173d60}.stage-tag{color:#3d4761;background:#ffda67}.squad-stat strong{color:#fff8d4;text-shadow:0 4px #173c60,2px 0 #173c60,-2px 0 #173c60}.next-preview{background:#173e62e8;border:2px solid #70bacb;padding:6px;box-shadow:0 4px #183850}.gate-outlook{background:#204b6b;border-color:#6698b0}.gate-outlook.selected{background:#1b756e;border-color:#ffdc66}.gate-outlook b{color:#ffe275}.convoy-progress{color:#5e4c2d;text-shadow:none;background:#fff0bf;border:2px solid #bd914d;border-radius:8px;padding:5px}.convoy-orders button{background:#f1fff0;border:2px solid #93b6ad;box-shadow:0 4px #a4c1b6}.convoy-orders button:first-child{background:#fff1b8;border-color:#cf9b43;box-shadow:0 4px #bc8a3e}.convoy-map button{border-left:7px solid #5dad91}.home-title .eyebrow{color:#193c54;text-shadow:none;background:#fff0b7;border-radius:20px;padding:6px 13px;display:inline-block}.home-bottom{background:linear-gradient(#0000,#173e60c9 15%);border-radius:24px;padding-top:18px}.route-review{color:#234b5a;text-align:left;background:#f0fff2;border:2px solid #9ec9c6;border-radius:14px;margin:12px 0;padding:12px}.route-review summary{cursor:pointer;min-height:28px;font-weight:800}.route-review p{font-size:12px}.route-review ol{max-height:220px;margin:0;padding:0;list-style:none;overflow:auto}.route-review li{border-bottom:1px dashed #a0c1ae;gap:3px;padding:8px 0;display:grid}.route-review span,.route-review small{font-size:12px}
