/* ---------------------------------------------------------------
   01-base.css
   원본 index.html의 1번째 <style> 블록 (id 없음)
   ⚠ 이 파일들은 뒤 순서가 앞 순서를 덮어쓰는 레이어 구조입니다.
      index.html의 <link> 순서를 바꾸면 화면이 깨집니다.
   --------------------------------------------------------------- */

:root{
    --bg:#FFFFFF; --ink:#2B2440; --purple:#7C5CBF; --purple-d:#5D3FA3;
    --cream:#FFF9EE; --pink:#FFB3C7; --yellow:#FFD84D; --line:#E8E0D2;
    --card:#FFFFFF; --danger:#E85D75;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  body{font-family:'Nanum Gothic',sans-serif;background:var(--bg);color:var(--ink);display:flex;justify-content:center;min-height:100vh}
  .app{width:100%;max-width:460px;padding:20px 18px 60px}
  .logo{text-align:center;margin:18px 0 4px;font-size:26px;font-weight:800;letter-spacing:-1px}
  .logo span{color:var(--purple)}
  .tagline{text-align:center;font-size:13px;color:#8a8199;margin-bottom:20px}
  .mascot-wrap{display:flex;justify-content:center;margin:10px 0 6px}
  .bubble{background:var(--card);border:2px solid var(--ink);border-radius:16px;padding:12px 16px;font-size:14px;line-height:1.55;position:relative;margin:14px 4px 22px;box-shadow:4px 4px 0 rgba(43,36,64,.12)}
  .bubble:before{content:"";position:absolute;top:-10px;left:50%;transform:translateX(-50%);border:6px solid transparent;border-bottom-color:var(--ink)}
  .card{background:var(--card);border-radius:18px;padding:20px;margin-bottom:16px;box-shadow:0 2px 10px rgba(43,36,64,.06)}
  label{display:block;font-size:13px;font-weight:700;margin:12px 0 6px}
  input,select{width:100%;padding:12px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;background:#fff;color:var(--ink)}
  input:focus,select:focus{outline:none;border-color:var(--purple)}
  .row{display:flex;gap:10px}
  .row>div{flex:1}
  .seg{display:flex;gap:8px;margin-top:2px}
  .seg button{flex:1;padding:11px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-size:14px;cursor:pointer;color:var(--ink)}
  .seg button.on{background:var(--purple);border-color:var(--purple);color:#fff;font-weight:700}
  .go{width:100%;margin-top:20px;padding:16px;border:none;border-radius:14px;background:var(--purple);color:#fff;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 4px 0 var(--purple-d);transition:transform .05s}
  .go:active{transform:translateY(3px);box-shadow:0 1px 0 var(--purple-d)}
  .hidden{display:none}
  h3.sec{font-size:15px;font-weight:800;margin:4px 0 12px;display:flex;align-items:center;gap:6px}
  h3.sec em{font-style:normal;font-size:11px;font-weight:600;color:#9b91ad}
  table.pillars{width:100%;border-collapse:collapse;text-align:center}
  table.pillars th{font-size:11px;color:#9b91ad;font-weight:600;padding-bottom:6px}
  table.pillars td{padding:2px}
  .gz{border-radius:12px;padding:10px 0;margin:2px}
  .gz .hanja{font-size:24px;font-weight:800}
  .gz .kor{font-size:11px;margin-top:2px;opacity:.85}
  .gz .ten{font-size:10px;margin-top:3px;font-weight:700;opacity:.75}
  .el-목{background:#DFF2DC;color:#2E6B33}.el-화{background:#FFE0DC;color:#B8402F}
  .el-토{background:#F5E9CF;color:#8A6A1F}.el-금{background:#EBEBEF;color:#5A5A6E}
  .el-수{background:#DCE9F7;color:#2D5B8E}
  .bars{margin-top:6px}
  .bar-row{display:flex;align-items:center;gap:8px;margin:7px 0;font-size:12px}
  .bar-row .nm{width:46px;font-weight:700}
  .bar-track{flex:1;height:14px;background:#F1ECE2;border-radius:7px;overflow:hidden}
  .bar-fill{height:100%;border-radius:7px;transition:width .8s ease}
  .bf-목{background:#6FBF73}.bf-화{background:#F2836B}.bf-토{background:#D9B45B}.bf-금{background:#9A9AAE}.bf-수{background:#6B9AD2}
  .bar-row .cnt{width:20px;text-align:right;font-weight:700}
  .talk{display:flex;gap:10px;margin:14px 0;align-items:flex-start}
  .talk .face{flex-shrink:0}
  .talk .msg{background:#F5F0FF;border-radius:4px 16px 16px 16px;padding:11px 14px;font-size:14px;line-height:1.6}
  .talk .msg b{color:var(--purple-d)}
  .badges{display:flex;flex-wrap:wrap;gap:8px}
  .badge{background:#FFF3D6;border:1.5px solid #EBCF8A;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700;color:#8A6A1F}
  .badge small{display:block;font-weight:400;font-size:11px;margin-top:1px}
  .type-card{background:linear-gradient(135deg,#7C5CBF,#A26BD4);border-radius:18px;padding:22px;color:#fff;text-align:center;margin-bottom:16px}
  .type-card .tt{font-size:12px;opacity:.85}
  .type-card .tn{font-size:24px;font-weight:800;margin:6px 0}
  .type-card .td{font-size:13px;opacity:.92;line-height:1.55}
  .lock{background:#2B2440;border-radius:18px;padding:20px;color:#fff;margin-bottom:16px}
  .lock .lk-t{font-size:14px;font-weight:800;margin-bottom:8px}
  .lock .lk-d{font-size:13px;opacity:.8;line-height:1.6;margin-bottom:14px}
  .lock button{width:100%;padding:13px;border:none;border-radius:12px;background:var(--yellow);color:#2B2440;font-size:15px;font-weight:800;cursor:pointer}
  .lock .strike{text-decoration:line-through;opacity:.5;margin-right:6px}
  .share-btns{display:flex;gap:10px;margin-top:12px}
  .share-btns button{flex:1;padding:13px;border:1.5px solid var(--purple);border-radius:12px;background:#fff;color:var(--purple-d);font-size:14px;font-weight:700;cursor:pointer}
  .share-btns button.fill{background:var(--purple);color:#fff}
  canvas#shareCanvas{width:100%;border-radius:14px;border:1px solid var(--line);display:block}
  .foot{font-size:11px;color:#a89fb8;text-align:center;line-height:1.7;margin-top:24px}
  .again{width:100%;margin-top:8px;padding:13px;border:none;border-radius:12px;background:#EFE9DD;color:#6b6478;font-size:14px;font-weight:700;cursor:pointer}
  .toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 20px;border-radius:24px;font-size:13px;opacity:0;transition:opacity .3s;pointer-events:none;z-index:99}
  .toast.show{opacity:1}
  /* ===== 상세 리포트 (Layer3) ===== */
  .report-title{font-size:18px;font-weight:800;margin-bottom:4px}
  .report-sub{font-size:12px;color:#9b91ad;margin-bottom:16px;line-height:1.5}
  .report-open{font-size:14px;line-height:1.7;color:#3f3a52}
  .report-open #lockTeaser{margin-bottom:10px}
  .report-open p{margin:10px 0}
  .lock-divider{display:flex;align-items:center;gap:10px;margin:22px 0 6px;font-size:13px;font-weight:800;color:#8a8199}
  .lock-divider:before,.lock-divider:after{content:"";flex:1;height:1px;background:var(--line)}
  .blur-wrap{position:relative;margin-top:10px;max-height:230px;overflow:hidden;border-radius:12px}
  .blur-content{filter:blur(5px);opacity:.9;pointer-events:none;user-select:none;padding:2px}
  .blur-content p{font-size:14px;line-height:1.75;margin:12px 0;color:#3f3a52}
  .blur-fade{position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(180deg,rgba(255,255,255,0),var(--card))}
  .report-cta{width:100%;margin-top:16px;padding:15px;border:none;border-radius:14px;background:var(--yellow);color:#2B2440;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 4px 0 #E0B93A;transition:transform .05s}
  .report-cta:active{transform:translateY(3px);box-shadow:0 1px 0 #E0B93A}

  /* ============ Layer1 · 척척펭귄 (스코프 한정) ============ */
  #viewInput{font-family:'Nanum Gothic',sans-serif;color:#2E2C2B}
  #mascotInput{display:none} /* 구 마스코트(SVG) 숨김 — init() 호환 위해 요소는 유지 */
  .l1-hero{display:block;width:100%;border-radius:16px;margin:4px 0 24px}
  .l1-head{font-family:'Jua',sans-serif;font-weight:400;font-size:25px;line-height:1.4;color:#3A3836;text-align:center;letter-spacing:-.3px;margin:2px 6px 12px;word-break:keep-all}
  .l1-sub{font-size:14.5px;line-height:1.6;color:#726D67;text-align:center;margin:0 12px 34px;word-break:keep-all}
  .l1-field{margin-bottom:24px}
  #viewInput label{font-family:'Nanum Gothic',sans-serif;font-size:13px;font-weight:700;color:#575659;margin:0 2px 9px;display:block}
  .l1-hint{font-weight:400;color:#B0A899;font-size:12px;margin-left:2px}
  #viewInput input,#viewInput select{width:100%;padding:14px 15px;border:1.5px solid #E9DDC8;border-radius:13px;font-size:15px;font-family:'Nanum Gothic',sans-serif;background:#FFFDFB;color:#2E2C2B;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
  #viewInput select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23575659' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}
  #viewInput input::placeholder{color:#BFB7AA}
  #viewInput input:focus,#viewInput select:focus{outline:none;border-color:#D9A35F;box-shadow:0 0 0 3px rgba(217,163,95,.16)}
  .l1-row{display:flex;gap:10px}
  .l1-row>select{flex:1;min-width:0}
  .l1-seg{display:flex;gap:10px}
  .l1-seg button{flex:1;padding:13px;border:1.5px solid #E9DDC8;border-radius:13px;background:#FFFDFB;font-size:15px;font-family:'Nanum Gothic',sans-serif;font-weight:600;color:#726D67;cursor:pointer;transition:.15s}
  .l1-seg button.on{background:#FBEFDB;border-color:#D9A35F;color:#8A5E22;font-weight:800}
  .l1-cta{width:100%;margin-top:14px;padding:17px;border:none;border-radius:15px;background:#D9A35F;color:#3E2C11;font-size:17px;font-family:'Nanum Gothic',sans-serif;font-weight:800;letter-spacing:.2px;cursor:pointer;box-shadow:0 6px 16px rgba(217,163,95,.34);transition:transform .08s,box-shadow .2s}
  .l1-cta:hover{box-shadow:0 8px 22px rgba(217,163,95,.44)}
  .l1-cta:active{transform:translateY(2px);box-shadow:0 3px 10px rgba(217,163,95,.34)}

  /* ===== Layer2 무료 결과 화면 리디자인 ===== */
  #viewFreeResult{padding-top:8px}
  .fr-topbar{text-align:center;margin:4px 0 18px}
  .fr-brand{font-family:'Jua',sans-serif;font-size:34px;line-height:1;color:#2B2440;letter-spacing:-.5px}
  .fr-brand-sub{font-size:13px;color:#8a8199;margin-top:7px}
  .fr-section{margin-bottom:18px}
  .fr-sec-title{font-size:14px;font-weight:800;color:#8e86a1;margin:0 0 10px 4px;display:flex;align-items:center;gap:6px}
  .fr-sec-title:before{content:"";width:6px;height:6px;border-radius:50%;background:#FFD84D;box-shadow:0 0 0 4px rgba(255,216,77,.23)}
  .fr-hero{padding:18px;background:linear-gradient(180deg,#FFFDF8 0%,#F7F1E6 100%);border:1px solid #eee5d7;overflow:hidden}
  .fr-hero-inner{display:flex;align-items:center;gap:14px}
  .fr-hero-char{width:132px;max-width:38%;height:auto;display:block;filter:drop-shadow(0 10px 18px rgba(43,36,64,.10))}
  .fr-hero-copy{flex:1;min-width:0}
  .fr-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #ece4d7;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700;color:#7a708e;margin-bottom:10px}
  .fr-bubble{display:inline-block;background:#fff;border:2px solid #2B2440;border-radius:16px;padding:10px 14px;font-family:'Jua',sans-serif;font-size:22px;line-height:1.1;box-shadow:4px 4px 0 rgba(43,36,64,.08);margin-bottom:10px}
  .fr-opener{font-size:13px;line-height:1.7;color:#5f566f;word-break:keep-all}
  .fr-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .fr-stat{background:#fff;border:1.5px solid #ECE4D7;border-radius:18px;padding:16px 14px;box-shadow:0 3px 12px rgba(43,36,64,.04)}
  .fr-stat span{display:block;font-size:12px;font-weight:800;color:#8a8199;margin-bottom:7px}
  .fr-stat strong{display:block;font-size:28px;line-height:1.15;letter-spacing:-.3px;color:#2B2440;word-break:keep-all}
  .fr-stat em{display:block;font-style:normal;font-size:12px;line-height:1.55;color:#746d82;margin-top:8px}
  .fr-stat.accent{background:linear-gradient(135deg,#f7f0ff,#fff);border-color:#d9c9fb}
  .fr-stat.accent strong{color:#5D3FA3}
  .fr-stat.warm{background:linear-gradient(135deg,#fffaf1,#fff);border-color:#F2DCA6}
  .fr-stat.warm strong{font-size:22px;color:#7c5c2f}
  .fr-punch{background:#2B2440;color:#fff;border-radius:22px;padding:22px 20px;font-size:24px;line-height:1.55;font-weight:800;letter-spacing:-.4px;box-shadow:0 10px 20px rgba(43,36,64,.08);word-break:keep-all}
  .fr-punch .quote{color:#FFD84D;margin-right:4px}
  .fr-free-list{display:grid;gap:10px}
  .fr-free-card{background:#fff;border:1.5px solid #ECE4D7;border-radius:18px;padding:16px 16px 15px;box-shadow:0 3px 12px rgba(43,36,64,.04)}
  .fr-free-card h4{font-size:14px;font-weight:800;color:#2B2440;margin-bottom:8px}
  .fr-free-card p{font-size:13px;line-height:1.72;color:#5b536a;word-break:keep-all}
  .fr-free-card.point{border-color:#d9c9fb;background:linear-gradient(180deg,#FEFDFF 0%,#F7F1FF 100%)}
  .fr-share-copy{font-size:13px;line-height:1.6;color:#5f566f;margin:2px 0 14px}
  .fr-cta-card{background:linear-gradient(135deg,#fff7e2,#fff);border:1px solid #efdcb2}
  .fr-cta-card p{font-size:13px;line-height:1.68;color:#5f566f;margin:2px 0 14px}
  .fr-cta-card .go{margin-top:4px}
  .fr-details{padding:16px 16px 12px}
  .fr-details summary{cursor:pointer;list-style:none;font-size:14px;font-weight:800;color:#61586f;display:flex;align-items:center;gap:8px}
  .fr-details summary::-webkit-details-marker{display:none}
  .fr-details summary:before{content:'+';display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#F4EFE6;color:#6c6479;font-size:14px;flex-shrink:0}
  .fr-details[open] summary:before{content:'–'}
  .fr-evidence-grid{display:grid;gap:12px;margin-top:14px}
  .fr-evidence-block{background:#FCFAF5;border:1px solid #ECE4D7;border-radius:16px;padding:14px}
  .fr-evidence-block h4{font-size:13px;font-weight:800;color:#61586f;margin-bottom:10px}
  .fr-evidence-block .type-card{margin-bottom:0}
  .fr-empty-note{font-size:12px;color:#8a8199;line-height:1.6;margin-top:8px}
  @media (max-width:390px){
    .fr-hero-inner{align-items:flex-start}
    .fr-hero-char{width:118px}
    .fr-brand{font-size:30px}
    .fr-punch{font-size:21px}
    .fr-stat strong{font-size:24px}
    .fr-stat.warm strong{font-size:20px}
  }


  /* 이전 버전의 유형/사주 원국/오행 블록을 Layer2에 다시 노출 */
  .legacy-result-blocks{margin-top:6px}
  .legacy-result-blocks .type-card{margin-bottom:16px}
  .legacy-card{padding:20px}


  /* ===== Layer2 v0.5 : 흐름 중심 레이아웃 ===== */
  #viewFreeResult{padding-top:8px}
  #viewFreeResult .fr-topbar{margin-bottom:18px}
  .l2-block{margin-bottom:16px}
  .l2-character-card{background:linear-gradient(180deg,#FFFDF8 0%,#F5EEE2 100%);border:1px solid #E9DDC8;border-radius:20px;padding:14px 16px 16px;box-shadow:0 2px 10px rgba(43,36,64,.05)}
  .l2-character-row{display:flex;align-items:center;gap:12px}
  .l2-character-img{width:128px;max-width:39%;height:auto;display:block;filter:drop-shadow(0 8px 14px rgba(70,58,48,.10))}
  .l2-speech{position:relative;flex:1;background:#fff;border:2px solid #575659;border-radius:18px;padding:13px 15px;font-family:'Jua',sans-serif;font-size:23px;line-height:1.35;color:#3B3938;box-shadow:4px 4px 0 rgba(87,86,89,.08);word-break:keep-all}
  .l2-speech:before{content:"";position:absolute;left:-11px;top:42%;width:18px;height:18px;background:#fff;border-left:2px solid #575659;border-bottom:2px solid #575659;transform:rotate(45deg)}
  .l2-thinking-card{background:linear-gradient(180deg,#FAF7F1 0%,#FFFDF9 100%);border:1px solid #E9DDC8;border-radius:20px;padding:16px;box-shadow:0 2px 10px rgba(43,36,64,.05)}
  .l2-thinking-card .l2-character-img{width:138px}
  .l2-thinking-card .l2-speech{font-family:'Nanum Gothic',sans-serif;font-size:20px;font-weight:800;line-height:1.55;color:#2E2C2B}
  .l2-data-card{background:#fff;border-radius:18px;padding:20px;margin-bottom:16px;box-shadow:0 2px 10px rgba(43,36,64,.06)}
  .l2-data-card h3.sec{margin-top:0}
  #viewFreeResult #salCard{display:block!important}
  #viewFreeResult #salCard .badges{margin-top:2px}
  .l2-gap-card{background:#fff;border-radius:20px;padding:20px;box-shadow:0 2px 10px rgba(43,36,64,.06)}
  .l2-gap-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
  .l2-gap-stat{border:1.5px solid #E9DDC8;border-radius:15px;padding:14px;background:#FFFDFB}
  .l2-gap-stat span{display:block;font-size:11px;font-weight:800;color:#8E877F;margin-bottom:5px}
  .l2-gap-stat strong{display:block;font-size:23px;line-height:1.2;color:#3A3836;word-break:keep-all}
  .l2-gap-stat em{display:block;font-style:normal;font-size:11px;line-height:1.45;color:#8E877F;margin-top:6px}
  .l2-gap-stat.accent{background:#FBEFDB;border-color:#D9A35F}
  .l2-gap-stat.accent strong{color:#8A5E22}
  .l2-free-text{display:grid;gap:10px}
  .l2-free-text>div{padding:15px 16px;border-radius:15px;background:#FAF7F1}
  .l2-free-text b{display:block;font-size:13px;color:#575659;margin-bottom:7px}
  .l2-free-text p{font-size:13px;line-height:1.72;color:#5B5651;word-break:keep-all}
  .l2-preview{background:#fff;border-radius:20px;padding:20px;box-shadow:0 2px 10px rgba(43,36,64,.06)}
  .l2-preview-open{font-size:13px;line-height:1.72;color:#544F4A;margin-bottom:12px}
  .l2-preview .blur-wrap{max-height:190px;margin-top:6px}
  .l2-preview .blur-content p{font-size:13px;line-height:1.7}
  .l2-cta-wrap{margin:16px 0 6px}
  .l2-cta-copy{text-align:center;font-size:13px;line-height:1.65;color:#776F68;margin:0 12px 10px}
  .l2-cta{width:100%;padding:17px;border:none;border-radius:15px;background:#D9A35F;color:#3E2C11;font-size:17px;font-family:'Nanum Gothic',sans-serif;font-weight:800;cursor:pointer;box-shadow:0 5px 14px rgba(217,163,95,.30)}
  .l2-cta:active{transform:translateY(1px)}
  .l2-opener{margin:14px 2px 0;padding:13px 14px;border-radius:14px;background:rgba(255,255,255,.82);border:1px solid #E9DDC8;font-size:13.5px;line-height:1.72;color:#625B55;word-break:keep-all}
  .l2-opener b{color:#3A3836;font-weight:800}
  .l2-share-card{background:#fff;border-radius:20px;padding:18px;box-shadow:0 2px 10px rgba(43,36,64,.06)}
  .l2-share-copy{font-size:13px;line-height:1.65;color:#776F68;margin:0 2px 12px;word-break:keep-all}
  .l2-share-card canvas#shareCanvas{width:100%;border-radius:14px;border:1px solid #E9DDC8;display:block}
  .l2-share-card .share-btns{margin-top:12px}
  .l2-hidden{display:none!important}
  @media(max-width:390px){
    .l2-character-img{width:116px}
    .l2-thinking-card .l2-character-img{width:122px}
    .l2-speech{font-size:21px}
    .l2-thinking-card .l2-speech{font-size:18px}
    .l2-gap-stat strong{font-size:21px}
  }



  /* ===== v0.7 가독성 & 모바일 터치 보강 ===== */
  html{-webkit-text-size-adjust:100%;touch-action:manipulation}
  body{-webkit-overflow-scrolling:touch}
  #viewInput{position:relative;z-index:1;pointer-events:auto;touch-action:manipulation}
  #viewInput .l1-hero{pointer-events:none;-webkit-user-drag:none;user-select:none}
  #viewInput input,#viewInput select,#viewInput button{position:relative;z-index:5;pointer-events:auto!important;touch-action:manipulation;-webkit-tap-highlight-color:rgba(217,163,95,.18)}
  #viewInput input,#viewInput select{font-size:16px;min-height:48px}
  #viewInput button{min-height:48px}
  .mobile-js-note{display:none}
  noscript .mobile-js-note{display:block;margin:12px 0;padding:14px;border-radius:12px;background:#fff0e5;border:1px solid #efc69a;color:#6f4b29;font-size:13px;line-height:1.6}

  #viewFreeResult .l2-data-card{padding:18px 18px 17px}
  #viewFreeResult h3.sec{font-size:14px;margin-bottom:14px;letter-spacing:-.2px}
  #viewFreeResult h3.sec .sec-ico{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:9px;background:#F7EEDC;font-size:15px;margin-right:2px}
  #viewFreeResult h3.sec em{margin-left:auto;background:#F6F2EA;border-radius:999px;padding:4px 8px;font-size:10px;color:#9B9288}
  #viewFreeResult .badges{gap:7px}
  #viewFreeResult .badge{border-radius:12px;padding:8px 10px;line-height:1.35}

  .l2-gap-flow{display:grid;grid-template-columns:1fr 74px 1fr;align-items:center;gap:8px;margin:0 0 14px}
  .l2-flow-node{background:#FFFDFB;border:1.5px solid #E9DDC8;border-radius:16px;padding:12px 8px;text-align:center}
  .l2-flow-node span{display:block;font-size:10px;font-weight:800;color:#928A82;margin-bottom:4px}
  .l2-flow-node strong{display:block;font-size:22px;color:#3A3836;line-height:1.15}
  .l2-flow-gap{position:relative;text-align:center}
  .l2-flow-gap:before,.l2-flow-gap:after{content:"";position:absolute;top:50%;width:15px;border-top:2px dashed #D9A35F}
  .l2-flow-gap:before{left:0}.l2-flow-gap:after{right:0}
  .l2-flow-gap strong{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:50%;background:#D9A35F;color:#3E2C11;font-size:12px;line-height:1.1;position:relative;z-index:1;box-shadow:0 3px 9px rgba(217,163,95,.25)}

  .l2-gap-stats{grid-template-columns:1fr 1fr;margin-bottom:12px}
  .l2-gap-stat:nth-child(1),.l2-gap-stat:nth-child(2){display:none}
  .l2-free-text{gap:9px}
  .l2-free-text>div{position:relative;padding:15px 15px 15px 52px;background:#FBF8F3;border:1px solid #EFE7DA}
  .l2-free-text>div:before{position:absolute;left:14px;top:14px;width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#F4E4C7;font-size:15px}
  .l2-free-text>div:nth-child(1):before{content:"🔎"}
  .l2-free-text>div:nth-child(2):before{content:"🔁"}
  .l2-free-text>div:nth-child(3):before{content:"🧭"}
  .l2-free-text b{font-size:13.5px;color:#3A3836;margin-bottom:5px}
  .l2-free-text p{font-size:13.5px;line-height:1.78;color:#625C56}

  .l2-preview{position:relative;overflow:hidden;border:1px solid #ECE3D4}
  .l2-preview:before{content:"🔒 상세 리포트 미리보기";display:inline-flex;align-items:center;background:#F7EEDC;color:#6A5640;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;margin-bottom:12px}
  .l2-preview-open{font-size:13.5px;line-height:1.75;color:#4F4A45}
  .l2-preview .blur-content p{padding:10px 12px;margin:7px 0;border-radius:12px;background:#FAF7F1}
  .l2-share-card{border:1px solid #ECE3D4}
  .l2-share-copy:before{content:"↗";display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;margin-right:7px;border-radius:8px;background:#F4E4C7;color:#6A5640;font-weight:800}

  @media(max-width:430px){
    .app{padding-left:14px;padding-right:14px}
    .l1-row{gap:7px}
    .l2-character-row{gap:9px}
    .l2-character-img{max-width:37%}
    .l2-opener{font-size:13px;padding:12px;line-height:1.7}
    .l2-data-card,.l2-gap-card,.l2-preview,.l2-share-card{border-radius:17px}
    .l2-gap-flow{grid-template-columns:1fr 64px 1fr;gap:5px}
    .l2-flow-gap:before,.l2-flow-gap:after{width:10px}
    .l2-flow-node strong{font-size:20px}
    .share-btns button{font-size:13px;padding:12px 7px}
  }


/* ========================================================================
   v0.8 POLISH PASS · 척척펭귄
   ======================================================================== */
:root{--cc-bg:#F8F3EB;--cc-paper:#FFFDF9;--cc-ink:#3D3A37;--cc-gray:#575659;--cc-muted:#8D857D;--cc-line:#E9DDC8;--cc-accent:#D9A35F;--cc-accent-soft:#F7EAD5;--cc-cream:#F3EBDD;--cc-sage:#89947D}
body{background:var(--cc-bg);overflow-x:hidden}.app{overflow-x:visible}
#viewInput .l1-hero{border-radius:24px;box-shadow:0 14px 34px rgba(80,62,39,.08);margin-bottom:28px}#viewInput .l1-head{font-size:27px;line-height:1.38;color:var(--cc-ink)}#viewInput .l1-sub{max-width:360px;margin-left:auto;margin-right:auto;color:#756F69}#viewInput input,#viewInput select,#viewInput button{pointer-events:auto!important;touch-action:manipulation;position:relative;z-index:10}#viewInput input,#viewInput select{background:#FFFEFC;border-color:#E7DCCB}#viewInput .l1-cta{border-radius:18px;min-height:56px}
#viewFreeResult{font-family:'Nanum Gothic',sans-serif;color:var(--cc-ink);padding-top:4px}#viewFreeResult *{box-sizing:border-box}#viewFreeResult img{display:block;max-width:100%;user-select:none;-webkit-user-drag:none;pointer-events:none}
.l2v8-brandbar{display:flex;align-items:center;justify-content:space-between;margin:5px 2px 22px;padding:0 2px}.l2v8-brand{font-family:'Jua',sans-serif;font-size:22px;color:#44413E;letter-spacing:-.3px}.l2v8-brand small{font-family:'Nanum Gothic',sans-serif;font-size:10px;font-weight:700;color:#A1988E;margin-left:7px;letter-spacing:.3px}.l2v8-brandbar .status{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;color:#8D795C;background:#F7EAD5;border:1px solid #E8D2B1;border-radius:999px;padding:7px 10px}.l2v8-brandbar .status:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cc-accent)}
.l2v8-hero{position:relative;margin:0 -18px 30px;padding:8px 20px 28px;overflow:hidden;background:linear-gradient(180deg,#FBF6ED 0%,#F2E8D8 100%);border-top:1px solid rgba(217,163,95,.16);border-bottom:1px solid rgba(217,163,95,.18)}.l2v8-hero:after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-75px;top:-42px;background:rgba(255,255,255,.42)}.l2v8-hero-main{position:relative;z-index:1;display:grid;grid-template-columns:44% 1fr;align-items:center;gap:8px;min-height:190px}.l2v8-hero-char{width:100%;max-height:220px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 18px rgba(76,60,43,.13))}.l2v8-hero-talk{position:relative;padding-left:3px}.l2v8-bubble{position:relative;display:inline-block;background:#FFF;border:1.8px solid #575659;border-radius:18px 18px 18px 5px;padding:11px 16px;font-family:'Jua',sans-serif;font-size:26px;line-height:1.05;color:#373533;box-shadow:4px 5px 0 rgba(87,86,89,.08);margin-bottom:13px}.l2v8-bubble:after{content:"";position:absolute;left:-8px;bottom:8px;width:15px;height:15px;background:#fff;border-left:1.8px solid #575659;border-bottom:1.8px solid #575659;transform:rotate(45deg)}.l2v8-opener{font-size:13.5px;line-height:1.75;color:#5E5852;word-break:keep-all}.l2v8-opener b{font-weight:800;color:#6F4B20;background:linear-gradient(transparent 58%,rgba(217,163,95,.24) 58%)}.l2v8-cue{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:7px;font-size:11px;font-weight:700;color:#91887E}.l2v8-cue span{font-size:17px;color:#B98644;animation:l2cue 1.6s ease-in-out infinite}@keyframes l2cue{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.l2v8-data-zone{margin:0 0 32px;background:var(--cc-paper);border:1px solid #EEE4D6;border-radius:26px;padding:24px 18px 10px;box-shadow:0 12px 34px rgba(61,50,39,.055)}.l2v8-zone-head{margin-bottom:18px;padding:0 2px}.l2v8-kicker{display:block;font-size:9px;font-weight:800;letter-spacing:1.5px;color:#B28A59;margin-bottom:5px}.l2v8-zone-head h2{font-family:'Jua',sans-serif;font-weight:400;font-size:23px;letter-spacing:-.4px;margin:0 0 5px;color:#3F3B38}.l2v8-zone-head p{font-size:12px;line-height:1.6;color:#918981}.l2v8-data-section{padding:17px 0 20px;border-top:1px dashed #E9DFD0}.l2v8-data-section:first-of-type{border-top:0;padding-top:3px}.l2v8-subhead{display:flex;align-items:center;gap:9px;margin-bottom:14px}.l2v8-symbol{display:inline-flex;width:30px;height:30px;border-radius:10px;align-items:center;justify-content:center;flex:0 0 30px;background:#F4EBDD;border:1px solid #E7D8C2;color:#805E35;font-family:'Jua',sans-serif;font-size:14px}.l2v8-subtitle{font-size:14px;font-weight:800;color:#45413E;letter-spacing:-.2px}.l2v8-submeta{margin-left:auto;font-size:9px;font-weight:700;color:#A09890;background:#F6F2EC;border-radius:999px;padding:4px 7px}#viewFreeResult table.pillars{margin-top:2px}#viewFreeResult table.pillars th{color:#A09991;padding-bottom:8px}#viewFreeResult .gz{border-radius:13px;padding:11px 0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.36)}#viewFreeResult .gz .hanja{font-size:25px}.l2v8-element-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.l2v8-mini-metric{padding:11px 12px;border-radius:14px;background:#FAF6EF;border:1px solid #EEE3D3}.l2v8-mini-metric span{display:block;font-size:9px;font-weight:800;color:#9B928A;margin-bottom:4px}.l2v8-mini-metric strong{display:block;font-size:14px;color:#514B46;word-break:keep-all}.l2v8-mini-metric:first-child{background:#F8F1E5;border-color:#E9D7BA}#viewFreeResult .bar-row{margin:9px 0;gap:9px}#viewFreeResult .bar-track{height:12px;background:#F0EAE0}#viewFreeResult .bar-fill{box-shadow:inset 0 -2px 0 rgba(0,0,0,.05)}#viewFreeResult #elComment{margin-top:14px!important;padding:12px 13px;border-radius:13px;background:#F7F4EF;color:#69625C!important;font-size:12px!important;line-height:1.7!important}#viewFreeResult .badges{display:grid;grid-template-columns:1fr;gap:8px}#viewFreeResult .badge{position:relative;border:0!important;border-radius:14px!important;padding:11px 12px 11px 35px!important;background:#F8F2E8!important;color:#5E5348!important;font-size:12px!important;line-height:1.45!important;font-weight:800!important}#viewFreeResult .badge:before{content:"✦";position:absolute;left:13px;top:10px;color:#B6813E;font-size:13px}#viewFreeResult .badge small{display:block;margin-top:3px;color:#897F75;font-weight:500;line-height:1.5}
.l2v8-bridge{display:grid;grid-template-columns:118px 1fr;align-items:center;gap:13px;margin:4px 0 34px;padding:0 7px}.l2v8-bridge-photo{width:118px;height:94px;object-fit:cover;border-radius:20px;box-shadow:0 8px 20px rgba(74,60,45,.09)}.l2v8-bridge-copy{font-size:12px;line-height:1.75;color:#756D65;word-break:keep-all}.l2v8-bridge-copy .mini{display:inline-block;margin-bottom:5px;font-size:9px;font-weight:800;letter-spacing:1px;color:#B17C3B}.l2v8-bridge-copy b{font-size:14px;color:#443F3B}
.l2v8-punch{position:relative;margin:0 -18px 34px;padding:26px 18px 30px;background:#E9DDC8;overflow:hidden}.l2v8-punch:before{content:"";position:absolute;left:-52px;bottom:-82px;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.3)}.l2v8-punch-inner{position:relative;z-index:1;display:grid;grid-template-columns:38% 1fr;align-items:end;gap:5px;max-width:460px;margin:0 auto}.l2v8-punch-img{width:100%;max-height:230px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 18px rgba(67,52,39,.13))}.l2v8-punch-copy{align-self:center;padding:0 1px 7px}.l2v8-punch-copy .eyebrow{font-size:9px;font-weight:800;letter-spacing:1.3px;color:#947149;margin-bottom:9px}.l2v8-punch-speech{position:relative;background:#FFFDF9;border-radius:20px 20px 20px 6px;padding:16px 17px;font-size:19px;font-weight:800;line-height:1.55;letter-spacing:-.4px;color:#34312F;word-break:keep-all;box-shadow:0 9px 24px rgba(73,57,42,.08)}.l2v8-punch-speech:before{content:"";position:absolute;left:-9px;bottom:16px;width:18px;height:18px;background:#FFFDF9;transform:rotate(45deg)}.l2v8-punch-speech:after{content:"";position:absolute;right:15px;top:-8px;width:28px;height:16px;border-radius:50%;border-top:2px solid rgba(217,163,95,.8);transform:rotate(-8deg)}
.l2v8-gap-zone{margin:0 0 32px}.l2v8-gap-head{text-align:center;margin-bottom:17px}.l2v8-gap-head .kicker{font-size:9px;font-weight:800;letter-spacing:1.4px;color:#B3854C}.l2v8-gap-head h2{font-family:'Jua',sans-serif;font-size:24px;font-weight:400;margin:5px 0 4px;color:#3F3B38}.l2v8-gap-head p{font-size:11px;color:#948B83;line-height:1.55}.l2v8-dashboard{position:relative;display:grid;grid-template-columns:1fr 106px 1fr;align-items:center;gap:7px;margin:0 0 14px;padding:18px 12px;background:#FFFDF9;border:1px solid #ECE1D2;border-radius:24px;box-shadow:0 10px 30px rgba(64,53,41,.05)}.l2v8-persona{text-align:center;min-width:0}.l2v8-persona span{display:block;font-size:9px;font-weight:800;color:#9A9188;margin-bottom:6px}.l2v8-persona strong{display:block;font-size:23px;line-height:1.1;color:#44403D;letter-spacing:-.3px;overflow-wrap:anywhere}.l2v8-persona em{display:block;margin-top:6px;font-style:normal;font-size:9px;color:#A49C94;line-height:1.4}.l2v8-gauge-wrap{text-align:center}.l2v8-gauge{--gap-pct:0;position:relative;width:92px;height:92px;margin:auto;border-radius:50%;background:conic-gradient(var(--cc-accent) calc(var(--gap-pct)*1%),#EEE7DD 0);display:grid;place-items:center}.l2v8-gauge:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#FFFDF9}.l2v8-gauge-value{position:relative;z-index:1;font-family:'Jua',sans-serif;font-size:19px;color:#684A27;line-height:1.05}.l2v8-gauge-label{position:relative;z-index:1;display:block;font-size:7px;font-family:'Nanum Gothic',sans-serif;color:#A08F7C;margin-top:3px;letter-spacing:.7px}.l2v8-type-line{text-align:center;padding:12px 14px 2px}.l2v8-type-line strong{display:inline-block;font-size:16px;color:#604927;background:#F5E9D6;border:1px solid #E8D3B3;border-radius:999px;padding:8px 13px}.l2v8-type-line p{font-size:11px;line-height:1.6;color:#8B8178;margin-top:8px}.l2v8-hidden{display:none!important}
.l2v8-reading{position:relative;margin:22px 5px 0;padding-left:25px}.l2v8-reading:before{content:"";position:absolute;left:10px;top:15px;bottom:28px;width:1px;background:linear-gradient(#D9A35F,#E5D8C5)}.l2v8-read-item{position:relative;padding:0 0 26px 12px}.l2v8-read-item:last-child{padding-bottom:5px}.l2v8-read-dot{position:absolute;left:-22px;top:1px;width:17px;height:17px;border:4px solid #F8F3EB;border-radius:50%;background:#D9A35F;box-shadow:0 0 0 1px #D6B17F}.l2v8-read-item:nth-child(2) .l2v8-read-dot{background:#8D9681;box-shadow:0 0 0 1px #B2BAA8}.l2v8-read-item:nth-child(3) .l2v8-read-dot{background:#575659;box-shadow:0 0 0 1px #8D8C8E}.l2v8-read-label{display:flex;align-items:center;gap:7px;margin-bottom:7px}.l2v8-read-label b{font-size:10px;letter-spacing:1px;color:#8B7357}.l2v8-read-label span{font-size:12px;font-weight:800;color:#4A4541}.l2v8-read-item p{font-size:13px;line-height:1.78;color:#68615A;word-break:keep-all}
.l2v8-type{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:stretch;margin:0 0 32px;padding:12px;background:#FFFDF9;border:1px solid #EBE0D1;border-radius:24px;box-shadow:0 10px 28px rgba(66,54,41,.05)}.l2v8-type-photo{width:112px;height:100%;min-height:150px;object-fit:cover;border-radius:18px}#viewFreeResult .l2v8-type .type-card{margin:0!important;padding:8px 5px 7px!important;background:transparent!important;border-radius:0!important;color:#48433F!important;text-align:left!important;box-shadow:none!important}#viewFreeResult .l2v8-type .type-card .tt{font-size:9px!important;font-weight:800!important;letter-spacing:1.1px!important;color:#B17C3B!important;opacity:1!important;text-transform:uppercase}#viewFreeResult .l2v8-type .type-card .tn{font-family:'Jua',sans-serif!important;font-size:21px!important;font-weight:400!important;line-height:1.3!important;margin:8px 0 9px!important;color:#3F3B38!important;word-break:keep-all}#viewFreeResult .l2v8-type .type-card .td{font-size:11.5px!important;line-height:1.7!important;color:#756D66!important;opacity:1!important;word-break:keep-all}
.l2v8-share{margin:0 -3px 34px}.l2v8-share-head{text-align:center;margin-bottom:13px;padding:0 10px}.l2v8-share-head h3{font-family:'Jua',sans-serif;font-size:22px;font-weight:400;color:#413D39;margin-bottom:6px}.l2v8-share-head p{font-size:11px;line-height:1.65;color:#8E857D}.l2v8-share-frame{padding:10px;background:#EFE5D6;border-radius:24px;box-shadow:0 12px 28px rgba(65,53,41,.06)}#viewFreeResult .l2v8-share-frame canvas#shareCanvas{border:0;border-radius:18px;background:#fff}#viewFreeResult .share-btns{gap:8px;margin-top:11px}#viewFreeResult .share-btns button{min-height:48px;border-radius:14px;border-color:#D5B583;background:#FFFDF9;color:#755226;touch-action:manipulation}#viewFreeResult .share-btns button.fill{background:#D9A35F;border-color:#D9A35F;color:#3E2C11}
.l2v8-report{position:relative;margin:0 0 30px;padding:23px 18px 17px;background:#FFFDF9;border:1px solid #E8DDCD;border-radius:6px 6px 22px 22px;box-shadow:0 14px 34px rgba(57,47,38,.065)}.l2v8-report:before{content:"DEEP REPORT";position:absolute;top:-15px;left:18px;background:#575659;color:#fff;border-radius:9px 9px 3px 3px;padding:7px 11px;font-size:8px;font-weight:800;letter-spacing:1.2px}.l2v8-report-head{display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:center;margin:3px 0 15px}.l2v8-report-photo{width:74px;height:56px;border-radius:13px;object-fit:cover;border:1px solid #E7DCCC}.l2v8-report-title{font-family:'Jua',sans-serif;font-size:18px;color:#433F3B;margin-bottom:3px}.l2v8-report-meta{font-size:9px;font-weight:700;color:#A09489;line-height:1.4}.l2v8-report .l2-preview-open{font-size:12.5px;line-height:1.76;color:#625B55;padding:12px 0 2px;border-top:1px solid #EFE6DA}.l2v8-report .blur-wrap{max-height:205px;margin-top:9px;border-radius:8px}.l2v8-report .blur-content{filter:blur(4.8px);opacity:.8}.l2v8-report .blur-content p{font-size:12px;line-height:1.72;color:#5F5953}.l2v8-report .blur-fade{height:145px;background:linear-gradient(180deg,rgba(255,253,249,0),#FFFDF9 88%)}.l2v8-lock-chip{position:absolute;left:50%;bottom:38px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:6px;white-space:nowrap;background:rgba(87,86,89,.94);color:#fff;border-radius:999px;padding:8px 11px;font-size:9px;font-weight:800;box-shadow:0 5px 16px rgba(40,38,37,.13)}.l2v8-lock-icon{width:11px;height:9px;border:1.7px solid #fff;border-radius:2px;position:relative}.l2v8-lock-icon:before{content:"";position:absolute;width:7px;height:6px;border:1.7px solid #fff;border-bottom:0;border-radius:8px 8px 0 0;left:50%;top:-7px;transform:translateX(-50%)}
.l2v8-final{position:relative;display:grid;grid-template-columns:40% 1fr;gap:12px;align-items:center;margin:0 -18px 12px;padding:22px 18px 22px;background:linear-gradient(140deg,#F0E4D1,#FBF6ED);border-top:1px solid #E8D5B8;border-bottom:1px solid #E8D5B8;overflow:hidden}.l2v8-final-photo{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:24px;box-shadow:0 10px 24px rgba(73,58,44,.09)}.l2v8-final-copy{min-width:0}.l2v8-final-copy .tiny{font-size:9px;font-weight:800;letter-spacing:1px;color:#A6783F;margin-bottom:6px}.l2v8-final-copy h3{font-family:'Jua',sans-serif;font-size:20px;font-weight:400;line-height:1.35;color:#413C38;margin-bottom:7px;word-break:keep-all}.l2v8-final-copy p{font-size:10.5px;line-height:1.65;color:#7C736B;margin-bottom:11px;word-break:keep-all}#viewFreeResult .l2v8-final .l2-cta{margin:0;padding:13px 8px;min-height:48px;border-radius:14px;font-size:14px;box-shadow:0 4px 12px rgba(217,163,95,.25);touch-action:manipulation}#viewFreeResult .again{margin-top:14px;background:transparent;border:1px solid #DED4C7;color:#8C837A}
@media(max-width:390px){.l2v8-brandbar{margin-bottom:17px}.l2v8-hero{margin-bottom:27px;padding-left:17px;padding-right:17px}.l2v8-hero-main{grid-template-columns:42% 1fr;min-height:176px}.l2v8-bubble{font-size:23px;padding:10px 13px}.l2v8-opener{font-size:12.5px;line-height:1.72}.l2v8-data-zone{padding-left:15px;padding-right:15px;border-radius:23px}.l2v8-bridge{grid-template-columns:104px 1fr;padding:0 2px}.l2v8-bridge-photo{width:104px;height:88px}.l2v8-punch-inner{grid-template-columns:36% 1fr}.l2v8-punch-speech{font-size:17px;padding:14px 14px}.l2v8-dashboard{grid-template-columns:1fr 88px 1fr;padding:16px 8px;gap:3px}.l2v8-gauge{width:78px;height:78px}.l2v8-gauge-value{font-size:17px}.l2v8-persona strong{font-size:20px}.l2v8-type{grid-template-columns:96px 1fr;gap:11px}.l2v8-type-photo{width:96px;min-height:145px}#viewFreeResult .l2v8-type .type-card .tn{font-size:19px!important}.l2v8-final{grid-template-columns:38% 1fr;padding-left:16px;padding-right:16px}.l2v8-final-copy h3{font-size:18px}}
@media(max-width:350px){.l2v8-hero-main{grid-template-columns:38% 1fr}.l2v8-bubble{font-size:21px}.l2v8-dashboard{grid-template-columns:1fr 74px 1fr}.l2v8-gauge{width:68px;height:68px}.l2v8-persona strong{font-size:18px}.l2v8-type{grid-template-columns:82px 1fr}.l2v8-type-photo{width:82px}}


/* ========================================================================
   v0.9 BRIGHT / TOGGLE / SHARE PASS
   Reference background: #F6FAFA + white, with a cooler and cleaner key color.
   Calculation/result logic intentionally untouched.
   ======================================================================== */
:root{
  --bg:#FFFFFF;
  --ink:#303638;
  --purple:#79A7A3;
  --purple-d:#5E8D89;
  --cream:#F7FAFA;
  --pink:#EFC3C8;
  --yellow:#DDEBE9;
  --line:#E5ECEC;
  --card:#FFFFFF;
  --cc-bg:#FFFFFF;
  --cc-paper:#FFFFFF;
  --cc-ink:#303638;
  --cc-gray:#596365;
  --cc-muted:#7F898B;
  --cc-line:#E5ECEC;
  --cc-accent:#79A7A3;
  --cc-accent-strong:#5E8D89;
  --cc-accent-soft:#EDF6F5;
  --cc-mist:#F6FAFA;
  --cc-warm:#D7B27F;
  --cc-warm-soft:#FBF5EC;
}
html,body{background:#FFFFFF}
body{color:var(--cc-ink)}
.app{background:#FFFFFF}
.card{border:1px solid #E9EEEE;box-shadow:0 8px 24px rgba(66,85,87,.045)}
.logo span{color:var(--cc-accent-strong)}
.go,.l1-cta{background:var(--cc-accent-strong)!important;color:#fff!important;box-shadow:0 5px 14px rgba(94,141,137,.23)!important}
.seg button.on,.l1-seg button.on{background:#EAF4F3!important;border-color:#8FB4B1!important;color:#466F6C!important}
#viewInput input,#viewInput select{border-color:#DFE8E8!important;background:#fff!important}
#viewInput input:focus,#viewInput select:focus{border-color:#7FA9A6!important;box-shadow:0 0 0 3px rgba(121,167,163,.14)!important}
#viewInput .l1-hero{box-shadow:0 12px 32px rgba(55,79,81,.065)}

/* 전체 페이지를 더 밝고 공기감 있게 */
.l2v8-brandbar .status{color:#577B78;background:#EDF6F5;border-color:#D7E8E6}
.l2v8-brandbar .status:before{background:var(--cc-accent)}
.l2v8-hero{background:linear-gradient(180deg,#FFFFFF 0%,#F6FAFA 100%);border-top-color:#E8EFEF;border-bottom-color:#E3ECEC}
.l2v8-hero:after{background:rgba(214,235,233,.36)}
.l2v8-bubble{border-color:#667173;box-shadow:4px 5px 0 rgba(92,118,119,.07)}
.l2v8-bubble:after{border-left-color:#667173;border-bottom-color:#667173}
.l2v8-opener b{color:#4F7774;background:linear-gradient(transparent 58%,rgba(121,167,163,.19) 58%)}
.l2v8-cue span,.l2v8-kicker,.l2v8-bridge-copy .mini,.l2v8-gap-head .kicker,#viewFreeResult .l2v8-type .type-card .tt{color:#6E9895!important}

.l2v8-data-zone{background:#fff;border-color:#E5ECEC;box-shadow:0 10px 28px rgba(63,85,87,.045)}
.l2v8-data-section{border-top-color:#E6EEEE}
.l2v8-symbol{background:#EFF7F6;border-color:#DCEAE8;color:#5A8582}
.l2v8-submeta{background:#F5F8F8;color:#879193}
.l2v8-mini-metric{background:#F7FAFA;border-color:#E5ECEC}
.l2v8-mini-metric:first-child{background:#EFF7F6;border-color:#DCEBE9}
#viewFreeResult .bar-track{background:#EDF2F2}
#viewFreeResult #elComment{background:#F6FAFA!important;color:#606B6D!important}
#viewFreeResult .badge{background:#F6FAFA!important;color:#566163!important}
#viewFreeResult .badge:before{color:#6F9996}
#viewFreeResult .badge small{color:#7D888A}

.l2v8-bridge-photo{box-shadow:0 8px 20px rgba(61,83,85,.06)}
.l2v8-bridge-copy .mini{color:#6B9693}
.l2v8-punch{background:#F1F7F6;border-top:1px solid #E1ECEB;border-bottom:1px solid #E1ECEB}
.l2v8-punch:before{background:rgba(255,255,255,.58)}
.l2v8-punch-copy .eyebrow{color:#668F8C}
.l2v8-punch-speech{background:#FFFFFF;box-shadow:0 9px 24px rgba(63,84,86,.055)}
.l2v8-punch-speech:before{background:#FFFFFF}
.l2v8-punch-speech:after{border-top-color:#8CB3B0}

.l2v8-dashboard{background:#fff;border-color:#E4ECEC;box-shadow:0 9px 27px rgba(63,85,87,.04)}
.l2v8-gauge{background:conic-gradient(var(--cc-accent) calc(var(--gap-pct)*1%),#E9F0F0 0)}
.l2v8-gauge:before{background:#fff}
.l2v8-gauge-value{color:#507A77}
.l2v8-type-line strong{color:#4D7471;background:#EDF6F5;border-color:#D8E8E6}
.l2v8-type{background:#fff;border-color:#E5ECEC;box-shadow:0 9px 26px rgba(63,85,87,.04)}

/* 무료 갭리딩: 타임라인 대신 인터랙티브 아코디언 */
.l2v8-reading.l2v9-accordion{margin:22px 0 0;padding:0;display:grid;gap:10px}
.l2v8-reading.l2v9-accordion:before{display:none}
.l2v9-acc{border:1px solid #E3EBEB;border-radius:18px;background:#fff;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.l2v9-acc.open{border-color:#CFE1DF;background:#FBFDFD;box-shadow:0 8px 20px rgba(77,108,109,.055)}
.l2v9-acc-trigger{width:100%;border:0;background:transparent;padding:15px 14px;display:grid;grid-template-columns:34px 1fr 28px;gap:10px;align-items:center;text-align:left;color:inherit;cursor:pointer;touch-action:manipulation;font-family:inherit}
.l2v9-acc-ico{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#EFF7F6;font-size:16px}
.l2v9-acc:nth-child(2) .l2v9-acc-ico{background:#F5F7F3}
.l2v9-acc:nth-child(3) .l2v9-acc-ico{background:#F8F5EF}
.l2v9-acc-title{min-width:0}
.l2v9-acc-title b{display:block;font-size:13px;line-height:1.45;color:#3E484A;margin-bottom:4px}
.l2v9-acc-title small{display:block;font-size:10.5px;line-height:1.55;color:#8A9496;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.l2v9-acc-sign{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#F2F6F6;color:#6E8E8B;font-size:18px;font-weight:500;transition:transform .22s ease,background .22s ease}
.l2v9-acc.open .l2v9-acc-sign{transform:rotate(45deg);background:#E3F0EF}
.l2v9-acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.l2v9-acc.open .l2v9-acc-panel{grid-template-rows:1fr}
.l2v9-acc-panel-inner{overflow:hidden}
.l2v9-acc-panel-inner p{margin:0;padding:0 16px 17px 58px;font-size:13px;line-height:1.78;color:#5E696B;word-break:keep-all}

/* 공유 영역: 프레임을 걷어내고 에디토리얼 포스터처럼 */
.l2v8-share{margin-bottom:38px}
.l2v8-share-head h3{color:#374143}
.l2v8-share-head p{color:#838E90}
.l2v8-share-frame{padding:0;background:transparent;border-radius:0;box-shadow:none}
#viewFreeResult .l2v8-share-frame canvas#shareCanvas{border:0;border-radius:24px;background:#F6FAFA;box-shadow:0 12px 30px rgba(64,88,90,.07)}
#viewFreeResult .share-btns{margin-top:12px}
#viewFreeResult .share-btns button{border-color:#CADDDD;background:#fff;color:#557C79;box-shadow:none}
#viewFreeResult .share-btns button.fill{background:#6F9E9A;border-color:#6F9E9A;color:#fff}

/* 상세 리포트와 마지막 CTA도 밝은 톤으로 통일 */
.l2v8-report{background:#fff!important;border-color:#E4ECEC!important;box-shadow:0 9px 28px rgba(62,84,86,.045)!important}
.l2v8-lock-chip{background:#EFF7F6!important;color:#5E8380!important;border-color:#D8E8E6!important}
.l2v8-final{background:linear-gradient(140deg,#F4F9F9,#FFFFFF);border-top-color:#E0EAEA;border-bottom-color:#E0EAEA}
.l2v8-final-copy .tiny{color:#6E9996}
#viewFreeResult .l2v8-final .l2-cta{background:#6F9E9A!important;color:#fff!important;box-shadow:0 5px 14px rgba(111,158,154,.20)!important}
#viewFreeResult .again{border-color:#DCE6E6;color:#7E898B}

/* Layer3 */
#viewPaidPreview .card{border-color:#E5ECEC;box-shadow:0 9px 26px rgba(63,85,87,.045)}
.report-cta{background:#6F9E9A!important;color:#fff!important;box-shadow:0 4px 0 #568986!important}
.lock{background:#3F5152}

@media(max-width:390px){
  .l2v9-acc-trigger{padding:14px 12px;grid-template-columns:32px 1fr 26px;gap:9px}
  .l2v9-acc-ico{width:32px;height:32px}
  .l2v9-acc-panel-inner p{padding-left:53px;padding-right:13px}
}



/* ========================================================================
   v1.3 · GAP TYPE / QUICK CHECK / EVIDENCE FLOW
   기존 사주 계산 로직은 유지하고 입력·결과 정보 구조만 보강한다.
   ======================================================================== */
.l1-helper-btn{width:100%;margin-top:9px;padding:12px 14px;border:1.5px solid #DCE7E6;border-radius:13px;background:#F7FBFA;color:#537A77;font-family:'Nanum Gothic',sans-serif;font-size:13px;font-weight:800;cursor:pointer;text-align:center}
.l1-helper-copy{font-size:11.5px;line-height:1.6;color:#8A9495;text-align:center;margin-top:7px;word-break:keep-all}
.quickcheck{display:none;margin-top:12px;padding:15px 14px;background:#F8FBFB;border:1px solid #E2ECEB;border-radius:17px}
.quickcheck.open{display:block}
.quickcheck-head{margin-bottom:13px}.quickcheck-head b{display:block;font-size:13px;color:#3F4B4C;margin-bottom:4px}.quickcheck-head span{font-size:11px;line-height:1.55;color:#879193}
.quick-q{padding:13px 0;border-top:1px dashed #E1EAEA}.quick-q:first-of-type{border-top:0;padding-top:2px}.quick-q p{font-size:12.5px;font-weight:800;line-height:1.55;color:#485354;margin-bottom:9px;word-break:keep-all}
.quick-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.quick-options button{min-height:54px;border:1.5px solid #DFE8E8;border-radius:12px;background:#fff;color:#657072;font-family:inherit;font-size:11.5px;line-height:1.45;font-weight:700;padding:9px 8px;cursor:pointer;word-break:keep-all}
.quick-options button.on{background:#EAF4F3;border-color:#8FB4B1;color:#466F6C}
.quick-result{display:none;margin-top:12px;padding:11px 12px;border-radius:12px;background:#EAF4F3;color:#466F6C;font-size:12px;font-weight:800;text-align:center}.quick-result.show{display:block}
.l1-mini-section{margin-top:31px;padding-top:24px;border-top:1px solid #EEF2F2}.l1-mini-head{font-family:'Jua',sans-serif;font-size:19px;font-weight:400;color:#3E4748;margin-bottom:5px}.l1-mini-sub{font-size:11.5px;line-height:1.6;color:#8A9495;margin-bottom:18px}
.l1-choice-field{margin-bottom:21px}.l1-choice-field label{line-height:1.55}.l1-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.l1-choice-grid button{min-height:52px;padding:10px 8px;border:1.5px solid #DFE8E8;border-radius:13px;background:#fff;font-family:inherit;font-size:12px;line-height:1.4;font-weight:700;color:#667173;cursor:pointer}.l1-choice-grid button.on{background:#EAF4F3;border-color:#8FB4B1;color:#466F6C}

/* 결과: 결론 → 근거 → 해석 → 공유 */
.l2v8-hero .l2v8-cue{color:#7D898A}.l2v8-hero .l2v8-cue span{color:#6F9E9A}
.l2v8-gap-zone{margin-bottom:25px}.l2v8-type-line .gap-type-label{display:block;margin:7px 0 7px;font-size:9px;font-weight:800;letter-spacing:1.2px;color:#82908F}
.l2v8-type-line strong{font-size:18px!important}
.evidence-zone{margin-top:0;margin-bottom:30px;padding-bottom:18px}.evidence-zone .l2v8-zone-head{margin-bottom:16px}.evidence-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.evidence-mini{padding:13px 12px;border-radius:15px;background:#F7FAFA;border:1px solid #E5ECEC}.evidence-mini span{display:block;font-size:9px;font-weight:800;color:#929C9D;margin-bottom:5px}.evidence-mini strong{display:block;font-size:14px;line-height:1.4;color:#485354;word-break:keep-all}
.evidence-character{padding:14px 14px 13px;border-radius:16px;background:#EFF7F6;border:1px solid #DCEAE8;margin-bottom:13px}.evidence-character .type-card{margin:0!important;padding:0!important;background:transparent!important;color:#394647!important;text-align:left!important;box-shadow:none!important}.evidence-character .type-card .tt{font-size:9px!important;font-weight:800!important;letter-spacing:1px!important;color:#6B9693!important;opacity:1!important}.evidence-character .type-card .tn{font-family:'Jua',sans-serif!important;font-size:21px!important;font-weight:400!important;color:#394647!important;margin:6px 0 7px!important}.evidence-character .type-card .td{font-size:11.5px!important;line-height:1.7!important;color:#697476!important;opacity:1!important}
.evidence-details{border-top:1px dashed #E1EAEA;padding-top:13px}.evidence-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800;color:#627071;padding:8px 2px}.evidence-details summary::-webkit-details-marker{display:none}.evidence-details summary:after{content:'+';width:24px;height:24px;border-radius:50%;background:#F1F6F6;display:flex;align-items:center;justify-content:center;color:#668F8C;font-size:17px}.evidence-details[open] summary:after{content:'–'}.evidence-details .l2v8-data-section{padding-left:0;padding-right:0}
.l2v8-free-reading{margin:0 0 32px}.l2v8-free-reading .l2v8-gap-head{margin-bottom:15px}
.l2v8-free-reading .l2v8-reading.l2v9-accordion{margin-top:0}
.l2v8-share-head h3{font-size:23px}.l2v8-share-head p{max-width:340px;margin:0 auto}

/* 상세 리포트 상품 언어 통일 */
#viewPaidPreview .tagline{margin-bottom:20px}.report-outline{display:grid;gap:8px;margin:12px 0 4px}.report-outline div{padding:11px 12px;border-radius:12px;background:#F7FAFA;border:1px solid #E5ECEC;font-size:12px;line-height:1.6;color:#596466}.report-outline b{color:#3F4B4C}

@media(max-width:390px){
  .quick-options{grid-template-columns:1fr}.l1-choice-grid{gap:7px}.evidence-summary{grid-template-columns:1fr 1fr}.evidence-mini{padding:12px 10px}.evidence-mini strong{font-size:13px}
}



/* ========================================================================
   v1.4 · COPY / SOFT CLOUD BUBBLE / READING / SHARE POLISH
   레퍼런스의 구름형 말풍선을 직접 복제하지 않고, 파스텔 톤의 유기적 실루엣으로 재해석.
   ======================================================================== */
#viewFreeResult{font-family:'Nanum Gothic',sans-serif}
#viewFreeResult .l2v8-zone-head h2,#viewFreeResult .l2v8-gap-head h2,#viewFreeResult .l2v8-share-head h3,#viewFreeResult .l2v8-final-copy h3{font-family:'Nanum Gothic',sans-serif;font-weight:800;word-break:keep-all}
#viewFreeResult .l2v8-zone-head p,#viewFreeResult .l2v8-gap-head p,#viewFreeResult .l2v9-acc-panel-inner p,#viewFreeResult .l2v9-acc-title,#viewFreeResult .evidence-explain-body{font-family:'Nanum Gothic',sans-serif}

/* cloud bubble system */
.cc-cloud-bubble,.l2v8-bubble{position:relative;isolation:isolate;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible;color:#3D4647}
.cc-cloud-bubble:before,.l2v8-bubble:before{content:"";position:absolute;inset:-7px -10px;z-index:-2;background:#596668;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 170'%3E%3Cpath fill='black' d='M48 42C37 24 68 10 87 25C99 5 132 8 143 27C156 14 178 13 190 28C206 11 237 15 242 36C265 34 279 55 270 72C290 81 288 106 269 114C281 134 260 151 240 145C232 164 204 165 191 148C176 162 151 160 141 144C128 160 102 156 94 140C76 153 52 143 54 122C31 123 19 101 33 84C17 69 28 48 48 42Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 170'%3E%3Cpath fill='black' d='M48 42C37 24 68 10 87 25C99 5 132 8 143 27C156 14 178 13 190 28C206 11 237 15 242 36C265 34 279 55 270 72C290 81 288 106 269 114C281 134 260 151 240 145C232 164 204 165 191 148C176 162 151 160 141 144C128 160 102 156 94 140C76 153 52 143 54 122C31 123 19 101 33 84C17 69 28 48 48 42Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;filter:drop-shadow(0 6px 10px rgba(55,79,81,.09))}
.cc-cloud-bubble:after,.l2v8-bubble:after{content:"";position:absolute;inset:-4px -7px;z-index:-1;background:var(--bubble-bg,#EAF6F3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 170'%3E%3Cpath fill='black' d='M48 42C37 24 68 10 87 25C99 5 132 8 143 27C156 14 178 13 190 28C206 11 237 15 242 36C265 34 279 55 270 72C290 81 288 106 269 114C281 134 260 151 240 145C232 164 204 165 191 148C176 162 151 160 141 144C128 160 102 156 94 140C76 153 52 143 54 122C31 123 19 101 33 84C17 69 28 48 48 42Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 170'%3E%3Cpath fill='black' d='M48 42C37 24 68 10 87 25C99 5 132 8 143 27C156 14 178 13 190 28C206 11 237 15 242 36C265 34 279 55 270 72C290 81 288 106 269 114C281 134 260 151 240 145C232 164 204 165 191 148C176 162 151 160 141 144C128 160 102 156 94 140C76 153 52 143 54 122C31 123 19 101 33 84C17 69 28 48 48 42Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.cc-cloud-mint{--bubble-bg:#EAF6F3}.cc-cloud-peach{--bubble-bg:#FFF1E7}.cc-cloud-lilac{--bubble-bg:#F3EEFB}
.l2v8-bubble{--bubble-bg:#EAF6F3;padding:19px 24px 18px!important;min-width:150px;text-align:center;font-family:'Jua',sans-serif!important;font-size:34px!important;font-weight:700!important;line-height:.95!important;letter-spacing:-.3px!important;margin-bottom:16px!important}
.l2v8-bubble:before,.l2v8-bubble:after{left:-12px;right:-12px;top:-10px;bottom:-10px;border:0!important;transform:none!important}
.l2v8-punch-speech{--bubble-bg:#FFF1E7;padding:27px 28px 25px!important;min-height:118px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Jua',sans-serif!important;font-size:27px!important;font-weight:700!important;line-height:1.06!important;letter-spacing:-.15px!important}
.l2v8-punch-speech span{position:relative;z-index:2}

/* clearer semantic wraps */
#viewFreeResult h2,#viewFreeResult h3,#viewFreeResult .l2v8-opener,#viewFreeResult .l2v8-type-line p,#viewFreeResult .l2v8-persona em,#viewFreeResult .evidence-mini strong{word-break:keep-all;overflow-wrap:normal}
#coreNatalSub{display:block;word-break:keep-all;line-height:1.55}

/* punch: born character + verdict */
.l2v8-punch{background:linear-gradient(180deg,#F8FBFA 0%,#F3F8F7 100%)!important}
.l2v8-punch-inner{align-items:center!important;grid-template-columns:35% 1fr!important;gap:16px!important}
.punch-character{margin:0 3px 20px;padding:0}
.punch-character .tt{display:none}
.punch-character .tn{font-family:'Jua',sans-serif!important;font-size:30px!important;line-height:1!important;color:#415051!important;margin:0 0 7px!important;word-break:keep-all}
.punch-character .td{font-family:'Nanum Gothic',sans-serif!important;font-size:12px!important;line-height:1.65!important;color:#6C7778!important;word-break:keep-all}
.l2v8-punch-copy .eyebrow{display:none!important}

/* evidence */
.evidence-zone{padding-bottom:20px!important}
.evidence-zone .l2v8-zone-head p{max-width:350px;line-height:1.75!important}
.evidence-summary{margin-bottom:10px!important}
.evidence-mini{background:#FAFCFB!important;border-color:#E5ECEC!important}
.evidence-mini span{font-size:10px!important;color:#7D898A!important;letter-spacing:0!important}
.evidence-mini strong{font-size:14px!important;line-height:1.55!important}
.evidence-explain-grid{display:grid;gap:9px;margin:10px 0 16px}
.evidence-explain{padding:15px 15px 14px;border-radius:17px;background:#F7FAFA;border:1px solid #E5ECEC}
.evidence-explain.element-note{background:#FFF8EF;border-color:#F0E4D4}
.evidence-explain-title{font-size:12px;font-weight:800;color:#445052;margin-bottom:8px}
.evidence-explain-body{font-size:12.5px;line-height:1.78;color:#626D6E;word-break:keep-all}
.evidence-explain-body b{color:#455759}
.evidence-explain-body .mini-line{display:block;margin-top:5px}
.evidence-details{margin-top:4px!important}

/* result reading */
.l2v8-free-reading .l2v8-gap-head{text-align:left!important;padding:0 4px;margin-bottom:17px!important}
.l2v8-free-reading .l2v8-gap-head h2{font-size:23px!important;margin:0 0 7px!important}
.l2v8-free-reading .l2v8-gap-head p{font-size:12px!important;line-height:1.72!important;color:#818C8D!important}
.l2v8-free-reading .kicker{display:none!important}
.l2v9-acc{border-radius:20px!important}
.l2v9-acc-trigger{grid-template-columns:36px 1fr 28px!important;padding:15px 14px!important}
.l2v9-acc-ico{background:#F0F7F6!important;border-radius:12px!important}
.l2v9-acc:nth-child(2) .l2v9-acc-ico{background:#F7F1FB!important}
.l2v9-acc:nth-child(3) .l2v9-acc-ico{background:#FFF5EA!important}
.l2v9-acc:nth-child(4) .l2v9-acc-ico{background:#F2F6ED!important}
.l2v9-acc-title b{font-size:13.5px!important}
.l2v9-acc-title small{font-size:10.5px!important}
.l2v9-acc-panel-inner p{font-size:13px!important;line-height:1.82!important;color:#596567!important}

/* sharing is a social identity card, not a report */
.l2v8-share{margin-top:5px!important;margin-bottom:38px!important}
.l2v8-share-head{text-align:left!important;padding:0 4px!important;margin-bottom:15px!important}
.l2v8-share-head h3{font-size:23px!important;margin-bottom:7px!important;color:#394647!important}
.l2v8-share-head p{margin:0!important;max-width:none!important;font-size:12px!important;line-height:1.72!important;color:#7D898A!important}
#viewFreeResult .l2v8-share-frame canvas#shareCanvas{border-radius:26px!important;box-shadow:0 14px 35px rgba(69,91,92,.10)!important}
#viewFreeResult .share-btns button{font-family:'Nanum Gothic',sans-serif!important;font-weight:800!important}

/* layer2 no duplicate blur report */
#viewFreeResult .l2v8-report{display:none!important}
.l2v8-final{margin-top:8px!important;background:linear-gradient(140deg,#F1F8F7,#FBF7F1)!important}
.l2v8-final-copy .tiny{display:none!important}
.l2v8-final-copy h3{font-size:19px!important;margin-bottom:7px!important}
.l2v8-final-copy p{font-family:'Nanum Gothic',sans-serif!important;font-size:11px!important;line-height:1.72!important}

@media(max-width:390px){
  .l2v8-bubble{font-size:31px!important;padding:18px 20px!important}
  .l2v8-punch-inner{grid-template-columns:33% 1fr!important;gap:12px!important}
  .punch-character .tn{font-size:27px!important}
  .l2v8-punch-speech{font-size:25px!important;padding:24px 22px!important;min-height:108px}
  .evidence-explain{padding:14px 13px}
  .l2v9-acc-trigger{grid-template-columns:34px 1fr 26px!important;gap:9px!important;padding:14px 12px!important}
}


/* v1.4.1 cloud bubble rendering fix: single SVG layer keeps pastel fill + outline stable */
.l2v8-bubble:before,.l2v8-bubble:after,.l2v8-punch-speech:before,.l2v8-punch-speech:after{display:none!important;content:none!important}
.l2v8-bubble{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20300%20170'%3E%3Cpath%20d%3D'M48%2042C37%2024%2068%2010%2087%2025C99%205%20132%208%20143%2027C156%2014%20178%2013%20190%2028C206%2011%20237%2015%20242%2036C265%2034%20279%2055%20270%2072C290%2081%20288%20106%20269%20114C281%20134%20260%20151%20240%20145C232%20164%20204%20165%20191%20148C176%20162%20151%20160%20141%20144C128%20160%20102%20156%2094%20140C76%20153%2052%20143%2054%20122C31%20123%2019%20101%2033%2084C17%2069%2028%2048%2048%2042Z'%20fill%3D'%23EAF6F3'%20stroke%3D'%23596668'%20stroke-width%3D'2.4'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:100% 100%!important;filter:drop-shadow(0 7px 9px rgba(55,79,81,.08));}
.l2v8-punch-speech{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20300%20170'%3E%3Cpath%20d%3D'M48%2042C37%2024%2068%2010%2087%2025C99%205%20132%208%20143%2027C156%2014%20178%2013%20190%2028C206%2011%20237%2015%20242%2036C265%2034%20279%2055%20270%2072C290%2081%20288%20106%20269%20114C281%20134%20260%20151%20240%20145C232%20164%20204%20165%20191%20148C176%20162%20151%20160%20141%20144C128%20160%20102%20156%2094%20140C76%20153%2052%20143%2054%20122C31%20123%2019%20101%2033%2084C17%2069%2028%2048%2048%2042Z'%20fill%3D'%23FFF1E7'%20stroke%3D'%23596668'%20stroke-width%3D'2.4'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:100% 100%!important;filter:drop-shadow(0 7px 9px rgba(89,72,61,.07));}


/* ========================================================================
   v1.5 · TYPOGRAPHY / GAP DOT SCALE / FIVE ELEMENTS / CHEMISTRY / SHARE
   ======================================================================== */
:root{
  --font-display:'Jua',sans-serif;
  --font-reading:'Nanum Gothic',sans-serif;
  --v15-ink:#303638;
  --v15-muted:#7D898A;
  --v15-mint:#F1F8F7;
  --v15-cream:#FFF9F0;
  --v15-line:#DCE8E7;
  --v15-bubble-line:#A9C3C1;
}
html,body,.app,#viewInput,#viewFreeResult,#viewPaidPreview,
input,select,label,button,.tagline,.report-open,.report-sub,.foot{
  font-family:var(--font-reading)!important;
}
.logo,.l1-head,.l1-mini-head,.quickcheck-head b,
.l2v8-gap-head h2,.l2v8-zone-head h2,.l2v8-subtitle,
.l2v8-type-line strong,.punch-character .tn,.l2v8-punch-speech,
.l2v8-bubble,.l2v8-free-reading .l2v8-gap-head h2,
.l2v9-acc-title b,.l2v8-share-head h3,.l2v8-final-copy h3,
.chemistry-head h2,.chemistry-card b,.report-title{
  font-family:var(--font-display)!important;
}
#viewFreeResult .l2v8-brandbar{display:none!important}
#viewFreeResult .l2v8-gap-head .kicker,.gap-type-label{display:none!important}

/* More generous cloud bubbles, limited to the service palette */
.l2v8-hero-main{grid-template-columns:36% 1fr!important;gap:12px!important}
.l2v8-bubble{
  width:100%!important;min-width:0!important;min-height:108px!important;
  padding:29px 34px!important;font-size:35px!important;line-height:1.05!important;
  color:#394647!important;word-break:keep-all!important;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20300%20170'%3E%3Cpath%20d%3D'M48%2042C37%2024%2068%2010%2087%2025C99%205%20132%208%20143%2027C156%2014%20178%2013%20190%2028C206%2011%20237%2015%20242%2036C265%2034%20279%2055%20270%2072C290%2081%20288%20106%20269%20114C281%20134%20260%20151%20240%20145C232%20164%20204%20165%20191%20148C176%20162%20151%20160%20141%20144C128%20160%20102%20156%2094%20140C76%20153%2052%20143%2054%20122C31%20123%2019%20101%2033%2084C17%2069%2028%2048%2048%2042Z'%20fill%3D'%23F1F8F7'%20stroke%3D'%23A9C3C1'%20stroke-width%3D'2.2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E")!important;
  filter:drop-shadow(0 7px 10px rgba(76,104,104,.055))!important;
}
.l2v8-punch-inner{grid-template-columns:31% 1fr!important;gap:16px!important;align-items:center!important}
.l2v8-punch-speech{
  width:100%!important;min-height:148px!important;padding:35px 40px!important;
  font-size:29px!important;line-height:1.12!important;color:#394647!important;
  word-break:keep-all!important;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20300%20170'%3E%3Cpath%20d%3D'M48%2042C37%2024%2068%2010%2087%2025C99%205%20132%208%20143%2027C156%2014%20178%2013%20190%2028C206%2011%20237%2015%20242%2036C265%2034%20279%2055%20270%2072C290%2081%20288%20106%20269%20114C281%20134%20260%20151%20240%20145C232%20164%20204%20165%20191%20148C176%20162%20151%20160%20141%20144C128%20160%20102%20156%2094%20140C76%20153%2052%20143%2054%20122C31%20123%2019%20101%2033%2084C17%2069%2028%2048%2048%2042Z'%20fill%3D'%23FFF9F0'%20stroke%3D'%23B9C8BF'%20stroke-width%3D'2.2'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E")!important;
  filter:drop-shadow(0 7px 10px rgba(93,80,68,.045))!important;
}
.punch-character .td{font-size:12.5px!important;line-height:1.78!important;color:#626F70!important}

/* GAP result: two personas + meaningful dot scale */
.l2v8-dashboard{
  grid-template-columns:1fr 1fr!important;gap:10px!important;padding:15px 12px!important;
}
.l2v8-persona{padding:4px 2px}
.l2v8-persona strong{font-size:25px!important}
.gap-scale-wrap{margin:12px 8px 18px;padding:15px 8px 10px}
.gap-scale-label{text-align:center;font-size:10.5px;font-weight:700;color:#8A9596;margin-bottom:11px}
.gap-scale-row{display:grid;grid-template-columns:minmax(72px,1fr) auto minmax(72px,1fr);align-items:center;gap:11px}
.gap-scale-end{font-size:9.5px;line-height:1.35;font-weight:700;color:#899394;word-break:keep-all}
.gap-scale-end:first-child{text-align:right}.gap-scale-end:last-child{text-align:left}
.gap-dots{display:flex;align-items:center;justify-content:center;gap:8px}
.gap-dot{width:17px;height:17px;border-radius:50%;background:#EDF1F1;border:1.5px solid #D6E0E0;display:block;flex:0 0 17px}
.gap-dot.on{background:#303638;border-color:#303638}
.l2v8-type-line{padding-top:4px!important}
.l2v8-type-line strong{font-size:25px!important;padding:7px 16px!important}
.l2v8-type-line p{max-width:330px;margin:9px auto 0!important;word-break:keep-all}

/* Evidence and five elements */
.evidence-mini strong{display:flex!important;align-items:center;gap:7px;flex-wrap:wrap}
.element-summary-item{display:inline-flex;align-items:center;gap:7px}
.element-summary-item>small{font-size:9px;color:#8A9495;font-weight:700}
.element-summary-divider{display:inline-block;width:1px;height:28px;background:#E0E8E8;margin:0 3px}
.element-orb{display:inline-flex;width:38px;height:38px;border-radius:50%;align-items:center;justify-content:center;flex-direction:column;font-weight:800;font-size:14px;line-height:1;color:#3E494A;border:1px solid rgba(60,75,75,.08)}
.element-orb small{font-size:8px;font-weight:700;opacity:.62;margin-top:2px}
.elc-목{background:#DDEEDC;color:#3E6845}.elc-화{background:#F8DDD6;color:#9D5146}.elc-토{background:#F1E5C9;color:#80683A}.elc-금{background:#E9EAEC;color:#62666C}.elc-수{background:#DCEAF4;color:#456A87}
.metric-word{font-size:10px;color:#849091;font-weight:700}
.hanja-sub{font-family:var(--font-reading)!important;font-size:.72em!important;font-weight:700!important;color:#9AA3A4!important;margin-left:4px}
.evidence-explain-body b{display:block;margin-bottom:4px}
.element-spot-row{display:grid;grid-template-columns:auto 40px 1fr;align-items:center;column-gap:9px;row-gap:5px;padding:5px 0}
.element-spot-row+.element-spot-row{border-top:1px dashed #E2E8E8;margin-top:8px;padding-top:12px}
.element-spot-label{font-size:9.5px;font-weight:800;color:#849091;white-space:nowrap}
.element-spot-row p{grid-column:1 / -1;margin:0;font-size:12px;line-height:1.7;color:#606C6D}
.bar-row .nm{width:44px!important}
.bar-row .element-orb{width:34px;height:34px;font-size:13px}
.bar-row .element-orb small{font-size:7px}

/* Chemistry */
.chemistry-section{margin:2px 0 34px;padding:0 4px}
.chemistry-head{margin-bottom:13px}
.chemistry-head h2{font-size:24px;font-weight:700;line-height:1.1;color:#3D494A;margin-bottom:7px}
.chemistry-head p{font-size:11.5px;line-height:1.7;color:#818C8D;word-break:keep-all}
.chemistry-cards{display:grid;gap:9px}
.chemistry-card{display:grid;grid-template-columns:12px 1fr;gap:11px;align-items:start;padding:14px 15px;background:#F8FBFA;border:1px solid #E2EBEA;border-radius:17px}
.chemistry-dot{width:10px;height:10px;border-radius:50%;margin-top:5px}
.chemistry-card b{display:block;font-size:20px;line-height:1;color:#425052;margin-bottom:5px}
.chemistry-card p{font-family:var(--font-reading)!important;font-size:11.5px;line-height:1.65;color:#6B7778;margin:0;word-break:keep-all}
.chemistry-nudge{text-align:center;margin-top:10px;font-size:10.5px;color:#8A9495}

/* Share area */
.l2v8-share-head p{word-break:keep-all}
#viewFreeResult .l2v8-share-frame canvas#shareCanvas{background:#FBFCFA}

/* Layer3 uses the same two-font system */
#viewPaidPreview .logo,#viewPaidPreview .report-title,#viewPaidPreview .report-cta{font-family:var(--font-display)!important}
#viewPaidPreview .tagline,#viewPaidPreview .report-sub,#viewPaidPreview .report-open,#viewPaidPreview .blur-content{font-family:var(--font-reading)!important}

/* Keep Korean titles from stranding a single word */
#viewFreeResult h2,#viewFreeResult h3,#viewFreeResult .l2v8-bubble,
#viewFreeResult .l2v8-punch-speech,#viewFreeResult .punch-character .tn,
#viewFreeResult .l2v9-acc-title b{word-break:keep-all;overflow-wrap:normal}

@media(max-width:390px){
  .l2v8-hero-main{grid-template-columns:33% 1fr!important;gap:9px!important}
  .l2v8-bubble{min-height:102px!important;padding:27px 29px!important;font-size:32px!important}
  .l2v8-punch-inner{grid-template-columns:29% 1fr!important;gap:11px!important}
  .l2v8-punch-speech{min-height:142px!important;padding:32px 34px!important;font-size:27px!important}
  .gap-scale-row{grid-template-columns:68px auto 68px;gap:8px}
  .gap-scale-end{font-size:8.5px}
  .gap-dot{width:15px;height:15px;flex-basis:15px}
  .gap-dots{gap:7px}
  .element-summary-item>small{display:none}
}
@media(max-width:350px){
  .l2v8-bubble{font-size:29px!important;padding:25px 26px!important}
  .l2v8-punch-speech{font-size:25px!important;padding:29px 30px!important}
  .gap-scale-row{grid-template-columns:62px auto 62px;gap:6px}
  .gap-scale-end{font-size:8px}
}



/* ========================================================================
   v1.6 · READABILITY / CHARACTER CARD / EVIDENCE / RICH GAP READING
   ======================================================================== */
:root{
  --font-display:'Jua',sans-serif;
  --font-reading:'Nanum Gothic',sans-serif;
  --v16-ink:#30383A;
  --v16-muted:#707B7C;
  --v16-line:#DFE9E7;
  --v16-card:#FFFDFC;
}
html,body,.app,#viewInput,#viewFreeResult,#viewPaidPreview,
input,select,label,button,.tagline,.report-open,.report-sub,.foot{
  font-family:var(--font-reading)!important;
}
.logo,.l1-head,.l1-mini-head,.quickcheck-head b,
.l2v8-gap-head h2,.l2v8-zone-head h2,.l2v8-subtitle,
.l2v8-type-line strong,.punch-character .tn,.l2v8-punch-speech,
.l2v8-bubble,.l2v8-free-reading .l2v8-gap-head h2,
.l2v9-acc-title b,.l2v8-share-head h3,.l2v8-final-copy h3,
.chemistry-head h2,.chemistry-card b,.report-title,
.v16-evidence-card h3{
  font-family:var(--font-display)!important;
}

/* Global readable type scale */
#viewInput .l1-head{font-size:30px!important;line-height:1.35!important}
#viewInput .l1-sub{font-size:15px!important;line-height:1.75!important}
#viewInput .l1-mini-head{font-size:22px!important;line-height:1.35!important;margin-bottom:8px!important}
#viewInput .l1-mini-sub{font-size:14px!important;line-height:1.7!important;margin-bottom:20px!important}
#viewInput label{font-size:15px!important;line-height:1.5!important;margin-bottom:10px!important}
#viewInput .l1-hint{font-size:13.5px!important}
#viewInput .l1-helper-btn{font-size:15px!important}
#viewInput .l1-helper-copy{font-size:14px!important;line-height:1.65!important}
.quickcheck{padding:18px 16px!important}
.quickcheck-head b{font-size:19px!important;line-height:1.35!important}
.quickcheck-head span{font-size:14px!important;line-height:1.65!important}
.quick-q p{font-size:15px!important;line-height:1.65!important}
.quick-options button{font-size:14px!important;line-height:1.5!important;min-height:48px}
.l1-choice-grid button{font-size:14px!important;min-height:48px;line-height:1.45!important}

/* Result headings and body */
#viewFreeResult .l2v8-gap-head h2{font-size:25px!important;line-height:1.35!important}
#viewFreeResult .l2v8-gap-head p{font-size:14px!important;line-height:1.7!important}
#viewFreeResult .l2v8-opener{font-size:15px!important;line-height:1.75!important}
#viewFreeResult .l2v8-persona span{font-size:13px!important}
#viewFreeResult .l2v8-persona strong{font-size:27px!important;line-height:1.2!important}
#viewFreeResult .l2v8-persona em{font-size:13px!important;line-height:1.55!important;margin-top:7px!important}
#viewFreeResult .l2v8-type-line strong{
  background:transparent!important;border:0!important;padding:0!important;
  font-size:30px!important;line-height:1.25!important;color:#374445!important;
}
#viewFreeResult .l2v8-type-line p{
  font-size:15px!important;line-height:1.75!important;max-width:360px!important;
  color:#606C6D!important;margin-top:12px!important;word-break:keep-all!important;
}
.gap-scale-label{font-size:13px!important;margin-bottom:12px!important}
.gap-scale-end{font-size:12.5px!important;line-height:1.35!important}
.gap-dot{width:18px!important;height:18px!important;flex-basis:18px!important}

/* Character result becomes a clear vertical reading block */
.l2v8-punch{padding:28px 18px 32px!important;margin-bottom:42px!important}
.l2v8-punch-inner{display:block!important;max-width:430px!important}
.v16-character-hero{
  display:grid;grid-template-columns:118px 1fr;gap:18px;align-items:center;
  padding:0 4px 18px;
}
.v16-character-hero .l2v8-punch-img{width:118px!important;max-height:160px!important;object-fit:contain}
#typeCard.punch-character{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;text-align:left!important}
#typeCard .tn{font-size:25px!important;line-height:1.35!important;color:#354244!important;margin:0 0 9px!important;word-break:keep-all!important}
#typeCard .td{font-family:var(--font-reading)!important;font-size:15.5px!important;line-height:1.8!important;color:#566365!important;margin:0!important;word-break:keep-all!important}
.l2v8-punch-speech{
  max-width:100%!important;min-height:0!important;margin-top:8px!important;
  padding:34px 42px!important;font-size:27px!important;line-height:1.3!important;text-align:center!important;
}

/* Evidence intro is outside cards visually */
.evidence-zone{
  background:transparent!important;border:0!important;box-shadow:none!important;
  padding:0!important;border-radius:0!important;margin-bottom:42px!important;
}
.evidence-zone>.l2v8-zone-head{padding:0 4px!important;margin:0 0 18px!important}
.evidence-zone>.l2v8-zone-head h2{font-size:25px!important;line-height:1.35!important;margin-bottom:8px!important}
.evidence-zone>.l2v8-zone-head p{font-size:14.5px!important;line-height:1.7!important;color:#687475!important}
.evidence-details,.v16-evidence-card{
  background:var(--v16-card)!important;border:1px solid var(--v16-line)!important;
  border-radius:20px!important;box-shadow:0 7px 22px rgba(55,75,74,.045)!important;
  margin:0 0 14px!important;padding:18px!important;
}
.evidence-details>summary{font-size:16px!important;line-height:1.45!important}
.v16-evidence-card h3{font-size:21px;line-height:1.35;color:#3B4849;margin:0 0 7px;word-break:keep-all}
.v16-card-lead{font-size:14px;line-height:1.7;color:#758081;margin:0 0 16px;word-break:keep-all}
.v16-element-orbs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:3px 0 15px}
.v16-element-orbs .element-summary-item{
  flex:1;min-width:135px;display:grid!important;grid-template-columns:46px 1fr;grid-template-rows:auto auto;
  align-items:center;column-gap:9px;padding:12px;background:#F7FAF9;border-radius:16px;border:1px solid #E7EFEE;
}
.v16-element-orbs .element-summary-item>small{grid-column:2;font-size:12px!important;margin:0 0 2px}
.v16-element-orbs .element-summary-item>.element-orb{grid-row:1 / 3;grid-column:1;width:42px;height:42px;font-size:15px}
.v16-element-orbs .element-summary-divider{display:none!important}
.v16-element-spotlight .element-spot-row{grid-template-columns:auto 44px 1fr!important;padding:10px 0!important}
.v16-element-spotlight .element-spot-label{font-size:13px!important}
.v16-element-spotlight .element-spot-row p{font-size:14.5px!important;line-height:1.75!important;margin-top:4px!important;color:#5E6A6B!important}
.v16-origin-notes{font-family:var(--font-reading)!important;font-size:15px!important;line-height:1.78!important;color:#566365!important}
.v16-origin-notes b{font-family:var(--font-display)!important;font-size:20px!important;line-height:1.4!important;color:#3B4849!important;margin-bottom:8px!important}
.v16-origin-notes .mini-line{display:block;margin-top:7px;word-break:keep-all}
.hanja-sub{font-size:.68em!important}
#viewFreeResult .l2v8-subtitle{font-size:17px!important}
#viewFreeResult .l2v8-submeta{font-size:12px!important}
#viewFreeResult table.pillars th{font-size:13px!important}
#viewFreeResult .gz .kor{font-size:12px!important}
#viewFreeResult .gz .ten{font-size:11.5px!important}
#viewFreeResult .bar-row{font-size:13.5px!important}
#viewFreeResult #elComment{font-size:14px!important;line-height:1.75!important}
#viewFreeResult .badge{font-size:14px!important;line-height:1.55!important}
#viewFreeResult .badge small{font-size:13px!important;line-height:1.65!important}

/* Richer GAP reading */
.l2v8-free-reading{margin-bottom:40px!important}
.l2v9-acc-trigger{padding:16px!important;gap:12px!important}
.l2v9-acc-ico{font-size:20px!important}
.l2v9-acc-title b{font-size:19px!important;line-height:1.35!important}
.l2v9-acc-title small{font-family:var(--font-reading)!important;font-size:13.5px!important;line-height:1.6!important;margin-top:5px!important}
.l2v9-acc-panel-inner{padding:2px 18px 20px 50px!important}
.l2v9-acc-panel-inner p{font-family:var(--font-reading)!important;font-size:15.5px!important;line-height:1.82!important;color:#566365!important;white-space:pre-line;word-break:keep-all}

/* Chemistry + sharing + final CTA readable */
.chemistry-head h2{font-size:24px!important;line-height:1.35!important}
.chemistry-head p{font-size:14px!important;line-height:1.7!important}
.chemistry-card{padding:16px!important}
.chemistry-card b{font-size:19px!important;line-height:1.35!important}
.chemistry-card p{font-size:14px!important;line-height:1.7!important}
.chemistry-nudge{font-size:13px!important}
.l2v8-share-head h3{font-size:24px!important;line-height:1.35!important;margin-bottom:14px!important}
.share-btns button{font-size:14px!important;min-height:48px}
.l2v8-final-copy h3{font-size:23px!important;line-height:1.35!important}
.l2v8-final-copy p{font-size:14.5px!important;line-height:1.72!important}
.again{font-size:14px!important;min-height:46px}

/* Layer3 readability */
#viewPaidPreview .logo{font-size:28px!important}
#viewPaidPreview .tagline{font-size:14px!important}
#viewPaidPreview .report-title{font-size:23px!important;line-height:1.35!important}
#viewPaidPreview .report-sub{font-size:14px!important;line-height:1.7!important}
#viewPaidPreview .report-open,#viewPaidPreview .blur-content p{font-size:15.5px!important;line-height:1.8!important}
#viewPaidPreview .lock-divider{font-size:14px!important}
#viewPaidPreview .report-cta{font-size:16px!important}

/* Section breathing room */
#viewFreeResult>.l2v8-gap-zone{margin-bottom:40px!important}
#viewFreeResult>.l2v8-punch{margin-bottom:42px!important}
#viewFreeResult>.evidence-zone{margin-bottom:42px!important}
#viewFreeResult>.l2v8-free-reading{margin-bottom:40px!important}
#viewFreeResult>.chemistry-section{margin-bottom:40px!important}
#viewFreeResult>.l2v8-share{margin-bottom:38px!important}

@media(max-width:390px){
  #viewInput .l1-head{font-size:28px!important}
  #viewInput .l1-mini-head{font-size:21px!important}
  #viewFreeResult .l2v8-type-line strong{font-size:28px!important}
  .v16-character-hero{grid-template-columns:100px 1fr;gap:14px}
  .v16-character-hero .l2v8-punch-img{width:100px!important}
  #typeCard .tn{font-size:23px!important}
  #typeCard .td{font-size:15px!important}
  .l2v8-punch-speech{padding:31px 32px!important;font-size:25px!important}
  .gap-scale-row{grid-template-columns:66px auto 66px!important;gap:7px!important}
  .gap-scale-end{font-size:12px!important}
  .gap-dots{gap:7px!important}
  .gap-dot{width:17px!important;height:17px!important;flex-basis:17px!important}
  .v16-element-orbs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .v16-element-orbs .element-summary-item{min-width:0;padding:10px}
  .l2v9-acc-panel-inner{padding-left:18px!important}
}
@media(max-width:350px){
  .v16-character-hero{grid-template-columns:88px 1fr;gap:12px}
  .v16-character-hero .l2v8-punch-img{width:88px!important}
  #typeCard .tn{font-size:21px!important}
  #typeCard .td{font-size:14.5px!important;line-height:1.75!important}
  .l2v8-punch-speech{padding:28px 27px!important;font-size:23px!important}
  .gap-scale-row{grid-template-columns:58px auto 58px!important;gap:5px!important}
  .gap-scale-end{font-size:11.5px!important}
  .gap-dots{gap:6px!important}
  .gap-dot{width:16px!important;height:16px!important;flex-basis:16px!important}
}

/* Form semantics are reset so fieldset/legend keeps the existing visual layout. */
#viewInput .l1-fieldset{
  min-width:0;
  margin-left:0;
  margin-right:0;
  padding:0;
  border:0;
}
#viewInput .l1-fieldset>legend{
  float:none;
  display:block;
  width:100%;
  margin:0 2px 10px;
  padding:0;
  color:#4A4540;
  font-family:'Nanum Gothic',sans-serif;
  font-size:15px;
  font-weight:800;
  line-height:1.58;
  word-break:keep-all;
  text-wrap:balance;
}

/* Intrinsic dimensions reserve space; CSS keeps the existing rendered ratios. */
#viewFreeResult .l2v8-hero-char,
#viewFreeResult .l2v8-punch-img,
#viewFreeResult .l2v8-final-photo{
  height:auto;
}

@media(max-width:430px){#viewFreeResult>.l2v8-punch,#viewFreeResult>.l2v8-final{margin-left:-14px;margin-right:-14px}}
