
/* premium-system.css | 2026-05-19 Premium Typography & Grid System Patch
   반영 키워드: Pretendard Premium Typography System, 8px Grid Token, keep-all Korean, tabular number, pixel-perfect finance UI
*/
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css");

:root{
  --font-sans:"Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;
  --container-max:1180px;
  --container-wide:1280px;

  --space-0:0;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;
  --space-24:96px;

  --text-xs:.75rem;
  --text-sm:.875rem;
  --text-base:1rem;
  --text-md:1.0625rem;
  --text-lg:1.25rem;
  --text-xl:1.5rem;
  --text-2xl:2rem;
  --text-3xl:2.75rem;
  --text-4xl:4.5rem;

  --line-tight:1.08;
  --line-title:1.16;
  --line-normal:1.55;
  --line-relaxed:1.72;

  --tracking-tight:-.055em;
  --tracking-title:-.065em;
  --tracking-body:-.018em;
  --tracking-number:-.035em;

  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:24px;
  --radius-xl:32px;

  --brand-navy:#0f172a;
  --brand-navy-2:#172638;
  --brand-ink:#1e293b;
  --brand-muted:#64748b;
  --brand-bg:#f6f8fb;
  --brand-card:#ffffff;
  --brand-line:#e2e8f0;
  --brand-blue:#2563eb;
  --brand-emerald:#10b981;

  --shadow-card:0 16px 42px rgba(15,23,42,.075);
  --shadow-panel:0 24px 70px rgba(15,23,42,.11);
}

/* Global typography */
html{
  font-size:16px;
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}
body{
  font-family:var(--font-sans)!important;
  font-feature-settings:"tnum","kern";
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  word-break:keep-all;
  overflow-wrap:break-word;
  letter-spacing:var(--tracking-body);
  line-height:var(--line-normal);
}
body, p, li, span, label, input, select, textarea, button, a, small, div{
  word-break:keep-all;
  overflow-wrap:break-word;
}
p, li{
  line-height:var(--line-relaxed)!important;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-sans)!important;
  word-break:keep-all;
  overflow-wrap:break-word;
  color:var(--brand-navy);
  letter-spacing:var(--tracking-title);
  text-wrap:balance;
}
h1{
  font-size:clamp(2.5rem,5vw,4.9rem)!important;
  line-height:var(--line-tight)!important;
  font-weight:900!important;
}
h2{
  font-size:clamp(1.75rem,3.2vw,3rem)!important;
  line-height:var(--line-title)!important;
  font-weight:880!important;
}
h3{
  font-size:clamp(1.05rem,1.65vw,1.35rem)!important;
  line-height:1.28!important;
  font-weight:820!important;
}
h4{
  font-size:1rem!important;
  line-height:1.32!important;
  font-weight:800!important;
}
p{
  max-width:72ch;
  font-size:var(--text-base);
  color:var(--brand-muted);
}

/* Numeric / amount typography */
.metric strong,
.metric-value,
.result-number,
.amount-display,
.value,
.hero-result .value,
.trust-item strong,
.premium-dashboard-grid strong,
.policy-number-box strong,
.summary-card strong,
.won-display,
[class*="amount"],
[class*="score"],
[class*="price"],
[class*="limit"]{
  font-variant-numeric:tabular-nums!important;
  font-feature-settings:"tnum","kern"!important;
  letter-spacing:var(--tracking-number)!important;
}

/* 8px grid spacing */
.premium-home,
.page,
.wrap,
main{
  max-width:var(--container-max);
}
.premium-home,
.page,
.wrap{
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--space-4)!important;
  padding-right:var(--space-4)!important;
}
section{
  scroll-margin-top:var(--space-20);
}
.section-title,
.hero,
.app-title,
.diagnostic-hero{
  margin-left:auto;
  margin-right:auto;
}
.section-title{
  margin-top:var(--space-20)!important;
  margin-bottom:var(--space-8)!important;
}
.hero{
  padding-top:var(--space-10)!important;
  padding-bottom:var(--space-12)!important;
}
.hero-actions,
.main-cards,
.portal-grid,
.identity-grid,
.process,
.trust-row,
.info-grid,
.form-grid,
.card-grid,
.metric-grid,
.premium-dashboard-grid,
.context-links>div,
.recent-grid{
  gap:var(--space-4)!important;
}

/* Component alignment */
.main-card,
.portal-card,
.identity-wide-card,
.tool-card,
.form-card,
.diagnostic-intro-card,
.workspace,
.result-panel,
.premium-result-panel,
.premium-recent-dashboard,
.recent-report-dashboard,
.consulting-result-card,
.section{
  border-radius:var(--radius-lg)!important;
  border:1px solid var(--brand-line)!important;
  box-shadow:var(--shadow-card)!important;
}
.main-card,
.portal-card,
.identity-wide-card,
.form-card,
.diagnostic-intro-card,
.premium-result-panel,
.premium-recent-dashboard,
.recent-report-dashboard,
.section{
  padding:var(--space-6)!important;
}
.tool-card{
  padding:var(--space-5)!important;
  min-height:128px!important;
}
.portal-card{
  min-height:132px!important;
}
.identity-wide-card{
  min-height:320px!important;
}
button,
.btn,
.primary-wide,
.calc-btn,
.go-hub-btn,
.policy-detail-btn,
.report-actions button{
  min-height:48px!important;
  border-radius:14px!important;
  font-family:var(--font-sans)!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
}
input,
select,
textarea{
  min-height:44px!important;
  border-radius:12px!important;
  font-family:var(--font-sans)!important;
  font-size:.95rem!important;
  letter-spacing:-.015em!important;
}

/* Text line clamps for card consistency */
.portal-card h3,
.main-card h2,
.tool-card h3{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.portal-card p,
.main-card p,
.tool-card small{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Premium focus state */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(37,99,235,.25)!important;
  outline-offset:3px!important;
}

/* Flag icon cleanup */
.flag-icon,
.flag-img,
.i18n-flag,
.lang-switch .flag-img,
.global-lang-switch .i18n-flag{
  width:30px!important;
  height:20px!important;
  min-width:30px!important;
  flex:0 0 30px!important;
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  mix-blend-mode:multiply!important;
}
.flag-icon svg,
.flag-img svg,
.i18n-flag svg,
.flag-icon img,
.flag-img img,
.i18n-flag img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  background:transparent!important;
  box-shadow:none!important;
  mix-blend-mode:multiply!important;
}

/* Mobile rhythm */
@media(max-width:720px){
  :root{
    --space-4:14px;
    --space-5:18px;
    --space-6:20px;
    --space-8:28px;
    --space-12:40px;
    --space-16:56px;
    --space-20:64px;
  }
  .premium-home,
  .page,
  .wrap{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  h1{
    font-size:clamp(2.05rem,10vw,2.65rem)!important;
    line-height:1.08!important;
    letter-spacing:-.07em!important;
  }
  h2{
    font-size:clamp(1.5rem,7vw,1.9rem)!important;
    line-height:1.18!important;
    letter-spacing:-.055em!important;
  }
  h3{
    font-size:1.08rem!important;
    line-height:1.3!important;
  }
  p,li{
    font-size:.95rem!important;
    line-height:1.74!important;
  }
  .hero{
    padding-top:var(--space-6)!important;
    padding-bottom:var(--space-8)!important;
  }
  .section-title{
    margin-top:var(--space-16)!important;
    margin-bottom:var(--space-6)!important;
  }
  .main-card,
  .portal-card,
  .identity-wide-card,
  .form-card,
  .diagnostic-intro-card,
  .premium-result-panel,
  .section{
    padding:var(--space-5)!important;
    border-radius:20px!important;
  }
  .tool-card{
    min-height:auto!important;
  }
  button,
  .btn,
  .primary-wide,
  .calc-btn,
  .go-hub-btn{
    width:100%;
    min-height:52px!important;
  }
}

/* Desktop precision */
@media(min-width:1200px){
  .premium-home,
  .page,
  .wrap{
    padding-left:0!important;
    padding-right:0!important;
  }
}


/* 2026-05-19 6차 상담 준비 UX + 리포트 관리 패치 */
.consulting-summary,
.docs-issuer-box,
.question-box,
.improvement-box,
.local-privacy-note{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:14px;
  color:#1e293b;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
}
.consulting-summary h3,
.docs-issuer-box h3,
.question-box h3,
.improvement-box h3{margin:0 0 8px;font-size:.95rem;color:#0f172a}
.consulting-summary p{margin:0;color:#475569;line-height:1.68}
.docs-issuer-box,
.improvement-box{display:grid;gap:8px}
.docs-issuer-box>div,
.improvement-box>div{display:grid;grid-template-columns:1fr auto;gap:4px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px}
.docs-issuer-box b,
.improvement-box b{color:#0f172a}
.docs-issuer-box span,
.improvement-box span{color:#2563eb;font-weight:850;text-align:right}
.docs-issuer-box small,
.improvement-box small{grid-column:1 / -1;color:#64748b;line-height:1.45}
.question-box ol{margin:0;padding-left:20px;color:#475569;line-height:1.7}
.local-privacy-note{font-size:.8rem;color:#64748b;line-height:1.55;background:#f8fafc;box-shadow:none}
.recent-report-dashboard .report-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.recent-report-dashboard .report-head h2{margin:0!important;font-size:1.05rem!important}
.recent-report-dashboard .report-head button{border:1px solid #e2e8f0;background:#fff;color:#64748b;border-radius:999px;padding:8px 10px;font-size:.78rem;font-weight:850;min-height:auto!important;width:auto}
.report-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.report-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:12px;display:grid;gap:10px}
.report-card.pinned{border-color:#10b981;box-shadow:0 0 0 2px rgba(16,185,129,.08)}
.report-card a{display:grid;gap:4px;text-decoration:none;color:#0f172a}
.report-card strong{font-size:.92rem}
.report-card span{font-size:.78rem;color:#2563eb;font-weight:850}
.report-card small{font-size:.76rem;color:#64748b;line-height:1.45}
.report-card-actions{display:flex;gap:6px}
.report-card-actions button{flex:1;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;border-radius:10px;padding:8px;font-size:.75rem;font-weight:850;min-height:auto!important}
.report-card-actions button:last-child{color:#dc2626}
@media(max-width:720px){
  .docs-issuer-box>div,.improvement-box>div{grid-template-columns:1fr}
  .docs-issuer-box span,.improvement-box span{text-align:left}
  .report-list{grid-template-columns:1fr}
  .recent-report-dashboard .report-head{align-items:flex-start;flex-direction:column}
}


/* 2026-05-19 7차 Compact Premium UX Patch */
.diagnosis-course-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:0 auto 48px;
}
.course-card.premium-course{
  background:rgba(255,255,255,.86);
  border:1px solid #e2e8f0;
  border-radius:24px;
  padding:22px;
  box-shadow:0 16px 42px rgba(15,23,42,.07);
  color:#0f172a;
  text-decoration:none;
  display:grid;
  gap:12px;
  min-height:184px;
}
.course-card .course-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.course-card .course-top span{display:inline-flex;width:34px;height:34px;border-radius:999px;background:#0f172a;color:#fff;align-items:center;justify-content:center;font-weight:900;font-size:.78rem}
.course-card .course-top strong{font-size:1.04rem;letter-spacing:-.04em}
.course-card p{margin:0;color:#64748b;font-size:.88rem;line-height:1.65!important}
.course-card em{font-style:normal;color:#2563eb;font-weight:900;font-size:.82rem}
.trust-compact{
  margin:42px auto 62px;
  background:linear-gradient(135deg,#0f172a,#172638);
  color:#fff;
  border-radius:32px;
  padding:32px;
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:24px;
  align-items:center;
  box-shadow:0 28px 84px rgba(15,23,42,.22);
}
.trust-compact h2{color:#fff!important;margin:0 0 10px}
.trust-compact p{color:#cbd5e1;margin:0}
.premium-badge.light{background:rgba(255,255,255,.12);color:#dbeafe}
.trust-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.trust-mini-grid article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px}
.trust-mini-grid strong{display:block;color:#fff;margin-bottom:5px}
.trust-mini-grid span{display:block;color:#cbd5e1;font-size:.78rem;line-height:1.45}
.compact-title{margin-top:64px!important}
.executive-summary-card{
  display:grid;
  grid-template-columns:1fr 120px;
  gap:16px;
  align-items:center;
  background:linear-gradient(135deg,#0f172a,#172638);
  color:#fff;
  border-radius:22px;
  padding:20px;
  box-shadow:0 22px 62px rgba(15,23,42,.18);
}
.executive-summary-card h3{color:#fff!important;margin:6px 0 8px;font-size:1.18rem!important}
.executive-summary-card p{margin:0;color:#cbd5e1;line-height:1.65!important}
.summary-kicker{color:#8df7df;font-size:.76rem;font-weight:950;letter-spacing:.05em;text-transform:uppercase}
.summary-score{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:14px;text-align:center}
.summary-score strong{display:block;color:#fff;font-size:2rem;letter-spacing:-.06em}
.summary-score span{display:block;color:#cbd5e1;font-size:.78rem}
.premium-detail{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:0;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(15,23,42,.045);
}
.premium-detail summary{
  cursor:pointer;
  padding:14px 16px;
  color:#0f172a;
  font-weight:900;
  list-style:none;
}
.premium-detail summary::-webkit-details-marker{display:none}
.premium-detail summary:after{content:"＋";float:right;color:#94a3b8}
.premium-detail[open] summary:after{content:"－"}
.premium-detail>div{box-shadow:none!important;border:0!important;border-top:1px solid #e2e8f0!important;border-radius:0!important;background:#f8fafc!important}
@media(max-width:860px){
  .diagnosis-course-grid{grid-template-columns:1fr}
  .trust-compact{grid-template-columns:1fr;padding:24px;border-radius:26px}
  .trust-mini-grid{grid-template-columns:1fr}
  .executive-summary-card{grid-template-columns:1fr}
  .summary-score{text-align:left}
}
@media(max-width:620px){
  .diagnosis-course-grid{gap:12px;margin-bottom:36px}
  .course-card.premium-course{min-height:auto;padding:18px;border-radius:20px}
  .trust-compact{margin:32px auto 46px}
}


/* 2026-05-19 8차 상담형 허브 사용성 재구성 패치 */
.situation-hub{
  margin:24px auto 18px;
  background:rgba(255,255,255,.78);
  border:1px solid #e2e8f0;
  border-radius:28px;
  padding:22px;
  box-shadow:0 18px 54px rgba(15,23,42,.075);
}
.situation-head{
  display:grid;
  grid-template-columns:1fr minmax(260px,.55fr);
  gap:16px;
  align-items:end;
  margin-bottom:16px;
}
.situation-head span{display:block;color:#2563eb;font-size:.76rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.situation-head h2{margin:0!important;font-size:clamp(1.35rem,2.3vw,2rem)!important;line-height:1.18!important}
.situation-head p{margin:0;color:#64748b;font-size:.9rem;line-height:1.65!important}
.situation-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.situation-card{
  appearance:none;border:1px solid #e2e8f0;background:#fff;color:#0f172a;border-radius:20px;
  padding:15px 13px;text-align:left;cursor:pointer;min-height:148px;box-shadow:0 10px 28px rgba(15,23,42,.045);
  display:flex;flex-direction:column;gap:8px;transition:transform .16s ease, box-shadow .16s ease;
}
.situation-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(15,23,42,.08)}
.situation-card i{font-style:normal;width:38px;height:38px;border-radius:14px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:1.15rem}
.situation-card strong{font-size:.9rem;line-height:1.32;letter-spacing:-.04em}
.situation-card small{font-size:.76rem;color:#64748b;line-height:1.45}
.recent-mini-chip{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  border:1px solid #dbeafe;background:#eff6ff;color:#1e40af;border-radius:999px;
  padding:8px 11px;margin-bottom:14px;font-size:.78rem;
}
.recent-mini-chip span{font-weight:900;color:#2563eb}
.recent-mini-chip strong{color:#0f172a}
.recent-mini-chip em{font-style:normal;color:#64748b}
.recent-mini-chip a{margin-left:auto;color:#2563eb;font-weight:900;text-decoration:none}
.desktop-compact-summary{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 18px 0;
}
.desktop-compact-summary>div{
  background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px;
}
.desktop-compact-summary span{display:block;color:#64748b;font-size:.72rem}
.desktop-compact-summary strong{display:block;color:#0f172a;font-size:.9rem;margin-top:4px;line-height:1.35}
.hub-next-links{
  padding:0 18px 18px;display:grid;gap:8px;
}
.hub-next-links h3{font-size:.9rem!important;margin:0;color:#e8f5ff}
.hub-next-links>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hub-next-links a{
  background:#101c2f;border:1px solid #1f3957;color:#dcecff;text-decoration:none;border-radius:13px;padding:10px;
  font-size:.78rem;font-weight:850;text-align:center;
}
.compact-guide{margin:0 18px 18px;border:1px solid #203754;border-radius:16px;overflow:hidden;background:#121d2c;color:#dcecff}
.compact-guide summary{cursor:pointer;padding:12px 14px;font-weight:900}
.compact-guide .guide-box{border:0!important;border-top:1px solid #203754!important;border-radius:0!important}
.mobile-step-nav{display:none;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}
.mobile-step-nav button{min-height:38px!important;border:1px solid #31465f;background:#0d1623;color:#c8d9ea;border-radius:999px;font-size:.78rem;font-weight:900;cursor:pointer}
.mobile-step-nav button.active{background:#172638;color:#fff;border-color:#6c63ff}
.mobile-step-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(min-width:1041px){
  .main-grid{grid-template-columns:340px minmax(0,1fr)!important;align-items:start}
  #list{max-height:calc(100vh - 120px);overflow:auto;padding-right:4px}
  .side{position:sticky!important;top:96px!important}
  .workspace{min-height:calc(100vh - 140px)}
}
@media(max-width:1040px){
  .situation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .situation-head{grid-template-columns:1fr}
}
@media(max-width:720px){
  .situation-hub{padding:16px;border-radius:22px;margin:18px auto 12px}
  .situation-grid{grid-template-columns:1fr}
  .situation-card{min-height:auto;display:grid;grid-template-columns:44px 1fr;gap:6px 10px;align-items:center}
  .situation-card small{grid-column:2}
  .recent-mini-chip{border-radius:16px;align-items:flex-start}
  .recent-mini-chip a{margin-left:0;width:100%}
  .desktop-compact-summary{grid-template-columns:1fr;padding:12px 14px 0}
  .mobile-step-nav{display:grid}
  .mobile-stepped-fields{display:block!important}
  .mobile-step-group{display:none;grid-template-columns:1fr!important;gap:10px}
  .mobile-step-group.active{display:grid}
  .hub-next-links>div{grid-template-columns:1fr}
  .standard-cards{display:none!important}
}


/* 2026-05-19 9차 계산기 입력 폼 프리미엄 컴팩트 UX 패치 */
.input-quality-card{
  margin:14px 18px 0;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:12px;
  box-shadow:0 8px 22px rgba(15,23,42,.045);
}
.input-quality-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}
.input-quality-top strong{font-size:.86rem;color:#0f172a}
.input-quality-text{font-size:.75rem;color:#64748b;text-align:right}
.input-quality-track{height:7px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.input-quality-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#2563eb,#10b981);border-radius:999px;transition:width .2s ease}
.compact-form{padding:14px 18px 18px!important;gap:12px!important}
.scenario-section{padding:12px!important}
.compact-input-shell{padding:12px!important}
.grouped-fields{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.input-group,.advanced-fields{
  background:#0f1a2a;
  border:1px solid #253954;
  border-radius:18px;
  padding:12px;
}
.input-group-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:10px}
.input-group-head strong,.advanced-fields summary strong{font-size:.9rem;color:#e8f5ff}
.input-group-head span,.advanced-fields summary span{font-size:.72rem;color:#93a4b8;line-height:1.35}
.advanced-fields{padding:0;overflow:hidden}
.advanced-fields summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;padding:12px}
.advanced-fields summary::-webkit-details-marker{display:none}
.advanced-fields summary:after{content:"＋";color:#93a4b8;font-weight:900}
.advanced-fields[open] summary:after{content:"－"}
.advanced-fields .group-field-grid{border-top:1px solid #253954;padding:12px}
.group-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.field{gap:5px!important}
.field label{
  font-size:.74rem!important;
  color:#d8e7f8!important;
  font-weight:850!important;
  line-height:1.3!important;
}
.field label small{
  display:block;
  color:#7f95ad;
  font-size:.68rem;
  font-weight:650;
  margin-top:3px;
  line-height:1.35;
}
.field input,.field select{
  min-height:42px!important;
  font-size:.9rem!important;
  border-radius:12px!important;
  padding:0 10px!important;
}
.quick-row.compact{gap:5px;margin-bottom:5px}
.quick-row.compact button{
  min-height:26px!important;
  padding:3px 7px!important;
  font-size:.66rem!important;
  width:auto!important;
}
.compact-range{height:18px;margin-top:4px!important}
.won-display{
  min-height:16px!important;
  font-size:.72rem!important;
  margin-top:2px!important;
}
.choice-grid{gap:7px!important}
.choice-card{
  min-height:42px!important;
  padding:8px!important;
  border-radius:13px!important;
  gap:7px!important;
}
.choice-card span{
  width:24px!important;
  height:24px!important;
  border-radius:9px!important;
  font-size:.9rem!important;
}
.choice-card strong{font-size:.76rem!important;line-height:1.25!important}
.amount-field input{font-weight:850!important;color:#eef7ff!important}
.score-field input{font-weight:850!important}
@media(max-width:720px){
  .input-quality-card{margin:12px 14px 0;padding:11px}
  .input-quality-top{display:grid;gap:5px}
  .input-quality-text{text-align:left}
  .group-field-grid{grid-template-columns:1fr}
  .input-group,.advanced-fields{border-radius:16px}
  .field input,.field select{min-height:48px!important;font-size:.95rem!important}
  .choice-card{min-height:48px!important}
  .compact-form{padding:12px 14px 16px!important}
  .mobile-step-group.advanced-fields{display:none}
  .mobile-step-group.advanced-fields.active{display:block}
  .advanced-fields[open] .group-field-grid{display:grid}
}


/* 2026-05-19 10차 입력 폼 단위 정교화·2열 정렬 패치 */
.group-field-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:start!important;
}
.input-group,.advanced-fields{
  background:#0f172a!important;
  border:1px solid #243750!important;
  border-radius:18px!important;
  padding:14px!important;
}
.input-group-head{
  margin-bottom:12px!important;
  padding-bottom:10px!important;
  border-bottom:1px solid rgba(226,232,240,.08)!important;
}
.field{
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(226,232,240,.08)!important;
  border-radius:14px!important;
  padding:11px!important;
}
.field.choice-field{
  grid-column:auto!important;
}
.field label{
  min-height:34px!important;
}
.choice-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.choice-card{
  min-height:38px!important;
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  box-shadow:0 5px 14px rgba(15,23,42,.05)!important;
}
.choice-card.active{
  border-color:#10b981!important;
  box-shadow:0 0 0 2px rgba(16,185,129,.16)!important;
}
.input-unit-wrap{
  position:relative;
  display:flex;
  align-items:center;
}
.input-unit-wrap input{
  width:100%!important;
  padding-right:52px!important;
  background:#fff!important;
  color:#0f172a!important;
  border:1px solid #e2e8f0!important;
}
.unit-suffix{
  position:absolute;
  right:11px;
  color:#64748b;
  font-size:.75rem;
  font-weight:900;
  pointer-events:none;
}
.unit-display{
  color:#8df7df!important;
  font-size:.75rem!important;
  font-weight:900!important;
  min-height:18px!important;
}
.unit-person .unit-display,
.unit-month .unit-display,
.unit-year .unit-display,
.unit-percent .unit-display,
.unit-score .unit-display,
.unit-count .unit-display{
  color:#bae6fd!important;
}
.quick-row.compact{
  display:flex!important;
  gap:5px!important;
  margin-bottom:6px!important;
  flex-wrap:wrap!important;
}
.quick-row.compact button{
  width:auto!important;
  min-height:25px!important;
  border-radius:999px!important;
  padding:3px 7px!important;
  font-size:.66rem!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  border:1px solid #dbeafe!important;
}
.compact-range{
  width:100%!important;
  margin-top:6px!important;
  accent-color:#10b981!important;
}
.amount-field,.score-field{
  min-height:146px!important;
}
.unit-person,.unit-month,.unit-year,.unit-percent,.unit-score,.unit-count{
  min-height:126px!important;
}
@media(min-width:1041px){
  .mobile-step-group.active,
  .mobile-step-group{
    display:block!important;
  }
  .mobile-step-nav{display:none!important}
  .mobile-stepped-fields{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
}
@media(max-width:720px){
  .group-field-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .field{
    padding:10px!important;
  }
  .choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .amount-field,.score-field,.unit-person,.unit-month,.unit-year,.unit-percent,.unit-score,.unit-count{
    min-height:auto!important;
  }
}


/* 2026-05-19 Sprint01 Stability QA: unit suffix and dense alignment */
.unit-suffix{
  min-width:34px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.unit-person .unit-suffix,
.unit-month .unit-suffix,
.unit-year .unit-suffix,
.unit-percent .unit-suffix,
.unit-score .unit-suffix,
.unit-count .unit-suffix{
  color:#2563eb;
}
.input-group .group-field-grid{
  grid-auto-flow:row dense;
}
.choice-field .choice-grid{
  align-content:start;
}
@media(min-width:1041px){
  .group-field-grid > .field{
    height:100%;
  }
  .field.choice-field{
    min-height:126px!important;
  }
}


/* 2026-05-19 Sprint02 Mobile 390px Compression + Link QA */
.concise-result-strip{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:12px 14px;
  margin-bottom:12px;
}
.concise-result-strip strong{color:#0f172a;font-size:.92rem;line-height:1.4}
.concise-result-strip span{color:#64748b;font-size:.76rem;line-height:1.4;text-align:right}
@media(max-width:430px){
  .page,.wrap,.premium-home{padding-left:10px!important;padding-right:10px!important}
  .situation-hub,.toolbar,.section,.workspace{border-radius:18px!important}
  .situation-card{padding:11px!important}
  .work-head{padding:13px!important;grid-template-columns:44px 1fr!important;gap:10px!important}
  .work-head .big-icon{width:44px!important;height:44px!important;border-radius:14px!important;font-size:1.25rem!important}
  .work-head h2{font-size:1.03rem!important;line-height:1.28!important}
  .work-head p{font-size:.76rem!important;line-height:1.45!important}
  .input-quality-card{margin:10px 12px 0!important;padding:9px!important}
  .desktop-compact-summary{padding:10px 12px 0!important}
  .desktop-compact-summary>div{padding:8px!important;border-radius:12px!important}
  .tabs{padding:10px 12px 0!important}
  .tab{font-size:.72rem!important;padding:6px 8px!important}
  .compact-form{padding:10px 12px 14px!important}
  .scenario-grid{grid-template-columns:1fr!important;gap:7px!important}
  .scenario{padding:9px!important}
  .scenario strong{font-size:.78rem!important}
  .scenario span{font-size:.68rem!important}
  .form-section{padding:10px!important;border-radius:14px!important}
  .input-group,.advanced-fields{padding:10px!important;border-radius:14px!important}
  .input-group-head{margin-bottom:8px!important;padding-bottom:8px!important}
  .field{padding:9px!important;border-radius:12px!important}
  .field label{font-size:.72rem!important;min-height:auto!important}
  .field label small{font-size:.65rem!important}
  .quick-row.compact button{font-size:.62rem!important;padding:3px 6px!important}
  .choice-grid{grid-template-columns:1fr 1fr!important;gap:6px!important}
  .choice-card{min-height:38px!important;padding:7px!important}
  .choice-card span{width:22px!important;height:22px!important;font-size:.82rem!important}
  .choice-card strong{font-size:.7rem!important}
  .input-unit-wrap input{min-height:44px!important;font-size:.9rem!important}
  .unit-display{font-size:.69rem!important}
  .hub-next-links{padding:0 12px 14px!important}
  .hub-next-links h3{font-size:.82rem!important}
  .result{padding:0 12px 14px!important}
  .result-panel{padding:12px!important;border-radius:18px!important}
  .concise-result-strip{display:grid;gap:5px;padding:10px!important}
  .concise-result-strip span{text-align:left}
}

/* 2026-05-19 Sprint03 Funnel Result Density */
.premium-result-panel.compact-funnel,.premium-result-panel{gap:10px!important}
.premium-result-panel .premium-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.premium-result-panel .premium-dashboard-grid>div{padding:10px!important;border-radius:13px!important}
.recent-report-dashboard{padding:14px!important;margin:12px auto!important}
.report-card{padding:10px!important}
.report-card small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:430px){.premium-result-panel .premium-dashboard-grid{grid-template-columns:1fr!important}.premium-analysis,.premium-docs,.context-links,.consulting-summary,.docs-issuer-box,.question-box,.improvement-box{padding:11px!important;border-radius:14px!important}.recent-report-dashboard{padding:12px!important;border-radius:16px!important}.report-card-actions button{font-size:.7rem!important;padding:7px!important}}
/* 2026-05-19 Sprint04 Recommendation Reason Chips */
.hub-next-links a small,.course-box a small,.context-links a small{display:block;margin-top:4px;color:#94a3b8;font-size:.68rem;line-height:1.35;font-weight:650}.context-links a,.course-box a,.hub-next-links a{text-align:left!important}
/* 2026-05-19 Sprint06 Killer Calculator Polish */
.killer-insight-strip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px;margin-bottom:12px;color:#0f172a}
.killer-insight-strip strong{display:block;margin-bottom:8px}
.killer-insight-strip div{display:flex;gap:6px;flex-wrap:wrap}
.killer-insight-strip span{background:#eff6ff;color:#2563eb;border:1px solid #dbeafe;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:850}


/* 2026-05-19 Sprint11 Deployment Stability */
.deployment-debug-badge{
  position:fixed;right:12px;bottom:12px;z-index:99999;
  background:#0f172a;color:#fff;border-radius:999px;padding:8px 11px;
  font-size:12px;font-weight:900;box-shadow:0 12px 30px rgba(15,23,42,.22)
}


/* 2026-05-19 Sprint12 Admin QA Panel */
.admin-qa-panel{
  position:fixed;right:14px;top:14px;z-index:99999;width:260px;
  background:#fff;border:1px solid #e2e8f0;border-radius:18px;
  box-shadow:0 24px 70px rgba(15,23,42,.18);padding:14px;color:#0f172a
}
.admin-qa-panel strong{display:block;margin-bottom:8px}
.admin-qa-panel #qaClose{position:absolute;right:8px;top:8px;border:0;background:#f1f5f9;border-radius:999px;width:28px;height:28px}
.admin-qa-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 10px}
.admin-qa-panel dt{color:#64748b;font-size:12px}
.admin-qa-panel dd{margin:0;text-align:right;font-weight:900}
.admin-qa-panel #qaClear{width:100%;border:0;background:#0f172a;color:#fff;border-radius:12px;padding:9px;font-weight:900}


/* 2026-05-20 Sprint14 Desktop Hub Balance + Employment Subsidy */
@media(min-width:1180px){
  .main-grid{
    grid-template-columns:minmax(440px,480px) minmax(0,1fr)!important;
    gap:24px!important;
    align-items:start!important;
  }
  #list{
    max-height:calc(100vh - 116px)!important;
    overflow:auto!important;
    padding:0 8px 0 0!important;
    scrollbar-width:thin;
    scrollbar-color:#cbd5e1 transparent;
  }
  #list::-webkit-scrollbar{width:6px}
  #list::-webkit-scrollbar-track{background:transparent}
  #list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}
  #list .section{
    padding:18px!important;
    border-radius:24px!important;
  }
  #list .card-grid{
    grid-template-columns:repeat(2,minmax(190px,1fr))!important;
    gap:12px!important;
  }
  #list .tool-card{
    min-height:156px!important;
    padding:16px!important;
    grid-template-columns:44px 1fr!important;
    gap:12px!important;
  }
  #list .tool-card .icon{
    width:44px!important;
    height:44px!important;
    border-radius:15px!important;
    font-size:1.18rem!important;
  }
  #list .tool-card h3{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    white-space:normal!important;
    word-break:keep-all!important;
    font-size:1rem!important;
    line-height:1.28!important;
    letter-spacing:-.045em!important;
  }
  #list .tool-card small{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    line-height:1.45!important;
  }
  #list .badges .badge:nth-child(n+3){display:none!important}
  .workspace{
    border-radius:26px!important;
    box-shadow:0 24px 72px rgba(15,23,42,.08)!important;
  }
  .side{
    position:sticky!important;
    top:96px!important;
  }
}
.employment-subsidy-note{
  border:1px solid #dbeafe;
  background:#eff6ff;
  color:#1e3a8a;
  border-radius:16px;
  padding:12px 14px;
  font-size:.82rem;
  line-height:1.55;
  margin:10px 0;
}
@media(max-width:720px){
  .situation-grid{grid-template-columns:1fr!important}
}


/* 2026-05-20 Sprint15 Unit Converter + Readable Money */
.unit-money .unit-display,
.amount-field .unit-display{
  color:#8df7df!important;
  font-size:.74rem!important;
  line-height:1.35!important;
  letter-spacing:-.02em!important;
}
.unit-raw .unit-suffix{display:none!important}
.unit-raw input{padding-right:10px!important}


/* 2026-05-20 Sprint16 Naver-style Unit Converter UI */
.unit-tool-shell{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:28px;
  box-shadow:0 24px 70px rgba(15,23,42,.08);
  overflow:hidden;
}
.unit-tool-head{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:14px;
  align-items:center;
  padding:24px;
  border-bottom:1px solid #e2e8f0;
}
.unit-tool-head h2{margin:0 0 6px!important}
.unit-tool-head p{margin:0;color:#64748b}
.unit-category-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:14px 18px;
  border-bottom:1px solid #e2e8f0;
  background:#f8fafc;
}
.unit-category-tabs button{
  flex:0 0 auto;
  border:1px solid #e2e8f0;
  background:#fff;
  color:#334155;
  border-radius:999px;
  padding:9px 13px;
  min-height:36px!important;
  font-size:.82rem;
  font-weight:900;
  cursor:pointer;
}
.unit-category-tabs button.active{
  background:#0f172a;
  color:#fff;
  border-color:#0f172a;
}
.unit-main-card{
  padding:22px;
  display:grid;
  gap:16px;
}
.unit-input-row{
  display:grid;
  grid-template-columns:1.2fr .8fr 44px .8fr;
  gap:10px;
  align-items:end;
}
.unit-value-box,
.unit-select-box{
  display:grid;
  gap:7px;
}
.unit-value-box label,
.unit-select-box label{
  font-size:.76rem;
  color:#64748b;
  font-weight:900;
}
.unit-value-box input,
.unit-select-box select{
  height:52px!important;
  border:1px solid #dbe3ec!important;
  background:#fff!important;
  border-radius:15px!important;
  padding:0 13px!important;
  color:#0f172a!important;
  font-weight:850!important;
}
.unit-value-box input{
  font-size:1.25rem!important;
}
.unit-swap-btn{
  height:52px!important;
  min-height:52px!important;
  border:1px solid #dbe3ec;
  background:#f8fafc;
  border-radius:15px;
  font-size:1.2rem;
  font-weight:900;
  cursor:pointer;
}
.unit-primary-result{
  background:linear-gradient(135deg,#0f172a,#172638);
  color:#fff;
  border-radius:20px;
  padding:18px;
  display:grid;
  gap:6px;
}
.unit-primary-result span{color:#93c5fd;font-weight:900;font-size:.78rem}
.unit-primary-result strong{font-size:2rem;letter-spacing:-.06em;line-height:1.05}
.unit-primary-result small{color:#cbd5e1;line-height:1.5}
.unit-all-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.unit-result-cell{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:13px;
}
.unit-result-cell.target{
  border-color:#10b981;
  box-shadow:0 0 0 2px rgba(16,185,129,.10);
  background:#ecfdf5;
}
.unit-result-cell span{
  display:block;
  color:#64748b;
  font-size:.76rem;
  font-weight:900;
  margin-bottom:6px;
}
.unit-result-cell strong{
  display:block;
  color:#0f172a;
  font-size:1.08rem;
  line-height:1.25;
  letter-spacing:-.04em;
}
.unit-guide-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:0 22px 22px;
}
.unit-guide-row>div{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:13px;
}
.unit-guide-row strong{display:block;color:#0f172a;margin-bottom:5px}
.unit-guide-row span{display:block;color:#64748b;font-size:.82rem;line-height:1.55}
@media(max-width:720px){
  .unit-tool-head{grid-template-columns:46px 1fr;padding:18px}
  .unit-input-row{grid-template-columns:1fr}
  .unit-swap-btn{width:100%}
  .unit-primary-result strong{font-size:1.45rem}
  .unit-all-grid{grid-template-columns:1fr 1fr}
  .unit-guide-row{grid-template-columns:1fr;padding:0 18px 18px}
}

/* 2026-05-20 Expert Tools Filter */
.target-filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 10px}.target-filter{border:1px solid #e2e8f0;background:#fff;color:#334155;border-radius:999px;padding:8px 12px;font-weight:900;cursor:pointer}.target-filter.active{background:#0f172a;color:#fff;border-color:#0f172a}.tool-card.expert{border-color:#a7f3d0!important;box-shadow:0 0 0 2px rgba(16,185,129,.08)!important}.tool-card.expert .badge:first-child{background:#ecfdf5!important;color:#047857!important}

/* 2026-05-20 Sprint20 Expert Card Polish */
.tool-card.expert:before{content:'EXPERT';position:absolute;right:10px;top:10px;background:#0f172a;color:#fff;border-radius:999px;padding:3px 7px;font-size:.62rem;font-weight:900;letter-spacing:.04em}.tool-card.expert{position:relative;background:linear-gradient(180deg,#ffffff,#f8fffd)!important}.target-filter[data-target='전문가용']{border-color:#10b981;color:#047857}.target-filter[data-target='전문가용'].active{background:#047857!important;color:#fff!important}


/* 2026-05-20 Expert Phase1 Precision UI */
.expert-precision-block{display:grid;gap:10px;margin-top:12px}
.expert-precision-block details{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}
.expert-precision-block summary{cursor:pointer;padding:13px 15px;font-weight:900;color:#0f172a}
.expert-precision-block ul{margin:0;padding:0 18px 14px 34px;color:#475569;line-height:1.7}
.expert-scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 14px 14px}
.expert-scenario-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:13px;padding:10px}
.expert-scenario-grid strong{display:block;color:#0f172a;margin-bottom:5px}
.expert-scenario-grid span{display:block;color:#64748b;font-size:.8rem;line-height:1.45}
.target-filters:before{content:'대상별';font-size:.75rem;color:#64748b;font-weight:900;align-self:center;margin-right:2px}
@media(max-width:720px){.expert-scenario-grid{grid-template-columns:1fr}.expert-precision-block summary{font-size:.9rem}}


/* 2026-05-20 Expert Phase2 SEO Compare UI */
.expert-compare-box{margin-top:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:13px;color:#0f172a}
.expert-compare-box strong{display:block;margin-bottom:5px}
.expert-compare-box p{margin:0 0 10px;color:#64748b;font-size:.84rem;line-height:1.5}
.expert-compare-box button{border:0;background:#0f172a;color:#fff;border-radius:12px;padding:9px 12px;font-weight:900;cursor:pointer}


/* 2026-05-20 Theme System Patch: light/dark mode */
:root,
html.light,
html[data-theme="light"]{
  --theme-bg:#f6f8fb;
  --theme-bg-2:#eef3f8;
  --theme-card:#ffffff;
  --theme-card-soft:#f8fafc;
  --theme-ink:#0f172a;
  --theme-text:#1e293b;
  --theme-muted:#64748b;
  --theme-line:#e2e8f0;
  --theme-primary:#0f172a;
  --theme-primary-2:#172638;
  --theme-accent:#2563eb;
  --theme-success:#10b981;
  color-scheme:light;
}
html.dark,
html[data-theme="dark"]{
  --theme-bg:#070d18;
  --theme-bg-2:#0b1220;
  --theme-card:#101827;
  --theme-card-soft:#0f172a;
  --theme-ink:#f8fafc;
  --theme-text:#e2e8f0;
  --theme-muted:#94a3b8;
  --theme-line:#243244;
  --theme-primary:#e2e8f0;
  --theme-primary-2:#cbd5e1;
  --theme-accent:#60a5fa;
  --theme-success:#34d399;
  color-scheme:dark;
}
html.dark body,
html[data-theme="dark"] body{
  background:
    radial-gradient(circle at 12% 0%, rgba(37,99,235,.18), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(16,185,129,.12), transparent 28%),
    linear-gradient(180deg,#070d18 0%,#0b1220 62%,#070d18 100%)!important;
  color:var(--theme-text)!important;
}
html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark h5,html.dark h6,
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,html[data-theme="dark"] h4,html[data-theme="dark"] h5,html[data-theme="dark"] h6{
  color:var(--theme-ink)!important;
}
html.dark p,html.dark li,html.dark small,
html[data-theme="dark"] p,html[data-theme="dark"] li,html[data-theme="dark"] small{
  color:var(--theme-muted)!important;
}
html.dark .main-card,
html.dark .portal-card,
html.dark .identity-wide-card,
html.dark .tool-card,
html.dark .form-card,
html.dark .diagnostic-intro-card,
html.dark .workspace,
html.dark .result-panel,
html.dark .premium-result-panel,
html.dark .premium-recent-dashboard,
html.dark .recent-report-dashboard,
html.dark .consulting-result-card,
html.dark .section,
html.dark .situation-hub,
html.dark .unit-tool-shell,
html.dark .input-quality-card,
html.dark .desktop-compact-summary>div,
html.dark .standard-card,
html.dark .field,
html.dark .premium-detail,
html.dark .summary-card>div,
html.dark .missing-box,
html.dark .risk-top3,
html.dark .criteria-box,
html.dark .course-box,
html.dark .report-actions,
html.dark .docs-issuer-box,
html.dark .question-box,
html.dark .improvement-box,
html[data-theme="dark"] .main-card,
html[data-theme="dark"] .portal-card,
html[data-theme="dark"] .identity-wide-card,
html[data-theme="dark"] .tool-card,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .diagnostic-intro-card,
html[data-theme="dark"] .workspace,
html[data-theme="dark"] .result-panel,
html[data-theme="dark"] .premium-result-panel,
html[data-theme="dark"] .premium-recent-dashboard,
html[data-theme="dark"] .recent-report-dashboard,
html[data-theme="dark"] .consulting-result-card,
html[data-theme="dark"] .section,
html[data-theme="dark"] .situation-hub,
html[data-theme="dark"] .unit-tool-shell,
html[data-theme="dark"] .input-quality-card,
html[data-theme="dark"] .desktop-compact-summary>div,
html[data-theme="dark"] .standard-card,
html[data-theme="dark"] .field,
html[data-theme="dark"] .premium-detail,
html[data-theme="dark"] .summary-card>div,
html[data-theme="dark"] .missing-box,
html[data-theme="dark"] .risk-top3,
html[data-theme="dark"] .criteria-box,
html[data-theme="dark"] .course-box,
html[data-theme="dark"] .report-actions,
html[data-theme="dark"] .docs-issuer-box,
html[data-theme="dark"] .question-box,
html[data-theme="dark"] .improvement-box{
  background:rgba(16,24,39,.92)!important;
  border-color:var(--theme-line)!important;
  color:var(--theme-text)!important;
  box-shadow:0 22px 62px rgba(0,0,0,.25)!important;
}
html.dark .tool-card,
html[data-theme="dark"] .tool-card{
  background:linear-gradient(180deg,#101827,#0f172a)!important;
}
html.dark .tool-card h3,
html.dark .portal-card h3,
html.dark .identity-wide-card h3,
html.dark .metric strong,
html.dark .standard-card strong,
html.dark .field label,
html.dark .input-group-head strong,
html.dark .advanced-fields summary strong,
html[data-theme="dark"] .tool-card h3,
html[data-theme="dark"] .portal-card h3,
html[data-theme="dark"] .identity-wide-card h3,
html[data-theme="dark"] .metric strong,
html[data-theme="dark"] .standard-card strong,
html[data-theme="dark"] .field label,
html[data-theme="dark"] .input-group-head strong,
html[data-theme="dark"] .advanced-fields summary strong{
  color:#f8fafc!important;
}
html.dark .tool-card small,
html.dark .portal-card p,
html.dark .identity-wide-card p,
html.dark .standard-card span,
html.dark .field label small,
html[data-theme="dark"] .tool-card small,
html[data-theme="dark"] .portal-card p,
html[data-theme="dark"] .identity-wide-card p,
html[data-theme="dark"] .standard-card span,
html[data-theme="dark"] .field label small{
  color:#94a3b8!important;
}
html.dark .input-unit-wrap input,
html.dark input,
html.dark select,
html.dark textarea,
html[data-theme="dark"] .input-unit-wrap input,
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{
  background:#0b1220!important;
  border-color:#334155!important;
  color:#f8fafc!important;
}
html.dark .choice-card,
html[data-theme="dark"] .choice-card{
  background:#0b1220!important;
  border-color:#334155!important;
  color:#e2e8f0!important;
}
html.dark .choice-card.active,
html[data-theme="dark"] .choice-card.active{
  border-color:#34d399!important;
  box-shadow:0 0 0 2px rgba(52,211,153,.18)!important;
}
html.dark .unit-primary-result,
html.dark .executive-summary-card,
html.dark .final-cta,
html[data-theme="dark"] .unit-primary-result,
html[data-theme="dark"] .executive-summary-card,
html[data-theme="dark"] .final-cta{
  background:linear-gradient(135deg,#020617,#0f172a)!important;
}
html.dark .unit-result-cell,
html.dark .unit-guide-row>div,
html.dark .risk-row,
html[data-theme="dark"] .unit-result-cell,
html[data-theme="dark"] .unit-guide-row>div,
html[data-theme="dark"] .risk-row{
  background:#0f172a!important;
  border-color:#334155!important;
}
.theme-toggle{
  position:fixed;
  right:14px;
  bottom:76px;
  z-index:99990;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(226,232,240,.75);
  background:rgba(255,255,255,.82);
  color:#0f172a;
  backdrop-filter:blur(14px);
  border-radius:999px;
  padding:9px 12px;
  font-size:.78rem;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 16px 42px rgba(15,23,42,.12);
}
html.dark .theme-toggle,
html[data-theme="dark"] .theme-toggle{
  background:rgba(15,23,42,.88);
  color:#f8fafc;
  border-color:#334155;
  box-shadow:0 18px 48px rgba(0,0,0,.32);
}
.theme-toggle i{font-style:normal;font-size:1rem}
@media(max-width:720px){
  .theme-toggle{
    right:10px;
    bottom:86px;
    padding:8px 10px;
    font-size:.72rem;
  }
  .theme-toggle span{display:none}
}
@media print{
  .theme-toggle{display:none!important}
}


/* 2026-05-20 Sprint25 Side-hustle Guide UI */
.side-hustle-guide{display:grid;gap:10px;margin-top:12px}
.side-hustle-guide details{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}
.side-hustle-guide summary{cursor:pointer;padding:13px 15px;font-weight:900;color:#0f172a}
.side-hustle-guide ul{margin:0;padding:0 18px 14px 34px;color:#475569;line-height:1.7}
.side-scenario-save{border:0;background:#0f172a;color:#fff;border-radius:12px;padding:10px 13px;font-weight:900;cursor:pointer}
html.dark .side-hustle-guide details{background:#101827!important;border-color:#334155!important}
html.dark .side-hustle-guide summary{color:#f8fafc!important}
html.dark .side-hustle-guide li{color:#cbd5e1!important}


/* 2026-05-20 Sprint26 Side-hustle Pro UI */
.side-pro-shell{
  background:#0f172a;
  border:1px solid #233247;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(15,23,42,.18);
  color:#e2e8f0;
}
.side-pro-hero{
  text-align:center;
  padding:30px 22px;
  background:#0b1220;
  border-bottom:1px solid #233247;
}
.side-pro-hero .big-icon{
  margin:0 auto 14px;
}
.side-pro-hero h2{
  color:#fff!important;
  margin:0 0 8px!important;
}
.side-pro-hero p{
  color:#94a3b8!important;
  margin:0 auto;
}
.side-pro-tabs{
  display:flex;
  gap:8px;
  padding:12px;
  background:#111827;
  border-bottom:1px solid #233247;
  overflow-x:auto;
}
.side-pro-tabs button{
  flex:0 0 auto;
  border:0;
  background:#273244;
  color:#cbd5e1;
  border-radius:10px;
  padding:9px 12px;
  font-weight:900;
  min-height:36px!important;
}
.side-pro-tabs button.active,
.side-pro-tabs button:first-child{
  background:linear-gradient(135deg,#7c3aed,#c026d3);
  color:#fff;
}
.side-pro-body{
  display:grid;
  grid-template-columns:1fr .96fr;
  gap:0;
}
.side-pro-input{
  padding:18px;
  border-right:1px solid #233247;
  background:#1a2433;
}
.side-preset-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.side-preset-row button{
  border:1px solid #334155;
  background:#172033;
  color:#e2e8f0;
  border-radius:10px;
  padding:8px 11px;
  min-height:34px!important;
  font-weight:900;
  cursor:pointer;
}
.side-pro-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.side-pro-form label{
  display:grid;
  gap:7px;
  color:#cbd5e1;
  font-weight:850;
  font-size:.78rem;
}
.side-pro-form input,
.side-pro-form select{
  width:100%;
  min-height:42px!important;
  border-radius:10px!important;
  border:1px solid #334155!important;
  background:#111827!important;
  color:#f8fafc!important;
  padding:0 11px!important;
  font-weight:850!important;
}
.side-pro-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:14px;
}
.side-pro-actions button{
  border:0;
  border-radius:12px;
  padding:11px;
  font-weight:900;
  cursor:pointer;
}
.side-pro-actions button:first-child{
  background:#7c3aed;
  color:#fff;
}
.side-pro-actions button:last-child{
  background:#334155;
  color:#fff;
}
.side-pro-result{
  padding:18px;
  background:#111827;
}
.side-main-result{
  background:linear-gradient(135deg,#6366f1,#c026d3);
  border-radius:16px;
  padding:18px;
  color:#fff;
  margin-bottom:12px;
}
.side-main-result span{
  display:block;
  color:#e0e7ff;
  font-size:.78rem;
  font-weight:900;
  margin-bottom:8px;
}
.side-main-result strong{
  display:block;
  color:#fff;
  font-size:2rem;
  line-height:1.08;
  letter-spacing:-.06em;
}
.side-main-result small{
  display:block;
  color:#f5f3ff;
  margin-top:6px;
}
.side-result-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.side-result-grid>div{
  background:#1f2937;
  border:1px solid #334155;
  border-radius:12px;
  padding:13px;
}
.side-result-grid span{
  display:block;
  color:#94a3b8;
  font-size:.75rem;
  margin-bottom:6px;
}
.side-result-grid strong{
  color:#fff;
  font-size:1.08rem;
}
.side-result-grid small{
  display:block;
  color:#94a3b8;
  margin-top:4px;
}
.side-timeline{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.side-timeline div{
  background:#0f172a;
  border:1px solid #334155;
  border-radius:12px;
  padding:10px;
}
.side-timeline b{
  display:inline-flex;
  width:24px;
  height:24px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#334155;
  color:#fff;
  margin-right:5px;
}
.side-timeline span{
  color:#cbd5e1;
  font-size:.78rem;
}
.side-guide{
  background:#0b1220;
  border-top:1px solid #233247;
}
.side-guide summary{
  cursor:pointer;
  color:#fff;
  font-weight:900;
  padding:15px 18px;
}
.side-guide ul{
  margin:0;
  padding:0 22px 18px 38px;
  color:#cbd5e1;
  line-height:1.7;
}
.side-saved-item{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#cbd5e1;
  border-top:1px solid #233247;
  padding:10px 18px;
}
.side-saved-item strong{
  color:#fff;
}
@media(max-width:860px){
  .side-pro-body{
    grid-template-columns:1fr;
  }
  .side-pro-input{
    border-right:0;
    border-bottom:1px solid #233247;
  }
}
@media(max-width:620px){
  .side-pro-shell{
    border-radius:22px;
  }
  .side-pro-hero{
    padding:22px 16px;
  }
  .side-pro-tabs{
    padding:10px;
  }
  .side-pro-form,
  .side-result-grid,
  .side-timeline,
  .side-pro-actions{
    grid-template-columns:1fr;
  }
  .side-pro-input,
  .side-pro-result{
    padding:14px;
  }
  .side-main-result strong{
    font-size:1.55rem;
  }
}


/* 2026-05-20 Sprint27 Side-hustle Tab Fix + Compact Recent Reports */
.side-pro-shell[data-tab="basic"] .side-pane-basic{display:block}
.side-pro-shell[data-tab="advanced"] .side-pane-advanced{display:block}
.side-pro-shell[data-tab="target"] .side-pane-target{display:block}
.side-pro-shell[data-tab="saved"] .side-pane-saved{display:block}
.side-tab-pane{display:none}
.side-panel-card{
  background:#111827;
  border:1px solid #334155;
  border-radius:18px;
  padding:18px;
  color:#e2e8f0;
}
.side-panel-card h3{color:#fff!important;margin:0 0 8px!important}
.side-panel-card p{color:#94a3b8!important;margin:0 0 14px}
.side-advanced-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.side-advanced-grid>div,.side-target-box{
  background:#1f2937;
  border:1px solid #334155;
  border-radius:14px;
  padding:14px;
}
.side-advanced-grid b,.side-target-box span{
  display:block;color:#94a3b8;font-size:.76rem;margin-bottom:6px
}
.side-advanced-grid strong,.side-target-box strong{
  display:block;color:#fff;font-size:1.25rem;line-height:1.25
}
.recent-report-dashboard{
  padding:0!important;
  overflow:hidden!important;
}
.recent-report-dashboard .report-head{
  padding:12px 14px!important;
  margin:0!important;
  cursor:pointer;
}
.recent-report-dashboard .report-head:after{
  content:"펼치기/접기";
  font-size:.72rem;
  color:#64748b;
  font-weight:900;
}
.recent-report-dashboard:not(.expanded) .local-privacy-note,
.recent-report-dashboard:not(.expanded) .report-list{
  display:none!important;
}
.recent-report-dashboard.expanded .local-privacy-note{
  margin:0 14px 10px!important;
}
.recent-report-dashboard.expanded .report-list{
  padding:0 14px 14px!important;
}
@media(max-width:720px){
  .side-advanced-grid{grid-template-columns:1fr}
  .side-panel-card{padding:14px}
}


/* 2026-05-20 Sprint28 Global Collapse System */
.global-collapse-detail,
.result-panel details,
.premium-result-panel details,
.side-pro-shell details,
.recent-report-dashboard{
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.global-collapse-detail>summary,
.result-panel details>summary,
.premium-result-panel details>summary,
.side-pro-shell details>summary{
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:13px 15px;
  font-weight:900;
  color:#0f172a;
  list-style:none;
}
.global-collapse-detail>summary::-webkit-details-marker,
.result-panel details>summary::-webkit-details-marker,
.premium-result-panel details>summary::-webkit-details-marker,
.side-pro-shell details>summary::-webkit-details-marker{
  display:none;
}
.global-collapse-detail>summary:after,
.result-panel details>summary:after,
.premium-result-panel details>summary:after,
.side-pro-shell details>summary:after{
  content:"펼치기";
  font-size:.72rem;
  color:#64748b;
  font-weight:900;
}
.global-collapse-detail[open]>summary:after,
.result-panel details[open]>summary:after,
.premium-result-panel details[open]>summary:after,
.side-pro-shell details[open]>summary:after{
  content:"접기";
}
.global-collapse-detail>*:not(summary){
  margin:0!important;
  border:0!important;
  border-top:1px solid #e2e8f0!important;
  border-radius:0!important;
}
.recent-report-dashboard:not(.expanded) .local-privacy-note,
.recent-report-dashboard:not(.expanded) .report-list{
  display:none!important;
}
.recent-report-dashboard .report-head{
  cursor:pointer;
}
.recent-report-dashboard .report-head:after{
  content:"펼치기/접기";
  font-size:.72rem;
  color:#64748b;
  font-weight:900;
  margin-left:auto;
}
html.dark .global-collapse-detail,
html.dark .result-panel details,
html.dark .premium-result-panel details,
html.dark .side-pro-shell details{
  background:#101827!important;
  border-color:#334155!important;
}
html.dark .global-collapse-detail>summary,
html.dark .result-panel details>summary,
html.dark .premium-result-panel details>summary,
html.dark .side-pro-shell details>summary{
  color:#f8fafc!important;
}
@media(max-width:720px){
  .global-collapse-detail>summary,
  .result-panel details>summary,
  .premium-result-panel details>summary,
  .side-pro-shell details>summary{
    padding:12px 13px;
    font-size:.88rem;
  }
}


/* 2026-05-20 Sprint29 Card Visual System */
.visual-flow-strip{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin:14px auto 18px;padding:10px 12px;border:1px solid #e2e8f0;
  background:rgba(255,255,255,.78);backdrop-filter:blur(12px);
  border-radius:18px;box-shadow:0 10px 28px rgba(15,23,42,.055);max-width:760px
}
.visual-flow-strip div{display:flex;align-items:center;gap:7px;color:#0f172a;font-weight:900}
.visual-flow-strip b{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#0f172a;color:#fff;font-size:.75rem}
.visual-flow-strip span{font-size:.82rem}
.visual-flow-strip i{color:#94a3b8;font-style:normal}
.visual-mini-badge{background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;padding:10px 12px;margin-bottom:10px;color:#1e3a8a}
.visual-mini-badge span{display:block;font-size:.72rem;font-weight:900;color:#2563eb;margin-bottom:3px}
.visual-mini-badge strong{font-size:.86rem}
html.dark .visual-flow-strip{background:rgba(15,23,42,.9);border-color:#334155}
html.dark .visual-flow-strip div{color:#f8fafc}
html.dark .visual-flow-strip b{background:#2563eb}
html.dark .visual-mini-badge{background:#111827;border-color:#334155;color:#e2e8f0}
@media(max-width:720px){.visual-flow-strip{justify-content:flex-start;overflow-x:auto}.visual-flow-strip span{white-space:nowrap}.visual-mini-badge{font-size:.82rem}}


/* 2026-05-20 Sprint30 Hub Card Density */
@media(min-width:1180px){
  #list .tool-card{min-height:132px!important;padding:14px!important;grid-template-columns:40px 1fr!important}
  #list .tool-card .icon{width:40px!important;height:40px!important}
  #list .tool-card h3{font-size:.94rem!important;line-height:1.28!important;-webkit-line-clamp:2!important}
  #list .tool-card small{font-size:.75rem!important;-webkit-line-clamp:2!important}
  #list .badges{gap:5px!important}
  #list .badge{font-size:.65rem!important;padding:4px 7px!important}
}
@media(max-width:720px){
  .card-grid{grid-template-columns:1fr!important}
  .tool-card{min-height:auto!important;padding:13px!important}
  .tool-card h3{font-size:.95rem!important;line-height:1.28!important}
  .tool-card small{font-size:.75rem!important;line-height:1.45!important}
  .situation-card{min-height:auto!important}
}
.compact-card-note{font-size:.72rem;color:#64748b}


/* 2026-05-20 Sprint31 Tab State Manager */
.side-pro-tabs button,
.tabs .tab,
.filter,
.target-filter{transition:background .16s ease,color .16s ease,transform .16s ease}
.side-pro-tabs button:active,
.tabs .tab:active,
.filter:active,
.target-filter:active{transform:translateY(1px)}
.side-pro-tabs button:focus-visible,
.tabs .tab:focus-visible,
.filter:focus-visible,
.target-filter:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}


/* 2026-05-20 Sprint32 Scenario Manager */
.common-scenario-panel{margin:14px 18px 18px!important}
.common-scenario-inner{padding:12px;border-top:1px solid #e2e8f0}
.scenario-save-btn{border:0;background:#0f172a;color:#fff;border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer;margin-bottom:10px}
.scenario-list{display:grid;gap:8px}
.scenario-list article{display:grid;gap:5px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px}
.scenario-list strong{color:#0f172a}
.scenario-list span{color:#64748b;font-size:.75rem}
.scenario-list article div{display:flex;gap:6px}
.scenario-list button{border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:7px 9px;font-weight:850;cursor:pointer}
.scenario-list button:last-child{color:#dc2626}
html.dark .scenario-list article{background:#0f172a!important;border-color:#334155!important}
html.dark .scenario-list strong{color:#f8fafc!important}
html.dark .scenario-list button{background:#111827!important;border-color:#334155!important;color:#e2e8f0!important}


/* 2026-05-20 Sprint34 Side Hustle Master Template */
.workspace-master-mode{padding:0!important;background:transparent!important}
.sh-master-shell{display:grid;gap:18px}
.sh-master-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:stretch;padding:26px;border-radius:28px;background:linear-gradient(135deg,#0f172a 0%,#1e293b 38%,#0f3d62 100%);color:#fff;box-shadow:0 30px 80px rgba(2,6,23,.16)}
.sh-master-hero .hero-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.76rem;font-weight:850;letter-spacing:.02em;margin-bottom:12px}
.sh-master-hero h1{margin:0;font-size:clamp(1.6rem,2.4vw,2.35rem);line-height:1.12;letter-spacing:-.035em}
.sh-master-hero p{margin:10px 0 0;color:rgba(255,255,255,.82);max-width:60ch;line-height:1.65}
.hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.hero-pills span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);font-size:.75rem;font-weight:800}
.hero-visual{position:relative;min-height:180px;display:flex;align-items:center;justify-content:center}
.visual-card{position:absolute;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);box-shadow:0 20px 40px rgba(0,0,0,.16)}
.visual-card.card-a{width:220px;height:150px;left:8%;top:16px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end}
.visual-card.card-a strong{font-size:1.1rem;color:#fff}
.visual-card.card-a small{margin-top:6px;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.08em}
.visual-card.card-b{width:128px;height:128px;right:15%;top:10px;background:radial-gradient(circle at 30% 30%,rgba(16,185,129,.75),rgba(16,185,129,.18))}
.visual-card.card-c{width:168px;height:92px;right:2%;bottom:12px;background:radial-gradient(circle at 30% 30%,rgba(59,130,246,.82),rgba(59,130,246,.18))}
.sh-master-main{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:18px}
.sh-master-left,.sh-master-right{display:grid;gap:16px;align-content:start}
.sh-master-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:7px;background:#e2e8f0;border-radius:18px}
.sh-master-tabs button{border:0;background:transparent;border-radius:14px;padding:12px 10px;font-weight:850;color:#334155;cursor:pointer;transition:.18s}
.sh-master-tabs button.active{background:#fff;color:#0f172a;box-shadow:0 8px 24px rgba(15,23,42,.09)}
.master-input-head,.master-scenario-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-end}
.master-input-head small,.master-scenario-head small,.master-summary-banner small,.master-insight-card small{display:block;color:#64748b;font-size:.73rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.master-input-head strong,.master-scenario-head strong{color:#0f172a;font-size:1rem;line-height:1.35}
#masterSaveScenarioBtn{border:0;background:#0f172a;color:#fff;border-radius:12px;padding:11px 14px;font-weight:850;cursor:pointer;white-space:nowrap}
.master-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.master-field{display:grid;gap:7px;padding:14px;border-radius:18px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 10px 20px rgba(15,23,42,.035)}
.master-field span{font-size:.83rem;font-weight:800;color:#0f172a}
.master-field input,.master-field select{width:100%;border:0;background:#f8fafc;border-radius:12px;padding:12px 13px;font-size:.95rem;font-weight:700;color:#0f172a}
.master-field input:focus,.master-field select:focus{outline:2px solid rgba(37,99,235,.22)}
.master-summary-banner{padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;box-shadow:0 18px 36px rgba(37,99,235,.16)}
.master-summary-banner strong{display:block;margin-top:5px;font-size:1.1rem;line-height:1.42}
.master-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.master-highlights div{padding:14px 14px;border-radius:18px;background:#fff;border:1px solid #e2e8f0}
.master-highlights small{display:block;color:#64748b;font-size:.72rem;font-weight:800}
.master-highlights strong{display:block;margin-top:6px;color:#0f172a;font-size:1.05rem;line-height:1.25}
.master-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sh-kpi-card{padding:16px;border-radius:20px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.sh-kpi-card small{display:block;color:#475569;font-size:.74rem;font-weight:800}
.sh-kpi-card strong{display:block;margin:8px 0 6px;color:#0f172a;font-size:1.18rem;line-height:1.18;letter-spacing:-.03em}
.sh-kpi-card p{margin:0;color:#64748b;font-size:.82rem;line-height:1.5}
.tone-blue{background:linear-gradient(180deg,#ffffff,#eff6ff)}
.tone-emerald{background:linear-gradient(180deg,#ffffff,#ecfdf5)}
.tone-amber{background:linear-gradient(180deg,#ffffff,#fffbeb)}
.tone-violet{background:linear-gradient(180deg,#ffffff,#f5f3ff)}
.tone-rose{background:linear-gradient(180deg,#ffffff,#fff1f2)}
.master-insight-card{padding:18px;border-radius:20px;background:#fff;border:1px solid #e2e8f0}
.master-insight-card p{margin:8px 0 0;color:#334155;line-height:1.72}
.master-guides{display:grid;gap:12px}
.master-accordion{border-radius:18px;background:#fff;border:1px solid #e2e8f0;overflow:hidden}
.master-accordion summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:900;color:#0f172a;position:relative}
.master-accordion summary::-webkit-details-marker{display:none}
.master-accordion summary:after{content:'+';position:absolute;right:18px;top:14px;font-size:1.1rem;color:#64748b}
.master-accordion[open] summary:after{content:'–'}
.master-accordion-body{padding:0 16px 16px;display:grid;gap:10px}
.master-accordion-card{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:flex-start;padding:14px;border-radius:16px;background:#f8fafc}
.master-accordion-card h5{margin:0 0 5px;color:#0f172a;font-size:.95rem}
.master-accordion-card p{margin:0;color:#64748b;line-height:1.58;font-size:.86rem}
.master-accordion-card .illus{width:46px;height:46px;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.master-accordion-card .illus.guide-a{background:linear-gradient(135deg,#2563eb,#60a5fa)}
.master-accordion-card .illus.guide-b{background:linear-gradient(135deg,#10b981,#34d399)}
.master-accordion-card .illus.guide-c{background:linear-gradient(135deg,#f59e0b,#fbbf24)}
.master-accordion-card .illus.guide-d{background:linear-gradient(135deg,#8b5cf6,#c084fc)}
.master-scenario-panel{padding:16px;border-radius:18px;background:#fff;border:1px solid #e2e8f0}
#masterScenarioList{display:grid;gap:10px;margin-top:12px}
.master-scene-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border-radius:16px;background:#f8fafc}
.master-scene-item strong{display:block;color:#0f172a}
.master-scene-item span{display:block;font-size:.76rem;color:#64748b;margin-top:4px}
.master-scene-item aside{display:flex;gap:8px}
.master-scene-item button{border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:8px 10px;font-weight:800;cursor:pointer}
.master-scene-item button:last-child{color:#dc2626}
.empty-state{margin:0;color:#64748b;line-height:1.6}
.accent-coupang .master-summary-banner{background:linear-gradient(135deg,#111827,#2563eb)}
.accent-smart .master-summary-banner{background:linear-gradient(135deg,#111827,#0ea5e9)}
.accent-freelance .master-summary-banner{background:linear-gradient(135deg,#111827,#10b981)}
.accent-adsense .master-summary-banner{background:linear-gradient(135deg,#111827,#8b5cf6)}
.accent-youtube .master-summary-banner{background:linear-gradient(135deg,#111827,#ef4444)}
.accent-influencer .master-summary-banner{background:linear-gradient(135deg,#111827,#ec4899)}
html.dark .sh-master-tabs{background:#1e293b}
html.dark .sh-master-tabs button.active{background:#0f172a;color:#fff}
html.dark .master-field,
html.dark .master-highlights div,
html.dark .sh-kpi-card,
html.dark .master-insight-card,
html.dark .master-accordion,
html.dark .master-scenario-panel{background:#0f172a;border-color:#334155;box-shadow:none}
html.dark .master-field span, html.dark .master-input-head strong, html.dark .master-scenario-head strong, html.dark .master-highlights strong, html.dark .sh-kpi-card strong, html.dark .master-accordion summary, html.dark .master-scene-item strong{color:#f8fafc}
html.dark .master-field input, html.dark .master-field select, html.dark .master-scene-item, html.dark .master-accordion-card, html.dark .master-highlights div{background:#111827;color:#e5e7eb}
html.dark .master-input-head small, html.dark .master-scenario-head small, html.dark .master-highlights small, html.dark .sh-kpi-card small, html.dark .master-insight-card small{color:#94a3b8}
html.dark .sh-kpi-card p, html.dark .master-insight-card p, html.dark .master-accordion-card p, html.dark .master-scene-item span, html.dark .empty-state{color:#cbd5e1}
html.dark .master-scene-item button{background:#0b1220;color:#e2e8f0;border-color:#334155}
@media (max-width: 980px){
  .sh-master-hero,.sh-master-main{grid-template-columns:1fr}
  .hero-visual{min-height:140px}
  .master-result-grid{grid-template-columns:1fr}
  .master-highlights{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 720px){
  .sh-master-hero{padding:20px;border-radius:22px}
  .hero-pills{gap:6px}
  .hero-pills span{font-size:.68rem;padding:7px 9px}
  .sh-master-tabs{grid-template-columns:repeat(2,1fr)}
  .master-input-grid,.master-highlights{grid-template-columns:1fr}
  .master-input-head,.master-scenario-head,.master-scene-item{grid-template-columns:1fr;display:grid}
  .master-input-head{align-items:start}
  #masterSaveScenarioBtn{width:100%}
  .master-scene-item aside{justify-content:stretch}
  .master-scene-item aside button{flex:1}
  .master-accordion-card{grid-template-columns:38px 1fr}
  .master-accordion-card .illus{width:38px;height:38px;border-radius:12px}
}


/* 2026-05-20 Sprint35 Responsive Alignment Polish
   목적: 기능 추가 없이 모바일/데스크탑 기준 글씨·창·정렬·간격만 정리 */
html,body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body{
  line-height:1.55;
  word-break:keep-all;
  overflow-wrap:break-word;
}
.wrap,
.premium-home,
.page{
  width:min(100% - 32px, var(--container-wide,1280px));
  margin-inline:auto;
}
.main-grid{
  align-items:start;
}
.workspace,
.section,
.situation-hub,
.side-pro-shell,
.sh-master-shell{
  max-width:100%;
}
.work-head,
.side-pro-hero,
.sh-master-hero{
  word-break:keep-all;
}
.work-head h2,
.side-pro-hero h2,
.sh-master-hero h1{
  letter-spacing:-.045em;
}
.work-head p,
.side-pro-hero p,
.sh-master-hero p{
  line-height:1.58;
}
.card-grid{
  align-items:stretch;
}
.tool-card{
  min-width:0;
  align-items:flex-start;
}
.tool-card h3,
.tool-card small,
.situation-card strong,
.situation-card span{
  word-break:keep-all;
  overflow-wrap:break-word;
}
.tool-card h3{
  line-height:1.32!important;
}
.tool-card small{
  line-height:1.48!important;
}
.badges{
  align-items:center;
}
.badge{
  white-space:nowrap;
}
.sh-master-main,
.side-pro-body{
  align-items:start;
}
.sh-master-left,
.sh-master-right,
.side-pro-input,
.side-pro-result{
  min-width:0;
}
.master-input-grid,
.side-pro-form{
  align-items:stretch;
}
.master-field,
.side-pro-form label{
  min-width:0;
}
.master-field input,
.master-field select,
.side-pro-form input,
.side-pro-form select{
  min-width:0;
  box-sizing:border-box;
}
.master-summary-banner,
.master-insight-card,
.sh-kpi-card,
.side-main-result,
.side-result-grid>div,
.master-highlights>div{
  min-width:0;
}
.master-summary-banner strong,
.side-main-result strong,
.sh-kpi-card strong,
.master-highlights strong,
.side-result-grid strong{
  word-break:keep-all;
  overflow-wrap:break-word;
}
.master-result-grid,
.side-result-grid,
.metric-grid{
  align-items:stretch;
}
.master-accordion-card,
.side-saved-item,
.master-scene-item{
  min-width:0;
}
.master-accordion-card p,
.side-guide li,
.master-insight-card p,
.side-panel-card p{
  line-height:1.62;
}
.visual-flow-strip{
  max-width:min(100%,760px);
}
@media(min-width:1180px){
  .main-grid{
    grid-template-columns:minmax(430px,470px) minmax(0,1fr)!important;
    gap:22px!important;
  }
  .side{
    min-width:0;
  }
  #list .card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #list .tool-card{
    min-height:138px!important;
    padding:14px!important;
    gap:11px!important;
  }
  #list .tool-card h3{
    font-size:.94rem!important;
  }
  #list .tool-card small{
    font-size:.745rem!important;
  }
  .workspace{
    min-width:0;
  }
  .sh-master-main{
    grid-template-columns:minmax(0,1.03fr) minmax(330px,.97fr)!important;
    gap:16px!important;
  }
  .sh-master-hero{
    grid-template-columns:1.08fr .92fr!important;
    padding:24px!important;
  }
  .master-input-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .master-result-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .master-highlights{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .side-pro-body{
    grid-template-columns:minmax(0,1fr) minmax(320px,.92fr)!important;
  }
}
@media(min-width:721px) and (max-width:1179px){
  .wrap,
  .premium-home,
  .page{
    width:min(100% - 28px, 980px);
  }
  .main-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .side{
    position:static!important;
  }
  #list{
    max-height:none!important;
    overflow:visible!important;
  }
  #list .card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .sh-master-main,
  .side-pro-body{
    grid-template-columns:1fr!important;
  }
  .master-result-grid,
  .side-result-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:720px){
  .wrap,
  .premium-home,
  .page{
    width:100%!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  body{
    font-size:15px;
    line-height:1.56;
  }
  .main-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .side{
    position:static!important;
  }
  #list{
    max-height:none!important;
    overflow:visible!important;
    padding-right:0!important;
  }
  .section,
  .situation-hub,
  .workspace,
  .side-pro-shell,
  .sh-master-shell{
    border-radius:20px!important;
  }
  .toolbar,
  .target-filters,
  .filters,
  .tabs,
  .side-pro-tabs,
  .sh-master-tabs{
    gap:7px!important;
  }
  .toolbar input,
  .toolbar select{
    min-height:42px!important;
    font-size:.88rem!important;
  }
  .tool-card{
    grid-template-columns:40px 1fr!important;
    gap:10px!important;
    padding:12px!important;
  }
  .tool-card .icon{
    width:40px!important;
    height:40px!important;
    border-radius:13px!important;
    font-size:1.08rem!important;
  }
  .tool-card h3{
    font-size:.92rem!important;
    line-height:1.32!important;
    margin-top:0!important;
  }
  .tool-card small{
    font-size:.72rem!important;
    line-height:1.45!important;
  }
  .badge{
    font-size:.62rem!important;
    padding:3px 6px!important;
  }
  .work-head{
    grid-template-columns:44px 1fr!important;
    gap:10px!important;
    padding:14px!important;
  }
  .work-head .big-icon{
    width:44px!important;
    height:44px!important;
    border-radius:14px!important;
    font-size:1.22rem!important;
  }
  .work-head h2{
    font-size:1.02rem!important;
    line-height:1.3!important;
  }
  .work-head p{
    font-size:.76rem!important;
    line-height:1.46!important;
  }
  .sh-master-hero,
  .side-pro-hero{
    grid-template-columns:1fr!important;
    padding:18px!important;
    border-radius:20px!important;
    text-align:left!important;
  }
  .sh-master-hero h1,
  .side-pro-hero h2{
    font-size:1.35rem!important;
    line-height:1.18!important;
  }
  .sh-master-hero p,
  .side-pro-hero p{
    font-size:.84rem!important;
    line-height:1.55!important;
  }
  .hero-visual{
    min-height:112px!important;
  }
  .visual-card.card-a{
    width:172px!important;
    height:108px!important;
    left:0!important;
    top:10px!important;
    padding:16px!important;
  }
  .visual-card.card-b{
    width:88px!important;
    height:88px!important;
    right:38px!important;
    top:8px!important;
  }
  .visual-card.card-c{
    width:116px!important;
    height:66px!important;
    right:0!important;
    bottom:8px!important;
  }
  .sh-master-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:6px!important;
  }
  .sh-master-tabs button,
  .side-pro-tabs button{
    font-size:.74rem!important;
    padding:9px 8px!important;
    min-height:36px!important;
  }
  .side-pro-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    overflow:visible!important;
  }
  .sh-master-main,
  .side-pro-body{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .sh-master-left,
  .sh-master-right,
  .side-pro-input,
  .side-pro-result{
    gap:12px!important;
    padding:14px!important;
  }
  .master-input-head,
  .master-scenario-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:10px!important;
  }
  .master-input-head strong,
  .master-scenario-head strong{
    font-size:.9rem!important;
    line-height:1.42!important;
  }
  #masterSaveScenarioBtn{
    width:100%!important;
    min-height:42px!important;
  }
  .master-input-grid,
  .side-pro-form,
  .master-result-grid,
  .side-result-grid,
  .master-highlights,
  .side-timeline,
  .side-pro-actions{
    grid-template-columns:1fr!important;
  }
  .master-field,
  .side-pro-form label{
    padding:12px!important;
    border-radius:15px!important;
  }
  .master-field span,
  .side-pro-form label span{
    font-size:.76rem!important;
    line-height:1.35!important;
  }
  .master-field input,
  .master-field select,
  .side-pro-form input,
  .side-pro-form select{
    min-height:42px!important;
    font-size:.9rem!important;
    border-radius:11px!important;
  }
  .master-summary-banner,
  .side-main-result{
    padding:15px!important;
    border-radius:17px!important;
  }
  .master-summary-banner strong,
  .side-main-result strong{
    font-size:1.3rem!important;
    line-height:1.22!important;
  }
  .master-highlights div,
  .sh-kpi-card,
  .side-result-grid>div,
  .master-insight-card,
  .side-panel-card{
    padding:13px!important;
    border-radius:16px!important;
  }
  .sh-kpi-card strong,
  .side-result-grid strong,
  .master-highlights strong{
    font-size:1rem!important;
    line-height:1.25!important;
  }
  .sh-kpi-card p,
  .side-result-grid small,
  .master-insight-card p,
  .side-panel-card p{
    font-size:.8rem!important;
    line-height:1.52!important;
  }
  .master-accordion summary,
  .side-guide summary,
  .global-collapse-detail>summary{
    padding:13px 14px!important;
    font-size:.86rem!important;
    line-height:1.35!important;
  }
  .master-accordion-card{
    grid-template-columns:34px 1fr!important;
    gap:10px!important;
    padding:12px!important;
  }
  .master-accordion-card .illus{
    width:34px!important;
    height:34px!important;
    border-radius:11px!important;
  }
  .master-accordion-card h5{
    font-size:.86rem!important;
    line-height:1.35!important;
  }
  .master-accordion-card p{
    font-size:.78rem!important;
    line-height:1.52!important;
  }
  .visual-flow-strip{
    margin:10px 0 14px!important;
    padding:9px!important;
    border-radius:15px!important;
  }
  .visual-flow-strip div{
    flex:0 0 auto;
  }
}
@media(max-width:380px){
  .wrap,
  .premium-home,
  .page{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .sh-master-tabs button,
  .side-pro-tabs button{
    font-size:.7rem!important;
    padding:8px 6px!important;
  }
  .tool-card{
    grid-template-columns:36px 1fr!important;
  }
  .tool-card .icon{
    width:36px!important;
    height:36px!important;
  }
}


/* 2026-05-20 Sprint36 Hero Readability + Scenario Click UX */
.sh-master-hero{
  overflow:hidden;
  position:relative;
}
.sh-master-hero h1{
  color:#ffffff!important;
  opacity:1!important;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
  max-width:620px;
}
.sh-master-hero .hero-copy{
  position:relative;
  z-index:2;
}
.sh-master-hero .hero-visual{
  position:relative;
  z-index:1;
}
.sh-master-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 16% 30%, rgba(59,130,246,.14), transparent 34%),
    linear-gradient(90deg,rgba(15,23,42,.92),rgba(15,23,42,.55) 58%,rgba(15,23,42,.72));
  z-index:0;
}
.sh-master-hero .hero-badge,
.sh-master-hero .hero-pills{
  position:relative;
  z-index:2;
}
.scenario-section{
  position:relative;
}
.scenario-section:after{
  content:"선택한 시나리오에 맞춰 입력 그룹으로 이동합니다.";
  display:block;
  margin-top:10px;
  color:#64748b;
  font-size:.78rem;
  font-weight:800;
}
.scenario{
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.scenario:hover{
  transform:translateY(-1px);
}
.scenario.active{
  border-color:#10b981!important;
  box-shadow:0 0 0 2px rgba(16,185,129,.15), 0 12px 28px rgba(15,23,42,.08)!important;
}
.scenario.active:before{
  content:"선택됨";
  display:inline-flex;
  margin-right:6px;
  padding:3px 6px;
  border-radius:999px;
  background:#dcfce7;
  color:#047857;
  font-size:.62rem;
  font-weight:900;
  vertical-align:middle;
}
.scenario-focus-flash{
  animation:scenarioFocusFlash 1.05s ease;
}
@keyframes scenarioFocusFlash{
  0%{box-shadow:0 0 0 0 rgba(16,185,129,.0)}
  35%{box-shadow:0 0 0 4px rgba(16,185,129,.22)}
  100%{box-shadow:0 0 0 0 rgba(16,185,129,.0)}
}
html.dark .scenario-section:after{color:#94a3b8}
html.dark .scenario.active:before{background:rgba(52,211,153,.16);color:#86efac}
@media(max-width:720px){
  .sh-master-hero h1{
    font-size:1.42rem!important;
    max-width:100%;
  }
  .sh-master-hero:before{
    background:linear-gradient(180deg,rgba(15,23,42,.92),rgba(15,23,42,.68));
  }
  .scenario-section:after{
    font-size:.72rem;
    line-height:1.45;
  }
}


/* 2026-05-20 Sprint37 Site Structure Navigation */
.jagum-global-nav{position:sticky;top:0;z-index:9000;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 18px;background:rgba(255,255,255,.84);backdrop-filter:blur(16px);border-bottom:1px solid #e2e8f0}
.jagum-global-nav .brand{font-weight:950;color:#0f172a;text-decoration:none}
.jagum-global-nav div{display:flex;gap:8px;flex-wrap:wrap}
.jagum-global-nav div a{color:#334155;text-decoration:none;font-size:.82rem;font-weight:900;padding:8px 10px;border-radius:999px}
.jagum-global-nav div a:hover{background:#f1f5f9}
.purpose-router{margin:16px auto 20px;padding:18px;border:1px solid #e2e8f0;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.06)}
.purpose-router h2{margin:0 0 12px;color:#0f172a;font-size:1.18rem}
.purpose-router>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.purpose-router a{display:block;text-decoration:none;padding:14px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0;color:#0f172a}
.purpose-router strong{display:block;font-size:.93rem}.purpose-router span{display:block;color:#64748b;font-size:.78rem;margin-top:5px}
html.dark .jagum-global-nav{background:rgba(15,23,42,.9);border-color:#334155}
html.dark .jagum-global-nav .brand,html.dark .jagum-global-nav a{color:#f8fafc}
html.dark .purpose-router,html.dark .purpose-router a{background:#0f172a;border-color:#334155;color:#f8fafc}
html.dark .purpose-router span{color:#94a3b8}
@media(max-width:900px){.purpose-router>div{grid-template-columns:repeat(2,1fr)}.jagum-global-nav{align-items:flex-start}.jagum-global-nav div{justify-content:flex-end}}
@media(max-width:520px){.purpose-router>div{grid-template-columns:1fr}.jagum-global-nav{display:grid}.jagum-global-nav div{justify-content:flex-start}.jagum-global-nav div a{font-size:.74rem;padding:7px 8px}}


/* 2026-05-20 Sprint38 Core Calculator Polish */
.core-polish-banner{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:12px 18px;padding:12px 14px;border:1px solid #dbeafe;background:#eff6ff;color:#1e3a8a;border-radius:16px}
.core-polish-banner strong{font-weight:950}.core-polish-banner span{font-size:.82rem;line-height:1.45}
.core-result-order-note{padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;margin-bottom:10px}
.core-result-order-note b{display:block;color:#0f172a}.core-result-order-note span{display:block;color:#64748b;font-size:.78rem;margin-top:3px}
html.dark .core-polish-banner{background:#0f172a;border-color:#334155;color:#bfdbfe}
html.dark .core-result-order-note{background:#111827;border-color:#334155}
html.dark .core-result-order-note b{color:#f8fafc}html.dark .core-result-order-note span{color:#94a3b8}
@media(max-width:720px){.core-polish-banner{display:grid;margin:10px 12px}.core-polish-banner span{font-size:.76rem}}


/* 2026-05-20 Sprint39 Scenario Compare Pro */
.scenario-compare-pro{margin-top:12px;padding:12px;border:1px solid #e2e8f0;background:#fff;border-radius:14px}
.scenario-compare-pro strong{display:block;color:#0f172a;margin-bottom:8px}
.scenario-compare-pro .compare-result{display:grid;gap:4px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px}
.scenario-compare-pro span{color:#64748b;font-size:.74rem;font-weight:850}.scenario-compare-pro b{color:#0f172a;font-size:1.1rem}.scenario-compare-pro small{color:#64748b;line-height:1.45}
.scenario-compare-pro button{margin-top:8px;border:0;background:#0f172a;color:#fff;border-radius:10px;padding:8px 10px;font-weight:850;cursor:pointer}
html.dark .scenario-compare-pro{background:#0f172a;border-color:#334155}
html.dark .scenario-compare-pro strong,html.dark .scenario-compare-pro b{color:#f8fafc}
html.dark .scenario-compare-pro .compare-result{background:#111827;border-color:#334155}


/* 2026-05-20 Sprint40 Mobile UX Polish */
.mobile-first-note{padding:9px 11px;margin-bottom:10px;border-radius:12px;background:#eff6ff;color:#1e3a8a;font-size:.76rem;font-weight:850;line-height:1.45}
@media(max-width:720px){
  .mobile-polish-active .mobile-compact-hero{padding-top:14px!important;padding-bottom:14px!important}
  .mobile-polish-active h1{font-size:1.5rem!important;line-height:1.18!important}
  .mobile-polish-active h2{font-size:1.08rem!important;line-height:1.25!important}
  .mobile-polish-active .hero-art{display:none!important}
  .mobile-polish-active .visual-flow-strip{display:none!important}
  .mobile-polish-active .purpose-router{margin:10px 0!important}
  .mobile-polish-active .core-polish-banner{display:none!important}
  .mobile-polish-active .jagum-global-nav{position:static!important}
  .mobile-polish-active .report-list,.mobile-polish-active .hub-next-links{max-height:260px;overflow:auto}
}
html.dark .mobile-first-note{background:#0f172a;color:#bfdbfe;border:1px solid #334155}


/* 2026-05-20 Sprint41 Ops QA Panel */
.ops-qa-panel{position:fixed;right:14px;bottom:132px;z-index:99999;width:min(92vw,340px);border:1px solid #e2e8f0;border-radius:16px;background:#fff;color:#0f172a;box-shadow:0 18px 48px rgba(15,23,42,.16);overflow:hidden}
.ops-qa-panel summary{cursor:pointer;padding:10px 12px;font-weight:950}
.ops-qa-panel div{padding:0 12px 12px}
.ops-qa-panel pre{max-height:240px;overflow:auto;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px;font-size:.72rem}
.ops-qa-panel button{border:0;background:#0f172a;color:#fff;border-radius:10px;padding:8px 10px;font-weight:850}
html.dark .ops-qa-panel{background:#0f172a;color:#f8fafc;border-color:#334155}
html.dark .ops-qa-panel pre{background:#111827;border-color:#334155}
@media(max-width:720px){.ops-qa-panel{right:10px;bottom:118px;width:calc(100vw - 20px)}}


/* 2026-05-20 SEO Sprint44 Internal Link Hub */
.seo-related-hub{margin:24px 0 0;padding:20px;border:1px solid #e2e8f0;border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.045)}
.seo-related-hub h2{margin:0 0 12px;color:#0f172a;font-size:1.15rem}
.seo-related-hub div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.seo-related-hub a{text-decoration:none;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:11px;font-weight:850;line-height:1.35}
html.dark .seo-related-hub,html.dark .seo-related-hub a{background:#0f172a;border-color:#334155;color:#f8fafc}
@media(max-width:720px){.seo-related-hub div{grid-template-columns:1fr}.seo-related-hub{padding:15px}}


/* 2026-05-20 SEO Sprint45 QA Panel */
.seo-qa-panel{position:fixed;left:14px;bottom:132px;z-index:99998;width:min(92vw,360px);border:1px solid #e2e8f0;border-radius:16px;background:#fff;color:#0f172a;box-shadow:0 18px 48px rgba(15,23,42,.16);overflow:hidden}
.seo-qa-panel summary{cursor:pointer;padding:10px 12px;font-weight:950}
.seo-qa-panel div{padding:0 12px 12px}
.seo-qa-panel p{margin:8px 0;color:#475569;font-size:.8rem;line-height:1.45}
.seo-qa-panel button{border:0;background:#0f172a;color:#fff;border-radius:10px;padding:8px 10px;font-weight:850}
html.dark .seo-qa-panel{background:#0f172a;color:#f8fafc;border-color:#334155}
html.dark .seo-qa-panel p{color:#cbd5e1}
@media(max-width:720px){.seo-qa-panel{left:10px;bottom:170px;width:calc(100vw - 20px)}}


/* 2026-05-20 SEO Sprint46 Final Traffic Growth */
.search-intent-deep-block{border-color:#bfdbfe!important;background:linear-gradient(180deg,#ffffff,#eff6ff)!important}
.search-intent-deep-block h2{color:#1e3a8a!important}
html.dark .search-intent-deep-block{background:#0f172a!important;border-color:#334155!important}
html.dark .search-intent-deep-block h2{color:#bfdbfe!important}
