/* v13.16 — Pandemic-era Galactic Conquest planetary acquisition. */
.galactic-acquisition{
  --target-x:50%;--target-y:50%;--gc-blue:#79c9f4;--gc-blue-soft:rgba(69,157,211,.42);--gc-gold:#e0c77d;
  position:absolute;inset:0;z-index:7;pointer-events:none;opacity:0;visibility:hidden;overflow:hidden;
  color:#cae8f8;transition:opacity .16s var(--ease),visibility 0s linear .16s
}
.galactic-acquisition.active{opacity:1;visibility:visible;transition:opacity .1s linear,visibility 0s}
.galactic-acquisition::before{
  content:"";position:absolute;inset:-3%;opacity:.8;
  background:
    radial-gradient(circle at 8% 24%,rgba(104,190,239,.7) 0 1px,transparent 2px),
    radial-gradient(circle at 19% 76%,rgba(104,190,239,.55) 0 1px,transparent 2px),
    radial-gradient(circle at 34% 16%,rgba(104,190,239,.6) 0 1px,transparent 2px),
    radial-gradient(circle at 66% 23%,rgba(104,190,239,.55) 0 1px,transparent 2px),
    radial-gradient(circle at 82% 68%,rgba(104,190,239,.65) 0 1px,transparent 2px),
    radial-gradient(circle at 94% 33%,rgba(104,190,239,.5) 0 1px,transparent 2px),
    linear-gradient(rgba(57,143,198,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(57,143,198,.075) 1px,transparent 1px),
    radial-gradient(ellipse at 50% 48%,rgba(18,80,122,.12),rgba(1,5,10,.2) 47%,rgba(0,0,0,.36) 100%);
  background-size:auto,auto,auto,auto,auto,auto,48px 48px,48px 48px,auto;
  transform:perspective(760px) rotateX(2deg)
}
.galactic-acquisition::after{
  content:"";position:absolute;left:0;right:0;height:2px;top:9%;opacity:0;
  background:linear-gradient(90deg,transparent,rgba(70,171,228,.2) 14%,rgba(210,241,255,.92) 50%,rgba(70,171,228,.2) 86%,transparent);
  box-shadow:0 0 18px rgba(76,174,229,.4)
}
.galactic-acquisition.scanning::after{animation:gcMapSweep 1.08s cubic-bezier(.18,.7,.2,1) 0s 1}
.galactic-acquisition.phase-traverse::after{animation:gcMapSweep .92s cubic-bezier(.18,.7,.2,1) 0s 1}
.galactic-acquisition-dim{position:absolute;inset:0;background:radial-gradient(circle at var(--target-x) var(--target-y),transparent 0,rgba(1,8,15,.05) 10%,rgba(1,7,13,.4) 38%,rgba(0,2,6,.72) 100%);opacity:.92}
.galactic-acquisition-head{
  position:absolute;top:24px;left:50%;width:min(720px,78vw);height:29px;transform:translateX(-50%);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:0 18px;
  border-top:1px solid rgba(108,188,232,.28);border-bottom:1px solid rgba(108,188,232,.18);
  background:linear-gradient(90deg,transparent,rgba(7,29,45,.78) 12%,rgba(8,36,55,.92) 50%,rgba(7,29,45,.78) 88%,transparent);
  clip-path:polygon(3% 0,97% 0,100% 50%,97% 100%,3% 100%,0 50%);
  color:#82b8d7;font-family:var(--font-display);font-size:7px;letter-spacing:.2em;text-shadow:0 0 8px rgba(77,165,215,.4)
}
.galactic-acquisition-head span:last-child{text-align:right}.galactic-acquisition-head strong{color:#d8edf7;font-size:10px;font-weight:600;letter-spacing:.24em;white-space:nowrap}
.galactic-acquisition-target{position:absolute;left:var(--target-x);top:var(--target-y);width:154px;height:154px;transform:translate(-50%,-50%) scale(1.34);opacity:0;filter:drop-shadow(0 0 9px rgba(72,164,216,.22))}
.galactic-acquisition.active .galactic-acquisition-target{animation:gcTargetEnter .62s cubic-bezier(.16,.78,.22,1) forwards}
.galactic-acquisition-target.beat{animation:gcTargetBeat .13s ease-out both!important}
.gc-orbit{position:absolute;border-radius:50%;border:1px solid rgba(105,194,238,.45)}
.gc-orbit::before,.gc-orbit::after{content:"";position:absolute;left:50%;top:-3px;width:6px;height:6px;border:1px solid rgba(150,219,249,.8);background:#071521;transform:translateX(-50%) rotate(45deg)}
.gc-orbit::after{top:auto;bottom:-3px}.gc-orbit-outer{inset:7px;border-style:dashed;animation:gcOrbit 8s linear infinite}.gc-orbit-inner{inset:28px;border-color:rgba(105,194,238,.34);animation:gcOrbit 5s linear infinite reverse}
.gc-target-brackets{position:absolute;inset:39px;transition:inset .46s cubic-bezier(.2,.7,.2,1)}
.gc-target-brackets i{position:absolute;width:18px;height:18px;border-color:rgba(169,222,248,.9);border-style:solid}
.gc-target-brackets i:nth-child(1){left:0;top:0;border-width:2px 0 0 2px}.gc-target-brackets i:nth-child(2){right:0;top:0;border-width:2px 2px 0 0}.gc-target-brackets i:nth-child(3){right:0;bottom:0;border-width:0 2px 2px 0}.gc-target-brackets i:nth-child(4){left:0;bottom:0;border-width:0 0 2px 2px}
.gc-planet{position:absolute;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#e4f7ff 0 3%,#75c6ed 12%,#246d9d 42%,#0b2c48 68%,#020a11 100%);border:1px solid rgba(186,227,247,.85);box-shadow:inset -8px -5px 12px rgba(0,3,8,.72),0 0 9px rgba(85,181,230,.66),0 0 24px rgba(50,137,188,.28)}
.gc-planet::before{content:"";position:absolute;inset:-9px;border:1px solid rgba(112,199,241,.2);border-radius:50%}.gc-planet i{position:absolute;left:-18px;right:-18px;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(168,223,249,.52),transparent)}
.gc-lock-flash{position:absolute;inset:35px;border:1px solid transparent;border-radius:50%;opacity:0}
.galactic-acquisition.phase-traverse .gc-target-brackets{inset:48px}.galactic-acquisition.phase-traverse .gc-orbit-outer{animation-duration:2.4s}.galactic-acquisition.phase-traverse .gc-orbit-inner{animation-duration:1.8s}
.galactic-acquisition.locked .gc-orbit{border-color:rgba(224,199,125,.68)}.galactic-acquisition.locked .gc-target-brackets i{border-color:#f1dda5}.galactic-acquisition.locked .gc-planet{border-color:#f3dda2;box-shadow:inset -8px -5px 12px rgba(0,3,8,.68),0 0 12px rgba(232,204,127,.86),0 0 32px rgba(199,168,94,.44)}.galactic-acquisition.locked .gc-lock-flash{animation:gcLockFlash .38s ease-out both}
.galactic-acquisition.failed .gc-orbit{border-color:rgba(202,76,83,.65)}.galactic-acquisition.failed .gc-target-brackets i{border-color:#df757a}.galactic-acquisition.failed .gc-planet{filter:grayscale(.7) sepia(.8) hue-rotate(305deg);box-shadow:0 0 16px rgba(180,47,54,.5)}
.galactic-acquisition-readout{position:absolute;left:50%;bottom:42px;width:min(650px,76vw);transform:translateX(-50%);padding:10px 24px 12px;border-top:1px solid rgba(116,192,233,.36);border-bottom:1px solid rgba(116,192,233,.24);background:linear-gradient(90deg,transparent,rgba(5,24,38,.86) 9%,rgba(6,31,48,.95) 50%,rgba(5,24,38,.86) 91%,transparent);clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%);text-align:center;text-shadow:0 0 9px rgba(67,142,190,.32)}
.galactic-acquisition-readout .ga-status{display:block;color:#93c7e4;font-size:7px;letter-spacing:.25em}.galactic-acquisition-readout strong{display:block;margin:4px 0 2px;color:#ecf7fc;font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:.14em}.galactic-acquisition-readout small{display:block;color:#78a7c1;font-size:8px;letter-spacing:.12em}
.ga-signal{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;width:min(360px,70%);height:4px;margin:8px auto 0}.ga-signal i{background:rgba(83,147,181,.18);border:1px solid rgba(103,182,224,.17);transition:background .05s linear,box-shadow .05s linear}.ga-signal i.active{background:#89d0f4;border-color:#c7edff;box-shadow:0 0 7px rgba(92,190,239,.62)}
.galactic-acquisition.locked .ga-status{color:var(--gc-gold)}.galactic-acquisition.locked .galactic-acquisition-readout{border-color:rgba(224,199,125,.44)}.galactic-acquisition.locked .ga-signal i.active{background:#e3cb86;border-color:#fff0bb;box-shadow:0 0 8px rgba(224,199,125,.7)}.galactic-acquisition.failed .ga-status{color:#d06d73}.galactic-acquisition.failed .galactic-acquisition-readout{border-color:rgba(180,47,54,.48)}
body.nav-search-acquiring #labelLayer .system-label:not(.selected){opacity:.12!important}body.nav-search-acquiring .front-label,body.nav-search-acquiring .operation-label,body.nav-search-acquiring .supply-label{opacity:.08!important}
.search.acquiring{border-color:rgba(85,150,194,.7);box-shadow:inset 0 0 12px rgba(43,110,156,.08),0 0 0 1px rgba(43,110,156,.08)}.search.acquiring span{color:#83b8d8}.search.failed{border-color:rgba(180,47,54,.7);box-shadow:0 0 0 1px rgba(180,47,54,.08)}
@keyframes gcMapSweep{0%{top:8%;opacity:0}10%{opacity:.82}88%{opacity:.45}100%{top:91%;opacity:0}}
@keyframes gcTargetEnter{0%{opacity:0;transform:translate(-50%,-50%) scale(1.75)}28%{opacity:.55}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes gcTargetBeat{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}45%{filter:drop-shadow(0 0 15px rgba(129,211,250,.72));transform:translate(-50%,-50%) scale(.94)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes gcOrbit{to{transform:rotate(360deg)}}
@keyframes gcLockFlash{0%{opacity:1;transform:scale(.55);border-color:#fff2bb;box-shadow:0 0 18px rgba(239,216,151,.9)}100%{opacity:0;transform:scale(1.55);border-color:rgba(224,199,125,0);box-shadow:0 0 38px rgba(224,199,125,0)}}
@media(max-width:760px){.galactic-acquisition-head{top:14px;width:88vw;padding:0 12px}.galactic-acquisition-head span{display:none}.galactic-acquisition-target{width:126px;height:126px}.gc-target-brackets{inset:32px}.gc-orbit-inner{inset:24px}.galactic-acquisition-readout{bottom:32px;width:86vw}.galactic-acquisition-readout strong{font-size:15px}.ga-signal{width:76%}}
@media(prefers-reduced-motion:reduce){.galactic-acquisition,.galactic-acquisition::after,.galactic-acquisition-target,.gc-orbit,.gc-lock-flash{animation:none!important;transition:none!important}.galactic-acquisition.active .galactic-acquisition-target{opacity:1;transform:translate(-50%,-50%) scale(1)}}
body.reduced-motion .galactic-acquisition,body.reduced-motion .galactic-acquisition::after,body.reduced-motion .galactic-acquisition-target,body.reduced-motion .gc-orbit,body.reduced-motion .gc-lock-flash{animation:none!important;transition:none!important}body.reduced-motion .galactic-acquisition.active .galactic-acquisition-target{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* v13.10.1 — restrained interface readability and editable faction intelligence. */
body{font-size:12px}
input,select,textarea{font-size:12px;line-height:1.45}
.panel-cap{font-size:11px}
.panel label,.admin-shell label,.section-heading,.territory-section-title{font-size:10px}
.filter-grid button,.result small,.chip,.tag,.dossier-actions button{font-size:9px}
.intel span,.territory-stats span{font-size:8px}
.intel strong,.territory-world strong{font-size:11px}
.dossier p,.territory-dossier .territory-summary,.fleet-dossier p,.installation-dossier p,.celestial-dossier p,.front-dossier p,.operation-dossier p,.supply-dossier p{font-size:12px;line-height:1.62}
.territory-world small{font-size:9px;line-height:1.4}
.territory-world em{font-size:8px}
.admin-tip,.muted,.code-box{font-size:10px}
.admin-shell output,.coord-note{font-size:10px!important}
.footer,.statusbar{font-size:9px}

.faction-overview-card{margin:13px 0 0;padding:11px 12px 12px;border:1px solid rgba(176,184,190,.15);border-left:2px solid rgba(199,168,94,.58);background:linear-gradient(135deg,rgba(199,168,94,.05),rgba(7,10,13,.72) 58%)}
.faction-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;color:#c8ad6d;font-size:9px;font-weight:750;letter-spacing:.15em}
.faction-overview-heading button{width:auto;min-height:24px;padding:4px 8px;border-color:rgba(199,168,94,.3);font-size:8px}
.territory-dossier .faction-overview-card .territory-summary{margin:0;color:#c0c7cb}
.faction-overview-card.editing label{margin-bottom:7px;color:#c8ad6d;font-size:9px;letter-spacing:.14em}
.faction-overview-card.editing textarea{min-height:132px;line-height:1.62}
.faction-overview-card.editing small{display:block;margin-top:7px;color:#7f8a91;font-size:9px;line-height:1.45}
.overview-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
.overview-editor-actions button{min-height:31px;font-size:9px}
.faction-leader-card{margin:10px 0 0;padding:10px 12px;border:1px solid rgba(176,184,190,.15);background:rgba(9,12,15,.84)}
.faction-leader-card span{display:block;color:#7f8a91;font-size:8px;font-weight:700;letter-spacing:.14em}
.faction-leader-card strong{display:block;margin-top:5px;color:#e3c778;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.035em}
.faction-overview-help{margin:7px 0 11px}

@media(max-width:760px){
  body{font-size:12px}
  .dossier p,.territory-dossier .territory-summary{font-size:12px}
}

/* v13.11 — political leadership and faction identity dossier expansion. */
.faction-dossier-header{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:7px}
.faction-dossier-header h2{margin:0 0 7px}
.faction-symbol{position:relative;width:68px;height:68px;display:grid;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--faction-color) 54%,#30363d);background:radial-gradient(circle, color-mix(in srgb,var(--faction-color) 13%,transparent),rgba(7,10,13,.92) 68%);box-shadow:inset 0 0 18px rgba(0,0,0,.42)}
.faction-symbol::before,.faction-symbol::after{content:"";position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--faction-color) 28%,transparent);transform:rotate(45deg);pointer-events:none}.faction-symbol::after{inset:19px;border-color:color-mix(in srgb,var(--faction-color) 48%,transparent)}
.faction-symbol img{position:relative;z-index:1;width:86%;height:86%;object-fit:contain;filter:drop-shadow(0 2px 5px #000)}
.faction-symbol span{position:relative;z-index:1;color:color-mix(in srgb,var(--faction-color) 72%,#dce2e5);font-size:21px}.faction-symbol small{display:none}
.faction-leader-card{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;align-items:stretch;padding:10px}
.faction-leader-portrait{min-height:82px;display:grid;place-items:center;align-content:center;overflow:hidden;border:1px solid rgba(176,184,190,.16);background:linear-gradient(145deg,rgba(199,168,94,.07),rgba(5,8,11,.94));color:#68737a;text-align:center}
.faction-leader-portrait img{width:100%;height:100%;min-height:82px;object-fit:cover;object-position:center top}.faction-leader-portrait span{font-size:7px;letter-spacing:.11em}.faction-leader-portrait small{display:none}
.faction-leader-copy{min-width:0;padding:2px 1px}.faction-leader-copy>span{display:block}.faction-leader-copy strong{overflow-wrap:anywhere}.faction-leader-copy em{display:block;margin-top:3px;color:#9aa4aa;font-size:9px;font-style:normal;letter-spacing:.055em}.territory-dossier .faction-leader-copy p{margin-top:8px;color:#aeb7bd;font-size:10px;line-height:1.5;white-space:pre-line}
.faction-media-editor{margin:13px 0;padding:10px;border:1px solid rgba(176,184,190,.13);background:#080b0e}.faction-media-editor>label{color:#c3aa6b!important}.faction-media-preview{height:118px;margin:6px 0 8px;display:grid;place-items:center;align-content:center;gap:5px;overflow:hidden;border:1px solid #30363d;background:radial-gradient(circle,rgba(199,168,94,.06),rgba(5,8,11,.95));color:#6f7980;text-align:center}.faction-media-preview.symbol-preview{height:124px}.faction-media-preview.portrait-preview{height:154px}.faction-media-preview img{width:100%;height:100%;object-fit:contain}.faction-media-preview.portrait-preview img{object-position:center top}.faction-media-preview span{font-size:9px;letter-spacing:.12em}.faction-media-preview.symbol-preview span{font-size:24px;color:#8e7a4d}.faction-media-preview small{font-size:7px;letter-spacing:.12em}.faction-media-editor input[type=file]{padding:7px;font-size:9px}.faction-media-editor button{margin-top:6px;font-size:8px}.faction-media-editor button:disabled{opacity:.38;cursor:not-allowed}.faction-media-editor .muted{margin:7px 0 0;line-height:1.45}
.admin-section[data-admin-panel="factions"] #fmLeaderProfile{min-height:118px}
@media(max-width:760px){.faction-dossier-header{grid-template-columns:58px minmax(0,1fr)}.faction-symbol{width:58px;height:58px}.faction-leader-card{grid-template-columns:58px minmax(0,1fr)}.faction-leader-portrait{min-height:76px}.faction-leader-portrait img{min-height:76px}}

/* v13.11.1 — member-accessible leader portrait enlargement. */
.portrait-enlarge-trigger{position:relative;width:100%;padding:0;border-radius:0;cursor:zoom-in;font:inherit;appearance:none}
.portrait-enlarge-trigger::after{content:"";position:absolute;inset:0;border:1px solid transparent;pointer-events:none;transition:border-color .16s ease,box-shadow .16s ease}
.portrait-enlarge-trigger:hover::after,.portrait-enlarge-trigger:focus-visible::after{border-color:rgba(227,199,120,.76);box-shadow:inset 0 0 16px rgba(199,168,94,.16)}
.portrait-enlarge-trigger:focus-visible{outline:2px solid #e3c778;outline-offset:3px}
.portrait-enlarge-hint{position:absolute;left:0;right:0;bottom:0;padding:5px 3px!important;background:linear-gradient(transparent,rgba(0,0,0,.9));color:#e3c778!important;font-size:7px!important;letter-spacing:.14em!important;opacity:0;transform:translateY(3px);transition:opacity .16s ease,transform .16s ease}
.portrait-enlarge-trigger:hover .portrait-enlarge-hint,.portrait-enlarge-trigger:focus-visible .portrait-enlarge-hint{opacity:1;transform:none}
.portrait-lightbox{z-index:80;padding:24px;background:rgba(0,2,5,.9);backdrop-filter:blur(5px)}
.portrait-lightbox-shell{width:min(780px,calc(100vw - 48px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;border:1px solid rgba(199,168,94,.45);background:linear-gradient(145deg,#0b0f13,#040608 72%);box-shadow:0 22px 72px #000,0 0 30px rgba(199,168,94,.08)}
.portrait-lightbox-shell .panel-cap{flex:0 0 auto}
.portrait-lightbox-shell figure{min-height:0;margin:0;display:flex;flex-direction:column}
.portrait-lightbox-stage{min-height:220px;height:min(72vh,760px);display:grid;place-items:center;padding:16px;background:radial-gradient(circle,rgba(199,168,94,.08),rgba(3,5,7,.98) 72%)}
.portrait-lightbox-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0,0,0,.72))}
.portrait-lightbox figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 16px;border-top:1px solid rgba(176,184,190,.14);color:#89949a;font-size:10px;letter-spacing:.09em}
.portrait-lightbox figcaption strong{color:#e3c778;font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.045em}
@media(max-width:760px){.portrait-lightbox{padding:12px}.portrait-lightbox-shell{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.portrait-lightbox-stage{height:68vh;padding:9px}.portrait-lightbox figcaption{align-items:flex-start;flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){.portrait-enlarge-trigger::after,.portrait-enlarge-hint{transition:none}}
body.reduced-motion .portrait-enlarge-trigger::after,body.reduced-motion .portrait-enlarge-hint{transition:none}

/* v13.13 — public character registry and planetary associations. */
.character-directory-launch{width:100%;margin-top:8px;border-color:rgba(199,168,94,.26);color:#c4ad6b;font-size:9px;letter-spacing:.1em}
.character-directory-shell{width:min(980px,95vw);max-height:92vh;overflow:auto;border:1px solid rgba(199,168,94,.3);background:linear-gradient(145deg,#0b0f13,#050709 70%);box-shadow:0 30px 90px #000}.character-directory-shell>.panel-cap{position:sticky;top:0;z-index:2}.character-directory-shell>.panel-cap button{border:0;background:transparent;font-size:22px}.character-directory-body{padding:18px}.character-directory-toolbar{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:9px}.character-directory-toolbar label{display:block;margin-bottom:5px;color:#7d898f;font-size:8px;letter-spacing:.12em}.character-directory-heading{display:flex;justify-content:space-between;margin:17px 0 8px;padding-bottom:8px;border-bottom:1px solid rgba(176,184,190,.14);color:#a58d55;font-size:8px;letter-spacing:.18em}.character-directory-heading strong{color:#738087;font-size:8px}.character-directory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.character-directory-empty{grid-column:1/-1;padding:26px;border:1px dashed rgba(176,184,190,.18);color:#69747a;text-align:center;font-size:10px}
.character-card,.character-association-button{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-height:66px;padding:7px;text-align:left;border:1px solid rgba(176,184,190,.15);background:linear-gradient(135deg,rgba(199,168,94,.035),rgba(6,9,12,.92));color:#aeb7bd}.character-card:hover,.character-card:focus-visible,.character-association-button:hover,.character-association-button:focus-visible{border-color:rgba(199,168,94,.48);background:rgba(199,168,94,.055)}.character-card-portrait{width:52px;height:52px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(176,184,190,.16);background:#050709;color:#766a49;font-size:17px}.character-card-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}.character-card-copy{min-width:0}.character-card-copy strong{display:block;overflow:hidden;color:#d7dbdc;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.character-card-copy small{display:block;margin-top:3px;color:#748087;font-size:8px;line-height:1.35}.character-card-kind{align-self:start;padding:4px 5px;border:1px solid rgba(77,127,137,.3);color:#82aeb8;font-size:7px;letter-spacing:.1em}.character-card-kind.pc{border-color:rgba(199,168,94,.35);color:#c7a85e}
.character-associations{display:grid;gap:6px}.character-association-button{grid-template-columns:42px minmax(0,1fr) auto;min-height:56px}.character-association-button .character-card-portrait{width:42px;height:42px}.character-association-button em{color:#7e898f;font-size:7px;font-style:normal;letter-spacing:.08em}.character-section-count{float:right;color:#667279;font-size:8px;font-weight:400}
.character-dossier .character-dossier-header{display:grid;grid-template-columns:92px minmax(0,1fr);gap:13px;align-items:center}.character-dossier-portrait{width:92px;height:118px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(199,168,94,.28);background:radial-gradient(circle,rgba(199,168,94,.07),#050709 72%);color:#766a49;font-size:26px}.character-dossier-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}.character-dossier-portrait .portrait-enlarge-trigger{height:100%}.character-dossier-identity h2{margin:0 0 7px}.character-dossier-identity p{margin:6px 0 0;color:#869198;font-size:10px}.character-profile{margin:12px 0;padding:12px;border-left:2px solid rgba(199,168,94,.5);background:rgba(199,168,94,.04);color:#b2bbc0;white-space:pre-line}.character-location-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.character-location-card{padding:10px;border:1px solid rgba(176,184,190,.14);background:#080b0e}.character-location-card span{display:block;color:#6c787f;font-size:7px;letter-spacing:.13em}.character-location-card strong{display:block;margin-top:5px;color:#d0d4d5;font-size:10px}.character-location-card small{display:block;margin-top:3px;color:#78838a;font-size:8px}.character-location-card button{width:100%;margin-top:8px;font-size:8px}
.character-editor-status{margin-top:12px;white-space:pre-line}.character-editor-status.hidden-character{border-color:rgba(180,47,54,.35);color:#b98a8d}.character-portrait-editor .portrait-preview{height:260px}.character-editor-grid select:disabled{opacity:.48}
@media(max-width:760px){.character-directory-toolbar,.character-directory-list,.character-location-grid{grid-template-columns:1fr}.character-dossier .character-dossier-header{grid-template-columns:74px minmax(0,1fr)}.character-dossier-portrait{width:74px;height:98px}.character-card{grid-template-columns:46px minmax(0,1fr) auto}.character-card-portrait{width:46px;height:46px}}

/* v13.13.3 — application-wide dossier readability and adaptive desktop height. */
.dossier h3,
.operation-section>strong,
.front-section>strong,
.supply-section>strong{
  font-size:10px;
  line-height:1.35
}
.filter-grid button,
.result small,
.chip,
.tag,
.dossier-actions button,
.operation-status,
.front-status,
.supply-status,
.planet-visual-chip{
  font-size:10px
}
.intel span,
.territory-stats span,
.operation-kpis span,
.front-kpis span,
.supply-kpis span{
  font-size:9px;
  line-height:1.35
}
.intel strong,
.territory-world strong,
.operation-kpis strong,
.front-kpis strong,
.supply-kpis strong{
  font-size:12px;
  line-height:1.35
}
.dossier p,
.territory-dossier .territory-summary,
.fleet-dossier p,
.installation-dossier p,
.celestial-dossier p,
.front-dossier p,
.operation-dossier p,
.supply-dossier p{
  font-size:13px;
  line-height:1.65
}
.territory-world small,
.fleet-system-button small,
.installation-system-button small,
.celestial-system-button small,
.system-operation-button small,
.system-front-button small,
.operation-objective small,
.operation-assignment small,
.front-assignment small,
.supply-asset small{
  font-size:9.5px;
  line-height:1.45
}
.territory-world em,
.fleet-system-button em,
.installation-system-button em,
.celestial-system-button em,
.system-operation-button em,
.system-front-button em,
.supply-asset em{
  font-size:9px
}
.fleet-system-button strong,
.installation-system-button strong,
.celestial-system-button strong,
.system-operation-button strong,
.system-front-button strong,
.operation-objective strong,
.operation-assignment strong,
.front-assignment strong,
.supply-asset strong{
  font-size:11px
}
.faction-overview-heading,
.faction-overview-card.editing label{
  font-size:10px;
  line-height:1.35
}
.faction-overview-heading button,
.faction-overview-card.editing small,
.overview-editor-actions button,
.faction-leader-card span,
.faction-leader-portrait span{
  font-size:9px
}
.faction-leader-copy em{font-size:10px;line-height:1.4}
.territory-dossier .faction-leader-copy p{font-size:12px;line-height:1.6}
.character-directory-launch,
.character-directory-toolbar label,
.character-directory-heading{
  font-size:10px
}
.character-directory-heading strong,
.character-card-kind,
.character-association-button em,
.character-section-count,
.character-location-card span{
  font-size:9px
}
.character-card-copy strong{font-size:12px}
.character-card-copy small,
.character-location-card small{
  font-size:9.5px;
  line-height:1.45
}
.character-dossier-identity p,
.character-location-card strong{
  font-size:11px;
  line-height:1.45
}
.character-location-card button{font-size:10px}

@media(min-width:901px){
  .panel.right{
    bottom:auto;
    height:auto;
    width:clamp(320px,24vw,384px);
    max-height:calc(100% - 52px)
  }
  .panel.right>.panel-cap{position:sticky;top:0;z-index:5}
  .legend{right:calc(clamp(320px,24vw,384px) + 28px)}
}
@media(min-width:901px) and (max-width:1220px){
  .panel.right{width:320px}
  .legend{right:346px}
}
