/* ═══════════════════════════════════════════════════════════════════
   13-report.css — Astrolab Report v3 (complete, clean, pro)
═══════════════════════════════════════════════════════════════════ */

/* ── Page shell ───────────────────────────────────────────────── */
.alb-view--report-mount{ width:100%; }
.alb-report-page{
  --report-bg:#0a0b0f; --report-bg-2:#111318;
  --report-card:#16181f; --report-card-hover:#1c1f28;
  --report-border:rgba(255,255,255,.06); --report-border-2:rgba(255,255,255,.10);
  --report-text:#e8e6e1; --report-text-2:#9a978f; --report-text-3:#5d5a54;
  position:relative;
  width:min(1200px, calc(100% - 48px));
  margin:0 auto; padding:0 0 80px; color:var(--report-text);
}
.alb-report-container{ position:relative; z-index:1; }

/* Progress bar */
.alb-report-progress{ position:fixed; top:0; left:0; width:100%; height:2px; z-index:120; pointer-events:none; background:transparent; }
.alb-report-progress span{ display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left center; background:linear-gradient(90deg,var(--alb-report-accent),rgba(255,255,255,.88)); box-shadow:0 0 10px var(--alb-report-accent-glow); transition:transform .1s linear; }

/* Ambient blobs */
.alb-report-ambient{ position:fixed; inset:0; pointer-events:none; z-index:0; overflow:hidden; }
.alb-report-ambient span{ position:absolute; border-radius:50%; filter:blur(120px); opacity:.05; animation:alb-report-float 20s ease-in-out infinite; }
.alb-report-ambient span:nth-child(1){ width:620px; height:620px; top:-220px; left:-120px; background:var(--alb-report-accent); }
.alb-report-ambient span:nth-child(2){ width:420px; height:420px; right:-120px; bottom:-120px; background:rgba(255,255,255,.15); animation-delay:-7s; }
.alb-report-ambient span:nth-child(3){ width:320px; height:320px; left:58%; top:42%; background:rgba(74,127,165,.24); animation-delay:-12s; }

/* Section reveal */
.alb-report-section{ position:relative; z-index:1; padding:70px 0 0; opacity:0; transform:translateY(28px); transition:opacity .8s var(--alb-ease), transform .8s var(--alb-ease); }
.alb-report-section.is-visible{ opacity:1; transform:none; }

/* ── Hero / Portrait ─────────────────────────────────────────── */
.alb-report-hero{ padding-top:88px; text-align:center; }
.alb-report-label{ margin:0 0 22px; font-family:var(--alb-mono); font-size:12px; letter-spacing:.28em; text-transform:uppercase; font-weight:500; color:var(--alb-report-accent); }
.alb-report-title{ margin:0 0 14px; font-family:var(--alb-serif); font-weight:400; font-size:clamp(52px,8vw,84px); line-height:1; letter-spacing:-.03em; background:linear-gradient(135deg,var(--report-text) 0%,rgba(255,255,255,.75) 40%,var(--alb-report-accent) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.alb-report-subtitle{ width:min(640px,100%); margin:0 auto 26px; color:var(--report-text-2); font-size:15px; line-height:1.8; font-weight:300; }
.alb-report-meta{ display:inline-flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:center; padding:10px 22px; border-radius:999px; background:var(--report-card); border:1px solid var(--report-border); font-family:var(--alb-mono); font-size:12px; color:var(--report-text-2); margin-bottom:12px; }
.alb-report-meta span{ color:var(--alb-report-accent); }
.alb-report-footer{ text-align:center; padding-top:64px; }

/* ── Big Three ───────────────────────────────────────────────── */
.alb-text-sun{ color:#ffd54f; } .alb-text-moon{ color:#b2ebf2; } .alb-text-ascendant{ color:#f4f1e8; }
.alb-big-intro{ max-width:675px; margin:0 auto 28px; text-align:center; color:var(--report-text-2); font-size:16px; line-height:1.8; }
.alb-big-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.alb-big-card{ position:relative; overflow:hidden; text-align:center; padding:34px 22px 28px; border-radius:18px; background:var(--report-card); border:1px solid var(--report-border); transition:transform .35s var(--alb-ease),border-color .35s var(--alb-ease),background .35s var(--alb-ease); }
.alb-big-card::before{ content:""; position:absolute; left:0; right:0; top:0; height:2px; background:linear-gradient(90deg,transparent,var(--card-accent),transparent); opacity:0; transition:opacity .35s ease; }
.alb-big-card:hover{ transform:translateY(-4px); background:var(--report-card-hover); border-color:var(--report-border-2); }
.alb-big-card:hover::before{ opacity:1; }
.alb-big-kicker{ margin:0 0 10px; font-family:var(--alb-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--report-text-3); }
.alb-big-icon{ position:relative; width:42px; height:42px; margin:0 auto 14px; border-radius:50%; display:grid; place-items:center; color:var(--card-accent); background:var(--card-glow); border:1px solid rgba(255,255,255,.08); }
.alb-big-icon svg [stroke]{ stroke:currentColor !important; } .alb-big-icon svg [fill="none"]{ fill:none !important; }
.alb-big-card h3{ margin:0 0 4px; font-family:var(--alb-serif); font-weight:400; font-size:32px; color:var(--report-text); }
.alb-big-degree{ margin:0 0 6px; color:var(--report-text-3); font-family:var(--alb-mono); font-size:12px; }
.alb-big-style{ margin:8px 0 0; color:var(--report-text-2); font-size:12px; font-style:italic; line-height:1.4; }
.alb-big-summary{ margin-top:22px; padding:22px 24px; border-radius:18px; background:var(--report-card); border:1px solid var(--report-border); color:var(--report-text-2); line-height:1.8; text-align:center; }

/* ── Wheel ───────────────────────────────────────────────────── */
.alb-wheel-wrap{ width:min(580px,100%); margin:0 auto 20px; display:grid; place-items:center; filter:drop-shadow(0 24px 56px rgba(0,0,0,.6)); }
.alb-wheel{ width:100%; height:auto; display:block; overflow:visible; }
.alb-wheel-ring{ stroke-dasharray:1800; stroke-dashoffset:1800; animation:alb-wheel-draw 1.5s var(--alb-ease) forwards; }
.alb-wheel-outer{ animation-delay:.05s; }
.alb-wheel-sep{ opacity:0; animation:alb-fade-in .4s var(--alb-ease) forwards; animation-delay:calc(.8s + var(--alb-i,0)*20ms); }
.alb-wheel-sign-name{ font-family:var(--alb-mono); font-size:8.5px; letter-spacing:.10em; text-transform:uppercase; opacity:0; animation:alb-fade-in .5s var(--alb-ease) forwards; animation-delay:calc(1.0s + var(--alb-i,0)*50ms); dominant-baseline:middle; }
.alb-wheel-sign-name textPath{ text-anchor:middle; }
.alb-wheel-cusp{ stroke:rgba(255,255,255,.16); stroke-width:.8; }
.alb-wheel-house-num{ font-family:var(--alb-mono); font-size:9px; fill:rgba(255,255,255,.38); }
.alb-wheel-axis-label{ font-family:var(--alb-mono); font-size:7.5px; letter-spacing:.14em; text-transform:uppercase; fill:rgba(201,178,122,.92); font-weight:600; }
.alb-wheel-deg-label{ font-family:var(--alb-mono); font-size:7px; opacity:.72; pointer-events:none; }
.alb-wheel-aspect{ stroke-dasharray:500; stroke-dashoffset:500; animation:alb-wheel-draw .9s var(--alb-ease) forwards; animation-delay:calc(2.1s + var(--alb-i,0)*35ms); }
.alb-wheel-planet{ opacity:0; transform-box:fill-box; transform-origin:center; animation:alb-planet-drop .55s var(--alb-ease) forwards; animation-delay:calc(1.7s + var(--alb-i,0)*85ms); cursor:pointer; }
.alb-wheel-planet:hover{ filter:brightness(1.18); }
.alb-wheel-legend{ display:flex; flex-wrap:wrap; gap:10px 20px; justify-content:center; margin:14px auto 0; max-width:560px; }
.alb-wheel-legend-item{ display:flex; align-items:center; gap:7px; font-family:var(--alb-mono); font-size:10px; color:rgba(255,255,255,.42); }
.alb-wl-line{ display:inline-block; width:22px; height:1.5px; border-radius:2px; flex-shrink:0; }

/* ── Core Pattern ────────────────────────────────────────────── */
.alb-pattern-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.alb-pattern-card{ padding:28px 26px; border-radius:18px; background:var(--report-card); border:1px solid var(--report-border); }
.alb-pattern-card h3{ margin:0 0 20px; font-family:var(--alb-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--report-text-3); }
.alb-pattern-note{ margin:14px 0 0; font-size:12px; color:var(--report-text-2); line-height:1.5; }
.alb-pattern-note strong{ font-weight:500; }
.alb-element-row{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.alb-element-row:last-of-type{ margin-bottom:0; }
.alb-element-name{ width:75px; font-family:var(--alb-mono); font-size:11px; }
.alb-element-track{ flex:1; height:6px; border-radius:999px; overflow:hidden; background:rgba(255,255,255,.04); }
.alb-element-fill{ display:block; height:100%; width:0; border-radius:999px; background:var(--bar-color); transition:width 1.25s cubic-bezier(.22,.61,.36,1); }
.alb-element-value{ width:36px; text-align:right; font-family:var(--alb-mono); font-size:11px; color:var(--report-text-3); }
.alb-signature-item{ display:flex; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.05); }
.alb-signature-item:last-child{ border-bottom:none; }
.alb-signature-item--full{ flex-direction:column; gap:4px; }
.alb-signature-item span{ color:var(--report-text-2); font-size:13px; }
.alb-signature-item strong{ color:var(--alb-report-accent); font-family:var(--alb-mono); font-size:12px; font-weight:500; }
.alb-pattern-card-signature h3{ margin: 0 0 18px;}
.alb-pattern-card-signature .alb-signature-item:first-of-type{ padding-top: 0;}

/* ── Key Aspects (synthesis) ─────────────────────────────────── */
.alb-synth-intro{ max-width:700px; margin:0 auto 28px; text-align:center; color:var(--report-text-2); font-size:15px; line-height:1.8; }
.alb-synth-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:16px; }
.alb-synth-card{ padding:22px 24px; border-radius:16px; background:var(--report-card); border:1px solid var(--report-border); transition:border-color .25s ease,background .25s ease; }
.alb-synth-card:hover{ background:var(--report-card-hover); border-color:var(--report-border-2); }
.alb-synth-header{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.alb-synth-nat-badge{ font-family:var(--alb-mono); font-size:9px; letter-spacing:.16em; text-transform:uppercase; padding:3px 9px; border-radius:999px; border:1px solid; background:transparent; }
.alb-synth-strength-badge{ font-family:var(--alb-mono); font-size:9px; letter-spacing:.10em; color:var(--report-text-3); }
.alb-synth-title{ margin:0 0 6px; font-size:16px; font-weight:400; line-height:1.3; display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; }
.alb-synth-asp-sep{ font-size:11px; opacity:.8; font-family:var(--alb-mono); letter-spacing:.04em; }
.alb-synth-sub{ margin:0 0 12px; font-family:var(--alb-mono); font-size:10px; color:var(--report-text-3); letter-spacing:.04em; }
.alb-synth-narr{ margin:0 0 8px; font-size:13px; line-height:1.7; color:var(--report-text-2); }
.alb-synth-effect{ margin:0; font-family:var(--alb-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; }

/* ── Explore layout ──────────────────────────────────────────── */
.alb-explore-layout{ display:grid; grid-template-columns:minmax(320px,450px) minmax(0,1fr); gap:26px; align-items:start; }
.alb-explore-list-wrap{ position:sticky; top:24px; align-self:start; }
.alb-explore-tabs{ position:sticky; top:24px; z-index:4; margin-bottom:16px; background:var(--report-card); border:1px solid var(--report-border); border-radius:12px; padding:4px; }
.alb-explore-tab{ flex:1; padding:10px 14px; border:none; border-radius:8px; cursor:pointer; background:transparent; color:var(--report-text-3); transition:all .28s var(--alb-ease); font-size:13px; }
.alb-explore-tab.is-active{ background:rgba(255,255,255,.04); color:var(--report-text); }
.alb-explore-tabs{ display:flex; gap:4px; }
.alb-explore-list{ display:none; flex-direction:column; gap:8px; max-height:116vh; overflow-y:auto; padding-right:2px; scrollbar-width:thin; scrollbar-color:var(--alb-scrollbar-color,rgba(255,255,255,.15)) transparent; }
.alb-explore-list.is-active{ display:flex; }
.alb-explore-group-label{ padding:10px 4px 6px; font-family:var(--alb-mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.36); border-bottom:1px solid rgba(255,255,255,.05); margin-bottom:4px; }
.alb-explore-group-label:first-child{ padding-top:2px; }

/* ── Capsule base ─────────────────────────────────────────────── */
.alb-capsule{ width:100%; display:flex; align-items:center; gap:12px; text-align:left; cursor:pointer; border:1px solid var(--report-border); color:inherit; position:relative; padding:13px 13px; border-radius:14px; background:var(--report-card); transition:border-color .22s ease,background .22s ease,transform .22s ease; box-shadow:none !important; }
.alb-capsule::before{ content:""; position:absolute; top:0; bottom:0; left:0; width:2px; border-radius:2px 0 0 2px; background:linear-gradient(180deg,transparent,var(--item-accent,var(--alb-report-accent)),transparent); opacity:0; transition:opacity .35s ease; }
.alb-capsule:hover,.alb-capsule.is-active{ background:var(--report-card-hover); border-color:var(--report-border-2); transform:translateY(-1px); }
.alb-capsule:hover::before,.alb-capsule.is-active::before{ opacity:1; }

/* Capsule icon */
.alb-capsule-icon{ width:36px; height:36px; border-radius:999px; display:grid; place-items:center; flex-shrink:0; border:1px solid var(--item-accent,rgba(255,255,255,.14)); }
.alb-capsule-icon .alb-psvg{ color:var(--item-accent); }

/* Capsule copy */
.alb-capsule-copy{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.alb-capsule-copy strong{ display:block; font-size:14px; font-weight:400; line-height:1.35; color:var(--report-text); }
.alb-capsule-copy em{ display:block; font-style:normal; font-size:11px; letter-spacing:.03em; color:rgba(255,255,255,.48); font-family:var(--alb-mono); }

/* Badges cluster */
.alb-capsule-badges{ display:flex; flex-direction:column; align-items:flex-end; gap:5px; flex-shrink:0; }

/* House capsule icon */
.alb-house-num-icon{ background:rgba(201,178,122,.08); border-color:rgba(201,178,122,.30) !important; color:#c9b27a; font-family:var(--alb-mono); font-size:11px; font-weight:600; letter-spacing:.04em; }
.alb-house-planet-dot{ margin-right:5px; font-size:12px; font-weight:400; }

/* Retro inline */
.alb-retro-inline{ font-style:normal; opacity:.7; font-size:11px; }

/* Aspect type label */
.alb-asp-type-label{ font-size:11px; opacity:.8; font-family:var(--alb-mono); }

/* ── Badge system ─────────────────────────────────────────────── */
.alb-badge{ font-family:var(--alb-mono); font-size:9px; letter-spacing:.12em; padding:3px 8px; border-radius:999px; text-transform:uppercase; border:1px solid; white-space:nowrap; line-height:1.4; }

/* Role badges — planets */
.alb-badge--luminary  { color:#ffd54f; border-color:rgba(255,213,79,.35);  background:rgba(255,213,79,.07);  }
.alb-badge--personal  { color:#f48fb1; border-color:rgba(244,143,177,.35); background:rgba(244,143,177,.07); }
.alb-badge--social    { color:#80deea; border-color:rgba(128,222,234,.35); background:rgba(128,222,234,.07); }
.alb-badge--outer     { color:#b39ddb; border-color:rgba(179,157,219,.35); background:rgba(179,157,219,.07); }
/* Role badges — points */
.alb-badge--angle     { color:#f4f1e8; border-color:rgba(244,241,232,.30); background:rgba(244,241,232,.05); }
.alb-badge--node      { color:#5ec4c4; border-color:rgba(94,196,196,.35);  background:rgba(94,196,196,.07);  }
.alb-badge--karmic    { color:#a57392; border-color:rgba(165,115,146,.35); background:rgba(107,61,95,.12);   }
.alb-badge--point     { color:#d7d2c7; border-color:rgba(215,210,199,.30); background:rgba(215,210,199,.06); }
/* House type badges */
.alb-badge--htype-angular   { color:#c9b27a; border-color:rgba(201,178,122,.40); background:rgba(201,178,122,.09); }
.alb-badge--htype-succedent { color:#8fa073; border-color:rgba(143,160,115,.35); background:rgba(143,160,115,.07); }
.alb-badge--htype-cadent    { color:#7da0b8; border-color:rgba(125,160,184,.35); background:rgba(125,160,184,.07); }
/* Aspect nature badges */
.alb-badge--nat-flowing     { color:#5fcf9a; border-color:rgba(95,207,154,.35);  background:rgba(95,207,154,.07);  }
.alb-badge--nat-challenging { color:#e36f63; border-color:rgba(227,111,99,.35);  background:rgba(227,111,99,.07);  }
.alb-badge--nat-adjusting   { color:#c58de8; border-color:rgba(197,141,232,.35); background:rgba(197,141,232,.07); }
/* Strength badge */
.alb-badge--strength{ color:var(--report-text-3); border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.03); }
/* Activity dots */
.alb-badge--act{ color:var(--alb-report-accent); border-color:transparent; background:transparent; font-size:8px; letter-spacing:1px; padding:0; }

/* ── Planet / Point / Aspect icon palettes ───────────────────── */
.alb-color-sun     { --item-accent:#ffd54f; background:rgba(255,213,79,.10);  border-color:rgba(255,213,79,.32);  color:#ffd54f; }
.alb-color-moon    { --item-accent:#b2ebf2; background:rgba(178,235,242,.10); border-color:rgba(178,235,242,.32); color:#b2ebf2; }
.alb-color-mercury { --item-accent:#ce93d8; background:rgba(206,147,216,.10); border-color:rgba(206,147,216,.32); color:#ce93d8; }
.alb-color-venus   { --item-accent:#f48fb1; background:rgba(244,143,177,.10); border-color:rgba(244,143,177,.32); color:#f48fb1; }
.alb-color-mars    { --item-accent:#ef9a9a; background:rgba(239,154,154,.10); border-color:rgba(239,154,154,.32); color:#ef9a9a; }
.alb-color-jupiter { --item-accent:#80deea; background:rgba(128,222,234,.10); border-color:rgba(128,222,234,.32); color:#80deea; }
.alb-color-saturn  { --item-accent:#c8a864; background:rgba(200,168,100,.10); border-color:rgba(200,168,100,.32); color:#c8a864; }
.alb-color-uranus  { --item-accent:#82b1ff; background:rgba(130,177,255,.10); border-color:rgba(130,177,255,.32); color:#82b1ff; }
.alb-color-neptune { --item-accent:#b39ddb; background:rgba(179,157,219,.10); border-color:rgba(179,157,219,.32); color:#b39ddb; }
.alb-color-pluto   { --item-accent:#ffab91; background:rgba(255,171,145,.10); border-color:rgba(255,171,145,.32); color:#ffab91; }
.alb-color-ascendant       { --item-accent:#f4f1e8; background:rgba(244,241,232,.08); border-color:rgba(244,241,232,.28); color:#f4f1e8; }
.alb-color-descendant      { --item-accent:#8fa0b4; background:rgba(143,160,180,.08); border-color:rgba(143,160,180,.28); color:#8fa0b4; }
.alb-color-midheaven       { --item-accent:#e8c979; background:rgba(232,201,121,.10); border-color:rgba(232,201,121,.30); color:#e8c979; }
.alb-color-imum_coeli      { --item-accent:#b87942; background:rgba(184,121,66,.10);  border-color:rgba(184,121,66,.30);  color:#b87942; }
.alb-color-north_node      { --item-accent:#5ec4c4; background:rgba(94,196,196,.10);  border-color:rgba(94,196,196,.30);  color:#5ec4c4; }
.alb-color-south_node      { --item-accent:#c46a4f; background:rgba(196,106,79,.10);  border-color:rgba(196,106,79,.30);  color:#c46a4f; }
.alb-color-chiron          { --item-accent:#8a9c5d; background:rgba(138,156,93,.10);  border-color:rgba(138,156,93,.30);  color:#8a9c5d; }
.alb-color-lilith          { --item-accent:#a57392; background:rgba(107,61,95,.14);   border-color:rgba(107,61,95,.38);   color:#a57392; }
.alb-color-part_of_fortune { --item-accent:#e8a78f; background:rgba(232,167,143,.10); border-color:rgba(232,167,143,.30); color:#e8a78f; }
.alb-color-vertex          { --item-accent:#8b7fc4; background:rgba(139,127,196,.10); border-color:rgba(139,127,196,.30); color:#8b7fc4; }
.alb-color-asp-conjunction { --item-accent:#c9b27a; background:rgba(201,178,122,.10); border-color:rgba(201,178,122,.32); color:#c9b27a; }
.alb-color-asp-sextile     { --item-accent:#5fcf9a; background:rgba(95,207,154,.10);  border-color:rgba(95,207,154,.32);  color:#5fcf9a; }
.alb-color-asp-square      { --item-accent:#e36f63; background:rgba(227,111,99,.10);  border-color:rgba(227,111,99,.32);  color:#e36f63; }
.alb-color-asp-trine       { --item-accent:#58c49e; background:rgba(88,196,158,.10);  border-color:rgba(88,196,158,.32);  color:#58c49e; }
.alb-color-asp-opposition  { --item-accent:#f0a24e; background:rgba(240,162,78,.10);  border-color:rgba(240,162,78,.32);  color:#f0a24e; }
.alb-color-asp-quincunx    { --item-accent:#c58de8; background:rgba(197,141,232,.10); border-color:rgba(197,141,232,.32); color:#c58de8; }

/* ── Focus Panel ─────────────────────────────────────────────── */
.alb-focus-panel{ --focus-accent:#c9b27a; --focus-accent-glow:rgba(201,178,122,.14); position:sticky; top:24px; border-radius:18px; overflow:hidden; background:var(--report-card); border:1px solid var(--report-border); transition:opacity .3s var(--alb-ease); }
.alb-focus-panel.is-swapping{ opacity:.92; }
.alb-focus-hero{ position:relative; padding:32px 28px 28px; overflow:hidden; }
.alb-focus-hero::before{ content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(135deg,var(--focus-accent-glow) 0%,transparent 62%); opacity:1; transition:opacity .4s var(--alb-ease); }
.alb-focus-hero > *{ position:relative; z-index:1; }
.alb-focus-kicker{ margin:0 0 8px; font-family:var(--alb-mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--report-text-3); }
.alb-focus-title{ margin:0 0 6px; font-family:"Cormorant Garamond",var(--alb-serif); font-size:36px; line-height:1.06; letter-spacing:-.02em; color:var(--report-text); font-weight:400; }
.alb-focus-title-sign{ color:var(--focus-accent); font-style:italic; transition:color .4s var(--alb-ease); }
.alb-focus-degree{ margin:0; font-family:var(--alb-mono); font-size:12px; letter-spacing:.04em; color:var(--report-text-3); }

/* Narrative block — always present */
.alb-focus-narrative{ padding:18px 28px; border-bottom:1px solid rgba(255,255,255,.05); }
.alb-focus-narrative-text{ margin:0 0 6px; font-size:13px; line-height:1.75; color:rgba(255,255,255,.75); }
.alb-focus-narrative-effect{ margin:0; font-family:var(--alb-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--focus-accent); }

/* Tags */
.alb-focus-tags{ display:flex; flex-wrap:wrap; gap:8px; padding:16px 28px; }
.alb-focus-tag{ padding:5px 12px; border-radius:999px; font-family:var(--alb-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.03); color:rgba(255,255,255,.72); }
.alb-focus-tag:first-child{ background:var(--focus-accent-glow) !important; border-color:var(--focus-accent) !important; color:var(--focus-accent) !important; }

/* Focus grid (core/mode/strength/challenge) */
.alb-focus-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 28px 24px; }
.alb-focus-cell{ padding:16px 18px; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:var(--report-bg-2); }
.alb-focus-cell span{ display:block; margin-bottom:7px; font-family:var(--alb-mono); font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.44); }
.alb-focus-cell strong{ font-family:"Cormorant Garamond",var(--alb-serif); font-size:20px; font-weight:400; line-height:1.1; color:var(--report-text); }

/* Focus sections */
.alb-focus-section,.alb-focus-lists,.alb-focus-counsel,.alb-focus-deep,.alb-focus-explore{ margin-left:28px; margin-right:28px; }
.alb-focus-section{ margin-bottom:24px; }
.alb-focus-cap{ margin:0 0 10px; font-family:var(--alb-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.42); }
.alb-focus-body,.alb-focus-body p{ font-size:14px; line-height:1.82; color:rgba(255,255,255,.78); }
.alb-focus-body p{ margin:0 0 10px; }

/* Quote */
.alb-focus-quote{ margin:0 28px 24px; padding:14px 18px; border-left:2px solid var(--focus-accent); border-radius:0 12px 12px 0; background:linear-gradient(90deg,var(--focus-accent-glow),transparent 86%); font-family:"Cormorant Garamond",var(--alb-serif); font-style:italic; font-size:19px; line-height:1.45; color:rgba(255,255,255,.9); }
.alb-focus-quote:empty{ display:none; }

/* Strengths/Challenges */
.alb-focus-lists{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:24px; }
.alb-focus-list ul{ list-style:none; padding:0; margin:0; }
.alb-focus-list li{ position:relative; padding:0 0 10px 16px; font-size:13px; line-height:1.55; color:rgba(255,255,255,.78); }
.alb-focus-list--up .alb-focus-cap{ color:#5fcf9a; }
.alb-focus-list--up li::before{ content:"●"; position:absolute; left:0; top:3px; font-size:10px; color:#5fcf9a; }
.alb-focus-list--down .alb-focus-cap{ color:#e36f63; }
.alb-focus-list--down li::before{ content:"●"; position:absolute; left:0; top:3px; font-size:10px; color:#e36f63; }

/* Counsel */
.alb-focus-counsel{ margin-bottom:24px; padding:16px 18px; border-left:2px solid var(--focus-accent); border-radius:0 12px 12px 0; background:linear-gradient(90deg,var(--focus-accent-glow),transparent 88%); }
.alb-focus-counsel-text{ margin:0; font-family:"Cormorant Garamond",var(--alb-serif); font-style:italic; font-size:20px; line-height:1.46; color:var(--report-text); }

/* Deep dive */
.alb-focus-deep{ margin-bottom:24px; border:1px solid rgba(255,255,255,.07); border-radius:12px; background:rgba(255,255,255,.02); overflow:hidden; }
.alb-focus-deep summary,.alb-focus-deep-trigger{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; width:100%; min-height:48px; padding:0 44px 0 18px; position:relative; background:rgba(255,255,255,.025); border:0; font-size:14px; font-weight:300; color:var(--report-text); transition:background .25s ease; }
.alb-focus-deep summary::-webkit-details-marker{ display:none; }
.alb-focus-deep summary:hover,.alb-focus-deep-trigger:hover{ background:rgba(255,255,255,.04); }
.alb-focus-deep-arrow{ position:absolute; top:50%; right:14px; width:16px; height:16px; display:inline-flex; align-items:center; justify-content:center; color:#fff; transform:translateY(-50%); transition:transform .25s ease; pointer-events:none; }
.alb-focus-deep-arrow svg{ width:16px; height:16px; display:block; }
.alb-focus-deep[open] .alb-focus-deep-arrow{ transform:translateY(-50%) rotate(180deg); }
.alb-focus-deep-body{ padding:18px; font-size:14px; line-height:1.82; color:rgba(255,255,255,.74); }

/* Explore more chips */
.alb-focus-explore{ padding:18px 0 28px; border-top:1px solid rgba(255,255,255,.06); }
.alb-focus-chips{ display:flex; flex-wrap:wrap; gap:8px; padding:8px 0 0; }
.alb-focus-chip{ padding:7px 14px; border-radius:999px; font-family:var(--alb-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; border:1px solid rgba(255,255,255,.12); background:transparent; color:rgba(255,255,255,.78); cursor:pointer; transition:border-color .2s ease,color .2s ease,background .2s ease; }
.alb-focus-chip.is-accent{ background:var(--focus-accent-glow); border-color:var(--focus-accent); color:var(--focus-accent); }
.alb-focus-chip:hover{ background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.22); color:rgba(255,255,255,.92); }

/* ── Keyframes ───────────────────────────────────────────────── */
@keyframes alb-wheel-draw{ to{ stroke-dashoffset:0; } }
@keyframes alb-planet-drop{ 0%{ opacity:0; transform:translateY(18px) scale(.88); } 60%{ opacity:1; transform:translateY(2px) scale(1.08); } 100%{ opacity:1; transform:translateY(0) scale(1); } }
@keyframes alb-fade-in{ to{ opacity:1; } }
@keyframes alb-report-float{ 0%,100%{ transform:translate(0,0) scale(1); } 33%{ transform:translate(28px,-24px) scale(1.05); } 66%{ transform:translate(-18px,18px) scale(.96); } }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width:1100px){ .alb-synth-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:980px){
  .alb-explore-layout{ grid-template-columns:1fr; gap:24px; }
  .alb-explore-list-wrap,.alb-focus-panel{ position:relative; top:auto; }
  .alb-explore-list{ max-height:none; }
}
@media (max-width:960px){
  .alb-report-page{ width:min(100%,calc(100% - 32px)); }
  .alb-big-grid,.alb-pattern-grid{ grid-template-columns:1fr; }
  .alb-synth-grid{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .alb-report-section{ padding-top:52px; }
  .alb-report-hero{ padding-top:52px; }
  .alb-report-meta{ display:flex; border-radius:18px; }
  .alb-big-card h3{ font-size:28px; }
  .alb-focus-title{ font-size:30px; }
  .alb-focus-grid,.alb-focus-lists{ grid-template-columns:1fr; }
  .alb-focus-section,.alb-focus-lists,.alb-focus-counsel,.alb-focus-deep,.alb-focus-explore,.alb-focus-tags{ margin-left:22px; margin-right:22px; }
  .alb-focus-hero{ padding:22px 22px 16px; }
  .alb-focus-narrative{ padding:14px 22px; }
  .alb-focus-grid{ margin:0 22px 20px; }
  .alb-focus-quote{ margin-left:22px; margin-right:22px; }
}
@media (prefers-reduced-motion:reduce){
  .alb-report-section{ opacity:1; transform:none; transition:none; }
  .alb-wheel-ring,.alb-wheel-sep,.alb-wheel-sign-name,.alb-wheel-aspect,.alb-wheel-planet,.alb-report-ambient span{ animation:none !important; opacity:1 !important; stroke-dashoffset:0 !important; }
}
