:root{font-family:system-ui,-apple-system,"Yu Gothic UI",sans-serif;color:#172638;background:#f4f7fa;font-size:16px;line-height:1.65;color-scheme:light}*{box-sizing:border-box}body{margin:0}main{max-width:1160px;margin:auto;padding:24px}h1{font-size:clamp(1.5rem,4vw,2rem);margin:0;color:#153752}header{border-bottom:3px solid #236489;margin-bottom:20px}header p{margin:8px 0 20px}h2{font-size:1.25rem;margin:0 0 16px}h3{font-size:1rem}section,main>details{background:white;border:1px solid #d5dfe7;padding:20px;margin-bottom:18px;border-radius:8px}.controls,.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:14px 0}label{display:flex;flex-direction:column;gap:4px;font-size:.9rem}input,select,button{font:inherit;border:1px solid #9aafbe;border-radius:5px;padding:9px 12px;min-height:44px;background:white;color:inherit}input[type=number]{width:170px;max-width:100%}button{cursor:pointer;font-size:.9rem;font-weight:600}button:hover:not(:disabled){background:#e7f1f7}button:disabled{opacity:.5;cursor:default}.actions button[data-run="1"],.actions button[data-run="1000"]{background:#18587d;color:white;border-color:#18587d}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #dd981a;outline-offset:2px}details{margin:16px 0}summary{cursor:pointer;font-weight:600;padding:8px 0;min-height:44px}summary span,.small{color:#526575;font-size:.875rem}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.fields label{background:#f6f9fb;padding:12px;border-radius:6px}.fields small{font-size:.8rem;color:#526575}.fields input{width:100%}.error{color:#a71919!important}progress{width:100%;height:14px;accent-color:#236489}.table-wrap{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{padding:9px 12px;border-bottom:1px solid #dce3e9;text-align:right;white-space:nowrap}th{background:#edf3f7;font-weight:600}td:first-child,th:first-child{text-align:left}tbody tr:nth-child(even){background:#f8fafc}.swatch{display:inline-block;width:13px;height:13px;border-radius:2px;margin-right:7px;border:1px solid #647789;vertical-align:middle}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto;font-size:.8rem;background:#f3f6f8;padding:12px}#share-link{flex:1;min-width:180px}#timeline{width:100%;accent-color:#236489}#month{font-weight:bold}.map-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px}#map{width:100%;background:#f1f7fb;border:1px solid #d5dfe7;border-radius:8px;max-height:720px}#map .area{cursor:pointer;stroke:#778997;stroke-width:1.8}#map .area:focus{outline:none;stroke:#061e55;stroke-width:10}#map .selected{stroke:#092952;stroke-width:8}#map .border{stroke:#192d40;stroke-width:5;pointer-events:none}.faction-list{max-height:320px}dl{font-size:.875rem;display:grid;grid-template-columns:1fr 1.25fr;gap:5px;margin:14px 0}dt{color:#526575}dd{margin:0;text-align:right}a{color:#175985}#map-note{font-size:.875rem}[hidden]{display:none!important}@media(max-width:760px){main{padding:12px}section,main>details{padding:14px}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.map-layout{grid-template-columns:1fr}.controls label{flex:1;min-width:130px}.controls input,.controls select{width:100%}.actions button{flex:1 1 42%}#map{max-height:none}th,td{padding:8px} }@media(max-width:420px){.fields{grid-template-columns:1fr}input,select{font-size:16px}.controls{gap:8px}h1{font-size:1.5rem}}
