@charset "UTF-8";
:root{font-family:"Yu Gothic","Meiryo",sans-serif;color:#243d35;background:#f4efdf;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 0,#e6dcc0,transparent 50%),#f4efdf}main{max-width:1180px;margin:auto;padding:20px 28px}button,select{font:inherit}button{cursor:pointer;touch-action:manipulation;border:0;border-radius:10px;padding:12px 16px;font-weight:700;color:inherit;background:#e8e5d6}button:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d4692f;outline-offset:3px}button:disabled{cursor:default;opacity:.48}header{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px}header a{color:inherit}header button{padding:8px 12px;background:transparent;border:1px solid #c7c9b6}.heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0 24px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#8a6f43;margin:0 0 8px}h1{font-size:38px;line-height:1.3;margin:0;font-weight:900;letter-spacing:.015em}h1 span{color:#aa402c}h2{font-size:27px;margin:8px 0 14px}.seal{background:#ab432e;color:#fff0cf;border:3px double #f0d7b6;padding:8px 12px;transform:rotate(8deg);font-size:18px;font-weight:900}.panel{border:1px solid #d7d7c2;border-radius:18px;background:#fffcf1;box-shadow:0 6px 0 #243d3508}.intro{padding:30px;display:grid;grid-template-columns:1fr 1.2fr;gap:18px 28px}.intro p{line-height:1.85}.steps{display:flex;gap:8px;flex-wrap:wrap;font-size:12px}.steps span{background:#eeead8;padding:7px 9px;border-radius:6px}.generals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;grid-row:span 2}.general{border:2px solid transparent;background:#efe9d7;padding:12px 6px}.general[aria-pressed=true]{border-color:#a94731;background:#f7dfbb;box-shadow:0 3px 0 #a94731}.general svg{width:100%;max-height:115px}.general strong{display:block;font-size:16px}.general small{display:block;font-size:11px;line-height:1.6;margin-top:7px}.primary{background:#b34b31;color:#fffbed;box-shadow:0 4px 0 #763323;font-size:17px;min-height:50px}.secondary{background:#e9eddf;margin-top:10px;font-size:12px;width:100%}.difficulty{font-size:13px}.difficulty select{max-width:100%;border:1px solid #c5c9b4;border-radius:6px;padding:7px;background:white}.muted{font-size:12px;line-height:1.6;color:#667266}.intro .primary{grid-column:1/-1}.intro #record{grid-column:1/-1;text-align:center;margin:0}.campaign-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.stock{display:flex;gap:8px;flex-wrap:wrap;font-size:13px}.stock span{background:#fffdf3;border:1px solid #d7d7c2;border-radius:9px;padding:10px}.stock b{font-size:18px}#route{display:flex;gap:6px;margin:8px 0 18px}.route-stop{flex:1;text-align:center;padding:8px 2px;border-bottom:3px solid #d7d5bd;font-size:12px;color:#868a77}.route-stop.current{color:#a5432e;border-color:#ae4b33;font-weight:800}.route-stop.done{color:#357460;border-color:#357460}.battle-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,1fr);gap:18px}.field-wrap{min-width:0}canvas{width:100%;display:block;aspect-ratio:8/5;border-radius:16px;background:#d6ddb4;border:1px solid #b4bea0}.field-caption{display:flex;justify-content:space-between;font-size:11px;margin:10px 6px;color:#6b775f}.blue{color:#26717e}.red{color:#b44936}.message{background:#e3e9d6;border-left:4px solid #64866a;border-radius:6px;padding:12px;line-height:1.8;min-height:70px;font-size:13px}.command{padding:17px}.command-head{display:flex;justify-content:space-between;align-items:center}h3{font-size:17px;margin:0}.command-head span{font-size:12px;color:#a5432e}.lane{padding:9px 0;border-top:1px solid #e5e4d4}.lane-top{display:flex;justify-content:space-between;font-size:12px;gap:6px;margin-bottom:7px}.unit-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.unit-choices button{padding:8px 4px;font-size:13px;border:1px solid transparent}.unit-choices button[aria-pressed=true]{background:#265d5d;color:#fff9de}.lane small{display:block;margin-top:6px;font-size:11px;color:#4c7561}.tactics{display:flex;gap:5px;margin:10px 0}.tactics button{flex:1;font-size:12px;padding:10px 4px;border:2px solid transparent}.tactics button[aria-pressed=true]{border-color:#b34b31;background:#fae5c4}.advice{font-size:12px;line-height:1.6;min-height:34px}.command .primary{width:100%}.result{text-align:center;margin:22px 0;padding:24px}.result p{line-height:1.8}.result .primary{min-width:230px}.result .secondary{display:block;max-width:280px;margin:14px auto 0}.stars{color:#c58c22;font-size:38px;letter-spacing:6px}.guide{margin-top:24px;padding:17px 22px;font-size:13px;line-height:1.9}.guide summary{cursor:pointer;font-weight:700}.guide h3{margin-top:20px}footer{text-align:center;font-size:11px;color:#79806d;padding:24px 0} [hidden]{display:none!important}@media(max-width:760px){main{padding:14px}.heading{margin:22px 0 18px}h1{font-size:27px}h1 span{display:block}.seal{font-size:14px}header span{display:none}.intro{grid-template-columns:1fr;padding:20px}.generals{grid-row:auto}.general strong{font-size:14px}.intro h2{font-size:24px}.battle-layout{grid-template-columns:1fr}.campaign-top h2{font-size:20px}.stock{gap:4px}.stock span{padding:6px;font-size:11px}.stock b{font-size:16px}#route{gap:3px}.route-stop{font-size:10px}.command{padding:15px}.message{min-height:0}.field-caption{margin:7px 3px}.guide{padding:15px}.general small{font-size:10px}.general svg{max-height:90px}}@media(prefers-reduced-motion:reduce){button:hover:not(:disabled){transform:none}}
