:root{
  --primary:#FF4B8B;
  --primary-light:#FFF0F5;
  --primary-dark:#E02E6E;
  --hero-bg:linear-gradient(135deg,#FF6EA7 0%,#FF4582 100%);
  --secondary:#7C5CFF;
  --secondary-light:#F4F1FF;
  --ink:#1F1D2B;
  --sub:#69657E;
  --faint:#A4A0B8;
  --bg:#F8F7FC;
  --card:#FFFFFF;
  --line:#ECE8F5;
  --hot:#FF3366;
  --warm:#FF8C00;
  --mild:#7868E6;
  --cold:#8D99AE;
  --radius-xl:1.625rem;
  --radius-lg:1.25rem;
  --radius-md:.875rem;
}

html{
  font-size:16px;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
  -webkit-tap-highlight-color:transparent;
}

body{
  min-height:100vh;
  background:var(--bg);
  color:var(--ink);
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Noto Sans KR',sans-serif;
  font-size:1rem;
  line-height:1.7;
  word-break:keep-all;
}

button,input,select,textarea{font:inherit;}
button{touch-action:manipulation;}

/* 상단 GNB */
.site-header{
  position:sticky;
  top:0;
  z-index:90;
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 2px 10px rgba(0,0,0,.02);
}
.header-inner{
  width:100%;
  max-width:940px;
  margin:0 auto;
  padding:.75rem 1.125rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}
.logo a{display:flex;flex-direction:column;color:var(--ink);text-decoration:none;}
.logo-title{font-size:1.25rem;font-weight:900;line-height:1.2;letter-spacing:-.03em;}
.logo-sub{margin-top:.1rem;font-size:.8125rem;color:var(--sub);font-weight:600;}
.nav-links{display:flex;align-items:center;gap:.5rem;}
.nav-links a{font-size:.875rem;font-weight:700;color:var(--sub);text-decoration:none;white-space:nowrap;}
.nav-home-btn{padding:.45rem .8rem;border-radius:999px;background:var(--primary-light);color:var(--primary)!important;font-size:.875rem!important;}
.nav-reset-btn{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding:.45rem .8rem;
  border:0;
  border-radius:999px;
  background:var(--ink);
  color:#fff!important;
  font-size:.875rem;
  font-weight:800;
  cursor:pointer;
}
.nav-reset-btn:hover{background:var(--primary);}

/* 레이아웃 */
.app-shell{width:100%;max-width:580px;margin:0 auto;padding:1.125rem 1rem 5rem;}

/* 히어로 */
.hero-banner{
  position:relative;
  overflow:hidden;
  margin-bottom:1.125rem;
  padding:2rem 1.25rem 1.625rem;
  border-radius:var(--radius-xl);
  background:var(--hero-bg);
  color:#fff;
  text-align:center;
  box-shadow:0 12px 30px rgba(255,75,139,.18);
  transition:background .3s;
}
.hero-icon-bg{position:absolute;right:-.9375rem;bottom:-1.25rem;font-size:5rem;opacity:.18;transform:rotate(-15deg);user-select:none;pointer-events:none;}
.hero-sub{margin-bottom:.3rem;font-size:.9375rem;font-weight:700;opacity:.94;}
.hero-title{font-size:1.75rem;font-weight:900;line-height:1.25;letter-spacing:-.04em;}

/* 탭 */
.mode-tabs{display:flex;gap:.25rem;margin-bottom:1.125rem;padding:.25rem;border-radius:1.125rem;background:#EAE6F5;}
.mode-tab{flex:1;min-height:2.875rem;padding:.65rem .4rem;border:0;border-radius:.875rem;background:transparent;color:var(--sub);font-size:.9375rem;font-weight:800;cursor:pointer;transition:.2s;}
.mode-tab.active{background:#fff;color:var(--primary);box-shadow:0 4px 14px rgba(0,0,0,.06);}

/* 프리셋 */
.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;margin-bottom:1rem;}
.preset-card{display:flex;align-items:center;gap:.625rem;padding:.75rem .7rem;border:1.5px solid var(--line);border-radius:var(--radius-md);background:#fff;text-align:left;cursor:pointer;transition:.2s;}
.preset-card:hover,.preset-card.active{border-color:var(--primary);background:var(--primary-light);transform:translateY(-1px);}
.preset-card-title{font-size:.9375rem;font-weight:900;color:var(--ink);line-height:1.45;}
.preset-card-desc{font-size:.8125rem;font-weight:700;color:var(--sub);line-height:1.5;}
#input-preset-container>div:first-child{font-size:.875rem!important;}

/* 카드 */
.card{margin-bottom:1.125rem;padding:1.5rem 1.25rem;border-radius:var(--radius-xl);background:var(--card);box-shadow:0 8px 26px rgba(45,30,95,.05);}
.card-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.875rem;font-size:1.1875rem;font-weight:900;line-height:1.4;}
.card-title span{font-size:.875rem!important;}

/* 입력 */
.person-box{position:relative;margin-bottom:.875rem;padding:1rem .875rem;border:2px solid var(--line);border-radius:var(--radius-lg);background:#FAFAFE;}
.person-box .badge-num{position:absolute;top:-.65rem;left:.875rem;padding:.2rem .7rem;border-radius:999px;background:var(--ink);color:#fff;font-size:.8125rem;font-weight:800;line-height:1.3;}
.person-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:.625rem;margin-top:.25rem;}
.field-col label,.person-box label{display:block;margin-bottom:.35rem;color:var(--faint);font-size:.875rem!important;font-weight:800;}
.field-col input,.field-col select,.p-birth{width:100%;min-height:3rem;padding:.75rem;border:2px solid var(--line);border-radius:.75rem;background:#fff;color:var(--ink);font-size:1rem!important;font-weight:700;outline:none;transition:.2s;}
.field-col input:focus,.field-col select:focus,.p-birth:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,75,139,.08);}
.del-btn{position:absolute;top:-.65rem;right:.75rem;padding:.25rem .65rem;border:0;border-radius:999px;background:#FFE5EC;color:#E02E5C;font-size:.8125rem;font-weight:800;cursor:pointer;}

/* 토글 */
.toggle-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.toggle-wrap p{color:var(--ink);font-size:1.0625rem!important;font-weight:900;line-height:1.5;}
.toggle-wrap small{display:block;margin-top:.25rem;color:var(--faint);font-size:.875rem!important;line-height:1.55;}
.switch{position:relative;width:3rem;height:1.625rem;flex-shrink:0;}
.switch input{width:0;height:0;opacity:0;}
.slider{position:absolute;inset:0;border-radius:999px;background:#DDD8ED;cursor:pointer;transition:.2s;}
.slider:before{content:"";position:absolute;top:3px;left:3px;width:1.25rem;height:1.25rem;border-radius:50%;background:#fff;transition:.2s;}
.switch input:checked+.slider{background:var(--primary);}
.switch input:checked+.slider:before{transform:translateX(1.375rem);}

/* 버튼 */
.main-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:4rem;padding:1rem;border:0;border-radius:var(--radius-xl);background:linear-gradient(135deg,#FF5B95 0%,#FF3377 100%);color:#fff;cursor:pointer;box-shadow:0 10px 24px rgba(255,51,119,.3);transition:.2s;}
.main-btn:hover{filter:brightness(1.05);transform:translateY(-1px);}
.main-btn:active{transform:scale(.99);}
.main-btn-text{font-size:1.1875rem;font-weight:900;letter-spacing:-.03em;}
.main-btn-sub{margin-top:.15rem;font-size:.875rem;font-weight:600;opacity:.88;}
.btn-ghost{width:100%;min-height:3.25rem;margin-top:.625rem;padding:.8rem;border:2px solid var(--line);border-radius:1rem;background:#fff;color:var(--ink);font-size:1rem;font-weight:800;cursor:pointer;}

/* 결과 */
.result-hero-card{position:relative;margin-bottom:1.125rem;padding:1.625rem 1.25rem;border:2.5px solid var(--primary-light);border-radius:var(--radius-xl);background:#fff;text-align:center;box-shadow:0 12px 32px rgba(255,75,139,.08);}
.score-circle-badge{display:inline-block;margin-bottom:.75rem;padding:.45rem 1.25rem;border-radius:999px;background:linear-gradient(135deg,#FF5C98 0%,#FF3879 100%);color:#fff;font-size:.9375rem;font-weight:900;}
.result-score-num{margin-bottom:.75rem;color:var(--primary);font-size:3rem;font-weight:900;line-height:1;letter-spacing:-.04em;}
.result-score-num span{font-size:1.5rem!important;}
.result-headline{margin-bottom:.75rem;color:var(--ink);font-size:1.3125rem;font-weight:900;line-height:1.45;}
.result-lead{color:var(--sub);font-size:1rem;line-height:1.8;word-break:keep-all;}

/* 게이지 */
.gauge-board{margin:1.125rem 0;padding:1rem .875rem;border-radius:var(--radius-lg);background:#FAF9FE;}
.gauge-item{margin-bottom:.75rem;}
.gauge-item:last-child{margin-bottom:0;}
.gauge-labels{display:flex;justify-content:space-between;margin-bottom:.35rem;color:var(--sub);font-size:.875rem;font-weight:800;}
.gauge-track{position:relative;overflow:hidden;height:10px;border-radius:999px;background:#EAE5F5;}
.gauge-thumb{position:absolute;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#7C5CFF 0%,#FF4B8B 100%);}

/* 프로필 */
.profile-split{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin-bottom:1.125rem;}
.profile-box{padding:1rem .875rem;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:#FAF9FE;}
.profile-box.pink{border-color:#FFD9E6;background:#FFF6F9;}
.profile-header{margin-bottom:.2rem;color:var(--faint);font-size:.875rem;font-weight:800;}
.profile-name-mbti{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.625rem;color:var(--ink);font-size:1.0625rem;font-weight:900;}
.profile-name-mbti span{font-size:.9375rem!important;}
.profile-bullets{list-style:none;color:var(--sub);font-size:.9375rem;line-height:1.75;}
.profile-bullets li{position:relative;margin-bottom:.35rem;padding-left:.9rem;}
.profile-bullets li::before{content:'•';position:absolute;left:.1rem;color:var(--primary);font-weight:900;}

/* 상세 블록 */
.detail-block{margin-bottom:1rem;padding:1rem 1.125rem;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:#fff;}
.detail-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem;color:var(--ink);font-size:1.0625rem;font-weight:900;}
.detail-body{color:var(--sub);font-size:1rem;line-height:1.8;word-break:keep-all;}
.detail-body b{color:var(--ink);}

/* 스쿼드 */
.squad-roles-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.875rem 0 .625rem;}
.role-card{padding:.75rem .875rem;border:1px solid #ECE7FA;border-radius:.875rem;background:#F8F7FE;font-size:.9375rem;line-height:1.7;}

/* 사전 */
.type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin-bottom:1rem;}
.type-btn{min-height:2.875rem;padding:.55rem .2rem;border:1.5px solid var(--line);border-radius:.75rem;background:#fff;color:var(--ink);font-size:.9375rem;font-weight:800;text-align:center;cursor:pointer;}
.type-btn.active{border-color:var(--primary);background:var(--primary);color:#fff;}
#type-detail-content h2{font-size:1.25rem!important;}
#type-detail-content span{font-size:.875rem!important;}
#seo-knowledge-base h3{font-size:1.0625rem!important;}
#seo-knowledge-base summary{font-size:.9375rem!important;line-height:1.55;}
#seo-knowledge-base details div{font-size:.9375rem!important;line-height:1.8!important;}

/* 인라인 광고 */
.inline-ad-card{margin:1rem 0;padding:.75rem;border:1px dashed #E0DBF0;border-radius:1.125rem;background:#fff;text-align:center;}
.ad-tag{margin-bottom:.25rem;color:#A09CB5;font-size:.75rem;font-weight:700;}

/* 썸네일 */
.thumb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;margin-top:.75rem;}
.thumb-card{display:flex;flex-direction:column;padding:.75rem;border:1.5px solid var(--line);border-radius:1rem;background:#fff;color:inherit;text-decoration:none;transition:.2s;}
.thumb-card:hover{border-color:var(--primary);transform:translateY(-2px);}
.thumb-img-box{width:100%;height:5.375rem;margin-bottom:.5rem;border-radius:.75rem;background:linear-gradient(135deg,#FAF7FF 0%,#F1EEFF 100%);display:flex;align-items:center;justify-content:center;font-size:2rem;}
.thumb-tag{margin-bottom:.2rem;color:var(--primary);font-size:.8125rem;font-weight:800;}
.thumb-title{display:-webkit-box;overflow:hidden;color:var(--ink);font-size:.9375rem;font-weight:800;line-height:1.5;-webkit-line-clamp:2;-webkit-box-orient:vertical;}

/* 플로팅 */

#toast{position:fixed;left:50%;bottom:1.5rem;z-index:1000;display:none;padding:.75rem 1.5rem;border-radius:999px;background:var(--ink);color:#fff;font-size:.9375rem;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.25);transform:translateX(-50%);}
footer{padding:1.875rem 1rem 1.25rem;color:var(--faint);font-size:.8125rem;text-align:center;}

/* 기존 인라인 스타일 보정 */
#mc-results .card p,#view-dict .card>p,#subunit-result-root p,#pair-result-root p{font-size:.9375rem!important;line-height:1.75!important;}
#pair-result-root small{font-size:.875rem!important;}
#pair-result-root .card>div[style*="font-size:13.5px"],
#pair-result-root .card>div[style*="font-size:12.5px"],
.result-hero-card div[style*="font-size:12.5px"],
#pair-result-root div[style*="font-size:12px"]{font-size:.9375rem!important;line-height:1.75!important;}

/* 네트워크 */
#mc-network svg{width:100%;display:block;}

@media(max-width:440px){
  .header-inner{padding:.75rem .875rem;}
  .nav-links{gap:.3rem;}
  .nav-links a{font-size:.8125rem;}
  .nav-home-btn,.nav-reset-btn{padding:.4rem .65rem;font-size:.8125rem!important;}
  .app-shell{padding:1rem .75rem 5rem;}
  .hero-banner{padding:1.875rem 1rem 1.5rem;}
  .hero-title{font-size:1.6875rem;}
  .card{padding:1.375rem 1rem;}
  .person-grid{gap:.5rem;}
  .profile-split,.squad-roles-grid{grid-template-columns:1fr;}
  .result-headline{font-size:1.25rem;}
}

@media(min-width:768px){
  html{font-size:17px;}
  .app-shell{max-width:920px;padding:1.75rem 1.25rem 5.5rem;}
  .hero-banner{padding:2.75rem 1.875rem 2.25rem;margin-bottom:1.5rem;}
  .hero-title{font-size:2rem;}
  .preset-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;}
  .profile-split{grid-template-columns:1fr 1fr;gap:1rem;}
  .squad-roles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;}
  .thumb-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem;}
  .thumb-img-box{height:6rem;font-size:2.25rem;}
}

/* =========================================================
   누락 복원: Rewarded 광고 확인 모달
========================================================= */
.reward-confirm-overlay{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
  background:rgba(31,29,43,.55);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.reward-confirm-overlay.show{display:flex;animation:rc-fade .2s ease;}
.reward-confirm-card{
  width:100%;
  max-width:21.25rem;
  padding:1.75rem 1.375rem 1.375rem;
  border-radius:var(--radius-xl);
  background:#fff;
  text-align:center;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
  animation:rc-pop .25s cubic-bezier(.2,.9,.3,1.2);
}
.reward-confirm-title{margin-bottom:.5rem;color:var(--ink);font-size:1.3125rem;font-weight:900;}
.reward-confirm-desc{margin-bottom:1.25rem;color:var(--sub);font-size:.9375rem;line-height:1.7;word-break:keep-all;}
.reward-confirm-actions{display:flex;gap:.5rem;}
.reward-confirm-btn{flex:1;min-height:3rem;border:0;border-radius:.875rem;font-size:1rem;font-weight:800;cursor:pointer;transition:.2s;}
.reward-confirm-btn.cancel{background:#F1EFF8;color:var(--sub);}
.reward-confirm-btn.cancel:hover{background:#E7E3F4;}
.reward-confirm-btn.confirm{background:linear-gradient(135deg,#FF5B95 0%,#FF3377 100%);color:#fff;box-shadow:0 6px 16px rgba(255,51,119,.3);}
.reward-confirm-btn.confirm:hover{filter:brightness(1.05);}
.reward-confirm-btn:disabled{opacity:.55;cursor:not-allowed;}
@keyframes rc-fade{from{opacity:0;}to{opacity:1;}}
@keyframes rc-pop{from{opacity:0;transform:scale(.92) translateY(10px);}to{opacity:1;transform:scale(1) translateY(0);}}

/* =========================================================
   누락 복원: 기타 클래스
========================================================= */
.preset-label{display:flex;align-items:center;gap:.35rem;margin-bottom:.625rem;color:var(--sub);font-size:.875rem;font-weight:800;}

.network-help{margin-bottom:.75rem;color:var(--faint);font-size:.875rem;line-height:1.6;}

.dict-intro{margin-bottom:.875rem;color:var(--sub);font-size:.9375rem;line-height:1.7;}

.content-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;}
.content-card-head .card-title{margin-bottom:0;}
.refresh-btn{
  flex-shrink:0;
  padding:.45rem .8rem;
  border:1.5px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--sub);
  font-size:.8125rem;
  font-weight:800;
  cursor:pointer;
  transition:.2s;
}
.refresh-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light);}

.share-btn{margin-top:.25rem;background:linear-gradient(135deg,#8A6BFF 0%,#6C4BF2 100%);box-shadow:0 10px 24px rgba(108,75,242,.3);}

.type-detail{margin-bottom:1rem;}
.seo-accordion{margin-top:.5rem;}
.seo-accordion details{margin-bottom:.5rem;padding:.75rem .875rem;border:1.5px solid var(--line);border-radius:var(--radius-md);background:#FAF9FE;}
.seo-accordion summary{color:var(--ink);font-weight:800;cursor:pointer;}
.seo-accordion details[open]{border-color:#E4DDF7;}


/* 디스플레이 광고 슬롯 */
.inline-ad-card ins.adsbygoogle{display:block;min-height:3.125rem;overflow:hidden;}


/* 데스크톱 사이드 광고 레일 (1580px 미만·모바일 미표시) */
.side-ad-rail{display:none;}
@media(min-width:1580px){
  .side-ad-rail{
    display:block;
    position:fixed;
    top:5.5rem;
    left:calc(50% + 30rem);
    z-index:50;
    width:300px;
    padding:.5rem;
    border:1px dashed #E0DBF0;
    border-radius:1rem;
    background:#fff;
  }
  .side-ad-rail ins.adsbygoogle{overflow:hidden;border-radius:.75rem;}
}




/* 광고 비간섭: 콘텐츠와 여백·시각 분리 */
.inline-ad-card{margin:1.5rem 0;background:#FCFBFE;}
.inline-ad-card .ad-tag{letter-spacing:.08em;}
.side-ad-rail{max-height:calc(100vh - 8rem);overflow:hidden;}


/* 유형 이미지 (16유형 처방전) */
.dictionary-head{display:flex;align-items:center;gap:.875rem;margin-bottom:1rem;}
.dictionary-head h2{flex:1;line-height:1.35;}
.dictionary-func{display:block;margin-top:.2rem;color:var(--faint);font-weight:800;}
.type-hero-circle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;border-radius:50%;background:linear-gradient(135deg,#FFF0F5 0%,#F4F1FF 100%);border:2px solid var(--line);}
.type-hero-img{width:2.75rem;height:2.75rem;object-fit:contain;}

/* 인기 콘텐츠 썸네일 이미지 */
.thumb-emoji-img{width:2.25rem;height:2.25rem;object-fit:contain;}

@media(min-width:768px){
  .type-hero-circle{width:5.25rem;height:5.25rem;}
  .type-hero-img{width:3.25rem;height:3.25rem;}
  .thumb-emoji-img{width:2.5rem;height:2.5rem;}
}


/* 프리셋 카드 (아이콘형) */
.preset-card-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.375rem;height:2.375rem;border-radius:.75rem;background:linear-gradient(135deg,#FFF0F5 0%,#F4F1FF 100%);}
.preset-card-icon img{width:1.375rem;height:1.375rem;object-fit:contain;}
.preset-card-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;}
.preset-card.active .preset-card-icon{background:#fff;}
#input-preset-container{margin-bottom:1.125rem;}

/* 4대 지표 인포그래픽 */
.axis-infographic{margin-top:.875rem;padding:1rem .75rem .75rem;border-radius:var(--radius-lg);background:#FAF9FE;}
.axis-infographic svg{width:100%;height:auto;display:block;overflow:visible;}
.axis-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.875rem;color:var(--sub);font-size:.8125rem;font-weight:800;}
.axis-legend .dot{display:inline-block;width:.625rem;height:.625rem;margin-right:.3rem;border-radius:50%;vertical-align:middle;}
.axis-legend .dot.violet{background:#7C5CFF;}
.axis-legend .dot.pink{background:#FF4B8B;}
.axis-legend-note{color:var(--faint);font-weight:700;}

/* 심리학 용어 카드 */
.term-grid{display:grid;grid-template-columns:1fr;gap:.625rem;margin-top:.875rem;}
.term-card{display:block;padding:.875rem;border:1.5px solid var(--line);border-radius:var(--radius-md);background:#fff;color:inherit;text-decoration:none;transition:.2s;}
.term-card:hover{border-color:var(--primary);background:var(--primary-light);transform:translateY(-1px);}
.term-card-head{display:flex;align-items:baseline;gap:.4rem;}
.term-ko{color:var(--ink);font-size:1rem;font-weight:900;}
.term-hanja{color:var(--faint);font-size:.8125rem;font-weight:700;}
.term-en{margin-top:.1rem;color:var(--secondary);font-size:.8125rem;font-weight:800;letter-spacing:-.01em;}
.term-note{margin-top:.4rem;color:var(--sub);font-size:.9375rem;line-height:1.7;word-break:keep-all;}
.term-cat{display:inline-block;margin-top:.5rem;padding:.15rem .55rem;border-radius:999px;background:var(--secondary-light);color:var(--secondary);font-size:.75rem;font-weight:800;}

@media(min-width:768px){
  .term-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem;}
  .preset-card-icon{width:2.625rem;height:2.625rem;}
  .preset-card-icon img{width:1.5rem;height:1.5rem;}
}


/* 모드 칩 */
.mode-chip-row{display:flex;gap:.5rem;margin-bottom:.75rem;}
.mode-chip{flex:1;min-height:2.75rem;padding:.55rem .5rem;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--sub);font-size:.9375rem;font-weight:800;cursor:pointer;transition:.2s;white-space:nowrap;}
.mode-chip.active{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 6px 16px rgba(255,75,139,.25);}
.mode-chip:not(.active):hover{border-color:var(--primary);color:var(--primary);}

/* 프리셋 가로 스크롤 */
.preset-scroll{display:flex;gap:.625rem;overflow-x:auto;padding:.25rem .125rem .625rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.preset-scroll::-webkit-scrollbar{display:none;}
.preset-scroll .preset-card{flex:0 0 auto;width:12.5rem;}

/* 소형 광고 */
.inline-ad-card.slim{margin:1rem 0;padding:.5rem .625rem;}
.inline-ad-card.slim .ad-tag{font-size:.6875rem;margin-bottom:.15rem;}
.inline-ad-card.slim ins.adsbygoogle{height:90px;max-height:90px;overflow:hidden;}

@media(min-width:768px){
  .preset-scroll .preset-card{width:13.5rem;}
}


/* 아티클 아카이브 (크롤러 친화 정적 링크) */
.archive-cat{margin-bottom:.5rem;padding:.7rem .875rem;border:1.5px solid var(--line);border-radius:var(--radius-md);background:#FAF9FE;}
.archive-cat summary{color:var(--ink);font-size:.9375rem;font-weight:900;cursor:pointer;}
.archive-count{margin-left:.3rem;padding:.1rem .5rem;border-radius:999px;background:var(--secondary-light);color:var(--secondary);font-size:.75rem;font-weight:800;}
.archive-list{margin:.6rem 0 .2rem;padding-left:1.1rem;}
.archive-list li{margin-bottom:.35rem;font-size:.9375rem;line-height:1.6;}
.archive-list a{color:var(--sub);text-decoration:none;}
.archive-list a:hover{color:var(--primary);text-decoration:underline;}


/* 심층 해설 리포트 */
.deep-reading{background:#FAF9FE;border-color:#E4DDF7;}
.deep-reading-body p{margin-bottom:.8rem;color:var(--sub);font-size:1rem;line-height:1.85;word-break:keep-all;}
.deep-reading-body p:last-child{margin-bottom:0;}
.deep-reading-body p:first-child{color:var(--ink);font-weight:700;}
.deep-reading-body b{color:var(--ink);}


/* 용어 카드 접기 */
.term-hidden{display:none;}


/* 관계 격국 카드 */
.archetype-card{margin:1rem 0 .25rem;padding:1rem .875rem 1.125rem;border-radius:var(--radius-lg);background:rgba(255,255,255,.92);text-align:center;}
.archetype-art{margin:0 auto .75rem;width:9rem;max-width:60%;border-radius:var(--radius-md);overflow:hidden;line-height:0;}
.archetype-img{width:100%;height:auto;display:block;}
.archetype-label{color:var(--faint);font-size:.75rem;font-weight:800;letter-spacing:.04em;}
.archetype-name{margin-top:.15rem;color:var(--ink);font-size:1.375rem;font-weight:900;letter-spacing:-.02em;}
.archetype-line{margin-top:.4rem;color:var(--primary);font-size:.9375rem;font-weight:800;word-break:keep-all;}
.archetype-body{margin-top:.6rem;color:var(--sub);font-size:.9375rem;line-height:1.75;text-align:left;word-break:keep-all;}

/* 프로필 / 역할 카드 유형 이미지 */
.profile-art{margin:0 auto .5rem;width:4rem;height:4rem;border-radius:50%;overflow:hidden;background:#F4F1FF;line-height:0;}
.profile-type-img{width:100%;height:100%;object-fit:cover;display:block;}
.role-art{display:block;margin:0 auto .35rem;width:2.75rem;height:2.75rem;border-radius:50%;overflow:hidden;background:#F4F1FF;line-height:0;}
.role-type-img{width:100%;height:100%;object-fit:cover;display:block;}

@media(min-width:768px){
  .archetype-art{width:11rem;}
  .archetype-name{font-size:1.5rem;}
}


/* 카드 상세보기 */
.card-more-btn{display:inline-block;margin-top:.5rem;padding:.3rem .8rem;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--secondary);font-size:.8125rem;font-weight:800;cursor:pointer;transition:.2s;}
.card-more-btn:hover{border-color:var(--secondary);background:var(--secondary-light);}
.card-detail{display:none;margin-top:.625rem;padding:.75rem .875rem;border-radius:var(--radius-md);background:#FAF9FE;color:var(--sub);font-size:.9375rem;line-height:1.75;word-break:keep-all;}
.card-detail.show{display:block;animation:fadeSlideIn .25s ease;}

/* 관계망 컴팩트 + 캡션 */
.mc-network-box{max-width:23.75rem;margin:0 auto;}
.mc-network-caption{margin:.5rem auto 0;max-width:23.75rem;padding:.625rem .75rem;border-radius:var(--radius-md);background:#FAF9FE;color:var(--sub);font-size:.875rem;line-height:1.6;text-align:center;word-break:keep-all;}
.mc-network-caption b{color:var(--ink);}

/* 상황별 허브 */
.rel-hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.875rem;}
.rel-hub-grid a{display:block;padding:.7rem .625rem;border:1.5px solid var(--line);border-radius:var(--radius-md);background:#fff;color:var(--sub);font-size:.875rem;font-weight:800;text-decoration:none;text-align:center;transition:.2s;word-break:keep-all;}
.rel-hub-grid a:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light);}


/* PC 프리셋: 가로 스크롤 → 랩 그리드 */
@media(min-width:900px){
  .preset-scroll{flex-wrap:wrap;overflow-x:visible;}
  .preset-scroll .preset-card{width:calc(25% - .5rem);}
}
@media(max-width:480px){
}


/* 용어 더보기 버튼: 전체 폭 */


/* 말풍선은 독 위에 */
@media(max-width:480px){
}


/* 공유 버튼 2분할 */
.share-row{display:flex;gap:.625rem;margin-bottom:.625rem;}
.share-btn-kakao,.share-btn-copy{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:3.25rem;border:0;border-radius:var(--radius-md);font-size:1rem;font-weight:800;cursor:pointer;transition:.2s;}
.share-btn-kakao{background:#FEE500;color:#191600;}
.share-btn-kakao:hover{filter:brightness(.96);}
.share-btn-copy{background:var(--primary);color:#fff;}
.share-btn-copy:hover{filter:brightness(.96);}
.share-btn-kakao .share-ico,.share-btn-copy .share-ico{font-size:1.125rem;}


/* ── 구 플로팅 요소 스타일 무력화 ── */


/* ── 결과 퀵 액션: 스크롤 배너 ── */
.quick-banner{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);border-top:1.5px solid var(--line);box-shadow:0 -8px 24px rgba(30,27,46,.12);transform:translateY(110%);transition:transform .3s cubic-bezier(.22,.9,.35,1);backdrop-filter:blur(8px);}
.quick-banner.show{transform:translateY(0);}
.quick-banner-close{position:absolute;top:.3rem;right:.5rem;border:0;background:none;color:var(--faint);font-size:1.25rem;line-height:1;cursor:pointer;padding:.15rem .35rem;}
.quick-banner-text{flex:1;min-width:0;color:var(--ink);font-size:.9375rem;font-weight:800;line-height:1.4;word-break:keep-all;padding-right:1.25rem;}
.quick-banner-actions{display:flex;gap:.4rem;flex-shrink:0;}
.quick-banner-btn{padding:.55rem .875rem;border:0;border-radius:999px;background:var(--primary);color:#fff;font-size:.875rem;font-weight:800;white-space:nowrap;cursor:pointer;}
.quick-banner-btn.ghost{background:var(--primary-light);color:var(--primary);}

/* ── 결과 퀵 액션: FAB ── */
.quick-fab{position:fixed;right:1rem;bottom:1rem;z-index:895;display:none;flex-direction:column;align-items:flex-end;gap:.5rem;}
.quick-fab.show{display:flex;}
.fab-main{display:flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border:0;border-radius:50%;background:var(--primary);color:#fff;font-size:1.375rem;cursor:pointer;box-shadow:0 10px 24px rgba(255,75,139,.35);transition:.25s;}
.quick-fab.open .fab-main{transform:rotate(135deg);background:var(--ink);}
.fab-menu{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;opacity:0;transform:translateY(8px);pointer-events:none;transition:.25s;}
.quick-fab.open .fab-menu{opacity:1;transform:translateY(0);pointer-events:auto;}
.fab-item{display:flex;align-items:center;gap:.45rem;padding:.55rem .875rem;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.875rem;font-weight:800;white-space:nowrap;cursor:pointer;box-shadow:0 6px 16px rgba(30,27,46,.12);}
.fab-item:hover{border-color:var(--primary);color:var(--primary);}

/* 모바일: 애드센스 앵커 위로 띄움 */
@media(max-width:768px){
  .quick-banner{bottom:3.5rem;}
  .quick-fab{bottom:4.5rem;right:.75rem;}
}

/* PC: 배너 대신 FAB 중심, 배너는 우측 하단 카드형 */
@media(min-width:769px){
  .quick-banner{left:auto;right:1.25rem;bottom:1.25rem;width:22rem;border-radius:1rem;border:1.5px solid var(--line);flex-wrap:wrap;transform:translateY(140%);}
  .quick-banner.show{transform:translateY(0);}
  .quick-banner-text{flex:0 0 100%;}
  .quick-banner-actions{width:100%;}
  .quick-banner-btn{flex:1;text-align:center;}
}


/* 용어 더보기 버튼 — 내용 크기 기준, 가운데 정렬 */
.term-more-btn{display:block;margin:.25rem auto 0;padding:.6rem 1.5rem;}
