@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700;800;900&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{font-family:'Noto Sans JP',sans-serif;color:#193f39;background:#f5f7f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ec791e;outline-offset:5px}button:disabled{opacity:.4;cursor:default}main{max-width:1320px;margin:auto;padding:25px 44px 20px}.masthead{display:flex;align-items:center;gap:25px;margin-bottom:25px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:inherit;font-size:13px;font-weight:700;line-height:1.5}.brand-mark{background:#194f43;color:white;border-radius:50%;height:52px;width:52px;text-align:center;padding-top:8px;font-size:13px;letter-spacing:2px}.brand-title{font-size:22px;display:block;font-family:'M PLUS Rounded 1c',sans-serif;font-weight:900}.edition{margin-left:auto;font-size:11px;letter-spacing:2px;font-weight:800}.edition span{display:block;font-size:12px;letter-spacing:.04em;font-weight:400;margin-top:5px}.quiet{border:1px solid #d5dfd9;border-radius:25px;padding:9px 16px;background:transparent;color:#34554a;font-weight:700;font-size:14px}.game-shell{border:1px solid #c8d7ce;border-radius:20px;overflow:hidden;box-shadow:0 12px 35px #2149330d;background:white}.dashboard{height:88px;display:flex;align-items:center;padding:16px 30px;gap:48px;background:#fff}.dashboard>div{min-width:110px}.eyebrow{font-size:12px;display:block;color:#73857b;font-weight:700;margin-bottom:3px;letter-spacing:.08em}.dashboard strong{display:block;font-size:27px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}.dashboard small{font-size:15px;font-weight:500;color:#819087}.score-block{border-left:1px solid #e3e9e1;padding-left:35px}.dashboard .life-block{margin-left:auto;min-width:120px}.life-block strong{color:#eb775a;font-size:23px;letter-spacing:4px}.pause{border:1px solid #e0e6de;background:#f5f7f2;width:39px;height:39px;border-radius:50%;font-size:18px;color:#235042}.stage{position:relative;aspect-ratio:1200/620;background:#c4e3eb;overflow:hidden}canvas{display:block;width:100%;height:100%}.scene-label{position:absolute;top:20px;left:25px;font-size:12px;display:flex;gap:12px;align-items:center;color:#356156}.scene-label b{font-size:11px;background:#ffffffa8;border:1px solid #fff9;padding:5px 9px;border-radius:20px;letter-spacing:1px}.overlay{position:absolute;inset:0;display:flex;align-items:center;padding-left:7%;background:linear-gradient(90deg,#fff8dcf7 0%,#fff8dce8 36%,#fff8dc0a 73%)}.overlay[hidden]{display:none}.start-card{width:440px;max-width:68%;padding-bottom:12px}.tag{font-size:12px;font-weight:700;color:#486744;border:1px solid #b9c5a5;border-radius:30px;padding:6px 12px;display:inline-block}.start-card h1{font-family:'M PLUS Rounded 1c',sans-serif;font-size:clamp(28px,4.2vw,57px);font-weight:900;line-height:1.4;margin:20px 0 15px;letter-spacing:-.03em}.start-card em{font-style:normal;color:#e77932}.start-card p{font-size:15px;line-height:1.9;color:#546751;margin:0 0 20px}.primary{display:flex;justify-content:space-between;align-items:center;background:#1b5846;color:white;border:0;border-radius:12px;padding:17px 25px;min-width:250px;font-size:18px;font-weight:800;box-shadow:0 5px 0 #103c30;transition:transform .15s}.primary:hover{background:#266c56;transform:translateY(-1px)}.primary span{font-size:26px;line-height:1}.start-card .start-note{font-size:12px;margin:15px 0 0 18px}.route{position:absolute;left:25px;right:25px;bottom:17px;display:flex;gap:12px;align-items:center;font-size:10px;letter-spacing:1px;font-weight:800;color:#fff}.route>div{height:5px;border-radius:5px;background:#ffffff4d;flex:1;overflow:hidden}.route i{display:block;height:100%;width:0;background:#fbd578;border-radius:5px}.notice{position:absolute;left:50%;top:16%;transform:translateX(-50%);padding:8px 19px;border-radius:22px;background:#fff9db;box-shadow:0 3px 0 #22453220;font-size:15px;font-weight:800;white-space:nowrap;color:#3c614a;opacity:0;transition:opacity .15s}.notice.visible{opacity:1}.controls{padding:17px 25px;display:flex;align-items:center;gap:13px}.control-intro{margin-right:auto}.control-intro b{display:block;font-size:15px}.control-intro>span{display:block;font-size:12px;color:#879188;margin-top:5px}.action{display:flex;align-items:center;justify-content:center;gap:13px;padding:12px 25px;border-radius:12px;border:1px solid #d8dfd3;background:#f5f7ef;color:#355b48;font-weight:800;min-height:68px;touch-action:none;user-select:none}.action span:not(.action-icon){text-align:left;font-size:15px}.action small{display:block;font-size:10px;letter-spacing:1px;margin-top:4px;font-weight:600;opacity:.65}.action-icon{font-size:31px;line-height:1}.deliver{background:#fcdb82;border-color:#e9c568;color:#594b28}.action:active{transform:translateY(2px);filter:brightness(.94)}.howto{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:25px;padding:0 6px}.howto>div{display:flex;gap:12px;align-items:flex-start}.step{font-size:13px;border:1px solid #d7dfd3;color:#7a8b70;border-radius:50%;width:29px;height:29px;display:flex;justify-content:center;align-items:center;flex-shrink:0}.howto p{margin:1px 0}.howto b{display:block;font-size:14px}.howto p span{display:block;color:#7b877b;font-size:12px;margin-top:7px}footer{border-top:1px solid #dde4d8;margin-top:27px;padding-top:18px;display:flex;justify-content:space-between;color:#879084;font-size:11px}footer a{color:inherit;text-decoration:none}.version{margin-left:8px;background:#e9eee3;padding:2px 6px;border-radius:4px}#result{font-size:18px;line-height:1.8;font-weight:800;color:#416744;margin-bottom:15px}
@media(min-width:1500px){main{padding-top:40px}.masthead{margin-bottom:32px}}
@media(max-width:760px){main{padding:16px 14px}.masthead{gap:10px;margin-bottom:18px}.edition{display:none}.quiet{margin-left:auto;padding:8px 11px;font-size:12px}.brand-mark{width:44px;height:44px;padding-top:7px;font-size:11px}.brand-title{font-size:19px}.game-shell{border-radius:15px}.dashboard{height:73px;gap:15px;padding:12px 17px}.dashboard>div{min-width:65px}.dashboard strong{font-size:21px}.dashboard small{font-size:12px}.dashboard .life-block{min-width:auto}.life-block strong{font-size:17px;letter-spacing:1px}.score-block{padding-left:16px}.eyebrow{font-size:11px}.pause{width:32px;height:32px;flex-shrink:0}.stage{aspect-ratio:4/3}canvas{object-fit:cover}.scene-label{left:14px;top:12px;font-size:10px;gap:5px}.scene-label b{font-size:9px;padding:3px 6px}.overlay{padding-left:6%;background:linear-gradient(90deg,#fff8dcf5,#fff8dcde 45%,#fff8dc30)}.start-card{max-width:81%;width:340px;padding-top:10px}.tag{font-size:10px;padding:4px 9px}.start-card h1{font-size:clamp(26px,7.2vw,42px);margin:12px 0 10px;line-height:1.35}.start-card p{font-size:12px;margin-bottom:14px}.primary{min-width:200px;font-size:15px;padding:12px 19px}.start-card .start-note{font-size:10px;margin-top:10px}.route{left:13px;right:13px;bottom:12px;font-size:8px}.controls{padding:13px;gap:10px;flex-wrap:wrap}.control-intro{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:1px}.control-intro b{font-size:12px}.control-intro>span{font-size:10px;margin-top:0}.action{flex:1;padding:10px;min-height:62px}.action span:not(.action-icon){font-size:14px}.action-icon{font-size:26px}.howto{gap:13px;margin-top:20px;grid-template-columns:1fr}.howto>div{align-items:center}.howto b{font-size:12px}.howto p span{font-size:11px;margin-top:3px}.step{width:24px;height:24px;font-size:11px}footer{gap:10px;line-height:1.8;flex-wrap:wrap;font-size:10px;margin-top:20px}.notice{font-size:12px;padding:7px 12px;top:20%}#result{font-size:14px;margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
