:root{--bg: #eef0ec;--surface: #f8f9f6;--line: #d3d8ce;--text: #232a28;--muted: #68746e;--accent: #2e5d68;--chip: #e2e6df;--chip-on: #2e5d68;--chip-on-text: #f2f5f0}@media(prefers-color-scheme:dark){:root{--bg: #131817;--surface: #1b2120;--line: #313b38;--text: #e2e8e4;--muted: #8fa09a;--accent: #7fb3bf;--chip: #242c2a;--chip-on: #7fb3bf;--chip-on-text: #10201f}}*{box-sizing:border-box;margin:0}html{-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,sans-serif;line-height:1.5}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{max-width:1060px;margin:0 auto;padding:20px 16px 44px}.sub{color:var(--muted);font-size:13.5px}.btn{padding:9px 18px;border-radius:8px;border:1px solid var(--line);background:var(--chip);color:var(--text);font-size:14.5px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--chip-on-text);font-weight:600}.btn.big{width:100%;padding:12px;font-size:15.5px;margin-top:16px}.btn:disabled{opacity:.45;cursor:default}.home-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:8px 0 26px}h1.brand{font-family:Palatino Linotype,Book Antiqua,Georgia,serif;font-size:clamp(28px,4.5vw,40px);font-weight:600;letter-spacing:.01em;line-height:1.05}h1.brand .brand-sub{display:block;font-family:system-ui,sans-serif;font-size:.34em;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-top:4px}.tagline{color:var(--muted);margin-top:6px;max-width:58ch}.lang-switch{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;flex-shrink:0}.lang-switch button{padding:6px 14px;border:none;background:transparent;color:var(--muted);font-size:13px}.lang-switch button.on{background:var(--chip-on);color:var(--chip-on-text)}.home-foot{display:flex;gap:18px;margin-top:40px;padding-top:18px;border-top:1px solid var(--line)}.home-foot a{color:var(--muted);font-size:13px;text-decoration:none}.home-foot a:hover{color:var(--accent)}.resume-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--accent);border-radius:12px;padding:14px 18px;margin-bottom:26px}.resume-banner strong{display:block}.resume-banner .sub{display:block;margin-top:2px}.cat{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:26px 0 12px}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.map-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease}.map-card:not(.soon):hover{transform:translateY(-2px);box-shadow:0 8px 22px #0a141221}.thumb{aspect-ratio:1000 / 640;overflow:hidden}.thumb svg{display:block;width:100%;height:100%}.soon-thumb{display:flex;align-items:center;justify-content:center;font-size:44px;background:var(--chip);filter:grayscale(.35)}.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}.card-body h3{font-size:16.5px;font-weight:600}.card-body .meta{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.card-body .btn{margin-top:10px;align-self:flex-start}.map-card.soon{border-style:dashed}.map-card.soon .card-body h3{color:var(--muted)}.badge-soon{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:2px 8px;vertical-align:2px;margin-left:6px;white-space:nowrap}.fs-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:6px 0 16px}.fs-title{font-family:Palatino Linotype,Book Antiqua,Georgia,serif;font-size:clamp(20px,3.2vw,28px);font-weight:600;flex:1}.fs-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}@media(max-width:860px){.fs-layout{grid-template-columns:1fr}}.fs-side h2{font-size:18px;font-weight:600}.fs-side>.sub{margin:4px 0 12px}.faction-list,.diff-list{display:flex;flex-direction:column;gap:8px}.faction-card,.diff-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text)}.faction-card.on,.diff-card.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.fc-text{display:flex;flex-direction:column;min-width:0}.fc-name{font-weight:600;font-size:14.5px}.fc-meta{font-size:12.5px;color:var(--muted)}.dot{width:11px;height:11px;border-radius:50%;display:inline-block;flex-shrink:0}.dot.big{width:16px;height:16px}.optlabel{font-size:13px;color:var(--muted);margin:16px 0 7px;font-weight:600}.menu-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.hud{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 4px 14px #0000002e}.hud .turn{font-weight:600;font-variant-numeric:tabular-nums}.phases{display:flex;gap:5px}.phase-chip{font-size:12.5px;padding:4px 11px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--chip)}.phase-chip.on{background:var(--chip-on);color:var(--chip-on-text);border-color:var(--chip-on)}.hud .grow{flex:1}.hud select{font:inherit;font-size:13.5px;padding:6px 8px;border-radius:6px;border:1px solid var(--line);background:var(--chip);color:var(--text)}.map-wrap{border:1px solid var(--line);border-radius:10px;overflow:hidden}.map-wrap svg{display:block;width:100%;height:auto}.infobar{margin-top:10px;padding:11px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:14.5px;min-height:46px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.infobar .msg{flex:1;min-width:200px}.assault{display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:100%}.assault .as-title{font-weight:600}.assault input[type=range]{flex:1;min-width:130px;max-width:300px;accent-color:var(--accent);cursor:pointer}.assault .as-nums{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.assault .as-nums b{color:var(--text)}.assault .btn{padding:6px 14px}.replay-bar{position:sticky;bottom:10px;z-index:40;display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 4px 14px #00000038}.replay-bar .rp-turn{font-weight:600;font-variant-numeric:tabular-nums}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);margin-top:10px}.legend .p{display:flex;align-items:center;gap:6px}.legend b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.cell{cursor:pointer;transition:filter .15s ease}.cell:hover{filter:brightness(1.09)}.cell:focus{outline:none}.cell:focus-visible{outline:none;filter:brightness(1.12)}.cell.sel{stroke:#f5e39a;stroke-width:3.5;filter:brightness(1.06)}.cell.atk{stroke:#fff;stroke-width:3;stroke-dasharray:10 7;animation:march 1.1s linear infinite}.cell.flash{animation:flash .55s ease}@keyframes march{to{stroke-dashoffset:-34}}@keyframes flash{0%{filter:brightness(2.1)}to{filter:brightness(1)}}.hlpath{fill:#fff;opacity:0;pointer-events:none}.hlpath.on{animation:pulse 1.15s ease-in-out infinite}@keyframes pulse{0%{opacity:0}30%{opacity:.5}70%{opacity:0}to{opacity:0}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e0d8c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.overlay .panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px 34px;max-width:420px;text-align:center}.overlay h2{font-size:22px;margin-bottom:8px}.overlay p{color:var(--muted);margin-bottom:18px}.overlay .menu-actions{justify-content:center}.fs-crestbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 4px 14px #0000002e}.fs-crestbar .sub{margin:0}.diff-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.diff-row .optlabel{margin:0 2px 0 0}.diff-chip{font-size:13px;padding:6px 13px;border-radius:999px;border:1px solid var(--line);background:var(--chip);color:var(--muted)}.diff-chip.on{background:var(--chip-on);color:var(--chip-on-text);border-color:var(--chip-on);font-weight:600}.crest{transition:filter .12s ease}.crest:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.5)) brightness(1.08)}.crest:focus{outline:none}.crest:focus-visible{outline:none;filter:drop-shadow(0 0 3px var(--accent)) brightness(1.1)}.panel.confirm .crest-lg{width:84px;height:84px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 14px;border:3px solid #d9b64e;background:#2c2214;box-shadow:0 3px 10px #0000004d}.overlay .panel.dip-panel{max-width:460px;text-align:left}.dip-panel .sub{margin-bottom:14px}.dip-list{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow-y:auto}.dip-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--chip)}.dip-crest{width:34px;height:34px;border-radius:50%;flex:none;object-fit:cover;border:2px solid #d9b64e;background:#2c2214}.dip-name{font-weight:600}.dip-meta{color:var(--muted);font-size:13px;margin-left:auto;white-space:nowrap}.dip-row .btn{flex:none;padding:6px 12px}.dip-row .btn[disabled]{opacity:.45;cursor:default}.dip-row.offer{border-color:#6aa06a;background:color-mix(in srgb,#6aa06a 12%,var(--chip))}.dip-season{margin:0 0 12px;font-size:13.5px;color:var(--muted)}.dip-season.open{color:var(--text);font-weight:600}.dip-group-label{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:4px 0 6px}.dip-list+.dip-list{margin-top:8px}.btn.danger{border-color:#b5433a;color:#e07168}.btn.danger:hover{background:#b5433a;color:#fff}.btn.good{border-color:#4e9a4e;color:#63b063}.btn.good:hover{background:#4e9a4e;color:#fff}#diplo.has-offers{border-color:#6aa06a;color:#63b063;animation:diploPulse 1.4s ease-in-out infinite}@keyframes diploPulse{0%,to{box-shadow:0 0 #63b06380}50%{box-shadow:0 0 0 5px #63b06300}}@media(prefers-reduced-motion:reduce){.cell{transition:none}.cell.atk,.cell.flash{animation:none}.hlpath.on{animation:none;opacity:.4}.map-card,.crest{transition:none}#diplo.has-offers{animation:none}}
