/* MAIN_HOME_APPROVED_REFERENCE_v1.png is the visual source of truth. */
:root { --home-bg:#020611; --home-surface:#061524; --home-line:rgba(129,174,220,.36); --home-cyan:#00e5ff; --home-purple:#a986ff; --home-muted:#9eacc4; --home-radius:17px; }
.home-landing { width:min(100%,920px); margin:0 auto; padding:0 0 22px; color:#f7faff; }
.home-header { display:flex; align-items:center; justify-content:space-between; min-height:68px; padding:0 10px; border-bottom:1px solid rgba(54,123,181,.3); }
.home-brand,.home-header-icon { border:0; background:transparent; color:#f7faff; }.home-brand { display:flex; align-items:center; gap:8px; padding:0; font-size:20px; font-weight:800; letter-spacing:-.06em; }.home-brand img { width:45px; height:48px; object-fit:contain; filter:drop-shadow(0 0 8px rgba(0,229,255,.3)); }
.home-header-actions { display:flex; align-items:center; gap:7px; }.home-header-icon { position:relative; display:flex; align-items:center; justify-content:center; min-width:37px; height:37px; padding:0; border-radius:10px; font-size:23px; }.home-header-icon:hover,.home-header-icon:focus-visible { background:rgba(0,229,255,.1); color:var(--home-cyan); }.home-header-icon i { position:absolute; top:0; right:0; min-width:16px; border-radius:10px; background:#ff3643; color:#fff; font-size:10px; font-style:normal; line-height:16px; }
#home-account-action { order:-1; gap:4px; font-size:19px; }#home-account-action::after { content:"로그인"; font-family:inherit; font-size:14px; font-weight:600; white-space:nowrap; }
.home-hero { display:grid; justify-items:center; padding:40px 0 20px; text-align:center; }.home-hero-symbol { width:104px; height:104px; object-fit:contain; filter:drop-shadow(0 0 19px rgba(0,229,255,.31)); }.home-hero h1 { margin:10px 0 7px; font-size:clamp(39px,5.2vw,59px); letter-spacing:-.075em; line-height:1.08; }.home-hero p { margin:0; color:var(--home-cyan); font-size:clamp(17px,2.15vw,22px); font-weight:800; letter-spacing:-.045em; }
.home-search-slot { position:relative; width:min(100%,720px); margin:0 auto 28px; }.home-search-slot .search-area { width:100%; }.home-search-slot .search-form { min-height:68px; padding:7px 7px 7px 21px; border:2px solid rgba(194,252,255,.92); border-radius:18px; background:#fbfcff; box-shadow:0 0 0 3px rgba(0,229,255,.16),0 0 25px rgba(0,229,255,.32); }.home-search-slot .search-icon { color:#27466f; font-size:24px; }.home-search-slot .search-form input { color:#1c3153; font-size:17px; }.home-search-slot .search-form input::placeholder { color:#7182a0; }.home-search-slot .search-form button { min-width:118px; min-height:52px; border:0; border-radius:13px; background:linear-gradient(135deg,#14e9f8,#11bfd2); color:#012a3a; font-size:17px; font-weight:800; box-shadow:inset 0 1px rgba(255,255,255,.45),0 5px 17px rgba(0,229,255,.35); }
.home-shortcuts { display:grid; grid-template-columns:repeat(4,1fr); width:min(100%,646px); margin:0 auto 36px; overflow:hidden; border:1px solid var(--home-line); border-radius:13px; background:rgba(5,18,33,.88); }.home-shortcut { display:grid; min-height:100px; place-items:center; align-content:center; gap:6px; border:0; border-right:1px solid rgba(129,174,220,.28); background:transparent; color:#f7faff; }.home-shortcut:last-child { border-right:0; }.home-shortcut span { color:var(--home-cyan); font-size:32px; line-height:1; text-shadow:0 0 13px rgba(0,229,255,.58); }.home-shortcut:nth-child(2) span,.home-shortcut:nth-child(3) span { color:#c17aff; }.home-shortcut strong { font-size:14px; letter-spacing:-.05em; }.home-shortcut small { display:none; }.home-shortcut:not(:disabled):hover,.home-shortcut:not(:disabled):focus-visible { background:rgba(0,229,255,.09); }.home-shortcut:disabled { cursor:not-allowed; opacity:.82; }
.home-market-signal,.home-ai-briefing { border:1px solid rgba(0,229,255,.5); border-radius:var(--home-radius); background:radial-gradient(circle at 80% 38%,rgba(0,229,255,.13),transparent 27%),linear-gradient(125deg,#071a2a,#04101d); box-shadow:0 15px 36px rgba(0,0,0,.25); }.home-market-signal { padding:25px 34px 17px; }.home-card-heading { display:flex; justify-content:space-between; gap:14px; align-items:center; }.home-card-heading p { margin:0; font-size:20px; font-weight:800; letter-spacing:-.05em; }.home-card-heading p span { display:inline-grid; width:19px; height:19px; place-items:center; border:1px solid var(--home-muted); border-radius:50%; color:var(--home-muted); font-size:12px; }.home-card-heading small { color:var(--home-muted); }.home-market-content { display:grid; grid-template-columns:minmax(0,1fr) 258px; align-items:center; min-height:250px; gap:24px; }.home-market-content h2 { margin:8px 0 10px; color:#e8f0fc; font-size:clamp(28px,3.2vw,39px); letter-spacing:-.08em; }.home-market-content p { max-width:390px; margin:0; color:#b7c4d8; line-height:1.58; }.home-pending-score { display:block; margin-top:18px; color:#e8f0fc; font-size:clamp(46px,6vw,72px); letter-spacing:-.08em; line-height:.9; }.home-pending-score small { color:#aebbd0; font-size:17px; font-weight:500; letter-spacing:0; }.home-pending-change { display:block; margin-top:14px; color:#aebbd0; font-size:14px; }.home-signal-orbit { position:relative; display:grid; width:230px; height:230px; place-items:center; justify-self:end; border-radius:50%; background:conic-gradient(from 205deg,transparent 0 8%,#ffbf17 9% 24%,transparent 25% 38%,#22e58b 39% 70%,transparent 71% 100%); -webkit-mask:radial-gradient(circle,transparent 61%,#000 62%); mask:radial-gradient(circle,transparent 61%,#000 62%); }.home-signal-orbit::before { position:absolute; inset:12px; border:6px solid rgba(47,76,112,.55); border-radius:50%; content:""; }.home-signal-orbit img { position:relative; z-index:1; width:166px; height:166px; object-fit:contain; filter:drop-shadow(0 0 16px rgba(0,229,255,.28)); }.home-signal-orbit i { position:absolute; z-index:2; right:22px; bottom:42px; width:14px; height:14px; border-radius:50%; background:#eaf3f7; box-shadow:0 0 0 3px rgba(234,243,247,.28); }.home-signal-scale { display:grid; grid-template-columns:auto 1fr auto 1fr auto; align-items:center; gap:7px; color:#d5deed; font-size:13px; }.home-signal-scale i { height:8px; border-radius:8px; background:linear-gradient(90deg,#ff4d4d,#ffc107,#a3e03c,#22e58b); }
.home-ai-briefing { display:grid; grid-template-columns:144px minmax(0,1fr) auto; align-items:center; gap:18px; margin-top:18px; padding:14px 26px 12px 14px; border-color:rgba(128,180,223,.4); }.home-ai-briefing img { width:130px; height:130px; object-fit:contain; }.home-ai-briefing h2 { margin:0 0 8px; color:var(--home-cyan); font-size:21px; letter-spacing:-.05em; }.home-ai-briefing p { margin:0; color:#d2dced; line-height:1.62; }.home-ai-briefing button { min-height:44px; border:1px solid rgba(171,196,222,.55); border-radius:9px; background:transparent; color:#cbd8e9; padding:0 18px; }
body:has(.home-landing:not(.hidden)) .topbar,body:has(.home-landing:not(.hidden)) .sidebar { display:none!important; }body:has(.home-landing:not(.hidden)) .main-content { margin-left:0; padding:0 24px 98px; }body:has(.home-landing:not(.hidden)) .service-footer,body:has(.home-landing:not(.hidden)) .feedback-floating-button { display:none; }
@media (max-width:900px) { body:has(.home-landing:not(.hidden)) .main-content { padding:0 12px 86px; }.home-landing { padding-bottom:8px; }.home-header { min-height:65px; padding:0 5px; }.home-brand { font-size:18px; }.home-brand img { width:39px; height:43px; }.home-header-actions { gap:1px; }.home-header-icon { min-width:35px; height:35px; font-size:20px; }#home-account-action::after { font-size:12px; }.home-hero { padding:32px 0 23px; }.home-hero-symbol { width:88px; height:88px; }.home-hero h1 { margin:11px 0 7px; font-size:37px; }.home-hero p { font-size:16px; }.home-search-slot { margin-bottom:38px; }.home-search-slot .search-form { min-height:62px; padding:5px 5px 5px 14px; border-radius:16px; }.home-search-slot .search-form input { font-size:14px; }.home-search-slot .search-form button { min-width:82px; min-height:50px; border-radius:12px; font-size:15px; }.home-shortcuts { width:100%; margin-bottom:46px; border-radius:12px; }.home-shortcut { min-height:80px; gap:3px; }.home-shortcut span { font-size:28px; }.home-shortcut strong { font-size:12px; white-space:nowrap; }.home-market-signal { padding:20px 18px 14px; }.home-card-heading p { font-size:18px; }.home-card-heading small { display:none; }.home-market-content { grid-template-columns:minmax(0,1fr) 145px; min-height:213px; gap:0; }.home-market-content h2 { margin:9px 0 8px; font-size:25px; }.home-market-content p { font-size:12px; }.home-pending-score { margin-top:16px; font-size:43px; }.home-pending-change { margin-top:12px; font-size:12px; }.home-signal-orbit { width:142px; height:142px; }.home-signal-orbit::before { inset:8px; border-width:4px; }.home-signal-orbit img { width:108px; height:108px; }.home-signal-orbit i { right:14px; bottom:26px; width:10px; height:10px; }.home-signal-scale { gap:6px; font-size:12px; }.home-signal-scale i { height:7px; }.home-ai-briefing { grid-template-columns:102px minmax(0,1fr); gap:8px; margin-top:26px; padding:10px 12px 11px 6px; }.home-ai-briefing img { width:100px; height:100px; }.home-ai-briefing h2 { margin-bottom:5px; font-size:17px; }.home-ai-briefing p { font-size:11px; line-height:1.55; }.home-ai-briefing button { grid-column:1 / -1; width:100%; min-height:36px; font-size:13px; }body:has(.home-landing:not(.hidden)) .mobile-bottom-nav { border:1px solid rgba(128,180,223,.38); border-radius:0; background:linear-gradient(100deg,#04101d,#071b2e); }.mobile-bottom-nav .mobile-nav-item { min-height:60px; font-size:0; }.mobile-bottom-nav .mobile-nav-item span:first-child { font-size:26px; }.mobile-bottom-nav .mobile-nav-item span:last-child { display:none; }.mobile-bottom-nav .mobile-nav-item::after { color:#8798bd; font-size:12px; font-weight:600; }.mobile-bottom-nav .mobile-nav-item:nth-child(1)::after { content:"홈"; }.mobile-bottom-nav .mobile-nav-item:nth-child(2)::after { content:"AI 브리핑"; }.mobile-bottom-nav .mobile-nav-item:nth-child(3)::after { content:"관심 아파트"; }.mobile-bottom-nav .mobile-nav-item:nth-child(4)::after { content:"우리집"; }.mobile-bottom-nav .mobile-nav-item.active::after { color:var(--home-cyan); } }

/* Keep the signal symbol visible inside the decorative score ring. */
.home-signal-orbit { background:none; -webkit-mask:none; mask:none; }
.home-signal-orbit::before { z-index:0; }
.home-signal-orbit::after { position:absolute; z-index:0; inset:0; border-radius:50%; background:conic-gradient(from 205deg,transparent 0 8%,#ffbf17 9% 24%,transparent 25% 38%,#22e58b 39% 70%,transparent 71% 100%); -webkit-mask:radial-gradient(circle,transparent 61%,#000 62%); mask:radial-gradient(circle,transparent 61%,#000 62%); content:""; }

/* Final proportional tuning against MAIN_HOME_APPROVED_REFERENCE_v1.png. */
.home-header-icon > span { font-size:0; width:20px; height:20px; background:center / contain no-repeat; }
#home-account-action > span { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f7faff' stroke-width='1.8'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M4.8 20c.7-4 3.1-6 7.2-6s6.5 2 7.2 6'/%3E%3C/svg%3E"); }
#home-alert-action > span { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f7faff' stroke-width='1.8'%3E%3Cpath d='M18 9a6 6 0 0 0-12 0c0 7-2.2 7.4-2.2 8.8h16.4C20.2 16.4 18 16 18 9Z'/%3E%3Cpath d='M10 21h4'/%3E%3C/svg%3E"); }

@media (min-width:901px) {
  .home-landing { width:min(100%,1100px); padding-bottom:112px; }
  .home-header { min-height:80px; padding:0 15px; }
  .home-brand { font-size:23px; }.home-brand img { width:54px; height:58px; }
  .home-header-actions { gap:13px; }.home-header-icon { min-width:43px; height:43px; }.home-header-icon > span { width:23px; height:23px; }#home-account-action::after { font-size:16px; }
  .home-hero { padding:62px 0 32px; }.home-hero-symbol { width:128px; height:128px; }.home-hero h1 { margin:15px 0 10px; font-size:66px; }.home-hero p { font-size:24px; }
  .home-search-slot { width:min(100%,850px); margin-bottom:35px; }.home-search-slot .search-form { min-height:79px; padding-left:26px; border-radius:21px; }.home-search-slot .search-icon { font-size:27px; }.home-search-slot .search-form input { font-size:19px; }.home-search-slot .search-form button { min-width:142px; min-height:63px; border-radius:16px; font-size:19px; }
  .home-shortcuts { width:min(100%,780px); margin-bottom:44px; border-radius:15px; }.home-shortcut { min-height:122px; gap:9px; }.home-shortcut span { font-size:39px; }.home-shortcut strong { font-size:16px; }
  .home-market-signal { padding:29px 40px 20px; }.home-card-heading p { font-size:22px; }.home-market-content { grid-template-columns:minmax(0,1fr) 310px; min-height:292px; gap:38px; }.home-market-content h2 { margin:10px 0 13px; font-size:44px; }.home-market-content p { max-width:475px; font-size:17px; }.home-pending-score { margin-top:24px; font-size:80px; }.home-pending-score small { font-size:20px; }.home-pending-change { margin-top:18px; font-size:16px; }.home-signal-orbit { width:282px; height:282px; }.home-signal-orbit::before { inset:14px; border-width:7px; }.home-signal-orbit img { width:210px; height:210px; }.home-signal-orbit i { right:28px; bottom:51px; width:17px; height:17px; }.home-signal-scale { font-size:15px; }.home-signal-scale i { height:9px; }
  .home-ai-briefing { grid-template-columns:190px minmax(0,1fr) auto; min-height:168px; gap:24px; margin-top:22px; padding:13px 30px 13px 18px; }.home-ai-briefing img { width:180px; height:180px; }.home-ai-briefing h2 { font-size:25px; }.home-ai-briefing p { font-size:16px; }.home-ai-briefing button { min-height:48px; font-size:15px; }
  body:has(.home-landing:not(.hidden)) .mobile-bottom-nav { position:fixed; z-index:30; left:50%; right:auto; bottom:0; display:grid; width:min(100%,1100px); min-height:86px; transform:translateX(-50%); grid-template-columns:repeat(4,1fr); padding:7px 22px; border:1px solid rgba(128,180,223,.42); border-bottom:0; border-radius:18px 18px 0 0; background:linear-gradient(100deg,rgba(4,16,29,.98),rgba(7,27,46,.98)); box-shadow:0 -12px 35px rgba(0,0,0,.22); }.mobile-bottom-nav .mobile-nav-item { display:grid; min-height:67px; place-items:center; gap:4px; border:0; background:transparent; color:#8495b8; font-size:0; }.mobile-bottom-nav .mobile-nav-item span:first-child { font-size:29px; line-height:1; }.mobile-bottom-nav .mobile-nav-item span:last-child { display:none; }.mobile-bottom-nav .mobile-nav-item::after { font-size:14px; font-weight:600; }.mobile-bottom-nav .mobile-nav-item:nth-child(1)::after { content:"홈"; }.mobile-bottom-nav .mobile-nav-item:nth-child(2)::after { content:"AI 브리핑"; }.mobile-bottom-nav .mobile-nav-item:nth-child(3)::after { content:"관심 아파트"; }.mobile-bottom-nav .mobile-nav-item:nth-child(4)::after { content:"우리집"; }.mobile-bottom-nav .mobile-nav-item.active,.mobile-bottom-nav .mobile-nav-item.active::after { color:var(--home-cyan); }
}

@media (max-width:900px) {
  .home-header { min-height:69px; }.home-hero { padding:37px 0 27px; }.home-hero-symbol { width:94px; height:94px; }.home-hero h1 { margin-top:13px; font-size:39px; }.home-search-slot { margin-bottom:42px; }.home-search-slot .search-form { min-height:65px; }.home-shortcuts { margin-bottom:43px; }.home-shortcut { min-height:84px; }.home-market-content { min-height:232px; }.home-market-content h2 { font-size:27px; }.home-signal-orbit { width:154px; height:154px; }.home-signal-orbit img { width:122px; height:122px; }.home-ai-briefing { grid-template-columns:116px minmax(0,1fr); min-height:164px; }.home-ai-briefing img { width:116px; height:116px; }.home-ai-briefing p { font-size:11.5px; }.home-ai-briefing button { margin-top:3px; }
}

@media (min-width:901px) {
  /* Keep the complete desktop home composition above its bottom navigation. */
  .home-hero { padding:50px 0 24px; }.home-hero-symbol { width:116px; height:116px; }.home-hero h1 { font-size:60px; }.home-hero p { font-size:22px; }
  .home-search-slot { width:min(100%,790px); margin-bottom:30px; }.home-search-slot .search-form { min-height:74px; }.home-search-slot .search-form button { min-height:59px; }
  .home-shortcuts { width:min(100%,740px); margin-bottom:35px; }.home-shortcut { min-height:112px; }
  .home-market-signal { padding:25px 34px 18px; }.home-market-content { grid-template-columns:minmax(0,1fr) 280px; min-height:255px; gap:28px; }.home-market-content h2 { font-size:40px; }.home-pending-score { font-size:72px; }.home-signal-orbit { width:255px; height:255px; }.home-signal-orbit img { width:190px; height:190px; }
  .home-ai-briefing { grid-template-columns:148px minmax(0,1fr) auto; min-height:142px; margin-top:12px; }.home-ai-briefing img { width:142px; height:142px; }
  body:has(.home-landing:not(.hidden)) .mobile-bottom-nav { position:fixed; left:50%; right:auto; bottom:0; margin:0; transform:translateX(-50%); }
}

/* Final micro-tuning: retain the approved hierarchy while giving focal BI elements more presence. */
@media (min-width:901px) {
  .home-landing { width:min(100%,1140px); }.home-brand img { width:58px; height:62px; }
  .home-hero { padding:54px 0 22px; }.home-hero-symbol { width:122px; height:122px; }
  .home-pending-score { font-size:66px; }.home-signal-orbit { width:270px; height:270px; filter:drop-shadow(0 13px 16px rgba(0,0,0,.33)); }.home-signal-orbit::before { box-shadow:inset 0 0 24px rgba(0,229,255,.11),0 0 22px rgba(0,229,255,.09); }.home-signal-orbit img { width:204px; height:204px; filter:drop-shadow(0 0 22px rgba(0,229,255,.42)); }
  .home-ai-briefing { grid-template-columns:164px minmax(0,1fr) auto; }.home-ai-briefing img { width:158px; height:158px; }
  .mobile-bottom-nav .mobile-nav-item span:first-child { font-size:32px; }.mobile-bottom-nav .mobile-nav-item.active span:first-child { filter:drop-shadow(0 0 9px rgba(0,229,255,.72)); }
}

@media (max-width:900px) {
  .home-brand img { width:43px; height:47px; }.home-ai-briefing { grid-template-columns:132px minmax(0,1fr); min-height:176px; }.home-ai-briefing img { width:132px; height:132px; }.home-ai-briefing p { font-size:11px; line-height:1.48; }.home-signal-orbit { filter:drop-shadow(0 8px 12px rgba(0,0,0,.28)); }.home-signal-orbit img { filter:drop-shadow(0 0 16px rgba(0,229,255,.4)); }.mobile-bottom-nav .mobile-nav-item span:first-child { font-size:29px; }.mobile-bottom-nav .mobile-nav-item.active span:first-child { filter:drop-shadow(0 0 8px rgba(0,229,255,.72)); }
}
