/* Shared visual system: landing, forms, reports, account and checkout. */
:root{--blue:#64324d;--wine:var(--blue);--ink:#302931;--muted:#73686f;--line:#e4dbdd;--light:#f6f0f2;--accent:#896c4c;--page:#fdfbf8;--surface:#fffdfa;--hover:#4e263c;--radius:8px;--radius-small:5px;--sans:'Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',sans-serif;--serif:'Nanum Myeongjo','Noto Serif KR','Batang',serif}
body{background:var(--page);color:var(--ink);font-family:var(--sans);line-height:1.8}button,input,select,summary{font-family:var(--sans)}
.brand,h1,h2,.intro h1,.sample-copy h2,.naming-philosophy h2,.result-heading h2,.paper-name,.sample-name,.name-card .full-name{font-family:var(--serif);font-weight:500;letter-spacing:-.5px}
h2,.result-heading h2,.sample-copy h2,.naming-philosophy h2{font-size:26px;line-height:1.6}.product h3,.form-heading h2{line-height:1.6}.paper-meaning{font-family:var(--sans);font-size:16px}.card-hanja,.character-detail>b,.pillars strong{font-family:var(--serif)}
.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:1.4px;color:var(--accent);font-weight:600}.mark{border-radius:var(--radius-small);background:var(--blue)}
.primary,.secondary,.kakao-button{border-radius:var(--radius-small);min-height:48px;font-size:15px;line-height:1.6;padding:13px 20px;font-weight:600;box-shadow:none}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--hover)}.secondary{border:1px solid var(--line);background:var(--surface);color:var(--blue)}.secondary:hover{background:var(--light);border-color:var(--blue)}.primary:disabled,.secondary:disabled{opacity:.55;cursor:default}.primary:disabled{background:var(--blue)}
input:not([type=checkbox]),select{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);color:var(--ink);min-height:48px;font-size:15px;line-height:1.6}input:disabled{background:var(--light);color:var(--muted)}input::placeholder{color:var(--muted);opacity:.8}input[type=checkbox]{accent-color:var(--blue)}
.product,.form-panel,.sample-card,.name-card,.chart-disclosure,.account-panel,.order-recovery{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}.form-panel{padding:28px}.product.selected{background:var(--light);border:2px solid var(--blue)}.product .price,.sample-score,.fit-score{color:var(--blue)}.product:hover{transform:none}.product.selected .price{color:var(--blue)}
.hero-report{border-radius:var(--radius);background:#efe5e7}.report-paper{background:var(--surface);border-color:var(--line);border-radius:var(--radius-small)}.paper-bottom a{background:var(--blue);color:white;border-color:var(--blue)}.paper-caption{color:var(--muted)}
.name-card .rank-summary,.rank-disclosure[open]>.rank-summary{background:var(--surface)}.name-card:has(.rank-disclosure[open]){border-color:var(--blue)}.name-card .recommend-rank,.sample-rank{color:var(--accent);font-size:13px;font-weight:600}.sample-name,.name-card .full-name{font-size:28px}.sample-name small,.card-hanja{color:var(--muted)}
.name-story,.report-scope,.input-tip,.sample-metrics span,.score-breakdown>div,.assessment-note,.evidence-elements span,.account-empty,#checkout-summary,#checkout-recovery,.result-notice,.frequency-note{background:var(--light);border-radius:var(--radius-small)}.name-story,.report-scope,.assessment-note{padding:20px}.assessment-note,.saju-priority-note{border-left:3px solid var(--blue)}.fit-score{background:var(--light);border-radius:var(--radius-small)}.sample-body h3,.name-story h3,.name-evidence h4{color:var(--blue);font-family:var(--sans);font-size:16px;font-weight:600}.name-card .rank-body p,.name-evidence li{line-height:1.9;font-size:15px}
.preview,.demo-label,.example-tag,.tags span{border-radius:var(--radius-small)}.preview,.demo-label{font-size:12px;color:var(--muted)}.tags span{background:transparent;color:var(--muted)}.table-wrap{border-color:var(--line);border-radius:var(--radius)}table{background:var(--surface)}th{background:var(--light)}td,th,.evidence-note td,.evidence-note th{border-color:var(--line)}.pillars>div,.analysis-grid>div,.elements>div{border-radius:var(--radius-small)}
dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:28px}dialog::backdrop{background:#302931b8}.checkout-top h2{font-family:var(--serif);font-size:24px}.report-context,#progress,.form-note,.account-notice{color:var(--muted)}.checkout-footnote,.form-note{font-size:12px}.mobile-purchase{background:var(--surface)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9e7791;outline-offset:3px}.policy-page section{border-top:1px solid var(--line);padding-top:24px}.policy-page h1{font-family:var(--serif)}
@media(max-width:640px){h2,.result-heading h2,.sample-copy h2,.naming-philosophy h2{font-size:23px}.form-panel,.account-panel,.order-recovery,.chart-disclosure{padding:20px}.name-story,.report-scope,.assessment-note{padding:16px}.sample-name,.name-card .full-name{font-size:25px}.eyebrow{font-size:11px;letter-spacing:1px}.primary,.secondary,.kakao-button{font-size:14px}.checkout-top h2{font-size:21px}dialog{padding:20px}.result-heading .secondary{width:100%}}
@media print{body,table,.name-card,.rank-disclosure[open]>.rank-summary{background:#fff}.naming-philosophy{display:none!important}.name-card{border-color:#bbb;box-shadow:none}}
/* Give major headings a little more weight without changing body text. */
h1,h2,.intro h1,.intro h1 em,.sample-copy h2,.naming-philosophy h2,.result-heading h2{font-weight:600}

/* Text actions instead of decorative direction arrows. */
.hero-cta{justify-content:center;gap:0}.paper-bottom{gap:16px;flex-wrap:wrap}.paper-bottom .sample-detail-link{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;min-height:44px;padding:8px 14px;border-radius:var(--radius-small);font-size:13px;font-weight:600;white-space:nowrap}.paper-bottom .sample-detail-link:hover{background:var(--hover)}
.name-card .toggle-icon{display:none}.card-toggle{gap:0}

/* Concise criteria without decorative numerals or a second statistics panel. */
.naming-criteria{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0}.naming-criteria h2{font-family:var(--sans);font-size:21px;letter-spacing:-.3px;margin:0 0 24px}.naming-criteria dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0}.naming-criteria dt{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:8px}.naming-criteria dd{font-size:14px;line-height:1.8;color:var(--muted);margin:0;max-width:290px}.deliverable-note{display:flex;flex-wrap:wrap;gap:6px 12px;border-top:1px solid var(--line);margin:26px 0 0;padding-top:18px;color:var(--muted);font-size:13px;line-height:1.8}
@media(max-width:640px){.naming-criteria{padding:28px 0}.naming-criteria h2{font-size:20px;margin-bottom:22px}.naming-criteria dl{grid-template-columns:1fr;gap:20px}.naming-criteria dd{max-width:none}.deliverable-note{font-size:12px;gap:4px 8px}}
@media print{.naming-criteria{display:none!important}}

/* Dedicated results page; hidden sections stay hidden at every breakpoint. */
[data-home-content][hidden],[data-account-content][hidden],#recovery-container[hidden]{display:none!important}
.account-heading h1{font-size:clamp(28px,4vw,40px);margin:5px 0}
