/* V60 horizontal status option. The original ring lives in core.css unchanged. */
.capacity-horizontal { padding:24px 22px 20px; border-bottom:1px solid var(--line); background:linear-gradient(135deg,#ffffff04,transparent); }

/* The page itself occupies the center column. Rails start below the fixed header. */
.global-widgets-layout { --global-left:clamp(250px,16vw,310px); --global-right:clamp(280px,18vw,350px); position:relative; width:100%; max-width:none; margin:0; padding:calc(var(--header-height) + 24px) 12px 54px; display:grid; grid-template-columns:var(--global-left) minmax(0,1fr) var(--global-right); gap:18px; align-items:start; }
.global-widgets-layout > .left-rail,.global-widgets-layout > .right-rail { min-width:0; display:grid; gap:18px; align-content:start; align-self:start; margin:0; }
.global-widget-center { min-width:0; container:page-content / inline-size; }
.global-widget-center .page-hero { min-height:0; padding:12px 16px 22px; }
.global-widget-center .page-hero h1 { font-size:clamp(26px,3vw,42px); line-height:1.15; }
.global-widget-center .section { width:100%; max-width:none; margin:0; padding:20px 0 34px; }
.global-widgets-layout.no-left-rail { grid-template-columns:minmax(0,1fr) var(--global-right); }
.global-widgets-layout.no-right-rail { grid-template-columns:var(--global-left) minmax(0,1fr); }
.global-widgets-layout.no-left-rail.no-right-rail { grid-template-columns:minmax(0,1fr); }
@container page-content (max-width:1100px) {
  .profile-layout { grid-template-columns:minmax(0,1fr); }
  .profile-sidebar { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; }
  .profile-session-strip { flex-wrap:wrap; }
  .profile-information-grid,.profile-security-grid { grid-template-columns:minmax(0,1fr); }
}
@container page-content (max-width:560px) {
  .profile-sidebar { grid-template-columns:minmax(0,1fr); }
  .profile-panel { padding:22px 16px; }
}
@media (min-width:1181px) { .home-dashboard { padding-inline:12px; } }
@media (max-width:1180px) {
  .global-widgets-layout,.global-widgets-layout.no-left-rail,.global-widgets-layout.no-right-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .global-widgets-layout > .global-widget-center { grid-column:1/-1; grid-row:1; }
}
@media (max-width:720px) {
  .global-widgets-layout,.global-widgets-layout.no-left-rail,.global-widgets-layout.no-right-rail { grid-template-columns:1fr; padding-inline:14px; }
}
.capacity-horizontal-summary { display:flex; justify-content:space-between; gap:12px; align-items:baseline; margin-bottom:15px; }
.capacity-horizontal-summary > span { color:var(--text-soft); font-size:11px; }
.capacity-horizontal-summary strong { color:var(--text-strong); font-size:22px; font-weight:850; font-variant-numeric:tabular-nums; }
.capacity-horizontal-summary small { color:var(--muted); font-size:12px; font-weight:500; }
.capacity-horizontal-track { overflow:hidden; height:11px; padding:2px; border:1px solid #ffffff12; border-radius:8px; background:#090e15a0; }
.capacity-horizontal-track > span { display:block; height:100%; border-radius:6px; background:linear-gradient(90deg,var(--capacity-color),rgba(255,255,255,0.753)); box-shadow:0 0 10px var(--capacity-glow); }
.capacity-horizontal-caption { display:flex; justify-content:space-between; align-items:center; margin-top:10px; font-size:10px; color:var(--muted); }
.capacity-horizontal-caption b { color:var(--capacity-color); font-size:12px; }
.server-card .race-icon,.server-card .job-icon { display:block; width:24px; height:24px; min-width:24px; flex:0 0 24px; object-fit:contain; image-rendering:pixelated; filter:none; opacity:1; visibility:visible; }

.server-about-card { overflow:hidden; }
.server-about-title > span { color:var(--accent-soft); font-size:15px; line-height:1; }
.server-about-list { margin:0; padding:8px 16px 13px; }
.server-about-list > div { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); }
.server-about-list > div:last-child { border-bottom:0; }
.server-about-list dt { min-width:0; color:var(--text-soft); font-size:11px; font-weight:700; overflow-wrap:anywhere; }
.server-about-list dd { margin:0; color:var(--accent-soft); font-size:11px; font-weight:850; text-align:end; overflow-wrap:anywhere; }
.server-card .race-distribution-legend .segment-label,.server-card .job-legend-name { overflow:visible; flex-wrap:wrap; }
/* Icons live outside proportional segments, so a 0% or narrow race slice cannot hide them. */
.server-card .race-segments { min-height:10px; height:10px; }
.server-card .race-segments .distribution-segment { min-height:8px; padding:0; }
.race-distribution-legend { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; }
.race-legend-item { min-width:0; display:grid; justify-items:center; gap:6px; }
.race-legend-item .segment-label { justify-content:center; }
.race-legend-item .segment-percent { color:var(--text-soft); }
.discord-card{background:var(--widget-bg);border-color:var(--widget-border)}
.discord-mark svg { display:block; width:22px; height:20px; color:var(--accent-soft); }
.discord-native-frame { display:block; width:100%; max-width:100%; height:500px; border:0; background:var(--panel-strong); }
.discord-widget-empty { margin:0; padding:28px 22px; font-size:13px; color:var(--text-soft); line-height:1.6; }
.discord-custom-body { position:relative; padding:24px 22px; }
.discord-custom-identity { display:flex; align-items:center; gap:13px; }
.discord-custom-emblem { flex-shrink:0; display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--line-bright); border-radius:15px; background:var(--tab-active-bg); color:var(--accent-soft); }
.discord-custom-emblem svg { width:29px; height:27px; }
.discord-custom-emblem img,.discord-logo img { display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.discord-kicker { display:block; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.discord-custom-identity h3 { margin:6px 0 0; color:var(--text-strong); font-size:20px; font-weight:750; overflow-wrap:anywhere; }
.discord-custom-description { margin:18px 0; color:var(--text-soft); font-size:12px; line-height:1.7; }
.discord-custom-stats { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:22px 0; }
.discord-custom-stats > div { padding:13px; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.discord-custom-stats dt { display:flex; align-items:center; gap:6px; color:var(--text-soft); font-size:10px; }
.discord-custom-stats dd { margin:8px 0 0; color:var(--text-strong); font-size:21px; font-weight:750; font-variant-numeric:tabular-nums; }
.discord-custom-body .discord-join { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:43px; border-radius:8px; padding:12px 15px; color:var(--text-strong); border:1px solid var(--line-bright); background:var(--tab-active-bg); }
.discord-custom-body .discord-join:hover { background:var(--row-hover); border-color:var(--accent); }
.discord-custom-body .discord-join.disabled { opacity:.55; }
/* AURORA — luminous community card with two statistic tiles. */
.discord-variant-aurora { background:radial-gradient(ellipse at 100% 20%,var(--accent-glow-soft),transparent 65%),var(--widget-bg); border-color:var(--widget-border); }
.discord-variant-aurora .discord-title { border-bottom-color:var(--widget-border); }
.discord-variant-aurora .discord-custom-emblem { background:linear-gradient(145deg,var(--tab-active-bg),var(--panel)); box-shadow:0 0 28px var(--accent-glow-soft); }
/* COMPACT — compact identity row, inline counts and a small join control. */
.discord-variant-compact { background:var(--panel-strong); }
.discord-variant-compact .discord-title { min-height:49px; }
.discord-variant-compact .discord-title h2 { font-size:15px; }
.discord-variant-compact .discord-custom-body { padding:18px; }
.discord-variant-compact .discord-custom-emblem { width:38px; height:38px; border-radius:10px; }
.discord-variant-compact .discord-custom-identity h3 { font-size:17px; }
.discord-variant-compact .discord-custom-stats { gap:18px; margin:17px 0; }
.discord-variant-compact .discord-custom-stats > div { border:0; padding:0; background:none; }
.discord-variant-compact .discord-custom-stats dd { margin-top:5px; font-size:16px; }
.discord-variant-compact .discord-join { min-height:34px; padding:8px 12px; font-size:11px; }
/* BANNER — graphic header, followed by a clean community summary. */
.discord-variant-banner { background:var(--panel-strong); border-color:var(--widget-border); }
.discord-variant-banner .discord-custom-body { padding-top:0; }
.discord-banner-art { position:relative; isolation:isolate; height:114px; margin:0 -22px 21px; display:grid; place-items:center; overflow:hidden; background:linear-gradient(120deg,var(--panel-strong),var(--tab-active-bg)); }
.discord-banner-art > svg { width:54px; height:48px; color:var(--text-strong); filter:drop-shadow(0 8px 15px var(--accent-glow-soft)); }
.discord-banner-art i { position:absolute; width:210px; height:210px; border:1px solid var(--line-bright); border-radius:50%; right:-50px; top:-72px; transform:rotate(-20deg) scaleY(.6); z-index:-1; }
.discord-banner-art i:nth-child(2) { width:290px; height:290px; right:-90px; top:-111px; }
.discord-banner-art i:nth-child(3) { right:auto; left:-90px; top:-30px; background:var(--tab-active-bg); }
.discord-variant-banner .discord-custom-emblem { display:grid; }
.discord-variant-banner .discord-custom-stats > div { border:0; border-radius:0; background:none; padding:0 0 12px; border-bottom:1px solid var(--line); }
/* TERMINAL — monospace server readout and a command-style join link. */
.discord-variant-terminal { background:var(--bg); border-color:var(--widget-border); }
.discord-variant-terminal .discord-custom-body { font-family:Consolas,monospace; padding-top:14px; }
.discord-terminal-bar { display:flex; gap:5px; align-items:center; margin-bottom:22px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.discord-terminal-bar i { width:6px; height:6px; border-radius:50%; background:var(--success); }
.discord-terminal-bar i:first-child { background:var(--danger-soft); }
.discord-terminal-bar i:nth-child(2) { background:var(--accent); }
.discord-terminal-bar span { margin-inline-start:auto; color:var(--muted); font-size:10px; }
.discord-variant-terminal .discord-custom-emblem { width:34px; height:34px; background:none; border:0; color:var(--accent-soft); }
.discord-variant-terminal .discord-custom-identity h3 { color:var(--text-strong); font-family:inherit; font-size:18px; }
.discord-variant-terminal .discord-kicker { color:var(--muted); letter-spacing:0; }
.discord-variant-terminal .discord-custom-stats { display:block; }
.discord-variant-terminal .discord-custom-stats > div { display:flex; justify-content:space-between; padding:9px 0; border:0; border-bottom:1px dashed var(--line); background:none; border-radius:0; }
.discord-variant-terminal .discord-custom-stats dd { margin:0; color:var(--accent-soft); font-size:14px; }
.discord-variant-terminal .discord-custom-stats dt { color:var(--text-soft); }
.discord-variant-terminal .discord-join { background:var(--tab-active-bg); border-color:var(--line-bright); border-radius:3px; color:var(--text-strong); }
.discord-variant-terminal .discord-join::before { content:'›'; color:var(--accent); }
.discord-variant-terminal .discord-join > span { margin-inline-start:auto; }

/* V69 live fortress ownership, tax ratio and exact bigint tax totals. */
.fortress-game-icon{width:32px;height:32px;object-fit:contain;align-self:start;margin-top:3px}
.fortress-copy a{display:block;font-size:13px;color:#ffeaed;font-weight:600;overflow-wrap:anywhere}
.fortress-copy .fortress-tax-total{display:block;margin-top:4px;color:#f8f4ae;font-size:11px;line-height:1.5}
.fortress-tax-total b{font-weight:600;color:#ffc79e;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fortress-row{align-items:start}.fortress-row .tax-badge{margin-top:4px}
.fortress-empty{padding:8px 14px;color:var(--muted);font-size:12px}


/* V101 — event calendar presentation. Rows are loaded from PanelDb dbo._EventCalender. */
.event-calendar-card{overflow:hidden;border-color:var(--widget-border);background:var(--widget-bg)}
.event-calendar-title{gap:8px}
.event-calendar-mark{font-size:18px;filter:drop-shadow(0 0 6px var(--accent-glow));transform:translateY(-1px)}
.event-calendar-table{padding:15px 13px 16px}
.event-calendar-head,.event-calendar-row{display:grid;grid-template-columns:minmax(0,1fr) 94px 78px;align-items:center}
.event-calendar-head{min-height:32px;padding:0 8px;border-bottom:1px solid var(--accent);background:color-mix(in srgb,var(--panel) 86%,var(--accent) 14%)}
.event-calendar-head span{color:var(--accent);font-size:11px;font-weight:850;text-align:center}
.event-calendar-head span:first-child{text-align:left}
.event-calendar-row{min-height:32px;padding:0 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent);transition:background .16s ease}
.event-calendar-row:last-child{border-bottom:0}
.event-calendar-row:hover{background:var(--row-hover)}
.event-calendar-row strong,.event-calendar-row time,.event-calendar-row b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-calendar-row strong{color:var(--text-strong);font-size:11px;font-weight:700;text-align:center}
.event-calendar-row time{color:var(--text-strong);font-size:11px;font-weight:750;text-align:center;font-style:normal}
.event-calendar-row b{color:var(--text-strong);font-size:11px;font-weight:850;text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:720px){.event-calendar-table{padding-inline:10px}.event-calendar-head,.event-calendar-row{grid-template-columns:minmax(0,1fr) 88px 78px}.event-calendar-row strong,.event-calendar-row time,.event-calendar-row b{font-size:10px}}
/* V101 — database-backed one-week event calendar. */
.event-calendar-empty{padding:16px 10px 14px;color:var(--muted);font-size:11px;font-weight:650;text-align:center;line-height:1.55}


/* V102 - event calendar urgency/active states. */
.event-calendar-row.is-soon strong,.event-calendar-row.is-soon time,.event-calendar-row.is-soon b{color:var(--warning);text-shadow:none}
.event-calendar-row.is-active{background:var(--success-bg)}
.event-calendar-row.is-active strong,.event-calendar-row.is-active time,.event-calendar-row.is-active b{color:var(--success);text-shadow:none}
.event-calendar-row[hidden]{display:none!important}

/* V103 — native Discord layouts share tenant theme colors, including Official. */
.discord-title{background:var(--widget-title-bg);border-color:var(--widget-border)}
.discord-mark{color:var(--accent-soft);text-shadow:none}
.discord-logo{color:var(--accent-soft);background:var(--tab-active-bg);box-shadow:0 0 22px var(--accent-glow-soft)}
.discord-join{color:var(--text-strong);background:var(--tab-active-bg);border-color:var(--line-bright)}
.discord-join:hover{background:var(--row-hover);border-color:var(--accent)}
.discord-variant-official .discord-custom-body{padding:18px}
.discord-variant-official .discord-custom-identity{padding-bottom:16px;border-bottom:1px solid var(--line)}
.discord-member-panel{margin:18px 0;padding-top:14px;border-top:1px solid var(--line);min-width:0}
.discord-member-panel h4{margin:0 0 12px;color:var(--text-strong);font-family:inherit;font-size:12px;font-weight:700}
.discord-member-list{display:grid;gap:9px;max-height:220px;overflow:auto;overscroll-behavior:contain;margin:0;padding:0 5px 0 0;list-style:none;scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent}
.discord-member-list li{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-soft);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.discord-member-list li::before{content:'';flex:0 0 7px;height:7px;border-radius:50%;background:var(--success)}
.discord-member-empty{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.discord-member-list[hidden],.discord-member-empty[hidden]{display:none}
.discord-variant-compact .discord-member-list{max-height:132px;gap:6px}
.discord-variant-terminal .discord-member-list li{font-family:inherit}

.event-calendar-mark svg{display:block;width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.event-calendar-mark{color:var(--accent-soft)}
/* v105: three theme-aware capacity presentations. */
.capacity-design{padding:22px;border-bottom:1px solid var(--line);color:var(--text-soft);background:radial-gradient(ellipse at top right,var(--accent-glow-soft),transparent 70%)}
.capacity-design strong{color:var(--text-strong);font-variant-numeric:tabular-nums}.capacity-design small{font-size:12px;color:var(--muted);font-weight:500}
.capacity-arc-visual{position:relative;max-width:280px;margin:auto}.capacity-arc-visual svg{display:block;width:100%;overflow:visible}.capacity-design-track,.capacity-design-value{fill:none;stroke-width:12;stroke-linecap:round}.capacity-design-track{stroke:var(--line)}.capacity-design-value{stroke:var(--accent);filter:drop-shadow(0 0 6px var(--accent-glow-soft))}.capacity-arc-visual>div{position:absolute;inset:38% 0 12%;display:grid;place-content:center;text-align:center;gap:5px}.capacity-arc-visual strong{font-size:40px;line-height:1}.capacity-arc-visual span{font-size:10px;color:var(--muted)}
.capacity-design-total{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0 0;font-size:11px}.capacity-design-total strong{font-size:20px}
.capacity-design-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px}.capacity-design-heading strong{font-size:30px;color:var(--accent-soft)}.capacity-segment-meter{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:4px;height:48px;margin:16px 0}.capacity-segment-meter i{border-radius:3px;background:var(--panel-strong);border:1px solid var(--line)}.capacity-segment-meter i.is-filled{background:linear-gradient(0deg,var(--accent),var(--accent-soft));border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow-soft)}
.capacity-tile-main{position:relative;overflow:hidden;border:1px solid var(--line-bright);border-radius:12px;background:var(--panel);padding:17px;display:grid;gap:7px}.capacity-tile-main>span{font-size:11px;color:var(--muted)}.capacity-tile-main strong{font-size:39px;line-height:1}.capacity-tile-main svg{position:absolute;inset-inline-end:12px;bottom:15px;width:78px;fill:none;stroke:var(--accent);stroke-width:2;opacity:.7}.capacity-tiles dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.capacity-tiles dl>div{padding:12px;border-radius:9px;background:var(--panel);border:1px solid var(--line)}.capacity-tiles dt{font-size:10px;color:var(--muted)}.capacity-tiles dd{margin:7px 0 0;font-size:19px;font-weight:800;color:var(--text-strong)}.capacity-tile-limit{display:flex;justify-content:space-between;margin:14px 0 0;font-size:11px}.capacity-tile-limit b{color:var(--accent-soft)}
