:root{color-scheme:dark}*{box-sizing:border-box}body{font:16px system-ui;margin:0;color:#f4f6fa;background:#101722}header{padding:26px 20px;background:#1b293b}header>*,main{max-width:1050px;margin-left:auto;margin-right:auto}h1{font-size:28px}h2{font-size:22px}main{padding:20px}a{color:#f4c57d}section,dialog{background:#1d2b3b;border:1px solid #50647a;border-radius:14px;padding:20px;margin:20px 0}.muted{color:#b5c4d6;line-height:1.55}.toolbar,.section-heading{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.section-heading{justify-content:space-between}.section-heading h2{margin:8px 0}button,.button{font:inherit;cursor:pointer;display:inline-block;border:1px solid #50647a;border-radius:9px;padding:11px 14px;min-height:44px;background:#304358;color:white}button:disabled{opacity:.5;cursor:wait}.primary{background:#dfae5b;color:#162131;font-weight:700}label{display:block;margin-top:16px;color:#ccd8e6}input,textarea,select{font:inherit;width:100%;background:#0e1724;color:white;padding:12px;border:1px solid #50647a;border-radius:8px;margin:6px 0 10px}.toolbar label{margin:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:15px}.alliance-card{display:block;text-align:left;min-width:210px;max-width:100%;overflow-wrap:anywhere}.alliance-card strong,.alliance-card small{display:block;margin:7px 0}.alliance-card small{color:#c3d0df}.tree{display:flex;gap:22px;overflow-x:auto;padding:12px 0}.tree-level{flex:0 0 245px;display:flex;flex-direction:column;gap:12px}.tree-level h3{font-size:14px;color:#c3d0df}.tree-level .alliance-card{width:100%}.edge-hint{font-size:13px;line-height:1.6;color:#f4c57d}.relation{padding:16px 0;border-bottom:1px solid #50647a;overflow-wrap:anywhere}.relation p{white-space:pre-wrap}.relation button{margin-right:8px}dialog{width:min(660px,calc(100% - 24px));max-height:85dvh;margin:auto;overflow:auto}dialog::backdrop{background:#000a}.form-error,.error{color:#ffbcad}#recovery{border:1px solid #dfae5b;border-radius:9px;padding:15px}#recovery button{margin-top:10px}[hidden]{display:none!important}:focus-visible{outline:3px solid #dfae5b;outline-offset:3px}@media(max-width:480px){main{padding:14px}section,dialog{padding:16px}.section-heading h2{font-size:20px}}
