#federation-open{min-height:44px;padding:0 10px;border:1px solid color-mix(in srgb,var(--accent) 50%,var(--surface));background:var(--surface);font-size:10px;color:var(--text);white-space:nowrap}#federation-open[hidden]{display:none}
#federation-dialog{width:min(1020px,calc(100% - 28px));max-height:90dvh;padding:25px;margin:auto;color:var(--text);border:1px solid var(--accent);border-radius:0;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 5%,var(--bg)),var(--bg));font:12px/1.6 'DM Sans','Segoe UI',sans-serif;scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg)}#federation-dialog::backdrop{background:#000b;backdrop-filter:blur(9px)}
#federation-dialog *{box-sizing:border-box}#federation-dialog button{min-height:44px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--surface));border-radius:0;background:var(--surface);color:var(--text);font:600 11px/1.4 'DM Sans','Segoe UI',sans-serif;cursor:pointer}#federation-dialog button:disabled{opacity:.4;cursor:not-allowed}#federation-dialog button:hover:not(:disabled){border-color:var(--accent)}#federation-dialog button:focus-visible,#federation-dialog summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#federation-dialog button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--bg))}
.fed-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.fed-header h2{font-size:28px;letter-spacing:-.7px;margin:5px 0 20px}.fed-header button{width:44px;font-size:20px!important;flex-shrink:0}.fed-label{font-size:9px;letter-spacing:1.4px;color:var(--accent)}.fed-summary{display:grid;grid-template-columns:1.4fr 1fr 1fr;border:1px solid var(--line);background:var(--surface);margin-bottom:18px}.fed-summary>div{padding:15px 18px;border-right:1px solid var(--line);min-width:0}.fed-summary>div:last-child{border:0}.fed-summary small{display:block;font-size:9px;color:var(--muted)}.fed-summary b{display:block;font-size:24px;line-height:1.8;font-variant-numeric:tabular-nums}.fed-summary em{font-size:10px;font-style:normal;color:var(--accent)}.fed-track,.fed-health{height:3px;background:#ffffff14;margin:8px 0}.fed-track i,.fed-health i{display:block;height:100%;background:var(--accent)}.fed-tabs{display:flex;gap:6px;margin-bottom:12px}.fed-tabs button{flex:1}.fed-colonies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.fed-colony,.fed-panel{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--surface));background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 6%,var(--surface)),var(--surface));padding:18px;min-width:0}.fed-card-top{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:7px;letter-spacing:.5px;color:var(--muted)}.fed-coin{border:1px solid var(--colony-color);color:var(--colony-color);padding:4px 7px;font-size:11px;font-weight:700}.fed-colony h3,.fed-panel h3{font-size:19px;margin:13px 0 8px}.fed-price{font-size:23px;font-weight:600}.fed-price small{font-size:9px;color:var(--muted);font-weight:400}.fed-health i{background:var(--colony-color)}.fed-pair{display:flex;justify-content:space-between;gap:8px;font-size:10px;margin:7px 0}.fed-pair span{color:var(--muted)}.fed-rank{margin:16px 0;padding:12px 0;border-block:1px solid var(--line)}.fed-rank b{color:var(--accent)}.fed-rank span,.fed-rank small{display:block;font-size:10px;color:var(--muted)}.fed-colony>button{display:flex;justify-content:space-between;gap:8px;width:100%;margin-top:7px}.fed-council{margin-top:18px}.fed-council p{font-size:10px;margin:7px 0;color:var(--muted)}.fed-council small{font-size:9px;color:var(--muted)}.fed-votes{display:flex;gap:4px;margin:10px 0}.fed-votes button{flex:1;padding:6px!important;font-size:9px!important}.fed-caption{font-size:10px;color:var(--muted);line-height:1.7;margin:14px 0}.fed-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line);margin-top:14px}.fed-footer span{font-size:9px;color:var(--muted)}#fed-message{font-size:11px;color:var(--accent);min-height:22px;margin-bottom:8px}.fed-ledger{margin-top:18px;color:var(--muted);font-size:10px}.fed-ledger summary{cursor:pointer;min-height:44px;padding:12px 0}.fed-ledger p{margin:5px 0}.fed-exchange,.fed-rules{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fed-choice,.fed-pools{display:flex;gap:7px;margin:12px 0}.fed-choice button,.fed-pools button{flex:1;min-width:0}.fed-pools small{display:block;font-size:8px;color:var(--muted)}.fed-pools b{display:block;font-size:21px;margin:5px 0}.fed-quote{padding:14px 0;margin:14px 0;border-block:1px solid var(--line)}.fed-quote span,.fed-quote small{display:block;font-size:10px;color:var(--muted)}.fed-quote b{font-size:24px;display:block;margin:6px 0}.fed-primary{border-color:var(--accent)!important;width:100%}.fed-positive{color:var(--accent)}.fed-route{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px 0;color:var(--accent)}.fed-route b{border:1px solid var(--line);padding:10px}.fed-panel p{color:var(--muted);font-size:11px}.fed-holdings{display:flex;gap:20px;flex-wrap:wrap;padding:15px;border:1px solid var(--line);margin-top:14px;color:var(--muted)}.fed-holdings b{color:var(--text);margin-left:8px}.fed-rules a{text-decoration:underline;color:var(--accent)}
@media(max-width:779px){#federation-dialog{padding:16px;max-height:94dvh;width:calc(100% - 16px)}.fed-header h2{font-size:24px}.fed-summary{grid-template-columns:1fr 1fr}.fed-summary>div:first-child{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line)}.fed-summary>div{padding:12px}.fed-summary b{font-size:21px}.fed-colonies,.fed-exchange,.fed-rules{grid-template-columns:1fr}.fed-colony{padding:16px}.fed-footer{align-items:stretch;flex-direction:column}.fed-tabs button{font-size:10px!important;padding:8px!important}.fed-label{font-size:8px}#federation-open{padding:0 7px;font-size:9px}.top-right{gap:4px}.fed-panel{padding:14px}}
@media(max-width:360px){#federation-open{padding:0 5px}.brand{font-size:19px;letter-spacing:3px}.brand small,.brand-slash{display:none}}
