:root{--paper: #f3ead6;--paper2: #fbf6ea;--ink: #2b2620;--dim: #6d6458;--line: #d6c9ad;--accent: #a8322a;--good: #1a7f37;--warn: #b7791f;--bad: #c0261c;--shadow: 0 1px 3px rgba(0, 0, 0, .18);font-family:Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic UI,Yu Gothic,Meiryo,system-ui,sans-serif;color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper)}body{min-height:100dvh}h1,h2,h3,h4{font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",serif;margin:.3em 0}h3{font-size:1.05rem}h4{font-size:.95rem;margin-top:.6em}small{color:var(--dim);font-size:.78em}.dim{color:var(--dim);font-size:.85rem}button{font:inherit;color:var(--ink);background:var(--paper2);border:1px solid #b9a98a;border-radius:8px;padding:8px 12px;min-height:40px;cursor:pointer;box-shadow:var(--shadow);touch-action:manipulation}button small{display:block}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:#fff;border-color:#7e2019}button.primary small{color:#f6dcd8}button.on{outline:3px solid #e0b400}button.ghost{background:transparent;box-shadow:none}button.danger{color:var(--bad);border-color:var(--bad)}button.big{font-size:1.1rem;padding:12px 18px;width:100%;margin:6px 0}button.link{background:none;border:none;box-shadow:none;text-decoration:underline;padding:4px;min-height:32px}select,input[type=number],textarea{font:inherit;padding:6px;border-radius:6px;border:1px solid #b9a98a;background:#fff;min-height:36px}textarea{width:100%}input[type=range]{width:100%;height:32px}label{display:block;margin:6px 0}label.check{display:flex;gap:8px;align-items:flex-start}label.check input{width:22px;height:22px;flex:none}.row{display:flex;align-items:center}.row.gap{gap:6px;flex-wrap:wrap;margin:4px 0}.row.end{justify-content:flex-end}.bad{color:var(--bad)}.warn{color:var(--warn)}.good,b.high{color:var(--good)}b.even{color:var(--warn)}b.low{color:var(--bad)}.title-screen,.result-screen{display:flex;justify-content:center;padding:16px;min-height:100dvh;background:radial-gradient(circle at 30% 20%,#faf3e2,#e8dcc0)}.title-card{max-width:720px;width:100%;background:var(--paper2);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 4px 18px #00000026}.title-card h1{font-size:2.2rem;letter-spacing:.2em;text-align:center}.title-card h1.victory{color:var(--good)}.title-card h1.defeat{color:var(--bad)}.title-card h1.deadline{color:var(--warn)}.lead{line-height:1.7}.choice-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.choice{text-align:left}.choice.seat{display:grid;grid-template-columns:34px 1fr;gap:2px 8px;align-items:center}.choice.seat small{grid-column:1 / -1}.crest{width:30px;height:30px;vertical-align:middle}.crest.sm{width:18px;height:18px;margin-right:4px}details.opts{margin:10px 0}.game{display:flex;flex-direction:column;height:100dvh}.topbar{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:6px 10px;background:#2b2620;color:#f3ead6}.topbar .who{display:flex;gap:6px;align-items:center}.topbar .who span{display:block;font-size:.8rem;color:#d9cbb0}.topbar .chips{display:flex;flex-wrap:wrap;gap:4px;flex:1}.chip{background:#463e33;border-radius:999px;padding:4px 10px;font-size:.85rem;white-space:nowrap}.chip small{color:#d9cbb0}.chip.warn{background:#7a5410}.chip.bad{background:#8c1c14}.chip.good{background:#1f5f33}.controls{display:flex;gap:4px;flex-wrap:wrap}.controls button{padding:6px 10px}.layout{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 400px;min-height:0}.mapwrap{min-width:0;position:relative;display:flex;flex-direction:column;min-height:0;background:#9cc3d5}svg.map{flex:1;width:100%;height:100%;min-height:0;touch-action:manipulation;user-select:none}svg.map .cell{cursor:pointer}svg.map .node,svg.map .army{cursor:pointer}svg.map .rname{font-size:3px;text-anchor:middle;font-weight:700;fill:#1d1a16;paint-order:stroke;stroke:#fdfaf2;stroke-width:.6px;pointer-events:none}svg.map .rgar{font-size:2.4px;text-anchor:middle;fill:#1d1a16;paint-order:stroke;stroke:#fdfaf2;stroke-width:.5px;pointer-events:none}svg.map .aname{font-size:2.6px;text-anchor:middle;fill:#fff;font-weight:700;pointer-events:none}svg.map .siege{font-size:4px;fill:#b00}svg.map .warnicon{font-size:3.5px;fill:#d00;font-weight:700}.legend{display:flex;flex-wrap:wrap;gap:4px 10px;padding:4px 8px;background:#fbf6eaeb;font-size:.78rem}.leg{display:inline-flex;align-items:center;gap:2px}.leg small{margin-left:3px;color:#7a2b10}.sw{display:inline-block;width:18px;height:3px;margin-right:3px}.sw.front{background:repeating-linear-gradient(90deg,#d0021b 0 5px,transparent 5px 8px)}.sw.pass{background:repeating-linear-gradient(90deg,#7a5a2f 0 3px,transparent 3px 6px)}.panel{min-width:0;display:flex;flex-direction:column;min-height:0;background:var(--paper);border-left:1px solid var(--line)}.tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;padding:4px;background:#e6dac0}.tabs button{padding:6px 2px;font-size:.85rem;min-height:40px;box-shadow:none}.tabs button.on{background:var(--accent);color:#fff;outline:none}.panel-body{flex:1;overflow-y:auto;padding:8px;-webkit-overflow-scrolling:touch}.card{background:var(--paper2);border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px}.card.preview{border:2px solid var(--accent)}.card.warnbox{border:2px solid var(--warn)}.dimcard{opacity:.6}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.stats>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px}.stats span{color:var(--dim);font-size:.8rem;min-width:3em}.stats b{font-size:1.1rem}.stats small{width:100%}i.bar{display:inline-block;width:60px;height:6px;background:#ddd2b8;border-radius:3px;overflow:hidden;vertical-align:middle}i.bar>i{display:block;height:100%;background:var(--good)}i.bar.bad>i{background:var(--bad)}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:4px;vertical-align:middle}.policies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.pol{padding:6px 4px;text-align:center}.pol small{font-size:.68rem}.armybtn{display:block;width:100%;text-align:left;margin:3px 0}.armyrow{display:flex;align-items:center;gap:6px;margin:3px 0}.guide{background:#fff4c7;border:2px solid #e0b400;border-radius:10px;padding:8px 10px;margin-bottom:8px}.guide p{margin:4px 0;line-height:1.55}.guide-step{font-size:.75rem;color:var(--dim)}.advisor{display:flex;gap:8px;align-items:center;margin:6px 0}.advisor small{display:block}.avatar{width:40px;height:40px;background:#efe3c8;border-radius:50%}.advice{border-left:5px solid var(--dim);background:var(--paper2);border-radius:8px;padding:8px 10px;margin-bottom:6px}.advice.danger{border-color:var(--bad)}.advice.warn{border-color:var(--warn)}.advice.good{border-color:var(--good)}.advice p{margin:2px 0 6px;font-size:.88rem}.advice .opts{display:flex;flex-wrap:wrap;gap:4px}.advice .opts button{font-size:.85rem;text-align:left}.decision{background:#ffe9e4;border:2px solid var(--bad);border-radius:10px;padding:10px;margin-bottom:8px}ul.reasons,ul.notes,ul.events,ul.chron{padding-left:1.1em;margin:4px 0;font-size:.88rem}ul.reasons li span{display:inline-block;min-width:2.6em;font-weight:700}.pos{color:var(--good)}.neg{color:var(--bad)}ul.chron{list-style:none;padding:0}ul.chron li{padding:3px 0;border-bottom:1px dashed var(--line)}ul.chron li span{color:var(--dim);font-size:.8em;margin-right:6px}.battle{border-bottom:1px dashed var(--line);padding:4px 0;font-size:.88rem}.tbl{width:100%;border-collapse:collapse;font-size:.85rem}.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:4px;text-align:left}.tbl tr.me{background:#fff4c7}.tbl select{min-height:32px;padding:2px}.cols{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.85rem}.cols ul{padding-left:1em;margin:2px 0}.spark{width:100%;height:120px;background:#fff;border:1px solid var(--line)}.toast{position:fixed;left:50%;bottom:16px;transform:translate(-50%);background:#2b2620;color:#fff;padding:10px 16px;border-radius:10px;max-width:92vw;z-index:50;box-shadow:0 4px 12px #0000004d}.modal-bg{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:40;padding:12px}.modal{background:var(--paper2);border-radius:12px;padding:14px;max-width:640px;width:100%;max-height:88dvh;display:flex;flex-direction:column}.modal-body{overflow-y:auto;line-height:1.6}.wrap{flex-wrap:wrap}@media (max-width: 860px){.layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,40dvh) minmax(0,1fr)}.panel{border-left:none;border-top:1px solid var(--line)}.topbar{padding:3px 6px;gap:3px 6px}.topbar .who b{font-size:.9rem}.topbar .who span{display:inline;margin-left:4px;font-size:.75rem}.topbar .who>div{display:flex;align-items:baseline}.topbar .crest{width:22px;height:22px}.topbar .chips{order:3;flex:1 1 100%;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.topbar .chips .chip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.controls{margin-left:auto}.controls button{min-height:36px;padding:3px 7px;font-size:.8rem}.chip{font-size:.74rem;padding:2px 7px}.legend{font-size:.68rem;padding:2px 6px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}.tabs button{min-height:36px;font-size:.8rem}.policies{grid-template-columns:repeat(2,minmax(0,1fr))}.title-card h1{font-size:1.8rem}.guide p{font-size:.88rem;line-height:1.5}}
