/* ═══════════════════════════════════════════════════════════════
   HK IPO — Analysis + Stock Info + Prospectus Page Styles
   Shared styles are in base.css (loaded first).
   ═══════════════════════════════════════════════════════════════ */
body{color:#9489ca;font-family:var(--font-cn);overflow-x:hidden;transition:color .3s;background:transparent;min-height:100vh}
body.light{color:#111110}
body::before{background-color:#0F0F0E;background-image:radial-gradient(rgba(148,137,202,0.06) 1px,transparent 1px);background-size:28px 28px}
body.light::before{background-color:#f5f7fa}
.hdr{padding:0 0 16px;z-index:1;transition:background-color .3s}
.hdr h1{font-size:26px;font-weight:700;padding:8px 0;color:#9489ca;display:flex;align-items:center;flex-wrap:nowrap;max-width:1200px}
body.light .hdr h1{color:#111110}
.hdr h1 .cn{letter-spacing:3px;margin-right:8px}
.hdr h1 .ipo{color:#9489ca;font-weight:700;margin-right:8px}
body.light .hdr h1 .ipo{color:#111110}
.hdr h1 .desc{color:#9489ca;font-weight:400}
body.light .hdr h1 .desc{color:#111110}
.hdr .sub{font-size:11px;color:#9489ca;letter-spacing:1px;padding-bottom:0;max-width:1200px;margin:4px 0 0}
body.light .hdr .sub{color:rgba(17,17,16,0.55)}
.hdr .sub::before{content:'>> ';color:#9489ca;font-family:var(--font-mono)}body.light .hdr .sub::before{color:rgba(17,17,16,0.45)}
.sb{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0;padding:16px 40px;background:rgba(15,15,14,0.6);max-width:1400px;margin-left:auto;margin-right:auto}
body.light .sb{background:rgba(245,247,250,0.6)}
.sc{background:transparent;border:1px solid #9489ca;margin:-1px;padding:12px 16px;text-align:center;position:relative}
body.light .sc{border-color:#534A80}
.sc::before{content:'+';position:absolute;top:4px;left:5px;color:rgba(148,137,202,0.4);font-size:9px;font-family:var(--font-mono)}body.light .sc::before{color:rgba(83,74,128,0.3)}
.sc .n{font-size:22px;font-weight:700;color:#9489ca;text-shadow:0 0 12px rgba(148,137,202,0.2)}
body.light .sc .n{color:#111110;text-shadow:none}
.sc .l{font-size:10px;color:#9489ca;letter-spacing:2px;text-transform:uppercase;margin-top:4px}
.sc .l::before{content:'>> ';color:#9489ca;font-family:var(--font-mono);font-size:9px}body.light .sc .l::before{color:rgba(83,74,128,0.5)}
body.light .sc .l{color:rgba(17,17,16,0.5)}
.g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0 40px;background:rgba(15,15,14,0.6);max-width:1400px;margin-left:auto;margin-right:auto}
body.light .g{background:rgba(245,247,250,0.6)}
.cc{background:transparent;border-right:1px solid rgba(148,137,202,0.12);border-bottom:1px solid #9489ca;padding:16px;position:relative}
body.light .cc{border-right-color:rgba(83,74,128,0.15)}
.cc::before{content:'+';position:absolute;top:5px;left:5px;color:rgba(148,137,202,0.2);font-size:9px;font-family:var(--font-mono)}
.cc::after{content:'+';position:absolute;bottom:5px;right:5px;color:rgba(148,137,202,0.2);font-size:9px;font-family:var(--font-mono)}
.cc h3{font-size:13px;color:#9489ca;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;padding-bottom:8px;font-weight:600}
.cc h3::before{content:'=[ ';color:#9489ca;font-size:10px}
.cc h3::after{content:' ]=';color:#9489ca;font-size:10px}
body.light .cc h3{color:#111110}body.light .cc h3::before,body.light .cc h3::after{color:rgba(83,74,128,0.6)}
.note{font-size:11px;color:#9489ca;line-height:1.7;padding:8px 12px;background:transparent;border-top:1px dashed rgba(148,137,202,0.15);margin-top:8px}
body.light .note{color:rgba(17,17,16,0.55);border-color:rgba(83,74,128,0.12)}
.fw{grid-column:1/-1}
/* analysis-specific disclaimer (with title bar) */
.dc{background:transparent;border:1px dashed rgba(148,137,202,0.2);padding:16px;position:relative;margin:0 auto 20px;max-width:1400px}
.dc::before{content:'=== DISCLAIMER ===';position:absolute;top:-8px;left:16px;font-size:9px;color:rgba(148,137,202,0.5);letter-spacing:2px;background:#0F0F0E;padding:0 8px}
body.light .dc{background:#F5F2F7}
body.light .dc::before{background:#F5F2F7;color:rgba(83,74,128,0.5)}
.dc h3{font-size:13px;color:#9489ca;margin-bottom:8px;letter-spacing:2px;font-weight:600}
.dc h3::before{content:'==[! ';font-size:14px;color:#9489ca}
.dc h3::after{content:' ]==';font-size:14px;color:#9489ca}
body.light .dc h3{color:#111110}body.light .dc h3::before,body.light .dc h3::after{color:rgba(83,74,128,0.6)}
.dc p{font-size:12px;color:#9489ca;line-height:1.7;margin-bottom:8px}
body.light .dc p{color:rgba(17,17,16,0.55)}

/* ── Subscription Tiers ── */
.tiers-toggle { display:inline-flex; align-items:center; height:32px; padding:4px 16px; margin:16px 40px;
    font-size:14px; font-weight:500; font-family:var(--font-cn); color:#9489ca; background:transparent;
    border:1px solid #9489ca; cursor:pointer; transition:all .2s; }
.tiers-toggle:hover { background:rgba(148,137,202,0.1); }
body.light .tiers-toggle { color:#534A80; border-color:#534A80; }
body.light .tiers-toggle:hover { background:rgba(83,74,128,0.1); }
.tier-toggle-arrow { font-size:10px; margin-left:4px; }
.loading-indicator { text-align:center; padding:24px; color:#9489ca; }
body.light .loading-indicator { color:#111110; }
.fee-badge { color:#dc4172; font-size:12px; font-weight:400; background:rgba(220,65,114,0.08); padding:4px 8px; border-radius:3px; margin-inline-start:4px; }
#fee-val { font-size:32px; font-weight:700; color:#9489ca; }
body.light #fee-val { color:#534A80; }
.fee-ratio-center { padding:8px 0; text-align:center; }
.fee-ratio-note { font-size:12px; color:#9489ca; margin-top:8px; line-height:1.7; }
body.light .fee-ratio-note { color:rgba(17,17,16,0.55); }
.tier-msg { color:#9489ca; }
body.light .tier-msg { color:#111110; }
.tier-msg.tier-msg-error { color:#dc4172; }
.tiers-wrap { display:none; }
.tiers-wrap.open { display:block; padding: 0 40px; }
.tier-group { margin:20px 0; }
.tier-group-label { display:inline-block; height:24px; line-height:24px; padding:0 8px; font-size:14px; font-weight:500; color:#9489ca; background:rgba(148,137,202,0.1); margin-bottom:8px; }
body.light .tier-group-label { color:#534A80; background:rgba(83,74,128,0.08); }
.tier-table { width:100%; border-collapse:collapse; font-size:14px; }
.tier-table thead th { text-align:left; padding:8px 12px; font-size:12px; font-weight:600; color:#7a71a5; border-bottom:1px solid rgba(148,137,202,0.15); }
body.light .tier-table thead th { color:rgba(83,74,128,0.6); border-bottom-color:rgba(83,74,128,0.15); }
.tier-table thead th.num { text-align:right; }
.tier-table td { padding:8px 12px; color:#9489ca; }
body.light .tier-table td { color:#111110; }
.tier-table tbody tr { border-bottom:1px solid rgba(148,137,202,0.04); }
.tier-table tbody tr:nth-child(even) { background:rgba(246,246,246,0.05); }
body.light .tier-table tbody tr:nth-child(even) { background:rgba(0,0,0,0.02); }
.tier-table .num { text-align:right; font-variant-numeric:tabular-nums; }
.tier-table .lot-count { font-weight:600; }
.tier-table tbody tr.tier-low { background:rgba(178,232,255,0.08); }
.tier-table tbody tr.tier-low:nth-child(even) { background:rgba(178,232,255,0.12); }
.tier-table tbody tr.tier-high { background:rgba(220,65,114,0.08); }
.tier-table tbody tr.tier-high:nth-child(even) { background:rgba(220,65,114,0.12); }
body.light .tier-table tbody tr.tier-low { background:rgba(178,232,255,0.15); }
body.light .tier-table tbody tr.tier-low:nth-child(even) { background:rgba(178,232,255,0.22); }
body.light .tier-table tbody tr.tier-high { background:rgba(220,65,114,0.08); }
body.light .tier-table tbody tr.tier-high:nth-child(even) { background:rgba(220,65,114,0.14); }

/* ── Reallocation callout ── */
.realloc-callout { margin:16px 40px; padding:16px 20px; background:rgba(220,65,114,0.08); border:1px solid rgba(220,65,114,0.3); border-radius:8px; text-align:center; }
.realloc-desc { color:#dc4172; font-size:16px; font-weight:700; }
body.light .realloc-callout { background:rgba(220,65,114,0.04); }
@media(max-width:768px) { .realloc-callout { margin:16px 16px; } }

/* ── No-tier note ── */
.no-tier-note { padding:16px 40px; background:rgba(220,65,114,0.05); border-inline-start:3px solid rgba(220,65,114,0.3); }
@media(max-width:768px) { .no-tier-note { padding:16px 16px; } }

/* ── Anomaly note (A-tail vs B-head) ── */
.anomaly-note { margin-top:8px; padding:8px 12px; background:rgba(55,160,255,0.04); border-inline-start:3px solid rgba(55,160,255,0.2); font-size:11px; color:#9489ca; line-height:1.7; }
body.light .anomaly-note { color:#111110; }

/* ── AI Narrative ──────────────────────────────────────────── */
.ai-narrative{max-width:1400px;margin:32px auto 0;padding:0 40px}
.ai-narrative-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.ai-narrative-label{display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:4px;background:linear-gradient(135deg,#9489ca,#534A80);
  color:#fff;font-size:11px;font-weight:700;letter-spacing:1px}
.ai-narrative-title{font-size:15px;color:#9489ca;font-weight:600}
body.light .ai-narrative-title{color:#111110}
.ai-narrative-body{display:flex;flex-direction:column;gap:0}
.ai-narrative-section{border-inline-start:2px solid rgba(148,137,202,0.15);
  padding:12px 16px;margin-bottom:4px;background:rgba(148,137,202,0.02);
  border-radius:0 4px 4px 0}
body.light .ai-narrative-section{background:rgba(83,74,128,0.015);border-inline-start-color:rgba(83,74,128,0.12)}
.ai-narrative-section h4{font-size:12px;color:rgba(148,137,202,0.55);margin-bottom:6px;
  font-weight:500;letter-spacing:.5px;text-transform:uppercase}
body.light .ai-narrative-section h4{color:rgba(17,17,16,0.45)}
.ai-narrative-section p{font-size:13px;color:#9489ca;line-height:1.8;margin:0}
body.light .ai-narrative-section p{color:#111110}
.ai-narrative-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;
  margin-bottom:16px;background:rgba(220,65,114,0.06);border:1px solid rgba(220,65,114,0.2);
  border-radius:6px}
body.light .ai-narrative-banner{background:rgba(220,65,114,0.03);border-color:rgba(220,65,114,0.15)}
.ai-narrative-banner-icon{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;
  justify-content:center;background:rgba(220,65,114,0.15);color:#dc4172;font-size:13px;
  font-weight:700;border-radius:50%}
.ai-narrative-banner-text{font-size:11px;color:rgba(220,65,114,0.85);line-height:1.7;
  font-family:var(--font-cn)}
body.light .ai-narrative-banner-text{color:rgba(200,50,90,0.8)}
.ai-narrative-footer{margin-top:8px;text-align:right}
.ai-narrative-disclaimer{font-size:11px;color:rgba(148,137,202,0.4);font-style:italic;
  font-family:var(--font-cn)}
body.light .ai-narrative-disclaimer{color:rgba(17,17,16,0.3)}

/* ── Mobile Responsive ─────────────────────────────────────── */
@media(max-width:768px){
.hdr h1{font-size:18px;padding:8px 0}.hdr .sub{font-size:9px}
.sep{padding:0 16px;font-size:8px}.sb{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 16px}
.sc{padding:8px 8px}.sc .n{font-size:18px}.g{grid-template-columns:1fr;padding:12px 16px}
.cc{padding:12px}.cb{height:300px}.tiers-toggle{margin:16px 16px}.tiers-wrap.open{padding:0 16px}
.dc h3{font-size:12px}
.ai-narrative{padding:0 16px}
.ai-narrative-banner{flex-direction:column;gap:8px;padding:10px 12px}
}
