/* Evony Atlas on the site shell (Epic 9). The pages render inside _AccountLayout; the Atlas tokens below alias the
   account-ui.css --au-* tokens so the Atlas shares the downloads and documentation look (navy surfaces, green accent,
   Inter and Oxanium). Every class and id the pages and scripts use is unchanged; only the fixed sidebar, the old top
   bar and the per-page footer are gone. The data-viz palette further down keeps its validated series colours. */
:root {
    color-scheme:dark;
    --bg:var(--au-bg);
    --sidebar:var(--au-bg-raised);
    --panel:var(--au-surface);
    --border:var(--au-border);
    --text:var(--au-text);
    --muted:var(--au-text-2);
    --gold:var(--au-accent);
    --orange:var(--au-warn);
    --green:var(--au-accent);
    --accent-line:rgba(90,226,113,.35);
    --warn-line:rgba(255,196,92,.35);
    --danger-line:rgba(255,122,122,.35);
}
.atlas {
    max-width:1680px;
    margin:0 auto;
    padding:0 var(--au-s5);
    display:grid;
    grid-template-columns:240px minmax(0,1fr);
    gap:var(--au-s6);
    align-items:start;
    color:var(--text);
    font:14px/1.6 var(--au-font);
}
:where(.atlas) button,:where(.atlas) input,:where(.atlas) select {
    font:inherit;
}
.atlas a {
    color:inherit;
    text-decoration:none;
}
.atlas a:hover {
    text-decoration:none;
}
:where(.atlas) button,:where(.atlas) a,:where(.atlas) input,:where(.atlas) select {
    -webkit-tap-highlight-color:transparent;
}
:where(.atlas) button {
    cursor:pointer;
}
:where(.atlas) button,:where(.atlas) a,:where(.atlas) input,:where(.atlas) select {
    outline-offset:5px;
}
:where(.atlas) button:focus-visible,:where(.atlas) a:focus-visible,:where(.atlas) input:focus-visible,:where(.atlas) select:focus-visible {
    outline:2px solid var(--gold);
}
:where(.atlas) button {
    color:inherit;
}
svg.icon {
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
    vertical-align:middle;
}
:where(.atlas) button:disabled {
    opacity:.5;
    cursor:default;
}
[hidden] {
    display:none!important;
}
.atlas-side {
    position:sticky;
    top:60px;
    max-height:calc(100vh - 60px);
    overflow-y:auto;
    padding:var(--au-s5) 0 var(--au-s6);
    scrollbar-width:thin;
    min-width:0;
}
.atlas-nav {
    font-size:14px;
    line-height:20px;
}
.atlas-nav-group {
    margin-bottom:var(--au-s5);
}
.atlas-nav-group-last {
    margin-bottom:0;
}
.nav-icon {
    width:18px;
    height:18px;
    flex:none;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
    color:var(--au-text-3);
    transition:color var(--au-ease);
}
.atlas-nav-list a:hover .nav-icon {
    color:var(--au-text);
}
.atlas-nav-list a.active .nav-icon {
    color:var(--au-accent);
}
.atlas-nav-head {
    padding:0 10px;
    margin-bottom:6px;
    font:600 11px/16px var(--au-font-display);
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--au-text-3);
}
.atlas-nav-list {
    display:flex;
    flex-direction:column;
    padding:0 0 0 10px;
    border-left:1px solid var(--au-border);
}
.atlas-nav-list a {
    display:flex;
    align-items:center;
    gap:8px;
    position:relative;
    padding:6px 10px 6px 14px;
    margin-left:-11px;
    border-left:2px solid transparent;
    color:var(--au-text-2);
    border-radius:0 8px 8px 0;
}
.atlas-nav-list a:hover {
    color:var(--au-text);
    background:rgba(255,255,255,.04);
}
.atlas-nav-list a.active {
    color:var(--au-text);
    font-weight:600;
    border-left-color:var(--au-accent);
    background:var(--au-accent-soft);
}
.nav-count {
    margin-left:auto;
    font-size:11px;
    color:var(--au-text-3);
    font-weight:400;
}
.atlas-main {
    min-width:0;
    transition:opacity .15s ease;
}
/* An account page being swapped in place (atlas-swap.js): the main column dims until the new page landed. */
.atlas-main[aria-busy=true] {
    opacity:.6;
}
.atlas-bar {
    position:sticky;
    top:60px;
    z-index:20;
    display:flex;
    align-items:center;
    gap:var(--au-s3);
    min-height:48px;
    padding:6px 0;
    background:rgba(11,16,32,.9);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--au-border);
}
.atlas-crumbs {
    flex:1 1 auto;
    min-width:0;
}
.atlas-crumbs ol {
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    font-size:13px;
    line-height:18px;
    color:var(--au-text-3);
}
.atlas-crumbs li+li:before {
    content:"/";
    margin-right:6px;
    color:var(--au-text-3);
    opacity:.6;
}
.atlas-crumbs a {
    color:var(--au-text-2);
}
.atlas-crumbs a:hover {
    color:var(--au-text);
}
.atlas-crumbs [aria-current=page] {
    color:var(--au-text);
    font-weight:600;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:48vw;
}
.atlas-bar-actions {
    display:flex;
    align-items:center;
    gap:var(--au-s3);
    margin-left:auto;
    flex:0 0 auto;
}
:where(.atlas) h2 {
    font-size:21px;
    font-weight:600;
    line-height:1.25;
}
:where(.atlas) h3 {
    font-size:16px;
    font-weight:600;
    line-height:1.25;
}
.search-box {
    display:flex;
    gap:10px;
    align-items:center;
    border:1px solid var(--au-border-strong);
    border-radius:10px;
    padding:8px 12px;
    color:var(--au-text-3);
    background:var(--au-surface-2);
    transition:border-color var(--au-ease),box-shadow var(--au-ease);
}
.search-box svg {
    width:16px;
}
.search-box input {
    width:185px;
    color:var(--text);
    border:0;
    background:transparent;
    font-size:12px;
    min-width:0;
}
.search-box input:focus {
    outline:none;
}
.search-box:focus-within {
    border-color:var(--au-blue);
    box-shadow:0 0 0 3px rgba(109,147,255,.25);
}
:where(.atlas) kbd {
    font:10px monospace;
    border:1px solid var(--au-border-strong);
    border-radius:5px;
    padding:0 5px;
    background:var(--au-bg-raised);
    color:var(--au-text-3);
}
.small-dot {
    display:inline-block;
    width:5px;
    height:5px;
    background:var(--green);
    border-radius:50%;
}
.atlas-content {
    min-width:0;
    padding:var(--au-s5) 0 var(--au-s6);
}
.page-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:27px;
}
.eyebrow {
    font:700 11px/16px var(--au-font-display);
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--au-accent);
}
:where(.atlas) h1,:where(.atlas) h2,:where(.atlas) h3,:where(.atlas) h4,:where(.atlas) p {
    margin-top:0;
}
:where(.atlas) h1 {
    font-family:var(--au-font-display);
    font-size:34px;
    font-weight:500;
    letter-spacing:-.6px;
    line-height:1.25;
    margin:9px 0 10px;
}
.page-heading p {
    color:var(--muted);
    font-size:13px;
    margin:0;
}
.edition {
    color:var(--au-text-3);
    font-size:8px;
    letter-spacing:2px;
    text-align:right;
    white-space:nowrap;
}
.edition span {
    display:block;
    font-size:27px;
    color:var(--gold);
    margin-top:4px;
}
.hero {
    height:360px;
    position:relative;
    overflow:hidden;
    border:1px solid var(--au-border-strong);
    border-radius:var(--au-r);
    background:radial-gradient(ellipse at 78% 43%,rgba(90,226,113,.16) 0,transparent 50%),linear-gradient(115deg,rgba(109,147,255,0) 45%,rgba(109,147,255,.16)),var(--au-bg-raised);
    isolation:isolate;
}
.hero-copy {
    position:relative;
    z-index:3;
    padding:33px 35px;
    width:60%;
}
.gold-label {
    font-size:8px;
    letter-spacing:1.6px;
    color:var(--au-accent);
}
.gold-label span {
    margin-right:7px;
}
.hero h2 {
    font:500 46px/1.07 var(--au-font-display);
    margin:20px 0 16px;
    letter-spacing:-1.7px;
}
.hero h2 em {
    font-weight:400;
    color:var(--au-accent);
}
.hero p {
    font-size:12px;
    line-height:1.8;
    color:var(--au-text-2);
    margin-bottom:20px;
}
.button {
    display:inline-flex;
    gap:20px;
    justify-content:center;
    align-items:center;
    border-radius:10px;
    padding:11px 17px;
    font-size:13px;
    font-weight:600;
    border:1px solid transparent;
    transition:background var(--au-ease),border-color var(--au-ease),transform var(--au-ease),color var(--au-ease);
}
.button:hover {
    transform:translateY(-1px);
}
.button.primary {
    background:var(--au-accent);
    color:var(--au-accent-ink);
    border-color:transparent;
}
.button.primary:hover {
    background:#6EF083;
    color:var(--au-accent-ink);
}
.button.secondary {
    background:transparent;
    border-color:var(--au-border-strong);
    color:var(--text);
}
.button.secondary:hover {
    border-color:var(--au-text-2);
    background:rgba(255,255,255,.04);
}
.hero-footnote {
    margin-top:13px;
    color:var(--au-text-2);
    font-size:9px;
    display:flex;
    align-items:center;
    gap:7px;
}
.hero-knight {
    position:absolute;
    height:110%;
    right:6%;
    bottom:-35px;
    z-index:2;
    filter:drop-shadow(-16px 8px 25px #0d1014a6);
}
.hero-empress {
    position:absolute;
    height:89%;
    right:-10%;
    bottom:6px;
    opacity:.45;
    filter:saturate(.65);
    z-index:1;
}
.hero:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,transparent 55%,transparent 80%,rgba(11,16,32,.33)),linear-gradient(0deg,rgba(11,16,32,.9),transparent 30%);
    pointer-events:none;
    z-index:2;
}
.hero-orbit {
    position:absolute;
    right:0;
    top:-65px;
    width:490px;
    height:490px;
    border:1px solid rgba(90,226,113,.2);
    border-radius:50%;
}
.orbit-two {
    width:410px;
    height:410px;
    right:40px;
    top:-25px;
    border-style:dashed;
}
.hero-grid {
    position:absolute;
    inset:0;
    background-image:linear-gradient(rgba(109,147,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(109,147,255,.06) 1px,transparent 1px);
    background-size:38px 38px;
}
.art-caption {
    position:absolute;
    right:27px;
    bottom:24px;
    z-index:4;
    text-align:right;
}
.art-caption span {
    font-size:7px;
    color:var(--au-accent);
    letter-spacing:1.7px;
}
.art-caption strong {
    display:block;
    font:500 18px var(--au-font-display);
    margin:4px 0;
}
.art-caption small {
    color:var(--au-text-3);
    font-size:8px;
}
.hero-number {
    position:absolute;
    right:23px;
    top:22px;
    z-index:4;
    font-size:8px;
    letter-spacing:1.5px;
    color:var(--au-accent);
}
.section-title {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin:29px 0 15px;
}
.section-title h2 {
    font:500 21px var(--au-font-display);
    margin:0;
}
.section-title>span {
    font-size:8px;
    letter-spacing:1.8px;
    color:var(--au-text-3);
}
.section-title a {
    font-size:11px;
    color:var(--gold);
}
.section-title a span {
    margin-left:12px;
}
.tool-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}
.tool-card {
    background:linear-gradient(145deg,var(--au-surface-2),var(--au-surface));
    border:1px solid var(--border);
    border-radius:var(--au-r);
    padding:21px 21px 0;
    transition:transform .2s,border-color .2s;
}
.tool-card:hover {
    transform:translateY(-4px);
    border-color:var(--au-border-strong);
}
.tool-top {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    margin-bottom:19px;
}
.tool-icon {
    width:39px;
    height:39px;
    display:inline-grid;
    place-items:center;
    border-radius:7px;
    flex-shrink:0;
}
.amber {
    color:var(--au-warn);
    background:var(--au-warn-soft);
}
.violet {
    color:var(--au-blue);
    background:var(--au-blue-soft);
}
.teal {
    color:var(--au-accent);
    background:var(--au-accent-soft);
}
.status-tag {
    font-size:7px;
    letter-spacing:1px;
    color:var(--au-accent);
    background:var(--au-accent-soft);
    padding:3px 6px;
    border-radius:3px;
    white-space:nowrap;
}
.status-tag.muted {
    color:var(--au-text-3);
    background:var(--au-surface-2);
}
.tool-card h3 {
    font:500 20px var(--au-font-display);
    letter-spacing:-.3px;
    margin-bottom:10px;
}
.tool-card p {
    color:var(--au-text-2);
    font-size:12px;
    line-height:1.8;
    min-height:43px;
    margin-bottom:21px;
}
.tool-footer {
    border-top:1px solid var(--au-border);
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:60px;
    gap:10px;
}
.tool-footer>span:last-child {
    font-size:10px;
    color:var(--au-text-2);
    white-space:nowrap;
}
.tool-footer b {
    color:var(--gold);
    font-size:15px;
    margin-left:5px;
}
.mini-portraits {
    display:flex;
    padding-left:4px;
}
.mini-portraits img {
    width:27px;
    height:27px;
    border-radius:50%;
    border:2px solid var(--au-surface);
    margin-left:-4px;
    object-fit:cover;
    background:var(--au-surface-2);
}
.slot-dots {
    font-size:16px;
    color:var(--au-blue);
    letter-spacing:1px;
}
.level-preview {
    font-size:6px;
    letter-spacing:.5px;
    color:var(--au-text-3);
    white-space:nowrap;
}
.level-preview b {
    color:var(--au-text-2);
    font-size:14px;
}
.level-preview i {
    margin:0 6px;
    font-style:normal;
}
.lower-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    margin-top:5px;
}
.featured-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}
.featured-card {
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px 12px;
    text-align:left;
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:10px;
}
.featured-card:hover {
    border-color:var(--gold);
}
.featured-card img {
    width:51px;
    height:57px;
    object-fit:cover;
    border:1px solid var(--au-border-strong);
    border-radius:5px;
    background:var(--au-surface-2);
}
.featured-card strong {
    display:block;
    font:500 15px var(--au-font-display);
}
.featured-card small {
    font-size:9px;
    color:var(--muted);
}
.text-button,a.text-button {
    background:none;
    border:0;
    padding:0;
    color:var(--gold);
    font-size:11px;
}
.text-button span {
    margin-left:12px;
}
.data-pill {
    border:1px solid var(--accent-line);
    background:var(--au-accent-soft);
    border-radius:999px;
    color:var(--au-accent);
    font:700 10px/16px var(--au-font-display);
    padding:3px 10px;
    letter-spacing:.08em;
    text-transform:uppercase;
    white-space:nowrap;
}
.data-pill.sample {
    color:var(--au-warn);
    border-color:var(--warn-line);
    background:var(--au-warn-soft);
}
.toolbar {
    display:flex;
    align-items:center;
    gap:24px;
    margin:25px 0 18px;
}
.library-search {
    flex:1;
}
.library-search input {
    width:100%;
    font-size:13px;
}
.sort-label {
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--muted);
    font-size:11px;
}
:where(.atlas) select {
    background:var(--au-surface-2);
    color:var(--text);
    border:1px solid var(--au-border-strong);
    border-radius:10px;
    padding:9px 12px;
}
#result-count {
    font-size:11px;
    color:var(--muted);
}
.info-banner {
    border:1px solid var(--border);
    background:var(--au-blue-soft);
    color:var(--au-text-2);
    display:flex;
    align-items:center;
    gap:12px;
    font-size:12px;
    padding:13px 16px;
    border-radius:10px;
    margin-bottom:23px;
}
.info-banner svg {
    flex-shrink:0;
    color:var(--au-blue);
}
.general-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:17px;
}
.general-card {
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:var(--au-r);
    overflow:hidden;
}
.portrait-stage {
    height:155px;
    background:radial-gradient(ellipse at 50% 80%,rgba(90,226,113,.22),var(--au-surface-2) 70%);
    display:grid;
    place-items:center;
    position:relative;
    border-bottom:1px solid var(--au-border);
}
.portrait-stage:before {
    content:"";
    position:absolute;
    width:112px;
    height:112px;
    border:1px solid rgba(90,226,113,.25);
    transform:rotate(45deg);
}
.portrait-stage img {
    width:110px;
    height:110px;
    object-fit:contain;
    filter:drop-shadow(0 8px 12px #0008);
    position:relative;
}
.portrait-stage .portrait-index {
    position:absolute;
    left:13px;
    top:10px;
    font-size:8px;
    color:var(--au-text-3);
    letter-spacing:1px;
}
.general-body {
    padding:17px;
}
.general-body h3 {
    font:500 19px var(--au-font-display);
    min-height:25px;
    margin-bottom:7px;
}
.general-body p {
    font-size:10px;
    color:var(--muted);
    margin-bottom:15px;
}
.attribute-row {
    display:flex;
    justify-content:space-between;
    padding:7px 0;
    border-top:1px solid var(--au-border);
    font-size:11px;
    color:var(--muted);
}
.attribute-row strong {
    color:var(--au-text);
    font-weight:500;
}
.card-actions {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:15px;
    gap:8px;
}
.compare-button {
    border:1px solid var(--accent-line);
    border-radius:8px;
    background:var(--au-accent-soft);
    color:var(--au-accent);
    font-size:10px;
    padding:6px 9px;
}
.compare-button.selected {
    background:var(--au-accent);
    color:var(--au-accent-ink);
    border-color:transparent;
}
.panel {
    padding:27px;
    border:1px solid var(--border);
    border-radius:var(--au-r);
    background:var(--panel);
    box-shadow:var(--au-shadow);
    min-width:0;
}
.panel h2 {
    font:500 24px var(--au-font-display);
    margin:8px 0 20px;
}
.panel-title {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
}
.panel-title h2 {
    margin-top:0;
    margin-bottom:10px;
}
.subtle {
    font-size:12px;
    color:var(--muted);
}
.planner-grid {
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:24px;
}
.gear-slots {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px;
    margin:23px 0;
}
.gear-slot {
    border:1px solid var(--au-border);
    background:var(--au-surface-2);
    border-radius:6px;
    padding:14px;
    display:flex;
    align-items:center;
    gap:13px;
}
.gear-slot>span {
    color:var(--au-blue);
}
.gear-slot label {
    display:block;
    flex:1;
    font-size:11px;
    color:var(--au-text-2);
}
.gear-slot select {
    display:block;
    width:100%;
    margin-top:6px;
    font-size:11px;
    padding:6px;
}
.wide {
    width:100%;
}
.big-stat {
    font:500 76px/1.2 var(--au-font-display);
    margin:17px 0 0;
    color:var(--gold);
}
.big-stat small {
    font-size:30px;
    margin-left:5px;
}
.gear-summary h3 {
    font-size:14px;
    font-weight:400;
    color:var(--au-text-2);
}
.stat-breakdown {
    margin:25px 0;
    border-top:1px solid var(--border);
    padding-top:12px;
}
.stat-breakdown>div {
    display:flex;
    justify-content:space-between;
    font-size:12px;
    padding:6px 0;
    color:var(--au-text-2);
}
.stat-breakdown strong {
    color:var(--text);
}
.positive {
    color:var(--green)!important;
}
:where(.atlas) h4 {
    font-size:12px;
    font-weight:500;
    margin-bottom:12px;
}
.set-row {
    padding:10px;
    border:1px solid var(--au-border);
    border-radius:5px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:8px 0;
    font-size:11px;
    color:var(--muted);
}
.set-row.active {
    border-color:var(--accent-line);
    background:var(--au-accent-soft);
    color:var(--au-accent);
}
.fine-print {
    font-size:10px;
    color:var(--au-text-3);
    margin:20px 0;
    line-height:1.8;
}
.level-inputs {
    display:flex;
    align-items:center;
    gap:25px;
    background:var(--au-surface-2);
    border-radius:7px;
    padding:20px;
    margin:12px 0 29px;
}
.level-inputs label {
    flex:1;
    font-size:11px;
    color:var(--au-text-2);
}
.level-inputs select {
    display:block;
    width:100%;
    margin-top:8px;
    font-size:19px;
}
.level-inputs>span {
    color:var(--gold);
    font-size:22px;
}
.panel>h3 {
    font-family:var(--au-font-display);
    font-weight:500;
    font-size:21px;
}
.resource-inputs {
    display:flex;
    flex-direction:column;
    gap:13px;
    margin:23px 0;
}
.resource-input-row {
    display:grid;
    grid-template-columns:75px 1fr 1fr;
    gap:12px;
    align-items:center;
}
.resource-input-row>span {
    color:var(--au-text-2);
    font-size:12px;
}
.resource-input-row label {
    font-size:9px;
    color:var(--au-text-3);
}
.resource-input-row input {
    display:block;
    width:100%;
    margin-top:4px;
    border:1px solid var(--au-border-strong);
    border-radius:4px;
    background:var(--au-surface-2);
    color:var(--text);
    padding:9px;
    min-width:0;
}
.checkbox-row {
    display:flex;
    gap:10px;
    align-items:center;
    font-size:12px;
    color:var(--au-text-2);
}
:where(.atlas) input[type=checkbox] {
    accent-color:var(--gold);
}
.resource-result {
    margin:22px 0;
}
.resource-result .labels {
    display:flex;
    justify-content:space-between;
    font-size:12px;
}
.resource-result small {
    display:block;
    font-size:10px;
    color:var(--muted);
    margin-top:7px;
}
.progress-track {
    height:5px;
    background:var(--au-surface-2);
    border-radius:3px;
    margin-top:9px;
    overflow:hidden;
}
.progress-fill {
    height:100%;
    background:var(--gold);
}
.total-row {
    display:flex;
    justify-content:space-between;
    border-top:1px solid var(--border);
    padding:20px 0;
    margin-top:20px;
    color:var(--au-text-2);
    font-size:12px;
}
.total-row strong {
    color:var(--gold);
}
.compare-panel {
    margin-top:25px;
}
.comparison-table {
    width:100%;
    border-collapse:collapse;
    font-size:12px;
}
.comparison-table td,.comparison-table th {
    padding:13px 10px;
    text-align:left;
    border-bottom:1px solid var(--au-border);
}
.comparison-table th {
    color:var(--au-text-2);
    font-weight:600;
}
.comparison-table thead th {
    color:var(--au-text-3);
    font-size:11px;
    letter-spacing:.06em;
    text-transform:uppercase;
    border-bottom-color:var(--au-border-strong);
}
.comparison-table td:first-child {
    color:var(--muted);
}
.saved-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}
.saved-card h3 {
    font:500 23px var(--au-font-display);
    margin:14px 0;
}
.saved-card p {
    color:var(--muted);
    font-size:12px;
}
.saved-actions {
    display:flex;
    gap:20px;
    margin-top:20px;
}
.empty-state {
    padding:60px 25px;
    text-align:center;
    border:1px dashed var(--au-border-strong);
    border-radius:8px;
    grid-column:1/-1;
}
.empty-state>svg {
    color:var(--gold);
    height:34px;
    width:34px;
}
.empty-state h2 {
    font:500 25px var(--au-font-display);
    margin-top:20px;
}
.empty-state p {
    color:var(--muted);
    font-size:13px;
}
.empty-state a {
    color:var(--gold);
}
dialog {
    width:min(570px,calc(100% - 32px));
    padding:27px;
    background:var(--au-surface);
    border:1px solid var(--au-border-strong);
    border-radius:var(--au-r);
    color:var(--text);
    box-shadow:var(--au-shadow);
}
dialog::backdrop {
    background:rgba(5,8,16,.78);
    backdrop-filter:blur(6px);
}
.dialog-top {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}
.dialog-top button {
    border:0;
    background:var(--au-surface-2);
    border-radius:4px;
    font-size:22px;
    width:30px;
    height:30px;
    line-height:1;
}
.dialog-general {
    display:flex;
    gap:20px;
    align-items:center;
    margin-bottom:24px;
}
.dialog-general img {
    height:110px;
    width:110px;
    background:radial-gradient(rgba(90,226,113,.25),var(--au-surface-2));
    border:1px solid var(--au-border-strong);
    border-radius:7px;
}
.dialog-general h2 {
    font:500 28px var(--au-font-display);
    margin-bottom:9px;
}
#dialog-content p,#dialog-content li {
    font-size:13px;
    color:var(--au-text-2);
}
#dialog-content h2 {
    font-family:var(--au-font-display);
    font-weight:500;
}
.source-chip,a.source-chip {
    font-size:9px;
    color:var(--gold);
    border:1px solid var(--accent-line);
    border-radius:4px;
    padding:4px 7px;
}
.dialog-stats {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin:24px 0;
}
.dialog-stats>div {
    padding:12px 5px;
    background:var(--au-surface-2);
    text-align:center;
    border-radius:5px;
}
.dialog-stats strong {
    display:block;
    font:500 25px var(--au-font-display);
    color:var(--gold);
}
.dialog-stats small {
    font-size:10px;
    color:var(--muted);
}
#toast {
    position:fixed;
    bottom:26px;
    left:50%;
    transform:translate(-50%,15px);
    opacity:0;
    pointer-events:none;
    background:var(--au-accent);
    color:var(--au-accent-ink);
    padding:12px 22px;
    border-radius:10px;
    box-shadow:var(--au-shadow);
    transition:opacity .2s,transform .2s;
    font-size:13px;
    font-weight:600;
    z-index:20;
}
#toast.visible {
    opacity:1;
    transform:translate(-50%,0);
}
@media(min-width:1550px) {
    .hero {
        height:390px;
    }
    .hero-copy {
        padding:40px;
    }
    .hero h2 {
        font-size:54px;
    }
    .hero-knight {
        right:11%;
    }
    .hero-empress {
        right:-1%;
    }
    .tool-card p {
        min-height:40px;
    }
}
@media(max-width:1200px) {
    .hero-copy {
        padding:28px;
        width:65%;
    }
    .hero-knight {
        right:0;
        height:99%;
    }
    .hero-empress {
        right:-18%;
    }
    .hero h2 {
        font-size:42px;
    }
    .art-caption {
        right:15px;
        bottom:17px;
    }
    .tool-card {
        padding:16px 15px 0;
    }
    .tool-card h3 {
        font-size:18px;
    }
    .tool-footer>span:last-child {
        font-size:9px;
    }
    .level-preview {
        display:none;
    }
    .status-tag {
        font-size:6px;
    }
    .general-grid {
        grid-template-columns:repeat(3,1fr);
    }
    .edition {
        display:none;
    }
    .planner-grid {
        gap:15px;
    }
    .panel {
        padding:20px;
    }
    .gear-slots {
        grid-template-columns:1fr;
    }
    .gear-slot {
        padding:10px;
    }
    .hero-number {
        font-size:7px;
    }
    .hero-footnote {
        font-size:8px;
    }
}
@media(max-width:900px) {
    .hero-copy {
        width:70%;
    }
    .hero-knight {
        right:-7%;
        opacity:.8;
    }
    .hero-empress {
        display:none;
    }
    .art-caption {
        display:none;
    }
    .hero h2 {
        font-size:43px;
    }
    .tool-grid {
        gap:10px;
    }
    .tool-top {
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
    }
    .tool-card p {
        font-size:11px;
        min-height:60px;
    }
    .tool-footer>div,.slot-dots {
        display:none;
    }
    .tool-footer {
        min-height:48px;
    }
    .planner-grid {
        grid-template-columns:1fr;
    }
    .gear-slots {
        grid-template-columns:repeat(2,1fr);
    }
    .featured-card {
        gap:8px;
        padding:12px 8px;
    }
    .featured-card strong {
        font-size:13px;
    }
    .featured-card img {
        width:40px;
        height:46px;
    }
}
@media(max-width:600px) {
    .search-box {
        padding:7px 8px;
        max-width:190px;
    }
    .search-box input {
        width:130px;
    }
    .search-box kbd {
        display:none;
    }
    .page-heading {
        align-items:flex-start;
        flex-direction:column;
        gap:13px;
    }
    :where(.atlas) h1 {
        font-size:29px;
    }
    .eyebrow {
        font-size:10px;
    }
    .page-heading p {
        font-size:12px;
    }
    .hero {
        height:370px;
    }
    .hero-copy {
        width:100%;
        padding:24px 20px;
    }
    .gold-label {
        font-size:6px;
        letter-spacing:.8px;
    }
    .hero h2 {
        font-size:39px;
    }
    .hero p {
        font-size:11px;
    }
    .hero-knight {
        height:60%;
        right:-20%;
        opacity:.27;
        bottom:0;
    }
    .hero-number {
        display:none;
    }
    .hero-footnote {
        font-size:7px;
    }
    .tool-grid {
        grid-template-columns:1fr;
    }
    .tool-top {
        flex-direction:row;
        align-items:center;
    }
    .tool-card {
        padding:18px 19px 0;
    }
    .tool-card h3 {
        font-size:23px;
    }
    .tool-card p {
        min-height:0;
        font-size:12px;
    }
    .tool-footer>div,.slot-dots,.level-preview {
        display:flex;
    }
    .section-title h2 {
        font-size:20px;
    }
    .section-title>span {
        display:none;
    }
    .featured-grid {
        grid-template-columns:1fr;
    }
    .featured-card img {
        width:48px;
        height:48px;
    }
    .featured-card strong {
        font-size:16px;
    }
    .general-grid {
        grid-template-columns:1fr;
    }
    .toolbar {
        flex-wrap:wrap;
        gap:12px;
    }
    .library-search {
        max-width:none;
        flex-basis:100%;
    }
    .portrait-stage {
        height:170px;
    }
    .general-body h3 {
        font-size:23px;
    }
    .gear-slots {
        grid-template-columns:1fr;
    }
    .saved-grid {
        grid-template-columns:1fr;
    }
    .level-inputs {
        gap:10px;
        padding:14px;
    }
    .resource-input-row {
        grid-template-columns:50px 1fr 1fr;
        gap:8px;
    }
    .panel {
        padding:18px;
    }
    .dialog-general {
        gap:12px;
    }
    .dialog-general h2 {
        font-size:23px;
    }
    .dialog-general img {
        width:80px;
        height:80px;
    }
    .dialog-stats {
        grid-template-columns:1fr 1fr;
    }
    .comparison-table {
        font-size:10px;
    }
    .comparison-table td,.comparison-table th {
        padding:10px 5px;
    }
    .info-banner {
        font-size:10px;
    }
    .status-tag {
        font-size:7px;
    }
    #toast {
        width:calc(100% - 32px);
        text-align:center;
    }
}
@media(max-width:600px) {
    .hero {
        height:auto;
        min-height:370px;
    }
    .hero-copy {
        padding-bottom:26px;
    }
}
.library-filters {
    display:flex;
    align-items:end;
    gap:18px;
    flex-wrap:wrap;
    margin:0 0 22px;
}
.library-filters label {
    display:grid;
    gap:7px;
    font-size:12px;
    color:var(--muted,var(--au-text-2));
}
.library-filters select {
    min-width:160px;
}
.library-filters .subtle {
    flex:1;
    min-width:170px;
    margin:0;
}
.library-pagination {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    margin:28px 0;
}
.library-pagination[hidden] {
    display:none;
}
.library-pagination button:disabled {
    opacity:.35;
    cursor:not-allowed;
}
.skill-preview {
    color:var(--au-accent)!important;
    min-height:18px;
}
.general-body h3 {
    overflow-wrap:anywhere;
}
.growth-note {
    display:block;
    font-size:11px;
    color:var(--au-text-3);
    margin-top:5px;
}
.profile-sections {
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:20px;
}
.profile-sections a {
    padding:10px 15px;
    border:1px solid var(--au-border-strong);
    border-radius:8px;
    color:var(--au-accent);
    font-size:13px;
}
.profile-section {
    margin-top:22px;
    scroll-margin-top:20px;
}
.profile-section h2 {
    margin-bottom:16px;
}
.profile-section p {
    line-height:1.7;
}
.skill-stage {
    border-top:1px solid var(--au-border);
    padding:15px 0;
}
.skill-stage summary {
    cursor:pointer;
    font-weight:600;
    color:var(--au-accent);
    line-height:1.5;
}
.skill-stage p {
    font-size:14px;
}
.effect-list {
    list-style:none;
    margin:16px 0;
    padding:0;
}
.effect-list li {
    padding:9px 0;
    line-height:1.6;
    font-size:14px;
}
.effect-list small {
    display:block;
    color:var(--au-text-3);
    font-size:12px;
}
.specialty-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}
.specialty-card {
    padding:20px;
    border:1px solid var(--au-border);
    border-radius:12px;
    min-width:0;
}
.specialty-card h3 {
    margin:0 0 16px;
    font-size:22px;
}
.profile-section,.comparison-table {
    overflow-wrap:anywhere;
}
.profile-section .fine-print a {
    color:var(--au-accent);
}
@media(max-width:700px) {
    .specialty-grid {
        grid-template-columns:1fr;
    }
    .library-filters {
        gap:12px;
    }
    .library-filters label {
        flex:1;
        min-width:0;
    }
    .library-filters select {
        min-width:0;
        width:100%;
    }
    .library-pagination {
        gap:10px;
        font-size:11px;
    }
    .library-pagination .button {
        padding:10px;
    }
    .growth-note {
        font-size:9px;
    }
    .specialty-card {
        padding:14px;
    }
    .effect-list li {
        font-size:12px;
    }
}
@media(prefers-reduced-motion:reduce) {
    *,*:before,*:after {
        transition:none!important;
        scroll-behavior:auto!important;
    }
}
/* The account panel at the top of the Atlas sidebar (FR1 to FR3): picker, detail rows, All accounts. */
.atlas-account {
    padding:0 10px var(--au-s4);
    margin-bottom:var(--au-s5);
    border-bottom:1px solid var(--au-border);
    font-size:13px;
    line-height:18px;
}
.atlas-account.is-stale .account-combobox input[type=text] {
    border-color:rgba(255,196,92,.5);
}
.atlas-account-head {
    margin-bottom:8px;
    font:600 11px/16px var(--au-font-display);
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--au-text-3);
}
.atlas-account-prompt,.atlas-account-note {
    margin:0;
    font-size:12px;
    line-height:17px;
    color:var(--muted);
}
.atlas-account-prompt a {
    color:var(--gold);
}
.atlas-account-note {
    margin-top:8px;
    color:var(--au-warn);
    font-size:11px;
    line-height:15px;
}
.atlas-account-title {
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-top:12px;
    padding:0 2px 6px;
    border-bottom:1px solid var(--au-border);
}
a.account-bar-name {
    font:500 15px/20px var(--au-font-display);
    color:var(--text);
    overflow-wrap:anywhere;
}
a.account-bar-name:hover {
    color:var(--gold);
}
.atlas-account-rows {
    margin:0;
    padding:0;
}
.atlas-account-row {
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:10px;
    padding:5px 2px;
    border-bottom:1px solid var(--au-border);
}
.atlas-account-row dt {
    flex:none;
    color:var(--au-text-3);
}
.atlas-account-row dd {
    margin:0;
    min-width:0;
    text-align:right;
    color:var(--au-text);
    overflow-wrap:anywhere;
}
.atlas-account-row dd a {
    color:var(--gold);
}
.atlas-account-row-wide {
    flex-direction:column;
    align-items:stretch;
    gap:1px;
}
.atlas-account-row-wide dd {
    text-align:left;
    font-size:12px;
    line-height:16px;
    color:var(--au-text-2);
}
a.account-bar-all {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:12px;
    padding:8px 12px;
    border:1px solid var(--au-border-strong);
    border-radius:10px;
    background:transparent;
    color:var(--au-text);
    font-size:13px;
    font-weight:600;
    transition:background var(--au-ease),border-color var(--au-ease);
}
a.account-bar-all:hover {
    border-color:var(--au-text-2);
    background:rgba(255,255,255,.04);
    color:var(--au-text);
}
.stale-badge {
    display:inline-block;
    font-size:9px;
    letter-spacing:1px;
    font-weight:650;
    color:var(--au-warn);
    background:var(--au-warn-soft);
    border:1px solid var(--warn-line);
    border-radius:999px;
    padding:2px 7px;
    vertical-align:middle;
    text-transform:uppercase;
}
.account-combobox {
    position:relative;
    display:block;
    min-width:0;
}
.account-combobox-field {
    display:block;
    position:relative;
}
.account-combobox input[type=text] {
    width:100%;
    border:1px solid var(--au-border-strong);
    border-radius:10px;
    padding:8px 32px 8px 12px;
    background:var(--au-surface-2);
    color:var(--text);
    font-size:13px;
    font-weight:500;
    cursor:pointer;
}
.account-combobox input[type=text]::placeholder {
    color:var(--text);
    opacity:1;
}
.account-combobox input[type=text]:focus {
    outline:none;
    border-color:var(--au-blue);
    box-shadow:0 0 0 3px rgba(109,147,255,.25);
    cursor:text;
}
.account-combobox input[type=text]:focus::placeholder {
    color:var(--au-text-3);
}
.account-combobox-caret {
    position:absolute;
    right:10px;
    top:50%;
    width:16px;
    height:16px;
    margin-top:-8px;
    fill:none;
    stroke:var(--au-text-3);
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    pointer-events:none;
}
.account-combobox input[type=text][hidden] + .account-combobox-caret {
    display:none;
}
/* The listbox opens in flow under the field (the sticky sidebar scrolls, so an overlay would be clipped). */
.account-listbox {
    list-style:none;
    margin:6px 0 0;
    padding:6px;
    width:100%;
    max-height:280px;
    overflow:auto;
    background:var(--au-surface);
    border:1px solid var(--au-border-strong);
    border-radius:10px;
    box-shadow:var(--au-shadow);
}
.account-option-group {
    font-size:9px;
    letter-spacing:1.6px;
    color:var(--gold);
    padding:10px 10px 4px;
}
.account-option {
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    padding:8px 10px;
    border-radius:5px;
    cursor:pointer;
    color:var(--text);
}
.account-option small {
    color:var(--muted);
    font-size:10px;
    white-space:nowrap;
}
.account-option.is-stale small {
    color:var(--au-warn);
}
.account-option[aria-selected=true] {
    color:var(--gold);
}
.account-option.is-active,.account-option:hover {
    background:rgba(255,255,255,.06);
}
.account-noscript {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    margin-top:8px;
    font-size:11px;
    color:var(--muted);
}
.visually-hidden {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
}
.owned-badge {
    display:inline-block;
    font-size:9px;
    letter-spacing:.6px;
    font-weight:650;
    color:var(--au-accent);
    background:var(--au-accent-soft);
    border:1px solid var(--accent-line);
    border-radius:999px;
    padding:2px 7px;
    vertical-align:middle;
    white-space:nowrap;
}
.general-card.not-owned {
    opacity:.55;
    transition:opacity var(--au-ease);
}
.general-card.not-owned .portrait-stage img {
    filter:grayscale(.85) drop-shadow(0 8px 12px rgba(0,0,0,.5));
}
.general-card.not-owned:hover,
.general-card.not-owned:focus-within {
    opacity:1;
}
.general-card.not-owned:hover .portrait-stage img,
.general-card.not-owned:focus-within .portrait-stage img {
    filter:drop-shadow(0 8px 12px rgba(0,0,0,.5));
}
.general-card .owned-badge {
    position:absolute;
    right:10px;
    top:10px;
    z-index:1;
}
.portrait-stage {
    position:relative;
}
.owned-tier {
    border-left:3px solid var(--accent-line);
    padding-left:12px;
}
.owned-current {
    border-left-color:var(--gold);
}
.owned-specialty h3 {
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.owned-stage summary {
    color:var(--gold);
}
.owned-panel .source-chip {
    text-decoration:none;
}
.owned-stats {
    margin:16px 0;
}
.account-chip {
    display:inline-block;
    font-size:11px;
    color:var(--text);
    background:var(--au-surface-2);
    border:1px solid var(--au-border-strong);
    border-radius:6px;
    padding:3px 8px;
    margin:2px 4px 2px 0;
}
.account-chip a {
    color:var(--gold);
}
.accounts-table th button {
    background:none;
    border:0;
    padding:0;
    color:inherit;
    font:inherit;
    cursor:pointer;
}
.accounts-table th[aria-sort=ascending] button:after {
    content:" ▲";
    font-size:9px;
}
.accounts-table th[aria-sort=descending] button:after {
    content:" ▼";
    font-size:9px;
}
.accounts-table td small {
    display:block;
    font-size:10px;
    color:var(--muted);
}
.accounts-table tr.is-stale td {
    color:var(--au-text-3);
}
.accounts-table tfoot td,.accounts-table tfoot th {
    color:var(--gold);
    font-weight:600;
    border-bottom:0;
    border-top:1px solid var(--au-border-strong);
}
.accounts-filter input {
    width:220px;
}
.table-scroll {
    overflow-x:auto;
}
.account-identity {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:12px;
    margin:18px 0 0;
}
.account-identity>div {
    padding:14px 12px;
    background:var(--au-surface-2);
    border-radius:6px;
}
.account-identity small {
    display:block;
    font-size:9px;
    letter-spacing:1.4px;
    color:var(--muted);
    margin-bottom:6px;
}
.account-identity strong {
    font:500 20px/1.3 var(--au-font-display);
    color:var(--gold);
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}
.account-freshness {
    margin:16px 0 0;
    font-size:13px;
    color:var(--au-text);
}
.account-stale {
    margin:8px 0 0;
    color:var(--au-warn);
    font-size:12px;
}
.account-cards {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    margin-top:22px;
}
.account-cards .account-section {
    margin-top:0;
}
.account-resources {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:10px;
}
.account-resources.protected {
    margin-top:10px;
}
.account-resources.summary {
    grid-template-columns:repeat(3,1fr);
}
.account-resources>div {
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    background:var(--au-surface-2);
    text-align:left;
    border-radius:8px;
    min-width:0;
}
.resource-text {
    min-width:0;
}
.resource-icon {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:8px;
    background:var(--au-accent-soft);
    color:var(--au-accent);
    flex:none;
}
.resource-icon svg {
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.resource-icon.is-protected {
    background:var(--au-warn-soft);
    color:var(--au-warn);
}
.resource-icon .resource-lock {
    position:absolute;
    right:-5px;
    bottom:-5px;
    width:16px;
    height:16px;
    padding:2px;
    border-radius:50%;
    background:var(--au-surface);
    stroke-width:2.2;
}
.account-resources strong {
    display:block;
    font:500 17px/1.3 var(--au-font-display);
    color:var(--gold);
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}
.account-resources small {
    font-size:10px;
    color:var(--muted);
}
.account-status {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:0;
}
.account-status>div {
    padding:12px;
    background:var(--au-surface-2);
    border-radius:5px;
}
.account-status dt {
    font-size:10px;
    color:var(--muted);
    margin-bottom:4px;
    font-weight:400;
}
.account-status dd {
    margin:0;
    font-size:14px;
    color:var(--text);
}
.account-section {
    margin-top:22px;
}
.account-section .eyebrow {
    margin-bottom:6px;
}
.account-captured {
    font-size:10px;
    color:var(--au-text-3);
    margin:-10px 0 16px;
}
/* After a totals line (My generals) the captured line sits below it instead of being pulled up into it. */
p + .account-captured {
    margin-top:4px;
}
.section-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    margin-right:10px;
    border-radius:8px;
    background:var(--au-accent-soft);
    color:var(--au-accent);
    vertical-align:-9px;
    flex:none;
}
.section-icon svg {
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.account-generals {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:12px;
}
.account-general {
    background:var(--au-surface-2);
    border:1px solid var(--au-border);
    border-radius:6px;
    padding:12px;
    text-align:center;
}
.account-general img,.account-general .portrait-missing {
    width:84px;
    height:84px;
    object-fit:contain;
    border-radius:6px;
    background:radial-gradient(rgba(90,226,113,.25),var(--au-surface-2));
    display:inline-grid;
    place-items:center;
    font-size:9px;
    color:var(--muted);
}
.account-general strong {
    display:block;
    font:500 14px var(--au-font-display);
    margin-top:8px;
    min-height:36px;
    overflow-wrap:anywhere;
}
.account-general .stars {
    color:var(--gold);
    font-size:12px;
    letter-spacing:1px;
}
.account-general small {
    display:block;
    font-size:10px;
    color:var(--muted);
}
.account-favourites {
    margin:18px 0 0;
    font-size:12px;
}
.account-favourites .eyebrow {
    margin-right:8px;
}
.account-gear {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}
.account-gear>div {
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px;
    background:var(--au-surface-2);
    border:1px solid var(--au-border);
    border-radius:6px;
}
.account-gear img,.account-gear .art-missing {
    width:56px;
    height:56px;
    object-fit:contain;
    background:var(--au-surface-2);
    border-radius:5px;
    display:inline-grid;
    place-items:center;
    font-size:9px;
    color:var(--muted);
    flex-shrink:0;
}
.account-gear small {
    display:block;
    font-size:10px;
    color:var(--muted);
}
.account-gear strong {
    font-size:13px;
    overflow-wrap:anywhere;
}
.account-set {
    color:var(--au-accent)!important;
}
.account-building-icon {
    width:28px;
    height:28px;
    object-fit:contain;
    vertical-align:middle;
    margin-right:8px;
}
tr.is-busy td:last-child {
    color:var(--au-accent);
}
.account-actions {
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:18px;
}
.unknown {
    color:var(--au-warn);
}
.bp-busy {
    display:inline-block;
    font-size:9px;
    letter-spacing:.6px;
    color:var(--au-accent);
    border:1px solid var(--accent-line);
    border-radius:3px;
    padding:1px 5px;
    margin-left:6px;
    vertical-align:middle;
}
@media(max-width:1200px) {
    .account-identity {
        grid-template-columns:repeat(3,1fr);
    }
    .account-resources {
        grid-template-columns:repeat(4,1fr);
    }
    .account-generals {
        grid-template-columns:repeat(4,1fr);
    }
    .account-gear {
        grid-template-columns:repeat(2,1fr);
    }
    .account-cards {
        grid-template-columns:1fr;
    }
}
@media(max-width:600px) {
    .atlas-account {
        grid-template-areas:"head head" "picker picker" "all all" "title title" "rows rows" "note note";
    }
    a.account-bar-all {
        margin-top:8px;
    }
    .account-identity {
        grid-template-columns:1fr 1fr;
    }
    .account-resources {
        grid-template-columns:repeat(2,1fr);
    }
    .account-resources.protected,.account-resources.summary {
        grid-template-columns:repeat(2,1fr);
    }
    .account-generals {
        grid-template-columns:repeat(2,1fr);
    }
    .account-gear {
        grid-template-columns:1fr;
    }
    .account-status {
        grid-template-columns:1fr;
    }
    .accounts-filter input {
        width:140px;
    }
}
.mg-toolbar {
    margin-bottom:22px;
}
.mg-filters {
    display:flex;
    align-items:end;
    gap:14px;
    flex-wrap:wrap;
}
.mg-filters label {
    display:grid;
    gap:6px;
    font-size:11px;
    color:var(--muted);
}
.mg-filters .checkbox-row {
    display:flex;
    color:var(--au-text-2);
    font-size:12px;
    padding-bottom:9px;
}
.mg-filters select {
    min-width:130px;
}
.mg-search {
    align-self:end;
}
.mg-search input {
    width:200px;
}
.mg-actions {
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    margin-top:16px;
}
.mg-actions .button {
    padding:8px 12px;
}
.mg-view {
    display:inline-flex;
    gap:4px;
}
.mg-view .button.selected {
    background:var(--gold);
    color:var(--au-accent-ink);
    border-color:transparent;
}
#generals-totals {
    margin:14px 0 0;
}
.mg-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.mg-card {
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:var(--au-r);
    padding:16px;
    min-width:0;
}
.mg-card.is-favourite {
    border-color:var(--accent-line);
}
.mg-card.unknown h3 {
    color:var(--au-warn);
}
.mg-head {
    display:flex;
    gap:12px;
    align-items:flex-start;
}
.mg-head img,.mg-head .portrait-missing {
    width:72px;
    height:72px;
    object-fit:contain;
    border-radius:6px;
    background:radial-gradient(rgba(90,226,113,.25),var(--au-surface-2));
    flex-shrink:0;
    display:inline-grid;
    place-items:center;
    font-size:9px;
    color:var(--muted);
}
.mg-head h3 {
    font:500 18px var(--au-font-display);
    margin:0 0 4px;
    overflow-wrap:anywhere;
}
.mg-head p {
    margin:0 0 4px;
}
.mg-heart {
    color:var(--au-danger);
    font-size:14px;
}
.mg-meta {
    display:flex;
    flex-wrap:wrap;
    gap:4px 10px;
    font-size:11px;
    color:var(--au-text);
}
.mg-meta .stars {
    color:var(--gold);
    letter-spacing:1px;
}
.mg-attributes {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    margin:14px 0 10px;
}
.mg-attributes>div {
    padding:8px 4px;
    background:var(--au-surface-2);
    border-radius:5px;
    text-align:center;
}
.mg-attributes small {
    display:block;
    font-size:9px;
    color:var(--muted);
}
.mg-attributes strong {
    display:block;
    font:500 17px var(--au-font-display);
    color:var(--gold);
}
.mg-cultivation {
    color:var(--au-accent)!important;
}
.mg-chips {
    margin:0 0 10px;
    font-size:11px;
}
.mg-chips .account-chip {
    font-size:10px;
    padding:2px 6px;
}
.account-chip.is-maxed {
    border-color:var(--accent-line);
    color:var(--au-accent);
}
.mg-gear {
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}
.mg-slot {
    width:34px;
    height:34px;
    display:inline-grid;
    place-items:center;
    border:1px solid var(--au-border-strong);
    border-radius:5px;
    background:var(--au-surface-2);
    font-size:11px;
    color:var(--au-text);
    overflow:hidden;
}
.mg-slot img {
    width:100%;
    height:100%;
    object-fit:contain;
}
.mg-slot.empty {
    border-style:dashed;
    color:var(--au-text-3);
    background:transparent;
}
.mg-slot.unknown {
    color:var(--au-warn);
    border-color:rgba(255,196,92,.5);
}
.mg-sets {
    margin-left:auto;
    font-size:10px;
    color:var(--muted);
}
.mg-pets {
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin:12px 0 0;
    font-size:11px;
}
.mg-table td,.mg-table th {
    white-space:nowrap;
}
#generals-none {
    margin-top:20px;
}
.owned-heading {
    font:500 16px var(--au-font-display);
    margin:22px 0 10px;
    color:var(--au-accent);
}
.owned-heading small {
    font:11px var(--au-font);
    margin-left:8px;
}
.owned-attributes td,.owned-attributes th {
    padding:9px 10px;
}
.owned-skills li.unknown strong {
    color:var(--au-warn);
}
.owned-pieces {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}
.owned-piece {
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:12px;
    background:var(--au-surface-2);
    border:1px solid var(--au-border);
    border-radius:6px;
    min-width:0;
}
.owned-piece.empty {
    border-style:dashed;
    opacity:.7;
}
.owned-piece.unknown strong {
    color:var(--au-warn);
}
.owned-piece img,.owned-piece .art-missing {
    width:56px;
    height:56px;
    object-fit:contain;
    background:var(--au-surface-2);
    border-radius:5px;
    display:inline-grid;
    place-items:center;
    font-size:9px;
    color:var(--muted);
    flex-shrink:0;
    text-align:center;
}
.owned-piece>span {
    min-width:0;
}
.owned-piece small {
    display:block;
    font-size:10px;
    color:var(--muted);
}
.owned-piece strong {
    font-size:13px;
    overflow-wrap:anywhere;
}
.owned-piece .stars {
    color:var(--gold);
    letter-spacing:1px;
}
.owned-refines {
    color:var(--au-accent)!important;
    margin-top:3px;
    line-height:1.5;
}
.owned-refine {
    display:inline-block;
    margin-right:8px;
}
.owned-set-bonuses {
    margin:14px 0 0;
}
.owned-pets {
    margin-top:18px;
}
.owned-pet {
    padding:16px;
    background:var(--au-surface-2);
    border:1px solid var(--au-border);
    border-radius:6px;
}
.owned-pet h3 {
    font:500 18px var(--au-font-display);
    margin:8px 0 6px;
}
.owned-pet h3.unknown {
    color:var(--au-warn);
}
.owned-pet .effect-list {
    margin:10px 0 0;
}
.owned-pet .effect-list li {
    padding:6px 0;
    font-size:12px;
}
.dragon-mark {
    position:absolute;
    left:10px;
    bottom:10px;
    z-index:1;
    font-size:14px;
    line-height:1;
    background:rgba(21,30,54,.85);
    border:1px solid var(--accent-line);
    border-radius:4px;
    padding:2px 4px;
}
@media(max-width:1200px) {
    .mg-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .owned-pieces {
        grid-template-columns:repeat(2,1fr);
    }
}
@media(max-width:700px) {
    .mg-grid {
        grid-template-columns:1fr;
    }
    .mg-filters label {
        flex:1;
        min-width:120px;
    }
    .mg-filters select {
        min-width:0;
        width:100%;
    }
    .mg-search input {
        width:100%;
    }
    .mg-attributes {
        grid-template-columns:repeat(2,1fr);
    }
    .owned-pieces {
        grid-template-columns:1fr;
    }
    .owned-pets {
        grid-template-columns:1fr;
    }
}
/* Battle reports (planning-artifacts/battle-reports, dataviz skill): chart tokens with a dark set that matches the Atlas and a light set, selected through data-theme on <html> (the toggle on the dashboard) or the OS setting when nothing is stamped. Series slots are the validated categorical palette in fixed order; text never wears a series color. */
:root {
    --viz-surface:var(--au-surface);
    --viz-plane:var(--au-bg);
    --viz-ink:var(--au-text);
    --viz-ink-2:var(--au-text-2);
    --viz-muted:#898781;
    --viz-grid:var(--au-border-strong);
    --viz-axis:rgba(255,255,255,.24);
    --viz-border:var(--au-border);
    --viz-track:var(--au-surface-2);
    --viz-s1:#3987e5;
    --viz-s2:#d95926;
    --viz-s3:#199e70;
    --viz-s4:#c98500;
    --viz-s5:#d55181;
    --viz-good:#0ca30c;
    --viz-bad:#e66767;
    --viz-tip-bg:var(--au-surface-2);
    --viz-tip-ink:var(--au-text);
}
@media (prefers-color-scheme:light) {
    :root:where(:not([data-theme="dark"])) {
        --viz-surface:#fcfcfb;
        --viz-plane:#f9f9f7;
        --viz-ink:#0b0b0b;
        --viz-ink-2:#52514e;
        --viz-muted:#898781;
        --viz-grid:#e1e0d9;
        --viz-axis:#c3c2b7;
        --viz-border:rgba(11,11,11,.1);
        --viz-track:#e1e0d9;
        --viz-s1:#2a78d6;
        --viz-s2:#eb6834;
        --viz-s3:#1baf7a;
        --viz-s4:#eda100;
        --viz-s5:#e87ba4;
        --viz-good:#006300;
        --viz-bad:#d03b3b;
        --viz-tip-bg:#0b0b0b;
        --viz-tip-ink:#fcfcfb;
    }
}
:root[data-theme="light"] {
    --viz-surface:#fcfcfb;
    --viz-plane:#f9f9f7;
    --viz-ink:#0b0b0b;
    --viz-ink-2:#52514e;
    --viz-muted:#898781;
    --viz-grid:#e1e0d9;
    --viz-axis:#c3c2b7;
    --viz-border:rgba(11,11,11,.1);
    --viz-track:#e1e0d9;
    --viz-s1:#2a78d6;
    --viz-s2:#eb6834;
    --viz-s3:#1baf7a;
    --viz-s4:#eda100;
    --viz-s5:#e87ba4;
    --viz-good:#006300;
    --viz-bad:#d03b3b;
    --viz-tip-bg:#0b0b0b;
    --viz-tip-ink:#fcfcfb;
}
.rp-toolbar {
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    margin-bottom:22px;
    padding:18px 24px;
}
.rp-range {
    display:inline-flex;
    gap:4px;
    border:1px solid var(--border);
    border-radius:6px;
    padding:3px;
    background:var(--au-surface-2);
}
.rp-range a {
    padding:7px 12px;
    border-radius:4px;
    font-size:12px;
    color:var(--au-text-2);
}
.rp-range a:hover {
    color:var(--text);
}
.rp-range a.selected {
    background:var(--gold);
    color:var(--au-accent-ink);
    font-weight:650;
}
.rp-range a.selected:before {
    content:"✓ ";
    font-weight:700;
}
.rp-fresh {
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    margin:0;
    font-size:12px;
    color:var(--au-text);
    flex-basis:100%;
}
.rp-fresh span+span:before {
    content:"· ";
    color:var(--muted);
}
#reports-totals-line {
    flex-basis:100%;
    margin:0;
}
.rp-kpis {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-bottom:22px;
}
.rp-kpi {
    padding:16px 18px;
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:var(--au-r);
    min-width:0;
}
.rp-kpi small {
    display:block;
    font-size:11px;
    color:var(--muted);
    margin-bottom:6px;
}
.rp-kpi strong {
    display:block;
    font:600 30px/1.1 var(--au-font);
    color:var(--text);
    overflow-wrap:anywhere;
}
.rp-kpi span {
    display:block;
    font-size:11px;
    color:var(--au-text-3);
    margin-top:6px;
}
.rp-charts {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}
.viz-card {
    padding:22px 24px;
    background:var(--viz-surface);
    border:1px solid var(--viz-border);
    color:var(--viz-ink);
    min-width:0;
    border-radius:var(--au-r);
}
.viz-card h2 {
    color:var(--viz-ink);
    font:500 20px var(--au-font-display);
    margin:6px 0 4px;
}
.viz-card .subtle,.viz-card .eyebrow+h2+p {
    color:var(--viz-ink-2);
}
.viz-card .subtle {
    margin:0 0 12px;
    font-size:12px;
}
.viz-head {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    flex-wrap:wrap;
}
.viz-figure {
    min-height:120px;
}
.viz-figure:empty {
    display:none;
}
.viz-chart {
    display:block;
    width:100%;
    height:auto;
    font:11px var(--au-font);
}
.viz-grid {
    stroke:var(--viz-grid);
    stroke-width:1;
    shape-rendering:crispEdges;
}
.viz-axis {
    stroke:var(--viz-axis);
    stroke-width:1;
    shape-rendering:crispEdges;
}
.viz-tick,.viz-axis-label,.viz-row-label {
    fill:var(--viz-muted);
    font-size:11px;
    font-variant-numeric:tabular-nums;
}
.viz-axis-label {
    font-size:10px;
    letter-spacing:.4px;
}
.viz-row-label {
    fill:var(--viz-ink-2);
}
.viz-value {
    fill:var(--viz-ink-2);
    font-size:11px;
    font-variant-numeric:tabular-nums;
}
.viz-empty-text {
    fill:var(--viz-muted);
    font-size:13px;
}
.viz-mark {
    transition:filter .15s;
    outline:none;
}
.viz-mark:hover,.viz-mark:focus-visible {
    filter:brightness(1.15);
}
.viz-mark:focus-visible {
    stroke:var(--viz-ink);
    stroke-width:1.5;
}
.viz-line {
    fill:none;
    stroke-width:2;
    stroke-linejoin:round;
    stroke-linecap:round;
}
.viz-dot {
    stroke:var(--viz-surface);
    stroke-width:2;
}
.viz-s1 {
    fill:var(--viz-s1);
}
.viz-s2 {
    fill:var(--viz-s2);
}
.viz-s3 {
    fill:var(--viz-s3);
}
.viz-s4 {
    fill:var(--viz-s4);
}
.viz-s5 {
    fill:var(--viz-s5);
}
.viz-line.viz-s1 {
    stroke:var(--viz-s1);
}
.viz-line.viz-s2 {
    stroke:var(--viz-s2);
}
.viz-line.viz-s3 {
    stroke:var(--viz-s3);
}
.viz-line.viz-s4 {
    stroke:var(--viz-s4);
}
.viz-line.viz-s5 {
    stroke:var(--viz-s5);
}
.viz-legend {
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    list-style:none;
    margin:0;
    padding:0;
    font-size:11px;
    color:var(--viz-ink-2);
}
.viz-legend li {
    display:flex;
    align-items:center;
    gap:6px;
}
.viz-swatch {
    display:inline-block;
    width:12px;
    height:12px;
    border-radius:3px;
}
.viz-swatch-rect {
    background:currentColor;
}
.viz-swatch-line {
    height:2px;
    width:16px;
    border-radius:1px;
}
.viz-swatch.viz-s1 {
    background:var(--viz-s1);
}
.viz-swatch.viz-s2 {
    background:var(--viz-s2);
}
.viz-swatch.viz-s3 {
    background:var(--viz-s3);
}
.viz-swatch.viz-s4 {
    background:var(--viz-s4);
}
.viz-swatch.viz-s5 {
    background:var(--viz-s5);
}
.viz-table {
    margin-top:12px;
    border-top:1px solid var(--viz-grid);
    padding-top:10px;
}
.viz-table summary {
    cursor:pointer;
    font-size:12px;
    color:var(--viz-ink-2);
}
.viz-table .comparison-table {
    margin-top:8px;
    color:var(--viz-ink);
}
.viz-card .comparison-table td,.viz-card .comparison-table th {
    border-bottom-color:var(--viz-grid);
    padding:9px 8px;
}
.viz-card .comparison-table th {
    color:var(--viz-ink-2);
}
.viz-card .comparison-table td:first-child {
    color:var(--viz-ink);
}
.viz-card .unknown {
    color:var(--au-warn);
}
.viz-inline-bar {
    display:inline-block;
    width:90px;
    height:8px;
    background:var(--viz-track);
    border-radius:4px;
    vertical-align:middle;
    margin-right:8px;
    overflow:hidden;
}
.viz-inline-bar i {
    display:block;
    height:100%;
    border-radius:0 4px 4px 0;
}
.rp-leaderboard td {
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}
.rp-general img {
    width:32px;
    height:32px;
    border-radius:50%;
    object-fit:cover;
    vertical-align:middle;
    margin-right:8px;
    background:var(--au-surface-2);
}
.viz-tooltip {
    position:fixed;
    z-index:40;
    pointer-events:none;
    background:var(--viz-tip-bg);
    color:var(--viz-tip-ink);
    font-size:12px;
    padding:6px 10px;
    border-radius:5px;
    box-shadow:0 8px 24px #0006;
    max-width:280px;
}
.rp-buffs {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}
.rp-buffs>div {
    padding:10px 12px;
    background:var(--au-surface-2);
    border-radius:5px;
}
.rp-buffs small {
    display:block;
    font-size:10px;
    color:var(--muted);
    min-height:28px;
}
.rp-buffs strong {
    font:500 17px var(--au-font-display);
    color:var(--gold);
}
.rp-latest td {
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}
.rp-latest td small {
    display:block;
}
.rp-icon {
    font-size:14px;
    margin-right:4px;
}
.rp-result {
    display:inline-block;
    font-size:11px;
    font-weight:650;
    border-radius:4px;
    padding:2px 8px;
    border:1px solid var(--border);
    cursor:help;
}
.rp-result-win {
    color:var(--au-accent);
    border-color:var(--accent-line);
    background:var(--au-accent-soft);
}
.rp-result-loss {
    color:var(--au-danger);
    border-color:var(--danger-line);
    background:var(--au-danger-soft);
}
.rp-result-unknown {
    color:var(--au-warn);
}
.rp-latest .button {
    padding:6px 10px;
}
.rp-sides th[scope=row] {
    color:var(--muted);
    font-weight:400;
}
.rp-buff-table td.negative {
    color:var(--au-danger);
}
.rp-generals {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}
.account-general.is-dead {
    opacity:.75;
}
.rp-participant {
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid var(--border);
}
.rp-participant h3 {
    font:500 17px var(--au-font-display);
    margin:0 0 6px;
}
.rp-side-theirs h3 {
    color:var(--au-warn);
}
.rp-troops td,.rp-troops th {
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}
.rp-total th,.rp-total td {
    color:var(--gold);
    border-top:1px solid var(--au-border-strong);
    border-bottom:0;
}
.rp-raw summary {
    cursor:pointer;
    color:var(--gold);
    font-size:13px;
}
.rp-raw summary small {
    margin-left:10px;
}
.rp-raw pre {
    margin:16px 0 0;
    max-height:480px;
    overflow:auto;
    font-size:11px;
    line-height:1.5;
    color:var(--au-text-2);
    background:var(--au-bg);
    padding:14px;
    border-radius:6px;
}
@media(max-width:1200px) {
    .rp-kpis {
        grid-template-columns:repeat(2,1fr);
    }
    .rp-charts {
        grid-template-columns:1fr;
    }
    .rp-buffs {
        grid-template-columns:repeat(3,1fr);
    }
    .rp-generals {
        grid-template-columns:repeat(2,1fr);
    }
}
@media(max-width:600px) {
    .rp-kpis {
        grid-template-columns:1fr 1fr;
    }
    .rp-kpi strong {
        font-size:24px;
    }
    .rp-buffs {
        grid-template-columns:1fr 1fr;
    }
    .rp-generals {
        grid-template-columns:1fr 1fr;
    }
    .rp-toolbar {
        padding:14px 16px;
    }
    .rp-range a {
        padding:6px 9px;
        font-size:11px;
    }
    .viz-card {
        padding:16px;
    }
    .viz-inline-bar {
        width:50px;
    }
}
.rp-layout {
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    gap:22px;
    align-items:start;
}
.rp-panel {
    min-width:0;
}
.rp-sidebar {
    position:sticky;
    top:calc(60px + 48px + 16px);
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:14px;
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:var(--au-r);
    min-width:0;
}
.rp-tabs {
    display:flex;
    flex-wrap:wrap;
    gap:4px;
    border:1px solid var(--border);
    border-radius:6px;
    padding:3px;
    background:var(--au-surface-2);
}
.rp-tabs a {
    flex:1 1 auto;
    text-align:center;
    padding:7px 9px;
    border-radius:4px;
    font-size:12px;
    color:var(--au-text-2);
    white-space:nowrap;
}
.rp-tabs a:hover {
    color:var(--text);
}
.rp-tabs a.selected {
    background:var(--gold);
    color:var(--au-accent-ink);
    font-weight:650;
}
.rp-search {
    display:flex;
    gap:6px;
}
.rp-search label {
    flex:1;
    min-width:0;
}
.rp-search input[type=search] {
    width:100%;
    border:1px solid var(--au-border-strong);
    border-radius:10px;
    padding:8px 10px;
    background:var(--au-surface-2);
    color:var(--text);
    font-size:12px;
}
.rp-search input[type=search]:focus {
    outline:none;
    border-color:var(--au-blue);
    box-shadow:0 0 0 3px rgba(109,147,255,.25);
}
.rp-search .button {
    padding:8px 10px;
    font-size:11px;
}
.rp-pick {
    display:flex;
    flex-direction:column;
    gap:10px;
    min-width:0;
}
.rp-selection {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    font-size:11px;
    color:var(--muted);
}
.rp-selection .button {
    padding:6px 9px;
    font-size:11px;
}
.rp-selection .button[aria-disabled=true] {
    opacity:.45;
    pointer-events:none;
}
.rp-selection .button:disabled {
    opacity:.45;
}
#reports-selection-count {
    margin-right:auto;
    color:var(--gold);
    font-weight:650;
}
.rp-list {
    list-style:none;
    margin:0;
    padding:0;
    max-height:min(62vh,640px);
    overflow:auto;
    border-top:1px solid var(--border);
}
.rp-row {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    padding:8px 6px;
    border-bottom:1px solid var(--border);
}
.rp-row.is-selected {
    background:rgba(90,226,113,.08);
    box-shadow:inset 3px 0 0 var(--gold);
}
.rp-row-pick {
    width:16px;
    height:16px;
    margin:0;
    accent-color:var(--gold);
    cursor:pointer;
}
.rp-row-pick:focus-visible {
    outline:2px solid var(--gold);
    outline-offset:2px;
}
a.rp-row-body {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    min-width:0;
    color:var(--text);
    border-radius:4px;
}
.rp-row-body:hover strong {
    color:var(--gold);
}
.rp-row-body:focus-visible {
    outline:2px solid var(--gold);
    outline-offset:1px;
}
.rp-row-main {
    display:flex;
    flex-direction:column;
    min-width:0;
}
.rp-row-main strong {
    font-size:12px;
    font-weight:600;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.rp-row-main small {
    font-size:10px;
    color:var(--muted);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.rp-row-main .rp-result {
    font-size:9px;
    padding:0 5px;
    border:0;
    background:transparent;
}
.rp-row-time {
    font-size:10px;
    color:var(--muted);
    white-space:nowrap;
}
.rp-row .rp-icon {
    margin:0;
}
.rp-star {
    appearance:none;
    border:0;
    background:transparent;
    color:var(--au-text-3);
    font-size:18px;
    line-height:1;
    padding:4px 6px;
    border-radius:5px;
    cursor:pointer;
    transition:color .15s,transform .15s;
}
.rp-star:hover {
    color:var(--au-accent);
    transform:scale(1.1);
}
.rp-star.is-on {
    color:var(--gold);
}
.rp-star:focus-visible {
    outline:2px solid var(--gold);
    outline-offset:1px;
}
.rp-star[data-busy=true] {
    opacity:.6;
}
#report-star {
    font-size:22px;
}
#reports-load-more {
    align-self:center;
    padding:7px 12px;
    font-size:11px;
}
#reports-load-more[aria-disabled=true] {
    opacity:.6;
    pointer-events:none;
}
#reports-selection-line {
    margin:0 0 12px;
}
body.is-refreshing .rp-panel {
    opacity:.7;
    transition:opacity .15s;
}
.rp-inline {
    margin-bottom:22px;
}
.rp-inline-head {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:14px;
    flex-wrap:wrap;
}
.rp-inline-head h2 {
    margin:4px 0 6px;
}
.rp-inline-head .account-actions {
    display:flex;
    align-items:center;
    gap:8px;
}
.rp-inline-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    margin-top:14px;
}
.rp-inline h3,.rp-inline h4 {
    font:500 16px var(--au-font-display);
    margin:0 0 8px;
}
.rp-inline-troops {
    margin-top:18px;
}
.rp-inline .rp-participant {
    margin-top:12px;
    padding-top:10px;
}
#reports-sidebar-toggle {
    display:none;
}
@media(max-width:1200px) {
    .rp-layout {
        grid-template-columns:260px minmax(0,1fr);
        gap:16px;
    }
    .rp-inline-grid {
        grid-template-columns:1fr;
    }
}
@media(max-width:900px) {
    .rp-layout {
        grid-template-columns:1fr;
    }
    .rp-sidebar {
        position:static;
    }
    body.has-js .rp-sidebar {
        display:none;
    }
    body.has-js .rp-sidebar.is-open {
        display:flex;
    }
    #reports-sidebar-toggle {
        display:inline-flex;
    }
    #reports-sidebar-toggle[hidden] {
        display:none;
    }
    .rp-list {
        max-height:50vh;
    }
}
/* Epic 8: the report view (shared by the report page and the inline detail): cards, the outcome banner, the side-by-side strip, participant tabs, troop tables, reinforcement share. */
.rp-card {
    margin-bottom:22px;
}
.rp-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    align-items:start;
    margin-bottom:22px;
}
.rp-grid>.rp-card {
    margin-bottom:0;
}
.rp-report-charts {
    margin-bottom:22px;
}
.rp-outcome {
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    margin:0 0 18px;
    padding:12px 16px;
    border-radius:8px;
    border:1px solid var(--border);
    background:var(--au-surface-2);
}
.rp-outcome .rp-result {
    font-size:15px;
    padding:6px 14px;
}
.rp-outcome-note {
    font-size:12px;
    color:var(--muted);
}
.rp-outcome-win {
    border-color:var(--accent-line);
}
.rp-outcome-loss {
    border-color:var(--danger-line);
}
.rp-strip {
    margin-bottom:0;
}
.rp-strip .rp-kpi-text {
    font-size:17px;
    line-height:1.3;
    overflow-wrap:anywhere;
}
.rp-compare {
    display:flex;
    flex-direction:column;
    gap:8px;
}
.rp-compare-head {
    display:grid;
    grid-template-columns:110px 1fr 110px;
    gap:10px;
    font-size:11px;
    color:var(--muted);
}
.rp-compare-head span:first-child {
    text-align:right;
}
.rp-compare-row {
    display:grid;
    grid-template-columns:110px 1fr 110px;
    align-items:center;
    gap:10px;
}
.rp-compare-row strong {
    font-variant-numeric:tabular-nums;
    font-weight:600;
    font-size:13px;
    color:var(--text);
}
.rp-compare-mine {
    text-align:right;
}
.rp-compare-theirs {
    text-align:left;
}
.rp-compare-bars {
    display:grid;
    grid-template-columns:1fr minmax(90px,auto) 1fr;
    align-items:center;
    gap:8px;
}
.rp-compare-track {
    display:block;
    height:10px;
    background:var(--viz-track);
    border-radius:5px;
    overflow:hidden;
}
.rp-compare-track-mine {
    transform:scaleX(-1);
}
.rp-compare-track i {
    display:block;
    height:100%;
    border-radius:0 5px 5px 0;
}
.rp-bar-mine {
    background:var(--viz-s1);
}
.rp-bar-theirs {
    background:var(--viz-s2);
}
.rp-compare-label {
    font-size:11px;
    color:var(--muted);
    text-align:center;
    white-space:nowrap;
}
.rp-fortification {
    margin:12px 0 0;
}
.rp-side-groups {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    align-items:start;
}
.rp-side-group {
    min-width:0;
}
.rp-side-group h3 {
    font:500 17px var(--au-font-display);
    margin:0 0 10px;
}
.rp-tablist {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:12px;
    border-bottom:1px solid var(--border);
    padding-bottom:10px;
}
.rp-tab {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 10px;
    border:1px solid var(--border);
    border-radius:6px;
    background:var(--au-surface-2);
    color:var(--au-text-2);
    font-size:12px;
    max-width:100%;
    text-align:left;
    cursor:pointer;
}
.rp-tab:hover {
    color:var(--text);
    border-color:var(--au-border-strong);
}
.rp-tab[aria-selected=true] {
    background:var(--gold);
    color:var(--au-accent-ink);
    border-color:transparent;
}
.rp-tab[aria-selected=true] .rp-tab-sub,.rp-tab[aria-selected=true] .rp-tab-count {
    color:rgba(6,36,13,.7);
}
.rp-tab[aria-selected=true] .owned-badge {
    color:var(--au-accent-ink);
    background:rgba(6,36,13,.12);
    border-color:rgba(6,36,13,.35);
}
.rp-tab-portrait {
    width:28px;
    height:28px;
    border-radius:50%;
    object-fit:cover;
    background:var(--au-surface-2);
    flex-shrink:0;
}
.rp-tab-text {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-width:0;
    line-height:1.25;
}
.rp-tab-name {
    font-weight:600;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:160px;
}
.rp-tab-sub {
    font-size:10px;
    color:var(--muted);
}
.rp-tab-count {
    font-size:10px;
    color:var(--muted);
    border:1px solid currentColor;
    border-radius:10px;
    padding:0 6px;
    font-variant-numeric:tabular-nums;
    flex-shrink:0;
}
.rp-tab-totals {
    margin-left:auto;
}
.rp-tabpanel .rp-participant {
    margin-top:0;
    padding-top:0;
    border-top:0;
}
.rp-participant-head {
    display:flex;
    flex-wrap:wrap;
    gap:16px 24px;
    align-items:center;
    margin-bottom:12px;
}
.rp-mini-general {
    display:flex;
    align-items:center;
    gap:10px;
}
.rp-mini-general img,.rp-mini-portrait-missing {
    width:48px;
    height:48px;
    border-radius:50%;
    object-fit:cover;
    background:var(--au-surface-2);
    display:inline-grid;
    place-items:center;
    color:var(--muted);
    flex-shrink:0;
}
.rp-mini-general strong {
    display:block;
    font-size:14px;
}
.rp-mini-general small {
    display:block;
    font-size:11px;
    color:var(--muted);
}
.rp-mini-general.is-dead {
    opacity:.75;
}
.rp-dead {
    color:var(--au-danger);
}
.rp-participant-tactics {
    margin:0;
    flex-basis:100%;
}
.rp-troops td.num,.rp-troops th.num {
    text-align:right;
}
.rp-troops td.rp-start .viz-inline-bar {
    width:70px;
    margin-right:8px;
}
.rp-na {
    color:var(--muted);
    cursor:help;
    font-style:italic;
}
.rp-share {
    margin-top:16px;
}
.rp-share h3 {
    font:500 16px var(--au-font-display);
    margin:0 0 4px;
}
.rp-share-row {
    display:grid;
    grid-template-columns:90px 160px 60px 1fr;
    align-items:center;
    gap:10px;
    font-size:12px;
    margin-top:8px;
}
.rp-share-bar {
    width:160px;
}
.rp-buff-all {
    margin-top:8px;
}
.rp-buff-highlights td,.rp-buff-highlights th {
    padding:8px;
}
#report-buffs .viz-figure {
    margin:12px 0 4px;
}
.rp-inline .rp-card {
    padding:18px 20px;
    background:var(--au-surface-2);
}
.rp-inline .rp-card h2 {
    font-size:18px;
}
.rp-inline .rp-side-groups,.rp-inline .rp-grid,.rp-inline .rp-charts {
    grid-template-columns:1fr;
}
.rp-inline .rp-report-view {
    margin-top:14px;
}
@media(max-width:1200px) {
    .rp-side-groups,.rp-grid {
        grid-template-columns:1fr;
    }
}
@media(max-width:600px) {
    .rp-compare-row,.rp-compare-head {
        grid-template-columns:70px 1fr 70px;
        gap:6px;
    }
    .rp-compare-bars {
        grid-template-columns:1fr minmax(60px,auto) 1fr;
        gap:4px;
    }
    .rp-compare-label {
        white-space:normal;
    }
    .rp-share-row {
        grid-template-columns:70px 1fr 50px;
    }
    .rp-share-row small {
        grid-column:1/-1;
    }
    .rp-tab-name {
        max-width:110px;
    }
}
/* Under 960px the sub-navigation becomes one horizontally scrolling row of links above the content (no drawer, no script). */
@media(max-width:960px) {
    .atlas {
        grid-template-columns:minmax(0,1fr);
        gap:0;
        padding:0 var(--au-s4);
    }
    .atlas-side {
        position:static;
        max-height:none;
        overflow:visible;
        padding:var(--au-s3) 0 0;
    }
    .atlas-account {
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        grid-template-areas:"head head" "picker all" "title title" "rows rows" "note note";
        align-items:center;
        column-gap:10px;
        padding:0 0 var(--au-s3);
        margin-bottom:var(--au-s3);
    }
    .atlas-account-head {
        grid-area:head;
    }
    .atlas-account .account-combobox {
        grid-area:picker;
    }
    .atlas-account .atlas-account-prompt {
        grid-column:1 / -1;
    }
    .atlas-account-title {
        grid-area:title;
        margin-top:8px;
        padding-bottom:4px;
        border-bottom:0;
    }
    .atlas-account-rows {
        grid-area:rows;
        display:flex;
        flex-wrap:wrap;
        gap:0 4px;
        font-size:12px;
    }
    .atlas-account-row {
        display:inline;
        padding:0;
        border:0;
    }
    .atlas-account-row dt,.atlas-account-row dd {
        display:inline;
        text-align:left;
    }
    .atlas-account-row dt:after {
        content:" ";
    }
    .atlas-account-row + .atlas-account-row:before {
        content:"·";
        margin:0 4px 0 0;
        color:var(--au-text-3);
    }
    .atlas-account-row-wide dd {
        font-size:12px;
    }
    .atlas-account-note {
        grid-area:note;
    }
    a.account-bar-all {
        grid-area:all;
        margin-top:0;
        white-space:nowrap;
    }
    .atlas-nav {
        display:flex;
        align-items:center;
        gap:4px;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:thin;
        border-bottom:1px solid var(--au-border);
    }
    .atlas-nav-head {
        display:none;
    }
    .atlas-nav-group {
        display:flex;
        margin:0;
        flex:0 0 auto;
    }
    .atlas-nav-group + .atlas-nav-group {
        margin-left:6px;
        padding-left:6px;
        border-left:1px solid var(--au-border);
    }
    .nav-icon {
        width:16px;
        height:16px;
    }
    .atlas-nav-list {
        flex-direction:row;
        gap:2px;
        padding:0;
        border-left:0;
    }
    .atlas-nav-list a {
        margin-left:0;
        padding:8px 10px;
        border-left:0;
        border-bottom:2px solid transparent;
        border-radius:8px 8px 0 0;
        white-space:nowrap;
    }
    .atlas-nav-list a.active {
        border-bottom-color:var(--au-accent);
    }
    .nav-count {
        margin-left:2px;
    }
    .atlas-bar {
        position:static;
        background:transparent;
        backdrop-filter:none;
    }
    .atlas-content {
        padding:var(--au-s4) 0 var(--au-s6);
    }
    .rp-sidebar {
        top:auto;
    }
}

/* ---- Atlas Inventory + storage tiering (planning-artifacts/atlas-inventory-and-tiering): the upsell card, the download buttons, the Inventory page. */
.atlas-upsell {
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:18px 20px;
    margin:0 0 22px;
    border:1px solid var(--au-accent);
    border-radius:var(--au-r);
    background:var(--au-accent-soft);
    color:var(--text);
}
.atlas-upsell.is-compact {
    margin:16px 0 0;
    padding:14px 16px;
}
.atlas-upsell-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:10px;
    background:var(--au-accent);
    color:var(--au-accent-ink);
    flex:none;
}
.atlas-upsell-icon svg {
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.atlas-upsell-body {
    min-width:0;
    flex:1;
}
.atlas-upsell-lead {
    margin:0 0 4px;
    font-size:14px;
    font-weight:600;
    color:var(--text);
}
.atlas-upsell.is-compact .atlas-upsell-lead {
    font-size:13px;
}
.atlas-upsell-kept {
    margin:0 0 6px;
    font-size:12px;
    color:var(--au-text-2);
}
.atlas-upsell .atlas-upsell-button {
    margin-top:8px;
    padding:9px 14px;
}
.rp-sidebar .atlas-upsell {
    flex-direction:column;
    gap:10px;
}
.atlas-download {
    gap:8px;
    padding:8px 12px;
    white-space:nowrap;
}
.button-icon {
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex:none;
}
.atlas-download.is-disabled {
    opacity:.55;
    cursor:not-allowed;
}
.atlas-download.is-disabled:hover {
    transform:none;
}
.inv-boxed>div {
    align-items:flex-start;
}
.inv-breakdowns {
    display:grid;
    gap:8px;
    margin-top:14px;
}
.inv-breakdown {
    border:1px solid var(--border);
    border-radius:8px;
    padding:0;
    background:var(--au-surface-2);
}
.inv-breakdown summary {
    cursor:pointer;
    padding:10px 14px;
    font-size:12px;
    color:var(--au-text-2);
}
.inv-breakdown[open] summary {
    color:var(--text);
    border-bottom:1px solid var(--border);
}
.inv-breakdown .inv-table {
    margin:0;
}
.inv-table td,.inv-table th {
    font-variant-numeric:tabular-nums;
}
.inv-table td:not(:first-child),.inv-table th:not(:first-child) {
    text-align:right;
}
.inv-totals td strong {
    color:var(--gold);
}
.inv-status-line {
    font-size:14px;
    color:var(--text);
    margin:0 0 14px;
}
.inv-costs {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.inv-cost {
    padding:10px 12px;
    background:var(--au-surface-2);
    border-radius:8px;
    border:1px solid transparent;
}
.inv-cost.is-bottleneck {
    border-color:var(--au-warn);
}
.inv-cost>div:first-child {
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:8px;
    font-size:12px;
    color:var(--au-text-2);
}
.inv-cost strong {
    color:var(--gold);
    font-variant-numeric:tabular-nums;
}
.inv-cost .progress-track {
    margin:8px 0 6px;
}
.inv-cost small {
    font-size:10px;
    color:var(--muted);
}
.inv-picker {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:0 0 12px;
}
.inv-picker .button {
    padding:6px 10px;
    font-size:12px;
}
.inv-picker .button.selected {
    background:var(--gold);
    color:var(--au-accent-ink);
    border-color:var(--gold);
}
.inv-charts {
    margin-top:22px;
}
@media (max-width:760px) {
    .inv-costs,.account-resources.inv-boxed {
        grid-template-columns:1fr;
    }
    .inv-charts {
        grid-template-columns:1fr;
    }
}

/* The Overview (Index.cshtml): the compact hero, the at-a-glance strip, the metric cards and the catalog tool row. */
.hero-compact {
    height:auto;
    min-height:300px;
}
.hero-compact .hero-copy {
    width:62%;
    padding:30px 35px;
}
.hero-compact h2 {
    font-size:40px;
    margin:16px 0 14px;
}
.hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.ov-glance {
    margin-bottom:22px;
}
.ov-name small {
    font:400 13px var(--au-font);
    color:var(--muted);
    margin-left:8px;
    white-space:nowrap;
}
.ov-glance-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:12px;
    margin-top:16px;
}
.ov-glance-grid>div {
    padding:14px 12px;
    background:var(--au-surface-2);
    border-radius:8px;
    min-width:0;
}
.ov-glance-grid small {
    display:block;
    font-size:9px;
    letter-spacing:1.4px;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:6px;
}
.ov-glance-grid strong {
    display:block;
    font:500 20px/1.3 var(--au-font-display);
    color:var(--gold);
    font-variant-numeric:tabular-nums;
    overflow-wrap:anywhere;
}
.ov-glance-grid span {
    display:block;
    font-size:11px;
    color:var(--au-text-3);
    margin-top:4px;
}
.ov-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    margin-bottom:28px;
}
.ov-card {
    margin:0;
    min-width:0;
}
.ov-battles {
    grid-column:1 / -1;
}
.ov-kpis {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin:14px 0;
}
.ov-kpi {
    padding:12px 14px;
    background:var(--au-surface-2);
    border-radius:8px;
    min-width:0;
}
.ov-kpi small {
    display:block;
    font-size:11px;
    color:var(--muted);
    margin-bottom:4px;
}
.ov-kpi strong {
    display:block;
    font:600 24px/1.1 var(--au-font);
    color:var(--text);
    font-variant-numeric:tabular-nums;
    overflow-wrap:anywhere;
}
.ov-chart {
    margin:8px 0 14px;
}
.ov-chart .viz-legend-slot:empty {
    display:none;
}
.ov-reports {
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:6px;
}
.ov-reports a {
    display:grid;
    grid-template-columns:90px minmax(0,1fr) auto minmax(0,1.2fr);
    gap:10px;
    align-items:center;
    padding:8px 12px;
    background:var(--au-surface-2);
    border:1px solid transparent;
    border-radius:8px;
    font-size:12px;
}
.ov-reports a:hover {
    border-color:var(--au-border-strong);
}
.ov-reports time {
    color:var(--muted);
    white-space:nowrap;
}
.ov-report-kind {
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.ov-report-subject {
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    text-align:right;
    color:var(--au-text-2);
}
.ov-generals {
    list-style:none;
    margin:14px 0 0;
    padding:0;
    display:grid;
    gap:8px;
}
.ov-generals a {
    display:flex;
    align-items:center;
    gap:12px;
    padding:8px 10px;
    background:var(--au-surface-2);
    border:1px solid transparent;
    border-radius:8px;
    min-width:0;
}
.ov-generals a:hover {
    border-color:var(--gold);
}
.ov-generals img,.ov-portrait-empty {
    display:block;
    width:44px;
    height:44px;
    border-radius:50%;
    object-fit:cover;
    border:1px solid var(--au-border-strong);
    background:var(--au-surface);
    flex:none;
}
.ov-generals a>span {
    min-width:0;
}
.ov-generals strong {
    display:block;
    font:500 14px var(--au-font-display);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ov-generals small {
    font-size:11px;
    color:var(--muted);
}
.ov-resources {
    list-style:none;
    margin:14px 0 0;
    padding:0;
    display:grid;
    gap:10px;
}
.ov-resource-head {
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:8px;
    font-size:12px;
    color:var(--au-text-2);
}
.ov-resource-head strong {
    color:var(--gold);
    font-variant-numeric:tabular-nums;
}
.ov-bar {
    display:flex;
    gap:2px;
    height:8px;
    margin:6px 0 4px;
    border-radius:4px;
    overflow:hidden;
    background:var(--au-surface-2);
}
.ov-bar-onhand,.ov-swatch-onhand {
    background:var(--viz-s1);
    height:100%;
}
.ov-bar-boxed,.ov-swatch-boxed {
    background:var(--viz-s4);
    height:100%;
}
.ov-resources small {
    font-size:10px;
    color:var(--muted);
}
.ov-legend {
    margin-top:12px;
}
.ov-tier .atlas-upsell {
    margin:8px 0 0;
}
.ov-notice {
    margin-top:12px;
}
.ov-tools {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-bottom:24px;
}
.ov-tool {
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px;
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:10px;
    min-width:0;
}
.ov-tool:hover {
    border-color:var(--gold);
}
.ov-tool-text {
    min-width:0;
    flex:1;
}
.ov-tool strong {
    display:block;
    font:500 15px var(--au-font-display);
}
.ov-tool small {
    display:block;
    font-size:11px;
    color:var(--muted);
}
.ov-tool b {
    color:var(--gold);
}
@media(max-width:900px) {
    .ov-grid,.ov-tools {
        grid-template-columns:1fr;
    }
    .ov-kpis {
        grid-template-columns:repeat(2,1fr);
    }
    .hero-compact .hero-copy {
        width:100%;
    }
}
@media(max-width:600px) {
    .hero-compact {
        min-height:0;
    }
    .hero-compact .hero-knight,.hero-compact .hero-empress {
        opacity:.3;
    }
    .ov-reports a {
        grid-template-columns:1fr auto;
    }
    .ov-reports time,.ov-report-subject {
        grid-column:1 / -1;
    }
    .ov-report-subject {
        text-align:left;
    }
}

/* The Remote Dashboard card at the top of the overview for owners without an active dashboard. */
.ov-upsell-top {
    margin:0 0 16px;
    padding:14px 18px;
}
.ov-upsell-top .atlas-upsell {
    margin:0;
    border:0;
    padding:0;
    background:transparent;
    box-shadow:none;
}
