/* personalcolor 공통 스타일 — 세모테 보라톤(selflove) 계열 유지 + 비주얼/인터랙티브 요소 */
body { background:#faf9fb; font-family:"Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif; }
html { scroll-behavior:smooth; }
/* Manual AdSense placements, separated from interactive controls. */
.pc-ad-block{clear:both;margin:40px 0;padding:14px 0 20px;border-top:1px solid #e4ddd6;border-bottom:1px solid #e4ddd6;width:100%;min-width:0;box-sizing:border-box}
.pc-ad-label{text-align:center;font-size:11px;font-weight:400;line-height:1.5;color:#81776f;margin-bottom:12px}
.pc-ad-unit{width:100%;min-height:250px}
@media print{.pc-ad-block{display:none!important}}
.pc-plan-intro,.pc-plan-reason{font-size:13px;line-height:1.8;margin:18px 0;color:#665b52}.pc-plan-reason{padding:14px;background:#f5f1eb}.pc-outfit-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pc-outfit{border-top:2px solid #a08a79;padding-top:8px;break-inside:avoid}.pc-outfit h4{font-size:15px;font-weight:800}.pc-outfit-color{display:flex;align-items:center;gap:10px;margin:12px 0}.pc-outfit-color>span{width:34px;height:38px;border:1px solid #ccc;flex-shrink:0}.pc-outfit-color small{display:block;font-size:10px}.pc-outfit-color b{font-size:12px}.pc-outfit-color em{margin-left:auto;font-size:11px;font-style:normal}.pc-outfit p{font-size:11px;color:#756b63;line-height:1.7}.pc-shopping-notes{padding-left:20px;line-height:1.9;font-size:13px}.pc-shopping-notes li{margin:18px 0}.pc-ai-swatch{display:inline-block;width:24px;height:24px;border:1px solid #ccc;vertical-align:middle}.pc-opt-card{padding:0;background:#fff}.pc-opt-card .pc-swatch{width:100%}
@media(max-width:520px){.pc-outfit-grid{grid-template-columns:1fr}}
@media print{.pc-outfit-grid{grid-template-columns:1fr 1fr}.pc-action-plan{break-inside:auto!important}.pc-action-plan .pc-outfit{break-inside:avoid}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
button, a, input { transition:border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease; }
button:focus, a:focus, input:focus { outline:3px solid rgba(115,88,72,.24) !important; outline-offset:3px; }
.navbar-brand img { height:34px; width:auto; }
.navbar-default { margin-bottom:0; }

.pc-typecard { border-radius:18px; padding:34px 22px; text-align:center; color:#fff; text-shadow:0 1px 6px rgba(0,0,0,.25); box-shadow:0 6px 24px rgba(90,60,160,.18); }
.pc-typecard-season { font-size:12px; font-weight:800; letter-spacing:2px; opacity:.9; }
.pc-typecard-name { font-size:28px; font-weight:900; margin:6px 0 4px; }
.pc-typecard-mood { font-size:14px; opacity:.95; }

.pc-card { background:#fff; border-radius:14px; box-shadow:0 2px 14px rgba(90,60,160,.08); border:1.5px solid #ede9fe; padding:20px 18px; margin-bottom:16px; }
.pc-card-muted { background:#f9f9fb; }
.pc-card-title { font-size:15px; font-weight:800; color:#3d2b6b; margin:0 0 14px; }
.pc-card-title i { color:#7c3aed; margin-right:6px; }

.pc-swatchgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.pc-swatch-lg { height:56px; border-radius:10px; box-shadow:inset 0 0 0 1px rgba(0,0,0,.06); }
.pc-swatch-locked { background:#f1eef9 !important; display:flex; align-items:center; justify-content:center; color:#b9aee0; }
.pc-teaser-text { font-size:12.5px; color:#8b7fae; margin:12px 0 0; text-align:center; }

.pc-contrast-row { display:flex; gap:10px; }
.pc-contrast-box { flex:1; height:90px; border-radius:12px; display:flex; align-items:flex-end; padding:10px; }
.pc-contrast-label { font-size:12px; font-weight:800; color:#fff; text-shadow:0 1px 4px rgba(0,0,0,.35); }
.pc-contrast-label-dark { color:#fff; }

.pc-axis-row { display:flex; align-items:center; margin-bottom:10px; font-size:12.5px; color:#555; }
.pc-axis-row span { width:90px; flex-shrink:0; }
.pc-axis-bar { flex:1; height:10px; background:#f1eef9; border-radius:6px; overflow:hidden; }
.pc-axis-fill { height:100%; background:linear-gradient(90deg,#c4b5fd,#7c3aed); }

.pc-social { text-align:center; background:#fdf4ff; border:1.5px solid #e9d5ff; border-radius:10px; padding:10px; margin-bottom:16px; font-size:13px; color:#6b21a8; }

.pc-tip-row { display:flex; gap:12px; align-items:flex-start; padding:11px 0; border-bottom:1px solid #f1eef9; font-size:13.5px; color:#4a5568; line-height:1.6; }
.pc-tip-icon { font-size:20px; flex-shrink:0; width:26px; text-align:center; }

/* 설문 인터랙티브 */
.pc-progress-wrap { display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.pc-progress-track { flex:1; height:8px; background:#f1eef9; border-radius:6px; overflow:hidden; }
.pc-progress-fill { height:100%; background:linear-gradient(90deg,#c4b5fd,#7c3aed); width:0%; transition:width .35s ease; }
.pc-progress-text { font-size:12px; color:#8b7fae; font-weight:700; white-space:nowrap; }

.pc-qcard { background:#fff; border-radius:16px; box-shadow:0 2px 14px rgba(90,60,160,.1); border:1.5px solid #ede9fe; padding:26px 20px; }
.pc-qnum { font-size:11px; font-weight:800; color:#a78bfa; letter-spacing:1px; margin-bottom:6px; }
.pc-qtext { font-size:17px; font-weight:800; color:#2d2438; line-height:1.5; margin-bottom:6px; }
.pc-qtip { font-size:12.5px; color:#8b7fae; background:#faf5ff; border-radius:8px; padding:8px 10px; margin-bottom:16px; }
.pc-opts { display:flex; flex-direction:column; gap:10px; margin-top:10px; }
.pc-opt-btn { text-align:left; padding:14px 16px; border-radius:10px; border:2px solid #ede9fe; background:#fff; font-size:14.5px; font-weight:700; color:#3d2b6b; transition:.15s; }
.pc-opt-btn:hover, .pc-opt-btn.pc-selected { border-color:#7c3aed; background:#faf5ff; }

.pc-opts-visual { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pc-opt-card { border-radius:12px; overflow:hidden; border:2px solid #ede9fe; cursor:pointer; transition:.15s; }
.pc-opt-card:hover, .pc-opt-card.pc-selected { border-color:#7c3aed; transform:scale(1.02); }
.pc-swatch { height:70px; }
.pc-opt-label { padding:10px 8px; text-align:center; font-size:13px; font-weight:700; color:#3d2b6b; background:#fff; }

.pc-transition { text-align:center; padding:30px 10px; }
.pc-transition-icon { font-size:38px; color:#7c3aed; margin-bottom:14px; }
.pc-transition p { font-size:16px; color:#3d2b6b; margin-bottom:4px; }
.pc-transition-sub { font-size:13px; color:#8b7fae !important; }
.pc-next-btn { margin-top:16px; background:linear-gradient(135deg,#4c1d95,#7c3aed); color:#fff; border:none; border-radius:10px; padding:12px 28px; font-weight:800; }
.pc-next-btn:hover, .pc-next-btn:focus { color:#fff; transform:translateY(-1px); }
.pc-analysis-orbit { width:70px; height:70px; margin:0 auto 18px; border:1px solid #d8cfc8; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#745b4d; font-size:25px; animation:pcPulse 1.1s ease-in-out infinite alternate; }
@keyframes pcPulse { from{transform:scale(.94);box-shadow:0 0 0 0 rgba(116,91,77,.15)} to{transform:scale(1.04);box-shadow:0 0 0 13px rgba(116,91,77,0)} }

.pc-intro-card { background:#fff; border-radius:16px; box-shadow:0 2px 14px rgba(90,60,160,.1); border:1.5px solid #ede9fe; padding:28px 22px; text-align:center; }
.pc-sex-btn, .pc-age-select { margin:6px 4px; }

/* 결과 페이지 — 웜 뉴트럴 기반의 에디토리얼 리포트 */
.pc-result-body { background:#f3f0eb; color:#25221f; }
.pc-result-hero { color:#292522 !important; }
.pc-result-hero:before { content:""; position:absolute; inset:0; background:rgba(255,255,255,.68); }
.pc-result-hero > * { position:relative; z-index:1; }
.pc-result-hero .pc-palette-ribbon { position:absolute; }
.pc-axis-item:has(.pc-axis-meta b) { min-width:0; }
.pc-result-status.is-legacy ~ .pc-section .pc-axis-track { display:none; }
.pc-result-status.is-legacy ~ .pc-section .pc-axis-list:after { content:"타입 공통 경향입니다. 개인별 측정 수치는 제공하지 않습니다."; color:#786f68; font-size:12px; }
.pc-navbar { background:rgba(250,248,244,.96); border-color:#ddd6ce; }
.pc-nav-inner { max-width:720px; }
.pc-skip-link { position:absolute; left:12px; top:-60px; z-index:20; background:#25221f; color:#fff; padding:10px 14px; }
.pc-skip-link:focus { top:10px; color:#fff; }
.pc-result-shell { width:100%; max-width:720px; margin:0 auto; padding:24px 18px 64px; }
.pc-result-hero { position:relative; overflow:hidden; min-height:430px; padding:44px 38px 38px; border-radius:3px 3px 28px 3px; color:#fff; background:radial-gradient(circle at 82% 16%,rgba(255,255,255,.34),transparent 26%),linear-gradient(145deg,var(--pc-secondary),var(--pc-primary)); box-shadow:0 24px 54px rgba(71,55,45,.18); }
.pc-result-hero:after { content:""; position:absolute; width:270px; height:270px; right:-74px; bottom:-92px; border:52px solid rgba(255,255,255,.16); border-radius:50%; }
.pc-result-kicker { font-size:11px; font-weight:800; letter-spacing:2.1px; text-transform:uppercase; opacity:.78; }
.pc-result-season { margin-top:82px; font-size:13px; font-weight:700; letter-spacing:.08em; }
.pc-result-hero h1 { max-width:500px; margin:7px 0 3px; font-size:clamp(38px,9vw,66px); line-height:1; letter-spacing:-.055em; font-weight:900; text-wrap:balance; }
.pc-result-mood { font-size:15px; font-weight:700; opacity:.9; }
.pc-result-desc { max-width:480px; margin:26px 0 0; font-size:15px; line-height:1.8; text-wrap:pretty; }
.pc-palette-ribbon { position:absolute; right:34px; top:34px; display:flex; gap:4px; padding:6px; background:rgba(255,255,255,.35); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.42); }
.pc-palette-ribbon span { width:18px; height:56px; }
.pc-result-status { display:grid; grid-template-columns:160px 1fr; gap:24px; align-items:center; margin:-22px 20px 0; position:relative; padding:20px 24px; background:#fffdfa; box-shadow:0 14px 34px rgba(71,55,45,.12); border-left:4px solid #766153; }
.pc-result-status div { display:flex; flex-direction:column; }
.pc-status-label { color:#887c73; font-size:11px; letter-spacing:.1em; }
.pc-result-status strong { margin-top:3px; font-size:20px; font-variant-numeric:tabular-nums; }
.pc-result-status p { margin:0; color:#6f675f; font-size:12.5px; line-height:1.65; }
.pc-result-status.is-legacy { border-left-color:#b18a51; background:#fffbf2; }
.pc-section { margin-top:22px; padding:34px 30px 38px; background:#fffdfa; border:1px solid #e4ddd6; border-radius:3px 18px 3px 3px; }
.pc-section-heading > span, .pc-offer-kicker, .pc-coming-soon > span { display:block; margin-bottom:8px; color:#887267; font-size:10px; font-weight:800; letter-spacing:2px; }
.pc-section-heading h2, .pc-method-note h2, .pc-coming-soon h2 { margin:0; color:#2e2925; font-size:24px; font-weight:900; letter-spacing:-.045em; text-wrap:balance; }
.pc-section-heading p { max-width:560px; margin:9px 0 0; color:#79716b; font-size:13px; line-height:1.7; }
.pc-axis-list { margin-top:27px; display:grid; gap:22px; }
.pc-axis-meta { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; margin-bottom:8px; color:#786f68; font-size:11px; }
.pc-axis-meta span:last-child { text-align:right; }
.pc-axis-meta b { color:#3c342f; font-size:12px; }
.pc-axis-track { position:relative; height:6px; border-radius:5px; background:linear-gradient(90deg,#d8b991,#eee7df 50%,#9b91a8); }
.pc-axis-track:before { content:""; position:absolute; left:50%; top:-4px; width:1px; height:14px; background:#b9afa7; }
.pc-axis-track > span { position:absolute; top:50%; width:16px; height:16px; border:4px solid #fffdfa; border-radius:50%; background:#332d29; box-shadow:0 2px 8px rgba(0,0,0,.22); transform:translate(-50%,-50%); }
.pc-evidence-section { background:#292522; color:#f5f0ea; border:none; }
.pc-evidence-section .pc-section-heading > span { color:#bfa899; }
.pc-evidence-section .pc-section-heading h2 { color:#fffaf4; }
.pc-evidence-list { margin-top:25px; }
.pc-evidence-row { display:grid; grid-template-columns:64px 1fr; gap:15px; align-items:start; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.11); }
.pc-evidence-row > span { color:#d3b7a5; font-size:11px; letter-spacing:.08em; }
.pc-evidence-row p { margin:0; color:#f0e9e3; font-size:14px; line-height:1.55; }
.pc-neighbor-note { margin-top:22px; padding:16px 18px; border-left:2px solid #d0ad95; background:rgba(255,255,255,.055); color:#cfc5bd; font-size:12.5px; line-height:1.7; }
.pc-neighbor-note b { color:#fff; }
.pc-empty-evidence { padding:38px 10px 12px; text-align:center; color:#cfc5bd; }
.pc-empty-evidence i { font-size:28px; color:#bfa899; }.pc-empty-evidence a{color:#fff;text-decoration:underline;}
.pc-premium-swatches { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-top:24px; }
.pc-color-chip { min-width:0; background:#f5f1ec; }
.pc-color-chip > span { height:70px; display:flex; align-items:center; justify-content:center; }
.pc-color-chip code { display:block; padding:7px 4px; background:transparent; color:#716860; text-align:center; font-size:9px; }
.pc-color-chip.is-locked > span { color:#a39a92; background:repeating-linear-gradient(135deg,#eee9e3,#eee9e3 6px,#f7f4f0 6px,#f7f4f0 12px); }
.pc-free-action { display:grid; grid-template-columns:90px 1fr; gap:16px; margin-top:20px; padding-top:18px; border-top:1px solid #e5ded7; }
.pc-free-action span { color:#8f7767; font-size:10px; font-weight:800; letter-spacing:.1em; }.pc-free-action p{margin:0;font-size:14px;line-height:1.6;}
.pc-color-compare { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:22px; }
.pc-color-compare > div { min-height:154px; display:flex; flex-direction:column; justify-content:flex-end; padding:18px; color:#fff; background:linear-gradient(180deg,transparent,rgba(0,0,0,.54)),var(--compare); text-shadow:0 1px 3px rgba(0,0,0,.25); }
.pc-color-compare small { font-size:9px; letter-spacing:.18em; }.pc-color-compare strong{margin:4px 0;font-size:14px}.pc-color-compare code{color:rgba(255,255,255,.75);background:transparent;padding:0;}
.pc-caution-copy { margin:15px 0 0; color:#79716b; font-size:12.5px; line-height:1.7; }
.pc-tip-editorial { margin-top:22px; }.pc-tip-editorial > div{display:grid;grid-template-columns:56px 100px 1fr;gap:12px;align-items:baseline;padding:16px 0;border-bottom:1px solid #e8e1da}.pc-tip-editorial > div:last-child{border-bottom:0}.pc-tip-editorial span{font-size:9px;letter-spacing:.15em;color:#917666}.pc-tip-editorial h3{margin:0;font-size:14px;font-weight:800}.pc-tip-editorial p{margin:0;color:#6f675f;font-size:13px;line-height:1.65;}
.pc-method-note { margin:22px 0; padding:30px; background:#e8e1d7; color:#514942; }
.pc-method-note h2 { font-size:19px; }.pc-method-note p{margin:12px 0 0;max-width:65ch;font-size:12.5px;line-height:1.75}.pc-source-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.pc-source-links a{padding:7px 10px;border:1px solid #bfb2a6;color:#5d4c41;font-size:11px;text-decoration:none}.pc-source-links a:hover{background:#fffaf4}
.pc-report-offer { margin-top:22px; padding:42px 34px; color:#f7f2ed; background:#302823; border-radius:3px 24px 3px 3px; box-shadow:0 24px 52px rgba(49,39,33,.22); }
.pc-offer-kicker { color:#cfac95; }.pc-report-offer h2{margin:0;font-size:31px;line-height:1.18;font-weight:900;letter-spacing:-.055em}.pc-report-offer h2 em{font-style:normal;color:#e0b79c}.pc-report-offer > p{max-width:58ch;margin:17px 0 0;color:#d6ccc5;font-size:13.5px;line-height:1.75}
.pc-report-proof { display:grid;grid-template-columns:repeat(3,1fr);margin:28px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.pc-report-proof div{padding:18px 8px 18px 0}.pc-report-proof b{display:block;color:#fff;font-size:26px;font-variant-numeric:tabular-nums}.pc-report-proof span{color:#bfb2aa;font-size:11px}
.pc-personalized-preview { margin:0 0 24px;padding:16px;background:rgba(255,255,255,.06)}.pc-personalized-preview > span{display:block;margin-bottom:8px;color:#cfac95;font-size:10px;letter-spacing:.1em}.pc-personalized-preview i{display:inline-block;margin:3px 5px 3px 0;padding:5px 8px;background:#f0e7df;color:#423832;font-size:11px;font-style:normal}
.pc-report-contents { columns:2; column-gap:28px; margin:0 0 26px; padding-left:18px; color:#e6ddd7; font-size:12.5px; line-height:2; }
.pc-price { display:flex;align-items:baseline;gap:10px;margin:0 0 22px}.pc-price del{color:#9e9188;font-size:12px}.pc-price strong{font-size:28px}.pc-price span{padding:3px 6px;background:#e1b99e;color:#352c26;font-size:10px;font-weight:800}
.pc-report-offer form label{display:block;margin:13px 0 6px;color:#d4c8c0;font-size:11px}.pc-report-offer .form-control{height:48px;border:1px solid #6b5c53;border-radius:2px;background:#3b322d;color:#fff;box-shadow:none}.pc-report-offer .form-control:focus{border-color:#dab9a2;box-shadow:0 0 0 3px rgba(218,185,162,.13)}
.pc-email-echo{margin-top:8px;padding:10px 12px;background:#463a33;color:#c7b8ae;font-size:10px}.pc-email-echo b{display:block;margin-top:2px;color:#fff;font-size:14px;word-break:break-all}.pc-form-error{min-height:18px;margin-top:8px;color:#ffb4aa;font-size:12px}.pc-report-cta{width:100%;margin-top:7px;padding:15px 18px;border:0;border-radius:2px;background:#e0b79c;color:#302823;font-weight:900;text-align:left}.pc-report-cta i{float:right;margin-top:3px}.pc-report-cta:hover{background:#efc9af;transform:translateY(-1px)}.pc-report-cta:active{transform:translateY(1px)}.pc-privacy-note{font-size:10.5px!important;color:#a99c94!important;text-align:center}
.pc-coming-soon{margin-top:22px;padding:34px;background:#ddd4cb}.pc-coming-soon p{margin:10px 0 0;color:#665d56;line-height:1.7;font-size:13px}
.pc-result-body .pc-social{margin-top:18px;background:transparent;border:1px solid #cfc4ba;color:#65574f;border-radius:2px}.pc-result-footer-actions{display:flex;justify-content:center;gap:24px;margin-top:24px}.pc-result-footer-actions a{color:#63564e;font-size:12px;text-decoration:underline;text-underline-offset:3px}

/* ── 모바일 최적화 ── */
@media (max-width:480px) {
  .container { padding-left:12px !important; padding-right:12px !important; }
  .pc-typecard { padding:26px 16px; }
  .pc-typecard-name { font-size:23px; }
  .pc-card { padding:16px 14px; }
  .pc-swatchgrid { grid-template-columns:repeat(4,1fr); gap:6px; }
  .pc-swatch-lg { height:44px; }
  .pc-contrast-row { flex-direction:column; }
  .pc-contrast-box { height:64px; }
  .pc-qcard { padding:20px 14px; }
  .pc-qtext { font-size:15.5px; }
  .pc-opts-visual { grid-template-columns:1fr 1fr; gap:8px; }
  .pc-swatch { height:56px; }
  .pc-opt-btn { padding:12px 14px; font-size:14px; }
  .modal-dialog { margin:12px; }
  .modal-body { padding:18px !important; }
  table.table { font-size:12.5px; }
  .pc-result-shell { padding:14px 12px 48px; }
  .pc-result-hero { min-height:385px; padding:34px 24px 28px; }
  .pc-result-season { margin-top:86px; }
  .pc-result-desc { font-size:13.5px; }
  .pc-palette-ribbon { top:24px; right:22px; }
  .pc-palette-ribbon span { height:44px; width:15px; }
  .pc-result-status { grid-template-columns:1fr; gap:9px; margin:-14px 12px 0; padding:17px 18px; }
  .pc-section { padding:28px 20px 31px; border-radius:2px 15px 2px 2px; }
  .pc-section-heading h2 { font-size:22px; }
  .pc-premium-swatches { grid-template-columns:repeat(4,1fr); gap:5px; }
  .pc-color-chip > span { height:54px; }.pc-color-chip code{font-size:7.5px}
  .pc-free-action { grid-template-columns:1fr; gap:6px; }
  .pc-tip-editorial > div { grid-template-columns:44px 1fr; }.pc-tip-editorial p{grid-column:2}
  .pc-method-note { padding:24px 20px; }
  .pc-report-offer { padding:35px 22px; }.pc-report-offer h2{font-size:27px}.pc-report-contents{columns:1}.pc-report-proof b{font-size:22px}
}
@media (max-width:360px) {
  .pc-swatchgrid { grid-template-columns:repeat(3,1fr); }
}
