/* Sentinel — 디자인 시스템 v1 (2026-09-19). 체크리스트 10_웹앱_디자인_체크리스트_v1 기준.
   글씨: 본문 18px(rem 기준) · 최소 16px · 대비 7:1 이상 · 버튼 높이 52px 이상 · 한 화면 한 가지. */
@font-face{font-family:"Inter";src:url("../fonts/Inter-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url("../fonts/Lora-var.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/CormorantGaramond-var.woff2") format("woff2");font-weight:500 700;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url("../fonts/Lora-italic-var.woff2") format("woff2");font-weight:400 700;font-style:italic;font-display:swap}

:root{
  --ivory:#FAF6EE; --paper:#FFFFFF; --ink:#101828; --ink2:#2B3448; --muted:#414B62;
  --navy:#0B1B3A; --navy2:#14295A; --navy3:#22407F;
  --gold:#C9A04A; --gold2:#E6C77E; --goldDeep:#5A3E05; --goldSoft:#F5ECD3;
  --line:#E4DAC4; --line2:#EFE8D8;
  --ok:#0F4F30; --okBg:#E3F1E8; --warn:#5E3A00; --warnBg:#FAEFD3; --risk:#82132A; --riskBg:#FBE6E9; --info:#1B4690; --infoBg:#E3ECF9;
  --r:22px; --r2:16px; --shadow:0 1px 2px rgba(11,27,58,.06),0 10px 30px rgba(11,27,58,.09);
  --serif:"Lora","Iowan Old Style","Palatino Linotype",Georgia,"Noto Serif","Noto Serif KR","Noto Serif Thai",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI","Noto Sans","Malgun Gothic","Apple SD Gothic Neo","Noto Sans KR","Leelawadee UI","Noto Sans Thai",sans-serif;
  --topH:64px; --navH:92px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{font-size:18px;-webkit-text-size-adjust:100%}
html[data-fs="2"]{font-size:20px} html[data-fs="3"]{font-size:22px}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.6;overflow:hidden}
:where(h1,h2,h3,p){margin:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hide-ko .ko,.ko{display:none}
body.show-ko .ko{display:inline;color:var(--goldDeep);font-size:.9rem}
body.show-ko div.ko,body.show-ko p.ko{display:block}

/* ── 틀 ── */
.app{height:100dvh;display:flex;flex-direction:column;position:relative;max-width:1180px;margin:0 auto}
.top{height:var(--topH);flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 max(14px,env(safe-area-inset-left)) 0 max(14px,env(safe-area-inset-right));position:relative;z-index:5}
.brand{font-family:var(--serif);font-weight:600;font-size:1.35rem;letter-spacing:.2px;color:var(--navy);display:flex;align-items:center;gap:10px;background:none;border:0;padding:6px;cursor:pointer;min-height:48px}
.brand svg{flex:none}
.tools{display:flex;gap:6px;align-items:center}
.ibtn{width:48px;height:48px;border-radius:50%;border:0;background:transparent;color:var(--navy);display:grid;place-items:center;cursor:pointer;position:relative;transition:background .2s,transform .12s}
.ibtn:hover{background:rgba(11,27,58,.07)} .ibtn:active{transform:scale(.94)}
.ibtn[aria-pressed="false"] .on,.ibtn[aria-pressed="true"] .off{display:none}
.ibtn.sound[aria-pressed="true"]{background:var(--goldSoft)}
.pbar{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--line2)}
.pbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width .5s cubic-bezier(.2,.8,.2,1);border-radius:0 4px 4px 0}
.tag-example{font-size:.9rem;font-weight:600;color:var(--goldDeep);background:var(--goldSoft);border-radius:999px;padding:4px 12px;margin-left:8px}
.tipbubble{position:absolute;right:10px;top:calc(var(--topH) - 4px);z-index:9;max-width:min(320px,86vw);background:var(--navy);color:#fff;border-radius:16px;padding:14px 16px;box-shadow:var(--shadow);font-size:1rem;line-height:1.5;animation:pop .4s cubic-bezier(.2,.9,.3,1.2)}
.tipbubble::before{content:"";position:absolute;top:-8px;right:74px;border:8px solid transparent;border-top:0;border-bottom-color:var(--navy)}
.tipbubble button{margin-top:10px;background:var(--gold);color:var(--navy);border:0;border-radius:12px;min-height:44px;padding:0 18px;font:600 1rem var(--sans);cursor:pointer}
@keyframes pop{from{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}
.stage{flex:1;position:relative;min-height:0}
.slide{position:absolute;inset:0;display:flex;flex-direction:column;animation:in .32s cubic-bezier(.2,.8,.2,1) both}
.slide.back{animation-name:inBack}
@keyframes in{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes inBack{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
.scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:6px max(18px,env(safe-area-inset-left)) 10px max(18px,env(safe-area-inset-right));overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px}
.nav{flex:none;display:flex;align-items:center;gap:12px;padding:12px max(18px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right));background:linear-gradient(180deg,rgba(250,246,238,0),var(--ivory) 30%)}
.nav .btn.next{flex:1}
.nav .dots{display:none}

/* ── 버튼 ── */
.btn{min-height:56px;padding:0 26px;border-radius:18px;border:2px solid transparent;font:600 1.06rem var(--sans);letter-spacing:.1px;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;text-decoration:none;transition:transform .12s,box-shadow .2s,background .2s;-webkit-user-select:none;user-select:none}
.btn:active{transform:scale(.975)}
.btn.primary{background:linear-gradient(180deg,#E3C27A,#C9A04A);color:var(--navy);box-shadow:0 2px 0 #A98333,0 10px 24px rgba(201,160,74,.35)}
.btn.primary:hover{box-shadow:0 2px 0 #A98333,0 14px 30px rgba(201,160,74,.45)}
.btn.dark{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(11,27,58,.25)}
.btn.line{background:var(--paper);color:var(--navy);border-color:var(--navy)}
.btn.soft{background:var(--goldSoft);color:var(--navy)}
.btn.text{background:none;color:var(--navy);text-decoration:underline;text-underline-offset:4px;min-height:52px}
.btn[disabled]{opacity:.45;cursor:default;box-shadow:none}
.btn.big{min-height:64px;font-size:1.15rem;padding:0 32px;border-radius:20px}
.btn.wide{width:100%}
.btn.danger{background:var(--risk);color:#fff}

/* ── 코치(설명) ── */
.coach{padding:10px max(18px,env(safe-area-inset-left)) 4px max(18px,env(safe-area-inset-right));flex:none}
.coach .kick{font-size:.9rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--goldDeep)}
.coach h1{font-family:var(--serif);font-weight:600;font-size:clamp(1.55rem,5.6vw,2.15rem);line-height:1.18;color:var(--navy);margin:2px 0 6px;text-wrap:balance}
.coach .hint{font-size:1.02rem;color:var(--ink2);line-height:1.5}
.coach .voicebar{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.chip{min-height:48px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);color:var(--navy);font:600 .95rem var(--sans);display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.chip:hover{border-color:var(--gold)}
.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.eq{display:none;align-items:flex-end;gap:3px;height:18px}
.eq i{width:4px;background:var(--gold);border-radius:2px;animation:eq 1s ease-in-out infinite}
.eq i:nth-child(2){animation-delay:.2s}.eq i:nth-child(3){animation-delay:.4s}.eq i:nth-child(4){animation-delay:.1s}
@keyframes eq{0%,100%{height:5px}50%{height:18px}}
.speaking .eq{display:inline-flex}
.transcript{margin-top:10px;background:var(--goldSoft);border-radius:var(--r2);padding:14px 16px;font-size:1rem;line-height:1.6;color:var(--ink)}
.tap-listen{animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(201,160,74,.55)}70%{box-shadow:0 0 0 14px rgba(201,160,74,0)}100%{box-shadow:0 0 0 0 rgba(201,160,74,0)}}

/* ── 카드·선택지 ── */
.card{background:var(--paper);border-radius:var(--r);box-shadow:var(--shadow);padding:18px}
.card.tint{background:linear-gradient(160deg,#fff,var(--goldSoft))}
.grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
.grid.one{grid-template-columns:1fr}
.choice{position:relative;min-height:84px;padding:14px 14px;border-radius:var(--r2);background:var(--paper);border:2px solid var(--line);color:var(--ink);text-align:left;display:flex;align-items:center;gap:12px;cursor:pointer;font:inherit;transition:border-color .15s,background .15s,transform .12s,box-shadow .2s;box-shadow:0 1px 2px rgba(11,27,58,.05)}
.choice:hover{border-color:var(--gold)}
.choice:active{transform:scale(.98)}
.choice[aria-pressed="true"],.choice[aria-checked="true"]{border-color:var(--navy);background:linear-gradient(160deg,#fff,var(--goldSoft));box-shadow:0 8px 22px rgba(11,27,58,.14)}
.choice .lbl{font-weight:600;font-size:1.05rem;line-height:1.25;display:block}
.choice .sub{font-size:.9rem;color:var(--muted);line-height:1.35;display:block;margin-top:2px}
.choice .tick{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:none;place-items:center}
.choice[aria-pressed="true"] .tick,.choice[aria-checked="true"] .tick{display:grid}
.cbadge{flex:none;width:46px;height:46px;border-radius:50%;background:var(--navy);color:var(--gold2);display:grid;place-items:center;font:700 .95rem var(--sans);letter-spacing:.5px;box-shadow:inset 0 0 0 2px rgba(230,199,126,.55)}
.ibadge{flex:none;width:46px;height:46px;border-radius:14px;background:var(--goldSoft);color:var(--goldDeep);display:grid;place-items:center}
.sel-count{font-size:.95rem;color:var(--muted);text-align:center;min-height:1.5em}

/* ── 입력 ── */
.field{display:flex;flex-direction:column;gap:6px}
.field label,.label{font-weight:600;font-size:1.02rem;color:var(--navy)}
.input{min-height:56px;width:100%;border:2px solid var(--line);border-radius:var(--r2);background:var(--paper);padding:0 16px;font:500 1.25rem var(--sans);color:var(--ink);outline:none}
.input:focus{border-color:var(--navy);box-shadow:0 0 0 4px rgba(201,160,74,.3)}
.input.err{border-color:var(--risk)}
.help{font-size:.95rem;color:var(--muted)} .errtxt{font-size:.98rem;color:var(--risk);font-weight:600;min-height:1.4em}
.seg{display:flex;background:var(--line2);border-radius:16px;padding:4px;gap:4px}
.seg button{flex:1;min-height:48px;border:0;border-radius:12px;background:transparent;font:600 1rem var(--sans);color:var(--navy);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--navy);color:#fff;box-shadow:0 4px 10px rgba(11,27,58,.25)}
select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%230B1B3A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:46px}
.stepper{display:flex;align-items:center;gap:14px}
.stepper .sbtn{width:56px;height:56px;border-radius:50%;border:2px solid var(--navy);background:var(--paper);color:var(--navy);font:600 1.6rem var(--sans);display:grid;place-items:center;cursor:pointer}
.stepper .sbtn:active{transform:scale(.92)}
.stepper .sval{min-width:3.2ch;text-align:center;font:700 1.9rem var(--serif);color:var(--navy)}
input[type=range]{width:100%;height:44px;accent-color:var(--navy);background:transparent}

/* ── 배지·판정 ── */
.pill{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:999px;font:700 .95rem var(--sans)}
.pill.safe{background:var(--okBg);color:var(--ok)} .pill.risk{background:var(--warnBg);color:var(--warn)}
.pill.confirmed_risk{background:var(--riskBg);color:var(--risk)} .pill.opportunity{background:var(--infoBg);color:var(--info)} .pill.watch{background:var(--line2);color:var(--ink2)}
.pill.gold{background:var(--goldSoft);color:var(--goldDeep)}
.vcard{border-left:8px solid var(--line);display:flex;flex-direction:column;gap:12px}
.vcard.safe{border-left-color:var(--ok)} .vcard.risk{border-left-color:#C68A12} .vcard.confirmed_risk{border-left-color:var(--risk)} .vcard.opportunity{border-left-color:var(--info)} .vcard.watch{border-left-color:#7A8296}
.vcard h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.3rem,4.6vw,1.6rem);line-height:1.22;color:var(--navy);text-wrap:balance}
.vcard .why{font-size:1.05rem;line-height:1.6;color:var(--ink)}
.meta{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.98rem;color:var(--ink2);border-top:1px solid var(--line2);padding-top:10px}
.meta b{color:var(--navy)}
.dotsconf{display:inline-flex;gap:5px;vertical-align:middle;margin-right:8px}.dotsconf i{width:12px;height:12px;border-radius:50%;background:var(--line)}.dotsconf i.f{background:var(--navy)}
.expert{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;font-weight:600;color:var(--goldDeep);background:var(--goldSoft);border-radius:12px;padding:8px 12px}
.vnav{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vnav .ibtn{background:var(--paper);box-shadow:var(--shadow);width:56px;height:56px}
.vdots{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.vdots i{width:10px;height:10px;border-radius:50%;background:var(--line)}.vdots i.on{background:var(--navy);width:26px;border-radius:6px}

/* ── 숫자·도표 ── */
.bignum{font-family:var(--serif);font-weight:600;font-size:clamp(2.4rem,11vw,3.6rem);line-height:1.05;color:var(--navy);letter-spacing:-.5px}
.subnum{font-size:1rem;color:var(--muted)}
.rowitem{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line2)}
.rowitem:last-child{border-bottom:0}
.rowitem .grow{flex:1;min-width:0}
.rowitem .t{font-weight:600;font-size:1.05rem;line-height:1.25}.rowitem .s{font-size:.92rem;color:var(--muted)}
.rowitem .amt{font-weight:700;font-variant-numeric:tabular-nums;font-size:1.05rem;text-align:right;white-space:nowrap}
.legend{display:flex;flex-direction:column;gap:8px;min-width:0}
.legend div{display:flex;align-items:center;gap:10px;font-size:1rem}.legend i{width:14px;height:14px;border-radius:5px;flex:none}
.legend b{margin-left:auto;font-variant-numeric:tabular-nums}
.chartrow{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:center}
.svgwrap{max-width:100%;display:grid;place-items:center}
.donut .seg{transition:stroke-dashoffset 1s cubic-bezier(.2,.8,.2,1)}
.mini{font-size:.92rem;color:var(--muted)}

/* ── 시트(하단 창) ── */
.backdrop{position:fixed;inset:0;background:rgba(11,27,58,.55);backdrop-filter:blur(3px);z-index:20;animation:fade .2s both}
@keyframes fade{from{opacity:0}to{opacity:1}}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:21;background:var(--ivory);border-radius:28px 28px 0 0;max-height:92dvh;display:flex;flex-direction:column;box-shadow:0 -20px 60px rgba(11,27,58,.3);animation:up .35s cubic-bezier(.2,.9,.3,1) both;max-width:640px;margin:0 auto}
@keyframes up{from{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}
.sheet header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 6px}
.sheet header h2{font-family:var(--serif);font-size:1.5rem;color:var(--navy)}
.sheet .sbody{overflow:auto;padding:6px 20px max(22px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}
.qlist{display:flex;flex-direction:column;gap:10px}
.qbtn{min-height:56px;border-radius:var(--r2);border:2px solid var(--line);background:var(--paper);padding:10px 14px;text-align:left;font:600 1.02rem var(--sans);color:var(--navy);cursor:pointer;display:flex;align-items:center;gap:10px}
.qbtn:hover{border-color:var(--gold)}
.answer{background:linear-gradient(160deg,#fff,var(--goldSoft));border-radius:var(--r);padding:16px;font-size:1.05rem;line-height:1.6}
.toast{position:fixed;left:50%;bottom:calc(var(--navH) + 10px);transform:translateX(-50%);background:var(--navy);color:#fff;padding:14px 22px;border-radius:16px;font-weight:600;z-index:40;box-shadow:var(--shadow);animation:pop .3s both;max-width:90vw;text-align:center}

/* ── 첫 화면(어두운 문) ── */
.splash{position:fixed;inset:0;background:radial-gradient(120% 90% at 50% 8%,#1E3A75 0%,#0B1B3A 55%,#060F24 100%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;overflow:auto;z-index:30}
.splash .art{width:min(78vw,360px);max-height:36dvh;aspect-ratio:1;flex:none}
.splash .word{font-family:var(--serif);font-weight:600;font-size:clamp(2.6rem,11vw,4rem);letter-spacing:.5px;line-height:1}
.splash .tag{font-size:1.1rem;color:#DCE4F5;max-width:30ch}
.splash .langs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.splash .langs button{min-height:48px;min-width:56px;padding:0 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:#fff;font:600 1rem var(--sans);cursor:pointer}
.splash .langs button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.splash .note{font-size:.98rem;color:#C9D3EA;max-width:38ch}
.gline{height:2px;width:72px;background:linear-gradient(90deg,transparent,var(--gold2),transparent)}

/* ── 환영·준비 ── */
.hero{background:radial-gradient(120% 120% at 20% 0%,#22407F,#0B1B3A 70%);border-radius:var(--r);color:#fff;display:grid;place-items:center;padding:8px;overflow:hidden}
.pillars{display:grid;gap:10px;grid-template-columns:1fr}
.pillar{display:flex;gap:12px;align-items:center;font-size:1.02rem;font-weight:500}
.prep{align-items:center;justify-content:center;text-align:center;gap:18px}
.spin{width:96px;height:96px;border-radius:50%;border:6px solid var(--line);border-top-color:var(--gold);animation:spin 1.1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── 큰 화면: 왼쪽 안내 + 오른쪽 내용 ── */
@media (min-width:900px){
  :root{--topH:72px}
  .slide.two{flex-direction:row;padding:6px 28px 0;gap:28px}
  .slide.two .coach{width:38%;max-width:430px;padding:34px 28px;background:linear-gradient(170deg,var(--navy2),var(--navy));border-radius:var(--r);align-self:stretch;display:flex;flex-direction:column;justify-content:center;margin-bottom:18px}
  .slide.two .coach .kick{color:var(--gold2)} .slide.two .coach h1{color:#fff;font-size:2.3rem} .slide.two .coach .hint{color:#DCE4F5;font-size:1.1rem}
  .slide.two .coach .chip{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.3)}
  .slide.two .coach .transcript{background:rgba(255,255,255,.1);color:#fff}
  .slide.two .rightcol{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}
  .grid.c3{grid-template-columns:repeat(3,1fr)}
  .nav{padding-left:28px;padding-right:28px}
  .scroll{padding-left:8px;padding-right:8px}
}
@media (min-width:600px){.grid.c3{grid-template-columns:repeat(3,1fr)}.pillars{grid-template-columns:repeat(3,1fr)}}
@media (max-height:740px) and (max-width:899px){
  .coach h1{font-size:1.5rem}.coach .hint{font-size:1rem}
  .dense .coach .hint{display:none}
  .choice{min-height:72px}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ── 보강 ── */
[hidden]{display:none!important}
.rightcol{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}
.app.pre .top,.app.pre .stage,.app.pre .nav{visibility:hidden}
.btn.is-off{opacity:.5;box-shadow:none}
.choice>span:not(.cbadge):not(.ibadge):not(.tick){min-width:0;flex:1}
.shake{animation:shake .35s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.card .field{gap:8px}

.cols2{display:grid;grid-template-columns:1fr;gap:14px}
.colA,.colB{display:flex;flex-direction:column;gap:14px;min-width:0}
.srcs{display:flex;flex-direction:column}
.srclink{display:inline-flex;align-items:center;min-height:48px;color:var(--navy);font-size:.95rem;line-height:1.35;text-decoration:underline;text-underline-offset:3px}
.vmain,.vside{display:flex;flex-direction:column;gap:12px;min-width:0}
.vcard{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:900px){
  .cols2{grid-template-columns:1fr 1fr;align-items:start}
  .vcard{grid-template-columns:1.45fr 1fr;gap:26px}
  .vside{border-left:1px solid var(--line2);padding-left:24px}
  .vside .meta{border-top:0;padding-top:0;grid-template-columns:1fr}
  .vside .meta b{margin-top:4px}
}

/* ── 폰 압축(한 화면에 들어오게) ── */
.grid.tight .choice{min-height:68px;padding:8px 6px;flex-direction:column;justify-content:center;text-align:center;gap:4px}
.grid.tight .choice .cbadge{width:36px;height:36px;font-size:.85rem}
.grid.tight .choice .lbl{font-size:.95rem}
.grid.tight .choice .tick{top:4px;right:4px;width:22px;height:22px}
.grid.c3.tight{grid-template-columns:repeat(3,1fr);gap:8px}
@media (max-width:899px){
  .tag-example{display:none}
  .pillars{display:none}
  .slide.compact .coach h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .slide.compact .coach .hint{display:none}
  .slide.compact .coach{padding-bottom:0}
  .choice{min-height:76px;padding:10px 12px}
  .choice .cbadge,.choice .ibadge{width:42px;height:42px}
  .coach h1{margin:0 0 4px}
  .coach .voicebar{margin-top:8px}
  .bignum{font-size:clamp(2.2rem,10vw,3rem)}
}
@media (min-width:600px) and (max-width:899px){.tag-example{display:inline-block}}
.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.one{grid-template-columns:minmax(0,1fr)}
.grid.c3.tight{grid-template-columns:repeat(3,minmax(0,1fr))}
.choice{min-width:0}.choice .lbl,.choice .sub{overflow-wrap:anywhere}
@media (max-width:599px){
  .grid:not(.one):not(.tight) .choice{flex-direction:column;justify-content:center;text-align:center;gap:6px;padding:10px 8px}
  .grid:not(.one):not(.tight) .choice .tick{top:6px;right:6px}
}
.nav .btn{min-width:0}.nav .btn.next{padding-left:14px;padding-right:14px}
.meta2{display:flex;flex-direction:column;gap:6px;font-size:.98rem;color:var(--ink2);border-top:1px solid var(--line2);padding-top:10px}
.meta2 b{color:var(--navy)}
.meta2 .mrow{display:flex;flex-wrap:wrap;gap:4px 18px}
.meta2 .mbasis{line-height:1.45}
@media (min-width:900px){.vside .meta2{border-top:0;padding-top:0}}
@media (max-width:899px){.vcard .vmain .label{display:none}.vcard.card{padding:14px 16px}}
.srcbox{border:2px solid var(--line);border-radius:14px;background:var(--paper);padding:0 14px}
.srcbox summary{min-height:48px;display:flex;align-items:center;font-weight:600;color:var(--navy);cursor:pointer}
.srcbox[open]{padding-bottom:8px}
@media (max-width:599px){
  .phone-hide{display:none!important}
  .scroll{gap:10px}
  .coach{padding-bottom:0}
  .coach h1{font-size:1.5rem;line-height:1.15}
  .coach .hint{font-size:1rem;line-height:1.4}
  .coach .voicebar{margin-top:6px;gap:8px}
  .nav{padding-top:8px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .card{padding:14px 16px}
  .vcard .why{font-size:1rem;line-height:1.5}
  .vcard{gap:8px}
  .vcard h2{font-size:1.3rem}
  .vcard .expert{padding:6px 10px}
  .grid:not(.one):not(.tight) .choice .ibadge{width:34px;height:34px}
  .grid:not(.one):not(.tight) .choice{gap:4px;padding:8px 6px}
}
.codebox{flex:1;min-width:0;text-align:center;font-family:var(--serif);font-size:1.9rem;letter-spacing:.22em;font-weight:600;color:var(--navy);background:var(--goldSoft);border-radius:14px;padding:6px 0;overflow:hidden}
.grid.tight .choice .cbadge{font-size:1rem}
@media (max-width:599px){.codebox{font-size:1.5rem;letter-spacing:.1em}}
@media (max-width:599px){
  .meta2{padding-top:8px;gap:4px}
  .meta2 .mrow{gap:6px 12px;align-items:center}
  .vnav .ibtn{width:52px;height:48px}
  .vcard .expert{font-size:1rem;padding:6px 10px;line-height:1.3}
  .vcard .vside{gap:8px}
  .vcard .vmain{gap:8px}
}
@media (max-width:599px){.scroll{padding-bottom:2px}.rowitem{padding:8px 2px;gap:10px}.rowitem .ibadge{width:38px;height:38px}}
@media (max-width:599px){.scroll{gap:8px}.vcard.card{padding:12px 14px}}
@media (max-width:599px) and (max-height:720px){
  .coach .hint{display:none}
  .coach .kick{font-size:.9rem}
  .coach h1{font-size:1.35rem}
  .card{padding:10px 14px}
  .choice{min-height:64px}
  .nav .btn{min-height:52px}
  .grid.tight .choice{min-height:60px}
  .vcard .why{line-height:1.42}
}

.cdcard{padding:14px 16px}
.cdlist{margin:0;padding-left:1.15em;font-size:1rem;line-height:1.4;color:var(--ink)}
.cdlist li{margin:4px 0}
.srcnote{margin:8px 0 0;font-size:1rem}
textarea.input{min-height:96px;resize:vertical;font:inherit;line-height:1.45}

/* v2 palette — 더 깊고 차분한 밤하늘 남색 + 샴페인 금 + 옥색 포인트 */
:root{--ivory:#F5F0E6;--paper:#FFFFFF;--navy:#0A1730;--navy2:#132446;--navy3:#1F3768;--gold:#B69355;--gold2:#DCC58F;--goldDeep:#5B4212;--goldSoft:#F1E9D7;--line:#E4DAC6;--line2:#EEE6D6;--jade:#1F5C50;--jadeSoft:#E2EFE9}
body{background:radial-gradient(1200px 500px at 50% -120px,#FFFDF8 0,#F5F0E6 62%,#EFE8D8 100%) fixed}
.btn.primary{background:linear-gradient(180deg,#1B3160,#0A1730);color:#F4E6C2;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 10px 24px rgba(10,23,48,.30);border:1px solid #0A1730}
.btn.primary:hover{background:linear-gradient(180deg,#22407F,#0F1F40);box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 14px 30px rgba(10,23,48,.36)}
.btn.primary svg{color:#DCC58F}
.btn.line{border-color:#0A1730;color:#0A1730;background:rgba(255,255,255,.7)}
.choice{border:1.5px solid #E4DAC6;background:#fff;box-shadow:0 1px 2px rgba(10,23,48,.05),0 6px 18px rgba(10,23,48,.05)}
.choice[aria-pressed="true"],.choice[aria-checked="true"]{border-color:#0A1730;background:linear-gradient(160deg,#fff,#F1E9D7);box-shadow:0 0 0 1.5px #0A1730,0 10px 24px rgba(10,23,48,.16)}
.ibadge{background:linear-gradient(145deg,#132446,#0A1730);color:#DCC58F;border-radius:14px;box-shadow:0 4px 10px rgba(10,23,48,.22)}
.cbadge{background:linear-gradient(145deg,#132446,#0A1730);color:#DCC58F}
.card{border-radius:20px;box-shadow:0 1px 2px rgba(10,23,48,.05),0 12px 30px rgba(10,23,48,.07)}
.pbar i{background:linear-gradient(90deg,#B69355,#E5D3A6)}
.coach .kick{color:#8A6B2C;letter-spacing:.14em}
.flag{flex:none;width:46px;height:34px;border-radius:7px;overflow:hidden;display:block;box-shadow:0 0 0 1px rgba(10,23,48,.12),0 4px 10px rgba(10,23,48,.16);background:#fff}
.flag img{display:block;width:100%;height:100%;object-fit:cover}
.grid.tight .choice .flag{width:40px;height:30px}
.btn.later{align-self:flex-start;min-height:48px;padding:0 18px;margin:8px 0 0;font-weight:600}
.warnline{color:var(--risk);background:var(--riskBg);border-radius:10px;padding:8px 12px;margin:0;font-weight:600}
.qtyst{align-self:flex-start}
select.input{text-overflow:ellipsis}
.amtline{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:420px){.amtline{grid-template-columns:1fr}}

.duo-cards{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:900px){.duo-cards{grid-template-columns:1fr 1fr}}
.infocard p{margin-top:6px;line-height:1.5}
.infocard.ok{border-left:6px solid var(--jade,#1F5C50)}
.infocard.warn{border-left:6px solid #B08D57}
.infocard .label{display:flex;align-items:center;gap:8px}

.circlecard{background:linear-gradient(160deg,#132446,#0A1730);color:#fff;display:flex;flex-direction:column;gap:12px}
.circlecard .cnum{font-family:var(--serif);font-size:1.5rem;font-weight:600;color:#F4E6C2}
.circlecard .csub{font-size:1rem;color:#DCE4F5}
.cbar{height:12px;background:rgba(255,255,255,.18);border-radius:8px;overflow:hidden}.cbar i{display:block;height:100%;background:linear-gradient(90deg,#B69355,#E5D3A6)}
.ibadge.gold{background:rgba(220,197,143,.18);color:#DCC58F;box-shadow:none}
.steps4{counter-reset:s}.steps4 li{list-style:none;counter-increment:s;position:relative;padding-left:2.1em;margin:8px 0}
.steps4 li::before{content:counter(s);position:absolute;left:0;top:0;width:1.6em;height:1.6em;border-radius:50%;background:#0A1730;color:#DCC58F;font-weight:700;font-size:.9rem;display:grid;place-items:center}
.tier{display:flex;flex-direction:column;gap:8px}.tier.on{border:2px solid #0A1730}
.tierh{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.tname{font-family:var(--serif);font-size:1.3rem;color:var(--navy)}.tprice{font-weight:700;color:var(--goldDeep)}
.tier p{margin:0;line-height:1.5}

.splash .btn.primary{background:linear-gradient(180deg,#E8D4A2,#B69355);color:#0A1730;border-color:#B69355;box-shadow:0 10px 26px rgba(182,147,85,.35)}
.splash .btn.primary svg{color:#0A1730}
.splash .word .amp{font-family:var(--serif);font-style:italic;color:#DCC58F}
.splash .word{font-size:clamp(2.2rem,9vw,3.4rem);line-height:1.1}
.brand span{font-size:1.02rem;white-space:nowrap}
@media (min-width:600px){.brand span{font-size:1.35rem}}
.coach .kick{letter-spacing:.06em;font-size:.86rem;line-height:1.35;color:#6B4F14}
.cbadge:has(svg){width:46px;height:34px;border-radius:9px}

.rowitem.asset{align-items:flex-start}
.rowitem.asset .amt{text-align:left;white-space:normal;margin-top:4px;font-size:1.1rem}
.rowitem.asset .amt .s{font-weight:500;color:var(--muted);font-size:.95rem}
.rowitem.asset .s{display:flex;align-items:center;gap:6px}
.mflag{border-radius:3px;box-shadow:0 0 0 1px rgba(10,23,48,.15)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.hchip{display:inline-block;font-size:.9rem;padding:2px 10px;border-radius:999px;background:#EEE6D6;color:var(--ink2)}
.hchip.third{background:var(--riskBg);color:var(--risk);font-weight:600}

.rankbadge{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:#0A1730;color:#F4E6C2;font-weight:700;font-size:1.05rem;display:grid;place-items:center;box-shadow:0 2px 6px rgba(10,23,48,.3)}
.slide[data-id="q6"] .choice .tick{display:none!important}
.cmp2{display:grid;grid-template-columns:1fr;gap:10px;margin:8px 0}
.cmpc{border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff}
.cmpc.with{border-color:#0A1730;background:linear-gradient(160deg,#fff,#F1E9D7)}
.cmpc b{font-family:var(--serif);font-size:1.1rem;color:var(--navy)}.cmpc p{margin:4px 0 0;line-height:1.45}
@media (min-width:700px){.cmp2{grid-template-columns:1fr 1fr}}

/* ── 상담 메모 · 상담 질문 (2026-09-19) ── */
.card.mm{display:flex;flex-direction:column;gap:10px}
.card.mm h2{font-family:var(--serif);font-size:1.22rem;line-height:1.25;color:var(--navy)}
.card.mm .mmact{background:var(--goldSoft);border-radius:12px;padding:10px 12px}
.mmsec{margin-top:6px;font-family:var(--serif);font-size:1.1rem}
.mmsrc{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:8px}
.srcrow{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:baseline;font-size:.92rem}
.stag{font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:2px 8px;border-radius:6px;background:#E7EEF9;color:#1E3F7A}
.stag.verified{background:#E1F0E9;color:#1B5B45}
.stag.reported,.stag.estimate{background:#F5EBD3;color:#7A5A16}
.cfield{margin-bottom:10px}
.cfield .grid{margin-bottom:4px}
.cfield .amtline{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.cwhy{font-size:1.02rem;line-height:1.5;color:var(--ink);margin:0 0 6px}

/* 큰 제목만 Cormorant Garamond (결재 1차 11번) — 작은 글씨는 Lora 그대로 */
.coach h1,.splash .word,.bignum{font-family:"Cormorant Garamond",var(--serif);font-weight:600}
.coach h1{font-size:clamp(1.75rem,6.2vw,2.35rem);letter-spacing:.1px}

.bstab{border-collapse:collapse;width:100%;font-size:.95rem}
.bstab th,.bstab td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.bstab th{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.scrollx{overflow-x:auto}
.bsitem{padding:8px 0;border-bottom:1px solid var(--line)}
.bsitem:last-child{border-bottom:0}
#bsc{margin:8px 0 4px}
#bsc [aria-selected="true"]{background:var(--navy);color:#fff}

.ckrow{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.4;cursor:pointer}
.ckrow:last-child{border-bottom:0}
.ckrow input{width:26px;height:26px;flex:none;margin-top:1px}
#hlc{margin:8px 0 10px}#hlc [aria-selected="true"]{background:var(--navy);color:#fff}
#printcard{display:none}
@media print{body>*:not(#printcard){display:none!important}body{overflow:visible!important;background:#fff!important}#printcard{display:block!important;padding:18mm;font:14pt/1.5 var(--sans);color:#000}#printcard h1{font-size:22pt;margin:0 0 10mm}#printcard table{width:100%;border-collapse:collapse}#printcard th,#printcard td{border:1px solid #000;padding:6px 8px;text-align:left;vertical-align:top}#printcard th{width:38%;background:#eee}}

html[lang="ko"] .choice .lbl,html[lang="ko"] .mm p,html[lang="ko"] .cwhy,html[lang="ko"] .ckrow span{word-break:keep-all;overflow-wrap:break-word}

html[lang="ko"] .coach h1,html[lang="ko"] .coach .hint{word-break:keep-all;overflow-wrap:break-word}

.gds{padding:12px 16px}.gds summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;font-size:1.05rem;list-style:none}.gds summary::-webkit-details-marker{display:none}
.gds summary::after{content:"+";margin-left:auto;font-size:1.4rem;color:var(--navy)}.gds[open] summary::after{content:"\2212"}
.gdi{padding:12px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.gdl{font-size:.98rem;line-height:1.45;overflow-wrap:anywhere}.gdk{color:var(--muted);font-size:.9rem}.gdv a{color:var(--navy);font-weight:600}
.gdrep{align-self:flex-start;min-height:40px;padding:0;font-size:.9rem}
#gdq{margin:8px 0 10px}#gdc{margin:8px 0 6px}#gdc [aria-selected="true"]{background:var(--navy);color:#fff}

/* ── 「당신의 삶 ↔ 당신의 재산」 띠 (2026-09-21) ───────────────────
   시간과 돈이 다른 나라에 있는 것을 한눈에. 글씨는 모두 16px 이상. */
.card.cx{padding:18px 18px 16px}
.cxlab{font-size:1rem;font-weight:700;color:var(--muted);margin:0 0 10px;line-height:1.35}
.cxlab.two{margin-top:20px}
/* 범례는 막대 아래 «한 줄 글»로 — 세로로 쌓으면 한 화면을 넘긴다 */
.cxsub{margin:9px 0 0;font-size:1rem;line-height:1.45;color:var(--muted)}
.cxsub b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}
.cxnote{margin:11px 0 0;font-size:1rem;font-weight:700;line-height:1.4}
.cxnote.warn{color:var(--risk)}
.cxnote.ok{color:var(--ok)}
.cxconc{font-family:var(--serif);font-size:1.18rem;line-height:1.4;font-weight:600;
        color:var(--navy);margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line2)}
.cxwhy{font-size:1rem;line-height:1.5;color:var(--muted);margin:9px 0 0}

/* ── 자산 「나라별 분포」 (2026-09-21) — 국기 + 길이 막대 ── */
.cmap .label{margin-bottom:4px}
.cmap .crow{display:flex;align-items:center;gap:10px;margin-top:11px}
.cmap .mflag{flex:none;border-radius:3px;box-shadow:0 0 0 1px rgba(11,27,58,.12)}
.cmap .noflag{width:24px;height:17px;flex:none;background:var(--line2);border-radius:3px}
.cmap .cnm{flex:0 0 auto;max-width:40%;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmap .cbar{flex:1;height:13px;background:#EFE6D6;border-radius:7px;overflow:hidden;min-width:36px}
.cmap .cbar i{display:block;height:100%;border-radius:7px}
.cmap .cpct{flex:none;font-size:1rem;font-variant-numeric:tabular-nums;min-width:46px;text-align:right}
.cmapn{margin:13px 0 0;font-size:1rem;color:var(--muted)}

/* ── 「다가오는 기한」 카운트다운 ── */
.dl .drow{display:flex;align-items:center;gap:12px;margin-top:11px}
.dl .dwhat{flex:1;font-size:1rem;min-width:0}
.dl .dday{flex:none;font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums;
          padding:5px 12px;border-radius:999px;background:var(--goldSoft);color:var(--goldDeep)}
.dl .drow.soon .dday{background:var(--riskBg);color:var(--risk)}
.dl .drow.past .dday{background:var(--navy);color:#fff}
.dln{margin:13px 0 0;font-size:1rem;color:var(--muted)}

/* ── 「내 상황과 대책」 (2026-09-21) — 대책 없는 경고는 올리지 않는다 ── */
.hgwhy{font-size:1rem;line-height:1.55;color:var(--muted);margin:0 0 4px}
.hgsec{padding:16px 18px}
.hgsec.plus{border-left:5px solid var(--ok)}
.hgsec.minus{border-left:5px solid var(--gold)}
.hgitem{padding:14px 0;border-top:1px solid var(--line2)}
.hgitem:first-of-type{border-top:0;padding-top:8px}
.hgh{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px}
.hgh b{font-size:1.06rem;line-height:1.35;color:var(--navy)}
.hgitem.good .hgh svg{color:var(--ok);flex:none}
.hgitem.care .hgh svg{color:var(--goldDeep);flex:none}
.hgtag{font-size:.92rem;font-weight:700;padding:3px 10px;border-radius:999px}
.hgtag.v{background:var(--okBg);color:var(--ok)}
.hgtag.r{background:var(--warnBg);color:var(--warn)}
.hgw{font-size:1rem;line-height:1.55;color:var(--ink2);margin:0}
.hgn{font-size:1rem;line-height:1.5;color:var(--muted);margin:7px 0 0}
.hgp{margin-top:11px;background:var(--okBg);border-radius:12px;padding:13px 15px}
.hgpl{font-size:.95rem;font-weight:700;color:var(--ok);margin-bottom:5px;
      letter-spacing:.03em;text-transform:uppercase}
.hgp p{font-size:1rem;line-height:1.6;color:var(--ink);margin:0}
.hgsrc{display:flex;flex-direction:column;gap:3px;margin-top:9px}
.hgco{padding:16px 18px}
.hgsteps{margin:12px 0 0;padding-left:24px}
.hgsteps li{font-size:1rem;line-height:1.55;margin:9px 0}
.hgwarn{margin:13px 0 0;font-size:1rem;line-height:1.55;color:var(--warn);
        background:var(--warnBg);border-radius:12px;padding:12px 14px}

/* ── 「내 나라, 항목별로」 (2026-09-21) — 축마다 따로 매기고 본국과 나란히 ── */
.sctot{text-align:center;padding:20px 18px}
.sctot .scnum{font-family:var(--serif);font-size:3.6rem;line-height:1;font-weight:700;color:var(--navy)}
.sctot .scof{font-size:1rem;color:var(--muted);margin-top:2px}
.sccmp{font-size:1rem;color:var(--muted)}
.sccmp b{color:var(--ink);font-variant-numeric:tabular-nums}
.sccmp.big{margin-top:10px;font-size:1.05rem}
.scpend{font-size:1rem;color:var(--muted);margin:9px 0 0;line-height:1.5}
.scaxes{padding:6px 18px 16px}
.scrow{padding:15px 0;border-top:1px solid var(--line2)}
.scrow:first-child{border-top:0}
.scrow.off{opacity:.62}
.sctop{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.sctop b{font-size:1.06rem;color:var(--navy);flex:1;min-width:0}
.scv{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--navy);
     font-variant-numeric:tabular-nums}
.scg{font-size:.95rem;font-weight:700;padding:3px 11px;border-radius:999px;white-space:nowrap}
.scg.good{background:var(--okBg);color:var(--ok)}
.scg.mid{background:var(--warnBg);color:var(--warn)}
.scg.care{background:var(--riskBg);color:var(--risk)}
.scg.pend{background:var(--line2);color:var(--muted)}
.scbar{position:relative;height:14px;background:#EFE6D6;border-radius:7px;margin-top:9px}
.scbar i{display:block;height:100%;border-radius:7px}
.scbar i.good{background:var(--ok)} .scbar i.mid{background:var(--gold)} .scbar i.care{background:var(--risk)}
.scbar u{position:absolute;top:-4px;width:3px;height:22px;background:var(--navy);border-radius:2px;
         transform:translateX(-50%)}   /* 0%·100%에서도 막대 밖으로 나가지 않게 */
.scmeta{margin-top:7px}
.scwhat{font-size:1rem;line-height:1.5;color:var(--muted);margin:7px 0 0}
.scnote2{font-size:1rem;line-height:1.55;color:var(--ink2);margin:6px 0 0}
.scscale{padding:16px 18px}
.sccav{font-size:1rem;line-height:1.55;color:var(--ink2);margin:13px 0 0;padding-top:13px;
       border-top:1px solid var(--line2);text-align:left}
.scfix{font-size:.95rem;font-weight:700;padding:3px 11px;border-radius:999px;margin-left:8px;white-space:nowrap}
.scfix.can{background:var(--okBg);color:var(--ok)}
.scfix.given{background:var(--line2);color:var(--muted)}
.scfixw{font-size:1rem;color:var(--ok);font-weight:700;margin:11px 0 0}


/* ── 「오늘」 실시간 브리핑 (2026-09-21) ───────────────────── 글씨는 모두 16px 이상 */
.lvtabs{display:flex;gap:8px}
.lvtab{flex:1;min-height:50px;border-radius:14px;border:2px solid var(--line);background:var(--paper);color:var(--navy);
       font:700 1rem var(--sans);cursor:pointer;padding:0 8px}
.lvtab.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.lvh{font-family:var(--serif);font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:10px}
.lvhead{background:linear-gradient(135deg,var(--navy),var(--navy3));border:0}
.lvhead .lvk{font-size:1rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold2)}
.lvhead .lvline{font-family:var(--serif);font-size:1.5rem;line-height:1.3;font-weight:700;color:#fff;margin-top:6px}
.lvone{font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--navy);margin-bottom:6px}
.lvrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 0;border-top:1px solid var(--line2);font-size:1rem}
.lvrow:first-of-type{border-top:0}
.lvrow b{font-variant-numeric:tabular-nums;text-align:right}
.lvrow small{font-weight:400;color:var(--muted);font-size:1rem}
.lvrow.mk{flex-wrap:wrap}
.lvchg{flex-basis:100%;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;font-size:1rem}
.lvchg.up{color:var(--ok)} .lvchg.down{color:var(--risk)}
.lvn,.lvasof,.lvstale{font-size:1rem;line-height:1.5;color:var(--muted);margin:10px 0 0}
.lvstale{color:var(--warn);background:var(--warnBg);border-radius:10px;padding:9px 12px}
.lvwx{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.lvbig{font-family:var(--serif);font-size:3rem;line-height:1;font-weight:700;color:var(--navy)}
.lvsky{font-size:1.1rem;color:var(--ink2);margin-top:2px}
.lvl{font-size:1rem;line-height:1.5;color:var(--ink2);margin:6px 0 0}
.lvnext{font-size:1rem;font-weight:700;color:var(--muted);margin:16px 0 8px}
.lvdays{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lvday{background:var(--goldSoft);border-radius:14px;padding:10px 4px;text-align:center;display:grid;justify-items:center;gap:2px;font-size:1rem}
.lvair{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lvpill{font-size:1.05rem;font-weight:700;padding:5px 14px;border-radius:999px}
.lvpill.good{background:var(--okBg);color:var(--ok)}
.lvpill.mid{background:var(--warnBg);color:var(--warn)}
.lvpill.sens,.lvpill.bad,.lvpill.vbad{background:var(--riskBg);color:var(--risk)}
.lvaqi{font-size:1rem;color:var(--muted);font-variant-numeric:tabular-nums}
.lvev{font-size:1rem;line-height:1.55;color:var(--ink2);margin:9px 0 0;padding-top:9px;border-top:1px solid var(--line2)}
.lvev:first-of-type{border-top:0;padding-top:0;margin-top:0}
.lvsrc{display:flex;flex-direction:column;gap:3px;font-size:1rem;color:var(--muted)}

/* ── 점수 기준표 공개 (2026-09-21) — 글씨 16px 이상, 누르는 줄 48px 이상 ── */
.scdet{border-top:1px solid var(--line2);padding:0}
.scdet summary{min-height:52px;display:flex;align-items:center;font-size:1.05rem;font-weight:700;color:var(--navy);cursor:pointer;list-style-position:inside}
.scdet[open] summary{color:var(--goldDeep)}
.sctbl{list-style:none;margin:2px 0 12px;padding:0;display:grid;gap:4px}
.sctbl li{font-size:1rem;line-height:1.45;padding:9px 12px;border-radius:10px;background:#F6F1E6;color:var(--ink2);font-variant-numeric:tabular-nums}
.sctbl li.hit{background:var(--navy);color:#fff;font-weight:700}
.sctl{font-size:1rem;font-weight:700;color:var(--muted);margin:10px 0 6px}

/* 첫 화면 배경 영상 — 무음·반복. 영상: Pixabay(Expatsiam) 메콩강, Pixabay Content License, 2026-09-21 */
.splash > *{position:relative;z-index:1}
.splash > .herovid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.splash > .herovail{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(6,15,36,.72) 0%,rgba(9,22,48,.62) 45%,rgba(6,15,36,.86) 100%)}
@media (prefers-reduced-motion:reduce){.splash > .herovid{opacity:.9}}
