/* Apartment Signal Light — Signal Design System v1.0 */
:root {
  --sds-primary: #09152f;
  --sds-accent: #22dfe1;
  --sds-accent-strong: #11bfc5;
  --sds-accent-soft: #e7fbfc;
  --sds-success: #24c16c;
  --sds-warning: #ffb800;
  --sds-danger: #f04452;
  --sds-background: #f7f9fc;
  --sds-card: #ffffff;
  --sds-border: #e8ecf2;
  --sds-text: #101a2f;
  --sds-muted: #69758b;
  --sds-radius-sm: 8px;
  --sds-radius-md: 12px;
  --sds-radius-lg: 20px;
  --sds-radius-xl: 24px;
  --sds-shadow-sm: 0 4px 16px rgba(20, 33, 61, 0.04);
  --sds-shadow-md: 0 16px 44px rgba(20, 33, 61, 0.08);
  --sds-motion: 250ms cubic-bezier(.2,.8,.2,1);
  --sds-page-max: 1380px;
  --background: var(--sds-background);
  --surface: var(--sds-card);
  --line: var(--sds-border);
  --navy: var(--sds-primary);
  --blue: var(--sds-accent-strong);
  --green: #15985a;
  --red: #d93444;
}

/* Character-face brand palette: navy face + cyan expression.
   Signal red/yellow/green stays reserved for judgement states. */
.search-form button,
.primary-button,
.listing-form-actions .primary-button {
  background:linear-gradient(135deg,var(--sds-accent),var(--sds-accent-strong));
  color:var(--sds-primary);
  box-shadow:0 8px 20px rgba(17,191,197,.22);
}
.search-form button:hover,
.primary-button:hover,
.listing-form-actions .primary-button:hover {
  background:linear-gradient(135deg,#54eef0,var(--sds-accent));
  color:var(--sds-primary);
  box-shadow:0 10px 24px rgba(17,191,197,.3);
}
.search-form button:focus-visible,
.primary-button:focus-visible,
.secondary-button:focus-visible,
button:focus-visible {
  outline:3px solid rgba(34,223,225,.3);
  outline-offset:2px;
}
.secondary-button {
  border-color:#b8e9eb;
  background:#fff;
  color:var(--sds-primary);
}
.secondary-button:hover { border-color:var(--sds-accent-strong); background:var(--sds-accent-soft); }
.nav-item.active {
  background:linear-gradient(90deg,rgba(34,223,225,.2),rgba(34,223,225,.06));
  box-shadow:inset 3px 0 0 var(--sds-accent);
}
.result-quick-nav button.is-active { background:var(--sds-primary); color:var(--sds-accent); }
.result-quick-nav button:hover { background:var(--sds-accent-soft); color:#087e84; }
.result-quick-nav button.is-active:hover { background:#102348; color:#66f1f2; }
.recommend-answer-bubble { border-color:#bfecef; background:#f0fcfc; }
.recommend-answer-label,
.evidence-level-label strong,
.subscription-notice-summary summary,
.subscription-card-actions a { color:#087e84!important; }
.recommend-progress-track i,
.confidence-track i { background:linear-gradient(90deg,var(--sds-accent),var(--sds-accent-strong)); }
.ai-next-action { background:var(--sds-accent-soft); }
.ai-next-action span { background:#c9f4f5; color:#087e84; }

/* Signal Design System v1.0 — AI analyst character */
.signal-character { display:block; flex:0 0 auto; object-fit:contain; object-position:center; }
.signal-character-s { width:32px; height:32px; }
.signal-character-l { width:64px; height:64px; }
.signal-character-xl { width:140px; height:140px; margin-inline:auto; }
.character-guide-row { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.character-guide-bubble { position:relative; min-width:0; border:1px solid #dfe6ef; border-radius:5px 20px 20px 20px; background:#fff; padding:16px 18px; box-shadow:0 10px 30px rgba(20,33,61,.055); text-align:left; }
.character-guide-bubble::before { position:absolute; top:17px; left:-7px; width:12px; height:12px; border-left:1px solid #dfe6ef; border-bottom:1px solid #dfe6ef; background:inherit; content:""; transform:rotate(45deg); }
.character-guide-bubble-dark { border-color:rgba(255,255,255,.18); background:rgba(9,20,43,.92); }
.character-guide-bubble-dark::before { top:-7px; left:calc(50% - 6px); border-color:rgba(255,255,255,.18); transform:rotate(135deg); }
.signal-character-hero { --hero-character-size:230px; position:relative; grid-column:2; grid-row:1 / span 3; align-self:center; justify-self:center; z-index:2; width:250px; margin:0; }
.signal-character-hero img { display:block; width:var(--hero-character-size); height:var(--hero-character-size); margin-inline:auto; object-fit:contain; }
.signal-character-hero .signal-face-lights { position:absolute; top:0; left:50%; width:var(--hero-character-size); height:var(--hero-character-size); transform:translateX(-50%); pointer-events:none; overflow:visible; }
.signal-face-light { fill:#22dfe1; stroke:#22dfe1; color:#22dfe1; filter:drop-shadow(0 0 12px rgba(34,223,225,.72)); }
.signal-face-mouth { fill:none; stroke-width:26; stroke-linecap:round; }
.signal-antenna-light { fill:#22dfe1; stroke:#22dfe1; color:#22dfe1; transform-box:fill-box; transform-origin:center; animation:hero-antenna-pulse 1.8s ease-in-out infinite; }
.hero-traffic-light { opacity:0; stroke-width:4; transform-box:fill-box; transform-origin:center; animation:hero-traffic-sequence 3.6s ease-in-out infinite; }
.hero-traffic-red { fill:#f12939; stroke:#f12939; color:#f12939; }
.hero-traffic-yellow { fill:#fdb605; stroke:#fdb605; color:#fdb605; animation-delay:1.2s; }
.hero-traffic-green { fill:#1eb36e; stroke:#1eb36e; color:#1eb36e; animation-delay:2.4s; }
@keyframes hero-antenna-pulse { 0%,100% { opacity:.55; transform:scale(.82); } 50% { opacity:1; transform:scale(1.12); filter:drop-shadow(0 0 16px #22dfe1); } }
@keyframes hero-traffic-sequence { 0%,28% { opacity:1; filter:drop-shadow(0 0 16px currentColor); transform:scale(1); } 34%,100% { opacity:0; filter:none; transform:scale(.88); } }
.topbar h1 .hero-signal-question { color:var(--sds-accent); }
.signal-character-hero figcaption { width:210px; margin:10px auto 0; border-radius:16px; padding:11px 13px; box-shadow:0 12px 30px rgba(0,0,0,.18); text-align:center; }
.signal-character-hero figcaption strong,.signal-character-hero figcaption span { display:block; }
.signal-character-hero figcaption strong { color:#fff; font-size:12px; }
.signal-character-hero figcaption span { margin-top:3px; color:#c8d2e8; font-size:10px; line-height:1.45; }
.topbar > div:first-of-type { grid-column:1; grid-row:1; width:100%; padding-right:0; }
.subscription-intro > .signal-character { order:-1; width:112px; height:112px; border-radius:22px; background:rgba(255,255,255,.07); padding:7px; }
.empty-state-guide { width:min(620px,100%); margin:0 auto 16px; align-items:center; justify-content:center; }
.empty-state-guide .signal-character { width:112px; height:112px; margin:0; }
.empty-state-guide .character-guide-bubble { max-width:430px; }
.empty-state-guide h2 { margin:5px 0 0; }
.empty-state-guide #empty-description { margin-bottom:0; }

body {
  background:
    radial-gradient(circle at 74% -10%, rgba(79,123,255,.09), transparent 34%),
    var(--sds-background);
  color: var(--sds-text);
}

.sidebar {
  width: 220px;
  padding: 24px 18px;
  background:
    radial-gradient(circle at 20% 12%, rgba(79,123,255,.18), transparent 30%),
    #0e1930;
  box-shadow: 8px 0 32px rgba(14,25,48,.08);
}

.brand { padding: 0 5px 22px; }
.brand-name { font-size: 16px; letter-spacing: -.035em; }
.brand-version { color: #7f91b2; font-size: 10px; letter-spacing: .03em; }
.main-content { margin-left: 220px; padding-top: 24px; }
.main-nav { gap: 8px; }
.nav-item { min-height: 46px; border-radius: 13px; transition: background var(--sds-motion), transform var(--sds-motion); }
.nav-item:hover { transform: translateX(2px); color: #fff; }
.nav-item.active { background: linear-gradient(90deg, rgba(79,123,255,.22), rgba(79,123,255,.09)); }

.topbar {
  position: relative;
  grid-template-columns:minmax(0,1fr) 280px;
  grid-template-rows:auto auto auto;
  justify-items:stretch;
  align-items:center;
  gap: 22px;
  width:100%;
  max-width:var(--sds-page-max);
  min-height: 430px;
  overflow: hidden;
  margin-bottom: 30px;
  border-radius: var(--sds-radius-xl);
  padding: 46px clamp(30px,5vw,72px) 40px;
  background:
    radial-gradient(circle at 82% 25%, rgba(79,123,255,.42), transparent 27%),
    radial-gradient(circle at 15% 85%, rgba(36,193,108,.12), transparent 25%),
    linear-gradient(135deg, #09142b 0%, #14213d 58%, #1a2b59 100%);
  box-shadow: var(--sds-shadow-md);
  color: #fff;
  text-align:left;
}

.topbar::before,
.topbar::after {
  position: absolute;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.topbar::before { width: 330px; height: 330px; right: -120px; top: -170px; }
.topbar::after { width: 210px; height: 210px; left: -90px; bottom: -145px; }
.topbar > * { position: relative; z-index: 1; }
.topbar .eyebrow { color: #93aeff; }
.topbar #page-eyebrow { font-weight:500; }
.topbar h1 { margin-top:10px; font-size:clamp(38px,3.7vw,53px); line-height:1.08; letter-spacing:-.06em; }
.topbar h1 > span { display:block; }
.topbar h1 > span + span { margin-top:4px; }
.topbar h1 em { color: #59dc9c; font-style: normal; }
.hero-description { margin: 15px 0 0; color: #c8d2e8; font-size: 16px; line-height: 1.6; }
.search-area { position:relative; z-index:30; grid-column:1; grid-row:2; width:100%; }
.topbar.search-open { overflow:visible; }
.topbar.search-open .search-results {
  z-index:50;
  max-height:min(360px,calc(100vh - 190px));
  border-color:#d9e2f1;
  box-shadow:0 22px 52px rgba(4,12,32,.28);
}
.search-form { min-height: 66px; border: 1px solid rgba(255,255,255,.48); border-radius: 20px; box-shadow: 0 18px 55px rgba(1,8,24,.28); }
.search-form button { position:relative; display:grid; min-height:50px; min-width:92px; place-items:center; border-radius:15px; background:var(--sds-accent); white-space:nowrap; transition:transform var(--sds-motion),box-shadow var(--sds-motion); }
.search-form button:hover { transform: scale(1.03); box-shadow: 0 8px 22px rgba(79,123,255,.35); }
.hero-promises { grid-column:1; grid-row:3; display:flex; flex-wrap:wrap; justify-content:flex-start; gap:10px; }
.hero-promises span { display: flex; align-items: center; gap: 8px; min-height: 36px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 0 14px; background: rgba(255,255,255,.07); color: #dbe3f3; font-size: 11px; }
.hero-promises b { color: #8da8ff; }

.dashboard-area { gap:24px; border-color:var(--sds-border); border-radius:var(--sds-radius-xl); background:rgba(255,255,255,.82); box-shadow:var(--sds-shadow-sm); }
.dashboard-area-heading { border-bottom:1px solid #e9edf5; padding-bottom:20px; }
.dashboard-area-heading > span { background: var(--sds-primary); box-shadow: 0 8px 20px rgba(20,33,61,.16); }
.dashboard-area-heading h2 { letter-spacing: -.04em; }

.decision-card {
  min-height: 270px;
  grid-template-columns: minmax(320px,.82fr) minmax(0,1.45fr);
  border: 1px solid rgba(79,123,255,.13);
  border-radius: var(--sds-radius-xl);
  box-shadow: var(--sds-shadow-md);
  transition: transform var(--sds-motion), box-shadow var(--sds-motion);
}
.decision-card:hover { transform: translateY(-3px); box-shadow: 0 22px 54px rgba(20,33,61,.11); }
.decision-card::before { width: 0; }
.coverage-panel { grid-column:1; grid-row:1; gap:26px; justify-content:space-between; border:0; background:linear-gradient(145deg,#111e39,#182a50); color:#fff; padding:34px; }
.coverage-panel > div:last-child { min-width:0; flex:1 1 auto; max-width:220px; }
.decision-main { grid-column: 2; grid-row: 1; padding: 34px 38px; }
.buying-signal { width:94px; gap:8px; border:0; outline:0; border-radius:28px; padding:15px 20px; background:#0a1428; box-shadow:0 18px 35px rgba(0,0,0,.25); }
.buying-signal i { width: 52px; height: 52px; }
.coverage-title { color: #b7c4dc; }
.signal-label { margin-top: 8px; color: #ffcf57; font-size: 17px; }
.decision-card[data-signal="red"] .signal-label { color: #ff7a84; }
.decision-card[data-signal="green"] .signal-label { color: #62dc9c; }
.signal-score { margin-top: 12px; }
.signal-score strong { color: #fff; font-size: 52px; line-height: 1; }
.signal-score span,.coverage-description { color: #9cabc5; }
.confidence-component { width: min(220px,100%); margin-top: 18px; }
.confidence-component > div:first-child { display:flex; justify-content:space-between; gap:12px; color:#aebbd2; font-size:10px; }
.confidence-component strong { color:#fff; font-size:10px; }
.confidence-track { height:5px; margin-top:8px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.12); }
.confidence-track i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#4f7bff,#65e0aa); transition:width .28s ease-out; }

.status-row { margin-bottom: 16px; }
.status-badge,.sample-badge,.favorite-toggle { min-height: 30px; }
.favorite-toggle { transition: transform var(--sds-motion), border-color var(--sds-motion); }
.favorite-toggle:hover { transform: translateY(-2px); border-color: #9ab0ff; }
.apartment-location { margin-top: 12px; }
.decision-main h2 { font-size: clamp(27px,3vw,38px); }
.decision-ai-summary { position:relative; max-width:none; min-height:170px; margin-top:20px; border:1px solid #e9edf6; border-radius:20px; background:#fff; padding:22px 22px 22px 132px; box-shadow:0 8px 28px rgba(20,33,61,.045); animation:sds-fade-in .2s ease-out both; }
.ai-summary-heading { display:flex; align-items:center; gap:12px; }
.ai-summary-heading .signal-character { position:absolute; top:24px; left:22px; width:88px; height:88px; border-radius:22px; padding:6px; background:linear-gradient(145deg,#eaf0ff,#eefbf5); }
.decision-card[data-signal="red"] .decision-ai-summary { border-color:#f5dfe3; background:linear-gradient(135deg,#fff8f9,#fff); }
.decision-card[data-signal="green"] .decision-ai-summary { border-color:#d9eee4; background:linear-gradient(135deg,#f7fdf9,#fff); }
.decision-card[data-signal="yellow"] .decision-ai-summary { border-color:#f2e7c9; background:linear-gradient(135deg,#fffcf5,#fff); }
.ai-avatar { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; background:linear-gradient(145deg,#eaf0ff,#eefbf5); color:#365bda; font-size:10px; font-weight:900; }
.decision-ai-summary h3 { margin-top:12px; font-size:21px; letter-spacing:-.035em; }
.ai-conversation-label { margin:14px 0 0; color:#647188; font-size:9px; font-weight:900; letter-spacing:.08em; }
.ai-conversation-label + h3,.ai-conversation-label + #market-summary { margin-top:5px; }
#market-summary { color:#4f5c72; font-size:12px; line-height:1.65; }
.evidence-level-label { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; }
.evidence-level-label strong { color:#3159d4; font-size:10px; }
.evidence-level-label span { color:#7a879a; font-size:9px; }
.ai-next-action { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:9px; margin-top:14px; border-radius:12px; padding:11px 12px; background:#eef3ff; }
.ai-next-action span { border-radius:999px; padding:4px 7px; background:#dce6ff; color:#3159d4; font-size:9px; font-weight:900; white-space:nowrap; }
.ai-next-action p { margin:2px 0 0; color:#263650; font-size:11px; font-weight:750; line-height:1.5; }
.ai-reason-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:16px 0 0; padding:0; list-style:none; }
.ai-reason-list li { display:flex; min-width:0; align-items:center; gap:9px; border-radius:12px; padding:10px 11px; background:#f7f9fc; }
.ai-reason-list li > span { display:grid; width:26px; height:26px; flex:0 0 26px; place-items:center; border-radius:9px; background:#e9efff; color:#4269e8; }
.ai-reason-list li[data-tone="up"] > span { background:#ffebed; color:#d93444; }
.ai-reason-list li[data-tone="down"] > span { background:#e9efff; color:#4269e8; }
.ai-reason-list li[data-tone="flat"] > span { background:#e8f8f0; color:#15985a; }
.evidence-icon svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ai-reason-list strong,.ai-reason-list small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ai-reason-list strong { color:#536078; font-size:10px; }
.ai-reason-list small { margin-top:2px; color:#17223a; font-size:11px; font-weight:750; }

/* AI analyst conversation */
.decision-ai-summary { display:grid; gap:10px; min-height:0; border:0; background:transparent; padding:0; box-shadow:none; }
.decision-card[data-signal="red"] .decision-ai-summary,
.decision-card[data-signal="yellow"] .decision-ai-summary,
.decision-card[data-signal="green"] .decision-ai-summary { border-color:transparent; background:transparent; }
.ai-chat-row { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:start; gap:10px; }
.ai-chat-row .market-ai-character { width:48px; height:48px; overflow:hidden; border:0; border-radius:50%; padding:0; background:transparent; object-fit:cover; clip-path:circle(50% at 50% 50%); }
.ai-chat-bubble { position:relative; min-width:0; border:1px solid #e7ecf4; border-radius:5px 18px 18px 18px; background:#fff; padding:14px 16px; box-shadow:0 8px 24px rgba(20,33,61,.055); }
.ai-chat-bubble::before { position:absolute; top:12px; left:-7px; width:12px; height:12px; border-left:1px solid #e7ecf4; border-bottom:1px solid #e7ecf4; background:#fff; content:""; transform:rotate(45deg); }
.decision-card[data-signal="red"] .ai-chat-conclusion { border-color:#f3d9de; background:#fff9fa; }
.decision-card[data-signal="red"] .ai-chat-conclusion::before { border-color:#f3d9de; background:#fff9fa; }
.decision-card[data-signal="yellow"] .ai-chat-conclusion { border-color:#efe2c4; background:#fffdf7; }
.decision-card[data-signal="yellow"] .ai-chat-conclusion::before { border-color:#efe2c4; background:#fffdf7; }
.decision-card[data-signal="green"] .ai-chat-conclusion { border-color:#d6ebdf; background:#f8fdf9; }
.decision-card[data-signal="green"] .ai-chat-conclusion::before { border-color:#d6ebdf; background:#f8fdf9; }
.ai-chat-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.ai-chat-meta time { color:#98a3b4; font-size:9px; }
.decision-ai-summary .ai-conversation-label { margin:8px 0 0; }
.decision-ai-summary h3 { margin-top:5px; }
.ai-chat-bubble #market-summary { margin:5px 0 0; }
.ai-chat-evidence .evidence-level-label { margin-top:0; }
.ai-chat-evidence .ai-reason-list { margin-top:11px; }
.decision-ai-summary .ai-next-action { display:grid; grid-template-columns:auto minmax(0,1fr); margin-top:0; border:1px solid #dce5fa; border-radius:5px 18px 18px 18px; background:#eef3ff; padding:13px 14px; }
.decision-ai-summary .ai-next-action::before { border-color:#dce5fa; background:#eef3ff; }
.decision-ai-summary > .judgement-disclaimer { margin:2px 0 0 58px; color:#7a879a; font-size:10px; line-height:1.55; }

.decision-card + #evidence-section { margin-top:18px; border-top:1px solid #e6ebf2; padding-top:24px; }

.result-quick-nav { position:sticky; top:12px; z-index:24; display:flex; gap:8px; overflow-x:auto; margin:16px 0 4px; border:1px solid #e1e7f1; border-radius:16px; padding:8px; background:rgba(255,255,255,.94); box-shadow:0 10px 30px rgba(20,33,61,.08); backdrop-filter:blur(14px); scrollbar-width:none; }
.result-quick-nav::-webkit-scrollbar { display:none; }
.result-quick-nav button { min-height:36px; flex:1 0 auto; border:0; border-radius:11px; padding:0 16px; background:transparent; color:#657188; font-size:11px; font-weight:850; cursor:pointer; transition:background var(--sds-motion),color var(--sds-motion),transform var(--sds-motion); }
.result-quick-nav button.is-active { background:#14213d; color:#fff; }
.result-quick-nav button:hover { transform:translateY(-1px); background:#eef3ff; color:#3159d4; }
.result-quick-nav button.is-active:hover { background:#1c315d; color:#fff; }
.decision-card,
#trend-section,
#apartment-basic-info-section,
#decision-factor-section,
#similar-section,
#score-explanation-group,
#basic-information-group,
#price-market-group { scroll-margin-top:82px; }

.metric-grid { grid-template-columns:1.2fr 1fr 1fr 1fr 1.2fr; gap:12px; margin-top:0; }
.metric-card,.evidence-card,.apartment-basic-info-card,.decision-factor-card { border-color:var(--sds-border); border-radius:18px; box-shadow:var(--sds-shadow-sm); transition:transform var(--sds-motion),box-shadow var(--sds-motion); }
.metric-card:hover,.evidence-card:hover,.apartment-basic-info-card:hover,.decision-factor-card:hover { transform:translateY(-3px); box-shadow:var(--sds-shadow-md); }
.metric-card:first-child { grid-column:auto; }
.metric-card strong { font-size:24px; color:var(--sds-primary); }
.evidence-grid { gap:12px; }
.evidence-card { min-height:154px; padding:17px 17px 15px; }
.evidence-value { font-size:26px; }

.signal-analyzing .search-form button { color:transparent; pointer-events:none; }
.signal-analyzing .search-form button::after { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; content:"분석 중"; font:inherit; font-weight:800; white-space:nowrap; animation:sds-pulse .8s ease infinite alternate; }
.signal-analyzing .buying-signal i { animation:sds-scan .54s ease infinite; }
.signal-analyzing .buying-signal i:nth-child(2) { animation-delay:.08s; }
.signal-analyzing .buying-signal i:nth-child(3) { animation-delay:.16s; }
@keyframes sds-fade-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes sds-pulse { to { opacity:.62; } }
@keyframes sds-scan { 0%,100% { opacity:.15; } 45% { opacity:1; box-shadow:0 0 20px currentColor; } }

@media (max-width:1180px) {
  .decision-card { grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); }
  .coverage-panel { padding:28px; }
  .metric-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}

.apartment-basic-info-grid { grid-auto-flow:dense; }
.apartment-basic-info-card.is-wide:last-child { display:grid; grid-template-columns:130px auto minmax(0,1fr); grid-column:1 / -1; align-items:center; gap:12px; min-height:76px; }
.apartment-basic-info-card.is-wide:last-child span,
.apartment-basic-info-card.is-wide:last-child small { margin:0; }

@media (max-width:900px) {
  .signal-character-hero { --hero-character-size:160px; width:162px; opacity:.92; }
  .signal-character-hero figcaption { display:block; width:154px; margin-top:6px; padding:9px 10px; }
  .signal-character-hero figcaption span { font-size:9px; }
  .topbar > div:first-of-type { padding-right:0; }
  .sidebar { width:100%; }
  .main-content { margin-left:0; }
  .main-nav { scrollbar-width:none; -ms-overflow-style:none; }
  .main-nav::-webkit-scrollbar { display:none; }
  .topbar { grid-template-columns:minmax(0,1fr) 170px; min-height:360px; border-radius:20px; padding:34px 24px 28px; }
  .topbar h1 { font-size:36px; }
  .decision-card { grid-template-columns:minmax(0,1fr); }
  .coverage-panel { grid-column:1; grid-row:1; width:100%; border:0; }
  .decision-main { grid-column:1; grid-row:2; width:100%; }
  .decision-ai-summary { min-height:0; padding:0; }
  .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .apartment-basic-info-card.is-wide:last-child { grid-column:1 / -1; }
}

@media (max-width:520px) {
  .signal-character-hero { --hero-character-size:136px; display:block; grid-column:1; grid-row:1; width:190px; opacity:.92; }
  .signal-character-hero figcaption { width:190px; }
  .empty-state-guide { align-items:center; flex-direction:column; }
  .empty-state-guide .signal-character { width:92px; height:92px; }
  .empty-state-guide .character-guide-bubble { width:100%; border-radius:18px; text-align:center; }
  .empty-state-guide .character-guide-bubble::before { top:-7px; left:calc(50% - 6px); transform:rotate(135deg); }
  .topbar > div:first-of-type { grid-column:1; grid-row:2; padding-right:0; text-align:center; }
  .main-content { padding-inline:12px; }
  .topbar { grid-template-columns:1fr; grid-template-rows:auto auto auto; gap:16px; min-height:0; margin-inline:-2px; padding:24px 18px 26px; text-align:center; }
  .topbar h1 { font-size:31px; }
  .hero-description { font-size:14px; }
  .hero-promises { display:none; }
  .search-area { position:relative; grid-column:1; grid-row:3; top:auto; z-index:30; }
  .topbar.search-open .search-results { max-height:min(320px,52vh); text-align:left; }
  .search-form { min-height:56px; }
  .dashboard-area { padding:12px; }
  .coverage-panel { min-height:0; align-self:start; align-items:center; flex-direction:row; justify-content:space-between; gap:18px; text-align:left; padding:22px 18px; }
  .coverage-panel > div:last-child { max-width:190px; }
  .buying-signal { width:76px; border-radius:22px; padding:12px 16px; }
  .buying-signal i { width:42px; height:42px; }
  .signal-score strong { font-size:46px; }
  .decision-ai-summary { min-height:0; padding:0; }
  .ai-chat-row { grid-template-columns:40px minmax(0,1fr); gap:8px; }
  .ai-chat-row .market-ai-character { width:40px; height:40px; border-radius:50%; }
  .ai-chat-bubble { padding:13px 14px; }
  .decision-ai-summary > .judgement-disclaimer { margin-left:48px; }
  .result-quick-nav { top:6px; margin-top:12px; border-radius:14px; padding:6px; }
  .result-quick-nav button { min-height:34px; padding:0 13px; }
  .decision-main { padding:24px 20px; }
  .ai-reason-list { grid-template-columns:1fr; }
  .metric-grid { grid-template-columns:1fr; }
  .metric-card { min-height:112px; }
  .apartment-basic-info-card.is-wide:last-child { display:flex; gap:0; min-height:96px; }
  .apartment-basic-info-card.is-wide:last-child span { margin-bottom:7px; }
  .apartment-basic-info-card.is-wide:last-child small { margin-top:5px; }
}

/* Signal Design v1.2 — one form language and brand-only non-signal colors. */
:root {
  --sds-field-border:rgba(9,21,47,.24);
  --sds-field-muted:rgba(9,21,47,.64);
  --sds-field-disabled:rgba(9,21,47,.07);
  --sds-selected-bg:var(--sds-accent);
}

/* Direct-entry controls: white surface, navy copy, cyan focus. */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
select,
textarea {
  border-color:var(--sds-field-border)!important;
  background:#fff!important;
  color:var(--sds-primary)!important;
  box-shadow:none;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"])::placeholder,
textarea::placeholder { color:var(--sds-field-muted)!important; }
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):focus,
select:focus,
textarea:focus {
  border-color:var(--sds-accent)!important;
  outline:3px solid rgba(34,223,225,.22);
  outline-offset:1px;
}
input:disabled,
select:disabled,
textarea:disabled { background:var(--sds-field-disabled)!important; color:var(--sds-field-muted)!important; }

/* Check and radio choices: white by default, cyan when selected. */
input[type="checkbox"],
input[type="radio"] { accent-color:var(--sds-accent-strong)!important; }
.search-data-filters label,
.recommend-location-options label,
.recommend-amenity-options label,
.subscription-region-options label,
.favorite-option,
.comparison-preference-options label,
.discovery-filter-grid .check-field {
  border-color:var(--sds-field-border)!important;
  background:#fff!important;
  color:var(--sds-primary)!important;
}
.search-data-filters label:has(input:checked),
.recommend-location-options label:has(input:checked),
.recommend-amenity-options label:has(input:checked),
.subscription-region-options label:has(input:checked),
.favorite-option:has(input:checked),
.comparison-preference-options label:has(input:checked),
.discovery-filter-grid .check-field:has(input:checked) {
  border-color:var(--sds-accent)!important;
  background:var(--sds-selected-bg)!important;
  color:var(--sds-primary)!important;
  box-shadow:0 0 0 2px rgba(34,223,225,.18)!important;
}
.information-zone-personal :is(.subscription-region-options label,.recommend-location-options label,.recommend-amenity-options label):has(input:checked) {
  background:var(--sds-accent)!important;
  color:var(--sds-primary)!important;
}

/* Non-signal notices and saved/selected states use only navy, cyan and white. */
.favorite-toggle[aria-pressed="true"],
.search-data-badge.ready,
.subscription-new-alert,
.subscription-change-note,
.comparison-area-notice,
.comparison-area-notice.warning,
.alert-item,
.alert-kind,
.subscription-match-scope span.active,
.subscription-profile-readiness span.active {
  border-color:rgba(34,223,225,.45)!important;
  background:rgba(34,223,225,.12)!important;
  color:var(--sds-primary)!important;
}
.subscription-policy-features span,
.subscription-checks span.matched,
.source-badge,
.field-requirement,
.recommend-answer-label,
.subscription-filter-answer-label {
  border-color:rgba(34,223,225,.35)!important;
  background:var(--sds-accent-soft)!important;
  color:#087e84!important;
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .signal-character-hero .signal-face-light { animation:none!important; fill:#22d3ee!important; stroke:#22d3ee!important; color:#22d3ee!important; }
  .signal-antenna-light,.hero-traffic-light { animation:none!important; }
  .hero-traffic-red,.hero-traffic-yellow { opacity:0!important; }
  .hero-traffic-green { opacity:1!important; }
}

/* Subscription matching and in-service alerts */
.subscription-section { display:grid; width:100%; max-width:var(--sds-page-max); gap:20px; margin:0 auto; }
.subscription-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; border-radius:24px; padding:32px 36px; background:linear-gradient(135deg,#101d38,#1d3261); color:#fff; box-shadow:var(--sds-shadow-md); }
.subscription-intro h2 { margin:7px 0 8px; font-size:34px; letter-spacing:-.05em; }
.subscription-intro p:not(.eyebrow) { margin:0; color:#c0cbe0; }
.subscription-alert-state { display:flex; min-width:180px; align-items:center; gap:12px; border:1px solid rgba(255,255,255,.14); border-radius:18px; padding:15px 18px; background:rgba(255,255,255,.07); }
.subscription-alert-state > span { color:#7d8ba6; }
.subscription-alert-state.active > span { color:var(--sds-success); text-shadow:0 0 12px currentColor; }
.subscription-alert-state small,.subscription-alert-state strong { display:block; }
.subscription-alert-state small { color:#9eabc1; font-size:10px; }
.subscription-alert-state strong { margin-top:3px; font-size:14px; }
.subscription-new-alert { border:1px solid #bce8d0; border-radius:16px; padding:14px 18px; background:#edf9f3; color:#126e43; font-size:13px; font-weight:700; }
.subscription-profile-card,.subscription-results-section { border:1px solid var(--sds-border); border-radius:24px; background:#fff; padding:28px; box-shadow:var(--sds-shadow-sm); }
.subscription-ai-summary { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:14px; margin:0 0 14px; padding:16px 18px; border:1px solid #dce5f4; border-radius:18px; background:linear-gradient(135deg,#f6f9ff,#fff); }
.subscription-ai-summary > .signal-character { width:64px; height:64px; }
.subscription-ai-summary > div { min-width:0; }
.subscription-ai-summary strong { display:block; margin:2px 0 8px; color:var(--sds-navy); font-size:17px; letter-spacing:-.025em; }
.subscription-ai-summary > div > p:not(.ai-conversation-label) { margin:0; color:#526079; font-size:13px; line-height:1.6; }
.subscription-ai-summary .ai-next-action { margin-top:10px; }
.subscription-all-results { order:0; }
.subscription-filter-card { order:1; }
.subscription-application-caveat { margin:-8px 0 14px; border:1px solid #b8eef0; border-radius:12px; padding:10px 12px; background:var(--sds-accent-soft); color:#075f65; font-size:11px; font-weight:700; line-height:1.55; }
.information-zone-general { border-color:#dfe6ef; background:#fff; color:var(--sds-primary); }
.information-zone-personal { border-color:#19345d; background:linear-gradient(145deg,#09152f,#102750); color:#fff; box-shadow:0 18px 42px rgba(9,21,47,.14); }
.information-zone-personal > .section-heading h2,
.information-zone-personal > .section-heading p { color:#fff; }
.information-zone-personal > .section-heading .eyebrow { color:var(--sds-accent); }
.information-zone-personal .subscription-filter-progress > span { color:#a8f5f5; }
.information-zone-personal .subscription-filter-progress > div { background:rgba(255,255,255,.16); }
.information-zone-personal .subscription-filter-question-bubble { border-color:rgba(34,223,225,.45); background:#102348; color:#fff; }
.information-zone-personal .subscription-filter-question-bubble::before { border-color:rgba(34,223,225,.45); background:#102348; }
.information-zone-personal .subscription-filter-question-bubble small { color:var(--sds-accent); }
.information-zone-personal .subscription-filter-question-bubble h3 { color:#fff; }
.information-zone-personal .subscription-filter-question-bubble p { color:#bfd1e8; }
.information-zone-personal .subscription-filter-answer-bubble { border-color:rgba(34,223,225,.38); background:rgba(255,255,255,.07); }
.information-zone-personal .subscription-filter-answer-label,
.information-zone-personal legend,
.information-zone-personal .subscription-single-field { color:#fff; }
.information-zone-personal .subscription-application-caveat { border-color:rgba(34,223,225,.35); background:rgba(34,223,225,.12); color:#bff8f8; }
.information-zone-personal .subscription-card { border-color:rgba(34,223,225,.28); }
.subscription-personal-results { order:2; }
.subscription-profile-heading { display:flex; justify-content:space-between; gap:20px; margin-bottom:22px; }
.subscription-profile-heading h3 { margin:5px 0 0; font-size:24px; }
.subscription-profile-heading > p { color:var(--sds-muted); font-size:12px; }
.subscription-profile-card fieldset { margin:0; border:0; padding:0; }
.subscription-profile-card legend,.subscription-profile-fields label { color:#38455d; font-size:12px; font-weight:800; }
.subscription-region-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:10px; }
.subscription-region-options label { display:flex; min-height:48px; align-items:center; gap:9px; border:1px solid var(--sds-border); border-radius:14px; padding:0 14px; color:#334058; font-size:12px; cursor:pointer; }
.subscription-region-options label:has(input:checked) { border-color:#9bb0ff; background:#f0f4ff; color:#244cc7; }
.subscription-profile-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
.subscription-profile-fields label { display:grid; gap:7px; }
.subscription-profile-fields input,.subscription-profile-fields select { width:100%; min-height:48px; border:1px solid #dce2ec; border-radius:13px; background:#fff; padding:0 13px; color:#17223a; }
.subscription-future-conditions { margin-top:18px; border-radius:14px; background:#f7f9fc; padding:14px 16px; color:#59657a; font-size:12px; line-height:1.6; }
.subscription-future-conditions summary { color:#33425b; font-weight:800; cursor:pointer; }
.subscription-future-conditions summary small { margin-left:6px; color:#7b8799; font-weight:600; }
.subscription-future-conditions p { margin:10px 0 0; }
.subscription-eligibility-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:14px; }
.subscription-eligibility-fields label { display:grid; min-width:0; gap:6px; color:#38455d; font-size:11px; font-weight:800; }
.subscription-eligibility-fields input,.subscription-eligibility-fields select { width:100%; min-width:0; min-height:44px; border:1px solid #dce2ec; border-radius:12px; background:#fff; padding:0 11px; color:#17223a; }
.subscription-future-conditions .subscription-supply-types { margin-top:16px; }
.subscription-supply-types legend { margin-bottom:8px; color:#38455d; font-size:11px; font-weight:800; }
.subscription-supply-types .subscription-region-options { grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:0; }
.subscription-profile-readiness { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.subscription-profile-readiness span { border-radius:999px; padding:6px 10px; background:#eef2f8; color:#647188; font-size:10px; font-weight:750; }
.subscription-profile-readiness span.active { background:#e9f8f0; color:#147147; }
.subscription-profile-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:20px; }
.subscription-profile-actions .primary-button { margin:0; }
.subscription-filter-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.subscription-alert-toggle { display:flex; align-items:center; gap:9px; color:#34425b; font-size:13px; font-weight:750; }
.subscription-match-scope { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0 18px; }
.subscription-match-scope span { border-radius:999px; padding:6px 10px; background:#eef2f8; color:#59677e; font-size:10px; font-weight:750; }
.subscription-match-scope span.active { background:#e9f8f0; color:#147147; }
.subscription-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.subscription-card { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; border:1px solid var(--sds-border); border-radius:20px; padding:20px; background:#fff; transition:transform var(--sds-motion),box-shadow var(--sds-motion); }
.subscription-card:hover { transform:translateY(-3px); box-shadow:var(--sds-shadow-md); }
.subscription-card.not-matched { opacity:.62; }
.subscription-mini-light { display:flex; width:42px; height:86px; flex-direction:column; gap:5px; border-radius:14px; padding:9px; background:#111d34; }
.subscription-mini-light i { width:24px; height:24px; border-radius:50%; background:#62708a; opacity:.18; }
.subscription-mini-light i:nth-child(1) { background:var(--sds-danger); }
.subscription-mini-light i:nth-child(2) { background:var(--sds-warning); }
.subscription-mini-light i:nth-child(3) { background:var(--sds-success); }
.subscription-mini-light[data-signal="green"] i:nth-child(3),.subscription-mini-light[data-signal="yellow"] i:nth-child(2) { opacity:1; box-shadow:0 0 12px currentColor; }
.subscription-card-heading { display:block; }
.subscription-signal-label { display:none; }
.subscription-card-heading small { color:#768298; }
.subscription-card-heading h3 { margin:5px 0 0; font-size:18px; letter-spacing:-.035em; }
.subscription-information-score { flex:0 0 auto; color:#27354f; font-size:11px; }
.subscription-information-score strong { font-size:24px; }
.subscription-signal-label { margin:12px 0 0; color:#147147; font-size:12px; font-weight:850; }
.subscription-application-status { display:inline-flex; margin:8px 0 0; border-radius:999px; padding:5px 8px; background:#fff5dd; color:#8a6217; font-size:10px; font-weight:800; }
.subscription-application-status[data-status="OPEN"] { background:#e6f8ef; color:#087344; }
.subscription-application-status[data-status="UPCOMING"] { background:#eef3ff; color:#3159d4; }
.subscription-deadline-row { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.subscription-urgency { display:inline-flex; margin-top:8px; border-radius:999px; padding:5px 8px; background:#eef3ff; color:#3159d4; font-size:10px; line-height:1; }
.subscription-urgency[data-level="medium"] { background:#fff3d8; color:#956000; }
.subscription-urgency[data-level="high"] { background:#ffe8eb; color:#c72f43; }
.subscription-application-period { margin:7px 0 0; color:#526078; font-size:11px; font-weight:700; }
.subscription-offer-facts { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto; gap:8px; margin-top:10px; }
.subscription-offer-facts span { display:grid; gap:3px; border:1px solid #e4e9f1; border-radius:11px; padding:9px 10px; background:#fafbfd; }
.subscription-offer-facts small { color:#778398; font-size:9px; }
.subscription-offer-facts strong { color:#24324b; font-size:11px; line-height:1.4; }
.subscription-notice-summary { margin-top:10px; border-top:1px solid #edf0f5; padding-top:9px; }
.subscription-notice-summary summary { color:#3159d4; font-size:11px; font-weight:800; cursor:pointer; }
.subscription-notice-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 12px; margin-top:9px; }
.subscription-notice-summary-grid p { display:grid; gap:2px; margin:0; }
.subscription-notice-summary-grid small { color:#7b8799; font-size:9px; }
.subscription-notice-summary-grid strong { color:#2c3850; font-size:10px; line-height:1.45; overflow-wrap:anywhere; }
.subscription-change-note { margin:9px 0 0; border-radius:9px; padding:7px 9px; background:#fff4e5; color:#855b16; font-size:10px; }
.subscription-policy-features { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.subscription-policy-features span { border-radius:999px; padding:5px 7px; background:#f1edff; color:#6343a2; font-size:9px; font-weight:800; }
.subscription-source-note { margin:9px 0 0; color:#717d91; font-size:9px; line-height:1.5; }
.subscription-checks { display:flex; flex-wrap:wrap; gap:6px; margin-top:11px; }
.subscription-checks span { border-radius:999px; padding:5px 8px; background:#f1f4f8; color:#69758a; font-size:10px; }
.subscription-checks span.matched { background:#eaf8f1; color:#147147; }
.subscription-eligibility-note { margin:12px 0 0; color:#7b5c26; font-size:11px; line-height:1.55; }
.subscription-card-actions { margin-top:12px; }
.subscription-card-actions a { color:#3159d4; font-size:11px; font-weight:800; text-decoration:none; }
.subscription-empty { grid-column:1/-1; border:1px dashed #d7deea; border-radius:18px; padding:34px; color:#6d788b; text-align:center; }

@media (max-width:900px) {
  .subscription-intro { align-items:flex-start; flex-direction:column; padding:26px; }
  .subscription-region-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .subscription-eligibility-fields,.subscription-supply-types .subscription-region-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .subscription-results { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .subscription-intro h2 { font-size:29px; }
  .subscription-profile-card,.subscription-results-section { padding:20px 16px; }
  .subscription-ai-summary { padding:14px; }
  .subscription-profile-heading,.subscription-profile-actions { align-items:stretch; flex-direction:column; }
  .subscription-filter-actions { display:grid; grid-template-columns:1fr; }
  .subscription-filter-actions button { width:100%; }
  .subscription-offer-facts { grid-template-columns:1fr; }
  .subscription-notice-summary-grid { grid-template-columns:1fr; }
  .subscription-region-options,.subscription-profile-fields { grid-template-columns:1fr; }
  .subscription-eligibility-fields,.subscription-supply-types .subscription-region-options { grid-template-columns:1fr; }
  .subscription-profile-actions .primary-button { width:100%; }
  .subscription-card { padding:16px; }
}

/* Keep the signal summary compact and visually centered at every width. */
.decision-card {
  grid-template-columns:minmax(0,1fr);
}
.decision-card .decision-main {
  grid-column:1;
  grid-row:2;
  width:100%;
}
.decision-card .coverage-panel {
  grid-column:1;
  grid-row:1;
  width:100%;
  box-sizing:border-box;
  min-height:220px;
  height:auto;
  align-self:start;
  justify-content:center;
  gap:clamp(24px,3vw,38px);
  padding:28px clamp(22px,3vw,34px);
}
.decision-card .coverage-panel > div:last-child {
  flex:0 1 220px;
  width:min(220px,100%);
  max-width:220px;
}

@media (max-width:900px) {
  .decision-card .coverage-panel {
    min-height:210px;
    height:auto;
    align-self:start;
    justify-content:center;
    gap:30px;
    padding:24px 22px;
  }
}

/* Signal Design v1.2 — finalized rules for controls on deep-navy surfaces. */
.information-zone-personal .subscription-filter-answer-label,
.information-zone-personal .recommend-answer-label {
  display:inline-flex;
  width:fit-content;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  color:var(--sds-accent)!important;
}
.information-zone-personal :is(
  .subscription-filter-step legend,
  .subscription-filter-step > label,
  .subscription-single-field,
  .subscription-supply-types legend,
  .recommend-step > label,
  .recommend-step legend
) { color:#fff!important; }
.information-zone-personal :is(
  .subscription-filter-step p,
  .subscription-filter-step small,
  .subscription-single-field > small,
  .recommend-step label > span,
  .recommend-step small
) { color:#b9c9df!important; }
.information-zone-personal :is(.recommend-input-unit-row b,.offer-price-control > span) { color:#8eeff0!important; }
.information-zone-personal :is(.subscription-filter-answer-bubble,.recommend-answer-bubble,.offer-chat-answer) {
  border-color:rgba(34,223,225,.38)!important;
  background:rgba(255,255,255,.07)!important;
}
.information-zone-personal :is(.subscription-filter-navigation,.subscription-profile-actions,.offer-submit-area) {
  border-color:rgba(34,223,225,.24)!important;
}
.information-zone-personal :is(.subscription-region-options label,.recommend-location-options label,.recommend-amenity-options label) {
  background:#fff!important;
  color:var(--sds-primary)!important;
}
.information-zone-personal :is(.subscription-region-options label,.recommend-location-options label,.recommend-amenity-options label):has(input:checked) {
  border-color:var(--sds-accent)!important;
  background:var(--sds-accent)!important;
  color:var(--sds-primary)!important;
}

/* Content-density rules: one visible title, one conclusion, details on demand. */
.content-section > .section-heading .eyebrow,
.subscription-results-section > .section-heading .eyebrow,
.subscription-profile-heading .eyebrow,
.dashboard-area-heading .eyebrow,
.evaluation-subgroup-heading p { display:none; }
.content-section > .section-heading > p,
.subscription-profile-heading > p { display:none; }
.content-section > .section-heading,
.subscription-results-section > .section-heading { margin-bottom:16px; }
.evaluation-subgroup-heading { margin-bottom:14px; }
.comparison-preference legend span,
.comparison-preference-options small { display:none; }
.comparison-preference legend { margin-bottom:12px; }
.comparison-preference-options label { min-height:58px; }
.recommend-question-bubble p { display:none; }
.recommend-question-bubble { padding-block:17px; }
.subscription-profile-heading { margin-bottom:14px; }
.subscription-future-conditions:not([open]) { padding-block:0; }
.subscription-future-conditions:not([open]) summary { min-height:48px; display:flex; align-items:center; }
.subscription-future-conditions summary small { display:none; }
.subscription-application-caveat { margin:0 0 14px; padding:10px 12px; line-height:1.45; }
.subscription-card { padding:18px; }
.subscription-card-heading h3 { margin-top:6px; line-height:1.35; }
.subscription-offer-facts { margin-top:12px; }
.subscription-checks { margin-top:12px; }
.subscription-notice-summary { margin-top:12px; }
.subscription-card-actions { margin-top:12px; }
.price-market-reading-guide small { display:none; }
.price-market-reading-guide li { min-height:54px; }

@media (max-width:720px) {
  .content-section > .section-heading,
  .subscription-results-section > .section-heading { margin-bottom:12px; }
  .comparison-preference-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .comparison-preference-options label { min-height:52px; }
  .subscription-card { padding:16px; }
}

/* Subscription list: one notice per row, representative facts + price outlook. */
.subscription-results { grid-template-columns:minmax(0,1fr); gap:12px; }
.subscription-card { padding:0; overflow:hidden; }
.subscription-card > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,.52fr); align-items:center; gap:0 22px; width:100%; padding:20px 22px; }
.subscription-card-heading { min-width:0; }
.subscription-card-heading small { display:block; color:#718097; font-size:11px; font-weight:750; }
.subscription-card-heading h3 { margin:7px 0 0; font-size:19px; overflow-wrap:anywhere; }
.subscription-representative-price { display:flex; align-items:baseline; gap:10px; margin:14px 0 0; }
.subscription-representative-price span { color:#758197; font-size:10px; font-weight:800; }
.subscription-representative-price strong { color:#16233c; font-size:16px; }
.subscription-price-competitiveness { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:14px; min-height:112px; border-left:1px solid #e7ebf2; padding-left:22px; }
.subscription-price-light { display:flex; width:34px; height:82px; flex-direction:column; justify-content:center; gap:6px; border-radius:14px; padding:8px; background:var(--sds-primary); }
.subscription-price-light i { width:18px; height:18px; border-radius:50%; background:#42506a; opacity:.28; }
.subscription-price-competitiveness[data-status="blue"] .subscription-price-light i:nth-child(1) { background:var(--sds-accent); opacity:1; box-shadow:0 0 11px var(--sds-accent); }
.subscription-price-competitiveness[data-status="yellow"] .subscription-price-light i:nth-child(2) { background:var(--sds-warning); opacity:1; box-shadow:0 0 11px var(--sds-warning); }
.subscription-price-competitiveness[data-status="red"] .subscription-price-light i:nth-child(3) { background:var(--sds-danger); opacity:1; box-shadow:0 0 11px var(--sds-danger); }
.subscription-price-competitiveness small,
.subscription-price-competitiveness strong,
.subscription-price-competitiveness b { display:block; }
.subscription-price-competitiveness small { color:#738096; font-size:10px; font-weight:800; }
.subscription-price-competitiveness strong { margin-top:3px; color:#13213a; font-size:24px; letter-spacing:-.04em; }
.subscription-price-competitiveness b { margin-top:4px; color:#66738a; font-size:11px; }
.subscription-price-competitiveness[data-status="blue"] b { color:#087e84; }
.subscription-price-competitiveness[data-status="yellow"] b { color:#956000; }
.subscription-price-competitiveness[data-status="red"] b { color:#c72f43; }
.subscription-price-competitiveness p { margin:4px 0 0; color:#8a95a7; font-size:9px; line-height:1.45; }
.subscription-notice-summary,
.subscription-card-actions { grid-column:1 / -1; }
.subscription-notice-summary[open] { margin-top:18px; }
.subscription-card-actions { margin-top:10px; }

@media (max-width:720px) {
  .subscription-card > div { grid-template-columns:minmax(0,1fr); gap:16px; padding:18px; }
  .subscription-price-competitiveness { grid-template-columns:34px minmax(0,1fr); min-height:0; border-top:1px solid #e7ebf2; border-left:0; padding:15px 0 0; }
  .subscription-price-light { height:70px; }
  .subscription-price-light i { width:18px; height:14px; }
}

/* Subscription detail: clear label/value hierarchy with readable type. */
.subscription-notice-summary { border-top-color:#dfe5ee; padding-top:12px; }
.subscription-notice-summary summary { min-height:34px; color:#087e84!important; font-size:13px; font-weight:900; line-height:1.4; }
.subscription-notice-summary[open] { border-radius:16px; background:#f6f8fb; padding:14px 16px 16px; }
.subscription-notice-summary[open] summary { margin-bottom:14px; border-bottom:1px solid #dfe5ee; padding-bottom:12px; }
.subscription-detail-schedule { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:center; gap:8px 14px; border:1px solid #dfe5ee; border-radius:13px; background:#fff; padding:12px 14px; }
.subscription-detail-schedule > strong { grid-row:1 / span 2; color:#536078; font-size:11px; }
.subscription-detail-schedule .subscription-deadline-row { margin:0; }
.subscription-detail-schedule .subscription-application-status,
.subscription-detail-schedule .subscription-urgency { margin-top:0; font-size:11px; }
.subscription-detail-schedule .subscription-application-period { margin:0; color:#1c2942; font-size:13px; font-weight:800; }
.subscription-notice-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:18px; }
.subscription-notice-summary-grid::before { grid-column:1 / -1; color:#536078; font-size:11px; font-weight:900; content:"공고 기본정보"; }
.subscription-notice-summary-grid p { min-height:74px; align-content:start; gap:7px; border:1px solid #e0e5ed; border-radius:12px; background:#fff; padding:11px 12px; }
.subscription-notice-summary-grid small { color:#758196; font-size:10px; font-weight:800; }
.subscription-notice-summary-grid strong { color:#15223a; font-size:13px; font-weight:800; line-height:1.5; }
.subscription-policy-features { margin-top:16px; border-top:1px solid #e0e5ed; padding-top:14px; }
.subscription-policy-features::before { width:100%; margin-bottom:2px; color:#536078; font-size:11px; font-weight:900; content:"사업·규제 특성"; }
.subscription-policy-features span { padding:7px 9px; font-size:10px; }
.subscription-checks { margin-top:16px; border-top:1px solid #e0e5ed; padding-top:14px; }
.subscription-checks::before { width:100%; margin-bottom:2px; color:#536078; font-size:11px; font-weight:900; content:"선택 조건 일치"; }
.subscription-checks span { padding:7px 10px; font-size:11px; }
.subscription-source-note { margin-top:16px; border-radius:10px; background:#eef2f7; padding:10px 12px; color:#59667b; font-size:11px; line-height:1.6; }
.subscription-eligibility-note { margin-top:12px; border-radius:10px; background:#fff7e7; padding:11px 12px; color:#6f511e; font-size:12px; line-height:1.6; }
.subscription-eligibility-note::before { display:block; margin-bottom:4px; color:#8a6217; font-size:10px; font-weight:900; content:"자격 판단 안내"; }

@media (max-width:720px) {
  .subscription-notice-summary[open] { padding:12px; }
  .subscription-detail-schedule { grid-template-columns:minmax(0,1fr); gap:8px; padding:11px 12px; }
  .subscription-detail-schedule > strong { grid-row:auto; }
  .subscription-notice-summary-grid { grid-template-columns:minmax(0,1fr); gap:8px; }
  .subscription-notice-summary-grid p { min-height:0; }
}

/* Subscription filters as an AI conversation. */
.subscription-filter-card { display:grid; gap:16px; }
.subscription-filter-chat-question { display:grid; grid-template-columns:52px minmax(0,1fr); align-items:start; gap:11px; }
.subscription-filter-chat-avatar { width:52px; height:52px; overflow:hidden; border-radius:50%; object-fit:cover; clip-path:circle(50% at 50% 50%); }
.subscription-filter-question-bubble { position:relative; width:min(760px,100%); border:1px solid #dfe6ef; border-radius:5px 20px 20px 20px; background:#fff; padding:17px 20px; box-shadow:0 10px 30px rgba(20,33,61,.055); }
.subscription-filter-question-bubble::before { position:absolute; top:14px; left:-7px; width:12px; height:12px; border-left:1px solid #dfe6ef; border-bottom:1px solid #dfe6ef; background:#fff; content:""; transform:rotate(45deg); }
.subscription-filter-question-bubble small { color:#087e84; font-size:10px; font-weight:900; }
.subscription-filter-question-bubble h3 { margin:6px 0 0; color:#13213a; font-size:22px; letter-spacing:-.035em; }
.subscription-filter-question-bubble p { margin:7px 0 0; color:#6d798d; font-size:12px; line-height:1.55; }
.subscription-filter-answer-bubble { display:grid; width:min(900px,calc(100% - 64px)); justify-self:end; border:1px solid #bfecef; border-radius:20px 5px 20px 20px; background:#f0fcfc; padding:20px; }
.subscription-filter-answer-label { margin-bottom:16px; color:#087e84; font-size:11px; font-weight:900; }
.subscription-filter-answer-bubble .subscription-region-options label { background:#fff; }
.subscription-filter-answer-bubble .subscription-profile-fields input,
.subscription-filter-answer-bubble .subscription-profile-fields select { background:#fff; }
.subscription-filter-answer-bubble .subscription-future-conditions { background:rgba(255,255,255,.72); }
.subscription-filter-answer-bubble .subscription-profile-actions { margin-top:18px; border-top:1px solid #cfecee; padding-top:16px; }

@media (max-width:720px) {
  .subscription-filter-card { gap:13px; }
  .subscription-filter-chat-question { grid-template-columns:44px minmax(0,1fr); gap:9px; }
  .subscription-filter-chat-avatar { width:44px; height:44px; }
  .subscription-filter-question-bubble { padding:15px 16px; }
  .subscription-filter-question-bubble h3 { font-size:18px; line-height:1.4; }
  .subscription-filter-answer-bubble { width:calc(100% - 35px); padding:16px; }
  .subscription-filter-answer-bubble .subscription-profile-actions { align-items:stretch; }
}

/* Progressive subscription conversation: reveal one answer at a time. */
.subscription-filter-progress { display:grid; width:min(220px,100%); justify-self:end; gap:8px; }
.subscription-filter-progress > span { color:#59667b; font-size:11px; font-weight:850; text-align:right; }
.subscription-filter-progress > div { height:7px; overflow:hidden; border-radius:999px; background:#e1e7f0; }
.subscription-filter-progress i { display:block; width:12.5%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--sds-accent),var(--sds-accent-strong)); transition:width .25s ease; }
.subscription-filter-step { min-height:112px; }
.subscription-filter-step > fieldset { margin:0; }
.subscription-filter-step .subscription-profile-fields { margin-top:0; }
.subscription-filter-step .subscription-future-conditions { margin-top:0; }
.subscription-filter-step .subscription-future-conditions[open] summary { margin-bottom:12px; }
.subscription-filter-navigation { display:flex; justify-content:flex-end; gap:8px; margin-top:18px; border-top:1px solid #cfecee; padding-top:16px; }
.subscription-filter-navigation:has(#subscription-filter-next.hidden) { justify-content:flex-start; }
.subscription-filter-navigation button { min-width:106px; min-height:44px; margin:0; }
.subscription-profile-final-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin-top:0!important; border-top:0!important; padding-top:0!important; }
.subscription-profile-final-actions .subscription-alert-toggle { min-height:54px; border:1px solid #dce6ed; border-radius:14px; background:#fff; padding:0 16px; }
.subscription-profile-final-actions .subscription-filter-actions { justify-content:stretch; }
.subscription-profile-final-actions .subscription-filter-actions button { flex:1 1 0; }
.subscription-single-field { display:grid; width:min(560px,100%); gap:8px; color:#263650; font-size:13px; font-weight:850; }
.subscription-single-field > small { margin-top:-3px; color:#7a8799; font-size:10px; font-weight:650; }
.subscription-single-field input,
.subscription-single-field select { width:100%; min-height:50px; border:1px solid #d9e2eb; border-radius:13px; background:#fff; padding:0 14px; color:#17223a; }
.subscription-single-field .recommend-input-unit-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; }
.subscription-single-field .recommend-input-unit-row b { min-width:42px; color:#263650; font-size:12px; }
.subscription-step-supply-types .subscription-region-options { margin-top:10px; }
.subscription-profile-caveat { margin:14px 0 0; color:#67748a; font-size:11px; line-height:1.6; }

@media (max-width:720px) {
  .subscription-filter-progress { width:100%; }
  .subscription-filter-step { min-height:0; }
  .subscription-filter-navigation button { flex:1 1 0; }
  .subscription-profile-final-actions .subscription-filter-actions { display:grid; grid-template-columns:minmax(0,1fr); }
}

/* Signal Design System v1.1 — character-face brand application */
.topbar { min-height:470px; row-gap:30px; }
.topbar > div:first-of-type { align-self:end; }
.topbar .eyebrow { margin:0 0 15px; line-height:1.5; }
.topbar h1 { margin:0; line-height:1.16; }
.topbar h1 > span + span { margin-top:10px; }
.hero-description { margin-top:22px; line-height:1.75; }
.search-area { align-self:center; }
.hero-promises { align-self:start; margin-top:0; }
.brand-mark { background:linear-gradient(145deg,#122443,var(--sds-primary)); color:#fff; box-shadow:0 8px 22px rgba(4,13,31,.36),0 0 0 1px rgba(34,223,225,.18); }
.brand-mark .traffic-logo { background:var(--sds-primary); box-shadow:0 6px 16px rgba(4,13,31,.34); }
.nav-item.active { background:linear-gradient(90deg,rgba(34,223,225,.2),rgba(34,223,225,.06)); box-shadow:inset 3px 0 0 var(--sds-accent); }
.topbar { background:radial-gradient(circle at 82% 25%,rgba(34,223,225,.22),transparent 27%),radial-gradient(circle at 15% 85%,rgba(34,223,225,.08),transparent 25%),linear-gradient(135deg,#071127 0%,#09152f 58%,#142957 100%); }
.topbar .eyebrow,.hero-promises b { color:#70f2f3; }
.search-form button,
.primary-button,
.listing-form-actions .primary-button { background:linear-gradient(135deg,var(--sds-accent),var(--sds-accent-strong)); color:var(--sds-primary); box-shadow:0 8px 20px rgba(17,191,197,.22); }
.search-form button:hover,
.primary-button:hover,
.listing-form-actions .primary-button:hover { background:linear-gradient(135deg,#54eef0,var(--sds-accent)); color:var(--sds-primary); box-shadow:0 10px 24px rgba(17,191,197,.3); }
.secondary-button { border-color:#b8e9eb; background:#fff; color:var(--sds-primary); }
.secondary-button:hover { border-color:var(--sds-accent-strong); background:var(--sds-accent-soft); }
.result-quick-nav button.is-active { background:var(--sds-primary); color:var(--sds-accent); }
.result-quick-nav button:hover { background:var(--sds-accent-soft); color:#087e84; }
.result-quick-nav button.is-active:hover { background:#102348; color:#66f1f2; }
.recommend-answer-bubble { border-color:#bfecef; background:#f0fcfc; }
.recommend-answer-label,
.evidence-level-label strong,
.subscription-notice-summary summary,
.subscription-card-actions a { color:#087e84!important; }
.recommend-progress-track i,
.confidence-track i { background:linear-gradient(90deg,var(--sds-accent),var(--sds-accent-strong)); }
.ai-next-action { background:var(--sds-accent-soft); }
.ai-next-action span { background:#c9f4f5; color:#087e84; }

@media (max-width:720px) {
  .topbar { min-height:0; row-gap:22px; }
  .topbar .eyebrow { margin-bottom:11px; }
  .topbar h1 { line-height:1.2; }
  .topbar h1 > span + span { margin-top:7px; }
  .hero-description { margin-top:17px; line-height:1.65; }
}

/* Let the desktop hero follow its content instead of stretching empty grid rows. */
@media (min-width:901px) {
  .topbar {
    min-height:0;
    align-content:center;
    gap:28px 22px;
    padding-top:40px;
    padding-bottom:40px;
  }
  .signal-character-hero {
    align-self:center;
  }
}

/* Compact apartment facts: icon + label + value, two tiles per mobile row. */
.apartment-basic-info-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.apartment-basic-info-card,
.apartment-basic-info-card.is-wide:last-child {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-areas:"icon label" "icon value" "icon meta";
  align-content:center;
  align-items:center;
  column-gap:9px;
  row-gap:1px;
  min-height:82px;
  padding:12px 14px;
}
.apartment-basic-info-card.is-wide { grid-column:span 2; }
.apartment-basic-info-card.is-wide:last-child { grid-column:1 / -1; }
.apartment-basic-info-icon { grid-area:icon; display:grid; width:34px; height:34px; margin:0!important; place-items:center; border-radius:11px; background:#edf3ff; color:#315fcf; font-size:17px; font-weight:900; }
.apartment-basic-info-icon > span { margin:0!important; color:inherit; font:inherit; }
.apartment-basic-info-label { grid-area:label; margin:0!important; font-size:10px!important; }
.apartment-basic-info-card strong { grid-area:value; font-size:17px; line-height:1.25; }
.apartment-basic-info-card small { grid-area:meta; margin:2px 0 0!important; font-size:10px; line-height:1.35; }
.apartment-location-map-wrap { margin-top:10px; padding:12px; }
.apartment-location-map-wrap iframe { height:160px; }

@media (max-width:900px) {
  .apartment-basic-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .apartment-basic-info-card,
  .apartment-basic-info-card.is-wide:last-child { min-height:78px; padding:11px 12px; }
  .apartment-basic-info-card.is-wide { grid-column:span 2; }
}

@media (max-width:380px) {
  .apartment-basic-info-card,
  .apartment-basic-info-card.is-wide:last-child { grid-template-columns:30px minmax(0,1fr); column-gap:7px; padding:10px; }
  .apartment-basic-info-icon { width:30px; height:30px; border-radius:9px; font-size:15px; }
  .apartment-basic-info-card strong { font-size:15px; }
}

@media (max-width:520px) {
  .decision-card .coverage-panel {
    min-height:196px;
    gap:24px;
    padding:20px 18px;
  }
  .decision-card .coverage-panel > div:last-child {
    flex-basis:190px;
    width:min(190px,calc(100% - 100px));
    max-width:190px;
  }
}

/* Combined text-entry control: the outer shell owns the focus state. */
.search-form {
  border-color:rgba(255,255,255,.58);
  background:#fff;
  transition:border-color var(--sds-motion),box-shadow var(--sds-motion);
}
.search-form:focus-within {
  border-color:var(--sds-accent);
  box-shadow:0 0 0 3px rgba(34,223,225,.2),0 18px 55px rgba(1,8,24,.28);
}
.search-form input:not([type="checkbox"]):not([type="radio"]) {
  border:0!important;
  background:transparent!important;
  outline:0!important;
  box-shadow:none!important;
}
.search-form input:not([type="checkbox"]):not([type="radio"]):focus {
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Typography hierarchy v1.0
   Display > page > section > subsection > card > body > support > caption. */
:root {
  --type-display: clamp(38px,3.7vw,53px);
  --type-page: clamp(28px,2.4vw,34px);
  --type-section: clamp(21px,1.8vw,24px);
  --type-subsection: 18px;
  --type-card: 16px;
  --type-body: 14px;
  --type-body-small: 13px;
  --type-label: 12px;
  --type-caption: 11px;
  --type-metric-xl: clamp(32px,3vw,42px);
  --type-metric-lg: 28px;
  --type-metric-md: 24px;
  --leading-heading: 1.28;
  --leading-body: 1.65;
  --tracking-heading: -.035em;
}

body { font-size:var(--type-body); line-height:var(--leading-body); }
.topbar h1 { font-size:var(--type-display)!important; line-height:1.08; }
.hero-description { font-size:16px!important; line-height:1.6!important; }

/* Page and major section headings */
.page-heading h1,
.page-heading h2,
.dashboard-title h2,
.result-zone-heading h2,
.subscription-intro h2 {
  font-size:var(--type-page)!important;
  line-height:var(--leading-heading)!important;
  letter-spacing:var(--tracking-heading)!important;
}
.section-heading h2,
.listing-evaluation-heading h2,
.recommend-page-heading h2,
.compare-page-heading h2,
.subscription-results h2,
.subscription-profile-heading h3 {
  font-size:var(--type-section)!important;
  line-height:var(--leading-heading)!important;
  letter-spacing:var(--tracking-heading)!important;
}

/* Subsections, cards and question titles */
.subsection-heading h3,
.evaluation-subgroup-heading h3,
.listing-card-heading h3,
.subscription-filter-question-bubble h3,
.decision-ai-summary h3 {
  font-size:var(--type-subsection)!important;
  line-height:1.4!important;
  letter-spacing:-.025em!important;
}
.card h3,
.discovery-card h3,
.subscription-card-heading h3,
.market-cycle-step strong,
.recommend-question-bubble h3,
.offer-benchmark-card strong,
.alternative-difference-grid section > strong {
  font-size:var(--type-card)!important;
  line-height:1.45!important;
}

/* Body copy and controls */
p,
li,
td,
input,
select,
textarea,
button,
.search-form input,
.recommend-single-field,
.subscription-single-field {
  font-size:var(--type-body)!important;
}
p,
li,
.section-heading > div > p,
.subsection-heading > div > p,
.evaluation-subgroup-heading p,
.discovery-card-reason,
.subscription-filter-question-bubble p {
  line-height:var(--leading-body)!important;
}
th,
label,
legend,
.nav-item,
.result-quick-nav button,
.subscription-alert-toggle,
.subscription-region-options label {
  font-size:var(--type-body-small)!important;
}

/* Supporting metadata never drops below 11px. */
small,
.eyebrow,
.ai-conversation-label,
.recommend-answer-label,
.subscription-card-heading small,
.subscription-offer-facts small,
.subscription-source-note,
.subscription-profile-caveat,
.discovery-card-meta,
.alternative-market-stage,
.market-cycle-legend,
.market-cycle-scope-note,
.table-note {
  font-size:var(--type-caption)!important;
  line-height:1.55!important;
}
.eyebrow,
.ai-conversation-label,
.recommend-answer-label,
.evaluation-subgroup-heading > span,
.subscription-filter-answer-label {
  font-weight:850;
  letter-spacing:.04em;
}

/* Numbers carry more visual weight than their labels. */
.signal-score strong { font-size:var(--type-metric-xl)!important; line-height:1!important; }
.metric-card strong,
.evidence-value,
.subscription-information-score strong,
.subscription-price-competitiveness strong {
  font-size:var(--type-metric-md)!important;
  line-height:1.2!important;
}
.market-cycle-current strong,
.offer-benchmark-card .benchmark-value,
.price-signal strong {
  font-size:var(--type-metric-lg)!important;
  line-height:1.15!important;
}

@media (max-width:760px) {
  :root {
    --type-display:34px;
    --type-page:27px;
    --type-section:21px;
    --type-subsection:17px;
    --type-card:15px;
    --type-body:14px;
    --type-body-small:13px;
    --type-caption:11px;
  }
}

/* Semantic accent system v1.0
   Signal colors live on a left rail or a traffic light, never as decorative edges. */
:root {
  --signal-red:#f12939;
  --signal-yellow:#fdb605;
  --signal-green:#1eb36e;
  --signal-off:#273652;
  --semantic-accent-width:5px;
}

/* Explanatory and selected/current content uses the brand accent. */
.market-cycle-explanation > div,
.offer-result-next-action {
  border-top:0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:4px solid var(--sds-accent)!important;
}

/* Direction/impact cards share one left-rail construction. */
.market-event-card {
  border-top:1px solid var(--sds-border)!important;
  border-left-width:var(--semantic-accent-width)!important;
}
.market-event-card[data-direction="up"] { border-left-color:var(--signal-green)!important; }
.market-event-card[data-direction="down"] { border-left-color:var(--signal-red)!important; }
.evidence-card { overflow:hidden; padding-left:21px; }
.evidence-card::after {
  top:14px!important;
  right:auto!important;
  bottom:14px!important;
  left:0!important;
  width:var(--semantic-accent-width)!important;
  height:auto!important;
  border-radius:0 999px 999px 0!important;
  background:#aab4c2!important;
}
.evidence-card[data-impact="positive"]::after { background:var(--signal-green)!important; }
.evidence-card[data-impact="negative"]::after { background:var(--signal-red)!important; }
.evidence-card[data-impact="caution"]::after { background:var(--signal-yellow)!important; }

/* One palette across the judgement, market-cycle and legend shapes. */
.decision-card[data-signal="red"]::before { background:var(--signal-red)!important; }
.decision-card[data-signal="yellow"]::before { background:var(--signal-yellow)!important; }
.decision-card[data-signal="green"]::before { background:var(--signal-green)!important; }
.cycle-stage-button[data-signal="red"],.market-cycle-step[data-signal="red"],.market-cycle-position-bar > span[data-signal="red"] { --cycle-color:var(--signal-red)!important; }
.cycle-stage-button[data-signal="yellow"],.market-cycle-step[data-signal="yellow"],.market-cycle-position-bar > span[data-signal="yellow"] { --cycle-color:var(--signal-yellow)!important; }
.cycle-stage-button[data-signal="green"],.market-cycle-step[data-signal="green"],.market-cycle-position-bar > span[data-signal="green"] { --cycle-color:var(--signal-green)!important; }
.market-cycle-legend span[data-signal="red"] i { background:var(--signal-red)!important; }
.market-cycle-legend span[data-signal="yellow"] i { background:var(--signal-yellow)!important; }
.market-cycle-legend span[data-signal="green"] i { background:var(--signal-green)!important; }

/* All compact traffic lights use the same housing and illuminated colors. */
.buying-signal,
.cycle-traffic-light,
.alternative-traffic-light,
.subscription-mini-light {
  background:var(--sds-primary)!important;
  border-color:rgba(255,255,255,.16)!important;
}
.buying-signal i,
.cycle-traffic-light i,
.alternative-traffic-light i,
.subscription-mini-light i {
  background:var(--signal-off)!important;
  box-shadow:none!important;
  opacity:1!important;
}
.buying-signal[data-signal="red"] .signal-red,
.cycle-traffic-light[data-signal="red"] i.red,
.alternative-traffic-light[data-signal="red"] i:nth-child(1) {
  background:var(--signal-red)!important;
  box-shadow:0 0 12px rgba(241,41,57,.72)!important;
}
.buying-signal[data-signal="yellow"] .signal-yellow,
.cycle-traffic-light[data-signal="yellow"] i.yellow,
.alternative-traffic-light[data-signal="yellow"] i:nth-child(2),
.subscription-mini-light[data-signal="yellow"] i:nth-child(2) {
  background:var(--signal-yellow)!important;
  box-shadow:0 0 12px rgba(253,182,5,.72)!important;
}
.buying-signal[data-signal="green"] .signal-green,
.cycle-traffic-light[data-signal="green"] i.green,
.alternative-traffic-light[data-signal="green"] i:nth-child(3),
.subscription-mini-light[data-signal="green"] i:nth-child(3) {
  background:var(--signal-green)!important;
  box-shadow:0 0 12px rgba(30,179,110,.72)!important;
}

/* Approved 3-light BI: all lamps stay on; judgement lights remain state-based. */
.brand { gap:14px; }
.brand > .traffic-logo {
  display:grid;
  width:38px;
  height:68px;
  flex:0 0 38px;
  grid-template-rows:repeat(3,14px);
  align-content:center;
  justify-content:center;
  gap:6px;
  border:0;
  border-radius:15px;
  padding:0;
  background:#152746;
  box-shadow:0 10px 24px rgba(0,0,0,.26),inset 0 0 0 1px rgba(255,255,255,.06);
}
.brand > .traffic-logo i { width:14px; height:14px; border-radius:50%; }
.brand > .traffic-logo i:nth-child(1) { background:#f12939; box-shadow:0 0 8px rgba(241,41,57,.5); }
.brand > .traffic-logo i:nth-child(2) { background:#fdb605; box-shadow:0 0 8px rgba(253,182,5,.5); }
.brand > .traffic-logo i:nth-child(3) { background:#1eb36e; box-shadow:0 0 8px rgba(30,179,110,.5); }
.brand-name { color:#fff; font-weight:850; }

@media (max-width:900px) {
  .brand > .traffic-logo { width:32px; height:56px; flex-basis:32px; grid-template-rows:repeat(3,11px); gap:4px; border-radius:12px; }
  .brand > .traffic-logo i { width:11px; height:11px; }
}

@media (max-width:520px) {
  .brand > .traffic-logo { width:30px; height:52px; flex-basis:30px; grid-template-rows:repeat(3,10px); }
  .brand > .traffic-logo i { width:10px; height:10px; }
}

/* Every page shares one left-aligned hero copy baseline. */
.topbar,
.topbar.recommend-mode {
  justify-content:stretch;
  text-align:left;
}
.topbar > div:first-of-type,
.topbar.recommend-mode > div:first-of-type {
  justify-self:start;
  width:100%;
  text-align:left;
}
.topbar .hero-promises { justify-content:flex-start; }
.account-alert-management{grid-column:1/-1}
.account-section{max-width:var(--page-max-width,1380px);margin:0 auto}.account-panel{border-radius:24px;padding:32px;border:1px solid var(--sds-border);box-shadow:var(--sds-shadow-sm)}.account-panel>h2{margin:8px 0 10px;color:#09162f}.account-panel>p{color:#627087}.account-tabs{display:flex;gap:8px;margin:28px 0 18px}.account-tab{min-height:44px;padding:0 24px;border:1px solid #d7e1ea;border-radius:12px;background:#fff;color:#09162f;font-weight:800}.account-tab.active{border-color:#22dfe1;background:#dffbfc}.account-form{display:grid;gap:15px;max-width:520px}.account-form label{display:grid;gap:7px;color:#09162f;font-size:13px;font-weight:800}.account-form input{min-height:50px;border:1px solid rgba(9,22,47,.24);border-radius:12px;padding:0 14px;background:#fff;color:#09162f;font:inherit}.account-form input:focus{border-color:#22dfe1;outline:3px solid rgba(34,223,225,.18)}.account-form small{color:#68758a;font-weight:500}.account-form .primary-button{margin-top:4px}.account-status{min-height:22px;margin:14px 0 0!important;color:#b42318!important}.account-member-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.account-member-heading h2{margin:8px 0;color:#fff}.account-member-heading p{margin:0;color:#b9c9dc}.account-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.account-summary-grid article{border-radius:18px;background:#fff;padding:22px;color:#09162f}.account-summary-grid span{font-size:12px;color:#65738a}.account-summary-grid strong{display:block;margin:8px 0;font-size:24px}.account-summary-grid p{margin:0;color:#65738a;font-size:13px}.local-import-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;border:1px solid #22dfe1;border-radius:16px;padding:18px;background:rgba(34,223,225,.08);color:#fff}.local-import-panel p{margin:5px 0 0;color:#bfd1e2}.account-danger-zone{margin-top:28px;border-top:1px solid rgba(255,255,255,.2);padding-top:22px;color:#fff}.account-danger-zone h3{margin:0 0 6px}.account-danger-zone p{color:#b9c9dc}.account-danger-zone .secondary-button{background:#fff;color:#09162f}@media(max-width:760px){.account-panel{padding:22px 16px}.account-summary-grid{grid-template-columns:1fr}.account-member-heading,.local-import-panel{align-items:stretch;flex-direction:column}}
.account-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.account-management-card{border-radius:18px;background:#fff;padding:22px;color:#09162f}.account-evaluation-management{grid-column:1/-1}.account-management-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.account-management-heading span{color:#0e8f96;font-size:11px;font-weight:850}.account-management-heading h3{margin:5px 0 0;font-size:19px}.account-management-heading .secondary-button{min-height:38px;padding:0 14px}.account-detail-list{display:flex;flex-wrap:wrap;gap:8px}.account-detail-list span{border-radius:999px;background:#eef8f9;padding:8px 11px;color:#284055;font-size:12px}.account-detail-list p,.account-record-list>p{margin:0;color:#6b788c;font-size:13px}.account-text-button{margin-top:14px;border:0;background:transparent;padding:0;color:#53647a;font-size:12px;text-decoration:underline}.account-record-list{display:grid;gap:10px}.account-record-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e0e7ee;border-radius:13px;padding:13px 14px}.account-record-item strong{display:block;font-size:14px}.account-record-item p{margin:4px 0 0;color:#6b788c;font-size:11px}.account-record-actions{display:flex;gap:7px;flex-shrink:0}.account-record-actions button{min-height:34px;border:1px solid #d9e3eb;border-radius:9px;background:#fff;padding:0 10px;color:#23364e;font-size:11px;font-weight:800}.account-record-actions button:hover{border-color:#22dfe1;background:#effcfc}@media(max-width:760px){.account-management-grid{grid-template-columns:1fr}.account-evaluation-management{grid-column:auto}.account-management-heading,.account-record-item{align-items:stretch;flex-direction:column}.account-record-actions button{flex:1}}
.account-security-management{grid-column:1/-1}.account-security-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px}.account-security-form label{display:grid;gap:7px;color:#09162f;font-size:12px;font-weight:800}.account-security-form input{min-height:46px;border:1px solid rgba(9,22,47,.24);border-radius:11px;padding:0 13px;background:#fff;color:#09162f;font:inherit}.account-security-form input:focus{border-color:#22dfe1;outline:3px solid rgba(34,223,225,.18)}.account-security-form small{min-height:16px;color:#68758a;font-weight:500}.account-security-form .primary-button{min-height:46px}.account-security-status{grid-column:1/-1;min-height:18px;margin:0;color:#b42318;font-size:12px}@media(max-width:980px){.account-security-form{grid-template-columns:1fr 1fr}.account-security-form label:first-child{grid-column:1/-1}}@media(max-width:760px){.account-security-management{grid-column:auto}.account-security-form{grid-template-columns:1fr}.account-security-form label:first-child,.account-security-status{grid-column:auto}}
.account-email-state{display:flex;align-items:center;gap:10px;margin-top:10px}.account-email-state span{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:6px 10px;color:#d8e4f0;font-size:11px;font-weight:800}.account-email-state span.verified{border-color:#22dfe1;background:rgba(34,223,225,.12);color:#70f2f3}.account-email-state .account-text-button{margin:0;color:#70f2f3}.account-delivery-status{min-height:18px;margin:12px 0 0;color:#b9c9dc;font-size:12px}.account-delivery-status a,.account-status a{color:#0e8f96;font-weight:800}.account-member .account-delivery-status a{color:#70f2f3}.account-form>h3{margin:0;color:#09162f}.account-form>p{margin:0;color:#627087;font-size:13px}
.social-login-group{display:grid;gap:10px;max-width:520px;margin-top:24px}.social-login-button{min-height:50px;border:0;border-radius:12px;font-size:14px;font-weight:850}.social-login-button.kakao{background:#fee500;color:#191919}.social-login-button.naver{background:#03c75a;color:#fff}.social-login-button:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.48}.social-login-group p{margin:2px 0 0;color:#68758a;font-size:12px}.account-login-divider{display:flex;align-items:center;gap:12px;max-width:520px;margin:22px 0;color:#7a8799;font-size:11px}.account-login-divider::before,.account-login-divider::after{height:1px;background:#dce4eb;content:"";flex:1}.account-legal-links{max-width:520px;margin:18px 0 0!important;font-size:11px!important}.account-legal-links button{border:0;background:transparent;padding:0;color:#0e8f96;font-weight:800;text-decoration:underline}.account-oauth-management{grid-column:1/-1}.oauth-connection-list{display:grid;gap:10px}.legal-section{max-width:var(--page-max-width,1380px);margin:0 auto;border:1px solid var(--sds-border);border-radius:24px;background:#fff;padding:38px;color:#09162f}.legal-section>h2{margin:8px 0 18px;font-size:32px}.legal-section article{padding:20px 0;border-top:1px solid #e2e9ef}.legal-section article h3{margin:0 0 8px;font-size:17px}.legal-section article p{margin:0;color:#53647a;line-height:1.75}.legal-notice{border-left:4px solid #22dfe1;border-radius:10px;background:#effcfc;padding:15px;color:#284055;line-height:1.65}.legal-back{margin:0 0 18px}@media(max-width:760px){.legal-section{padding:24px 18px;border-radius:18px}.legal-section>h2{font-size:26px}}
