/* Approved Typography V1. Korean only; Lab keeps its original independent variants. */
@font-face{font-family:'ATML V1 Diphylleia';src:url('../assets/fonts/typography-sprint02/Diphylleia-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'ATML V1 Gowun';src:url('../assets/fonts/typography-sprint04/GowunDodum-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
html:not([data-typography]):lang(ko){--type-sans:'Malgun Gothic','Apple SD Gothic Neo',Meiryo,'Microsoft YaHei','Microsoft JhengHei','Segoe UI Symbol','Segoe UI Emoji',system-ui,sans-serif}
/* Sprint 04 F — Ancient Orbit. Numeric-only face never replaces prose digits globally. */


html:not([data-typography]):lang(ko){--type-orbit:'ATML V1 Gowun',var(--type-sans);--type-ancient-orbit:'ATML V1 Diphylleia',var(--type-sans);--type-data:'ATML V1 Gowun',var(--type-orbit);--type-head:var(--type-ancient-orbit);--type-body:var(--type-orbit);--type-ui:var(--type-orbit);--mono:var(--type-data)}
html:not([data-typography]):lang(ko) .app-shell,html:not([data-typography]):lang(ko) .app-shell *{font-family:var(--type-orbit)!important;font-weight:400!important;font-synthesis:none;letter-spacing:0}
html:not([data-typography]):lang(ko) .app-shell{font-size:17px;line-height:1.9}
html:not([data-typography]):lang(ko) .app-shell :is(h1,h2,.atlas-destination h2,.detail-hero h2,.center-caption>strong,.europa-node>strong,.star-node>strong,.cosmic-tile>strong,.destination-results strong,.atlas-breadcrumb a,.tree-row>a,.tree-row a>span:nth-child(2),.codex-tile strong,.signal-record .record-top>strong){font-family:var(--type-ancient-orbit)!important;line-height:1.65}
html:not([data-typography]):lang(ko) .app-shell :is(.home h1,.console-heading h1,.section-heading h1){font-size:38px;line-height:1.6}
html:not([data-typography]):lang(ko) .app-shell :is(.description,.scene,.scope,.entry p,.result-prose,.detail-body>.hint,.observation-selection>p:nth-of-type(n+2),.field-guide p,.field-guide li,.field-guide dd){font-size:17px;line-height:1.95}
html:not([data-typography]):lang(ko) .app-shell :is(button,.button,input,select,summary,.tag,.hint,.eyebrow,.registration,.prompt,.plate-top,.plate-bottom,.hero-label,.specimen-caption,footer,.motion,.switch-label,.switch-state,.stats span,.catalog-count,.catalog-result,.catalog-categories,.codex-number,.codex-tile strong,.codex-tile small,.codex-tile span,.observation-ring-guide,.observation-label,.observation-ring>span,.tree-row a,.tree-row small,.tree-row b,.tree-row b>small,.evidence,.atlas-map-note,.cosmic-tile strong,.cosmic-tile small,.cosmic-tile>span:not(.celestial-icon),.center-caption small,.atlas-summary>span,.research-score>span,.atlas-status-facts,.progress-label,.world,.world a,.record-snippet,.record time,.console-evidence,.console-evidence p,.node-evidence,.node-status,.node-state,.node-access,.progress-explanation,.scene-art-note,.guide-approval,.detail-hero p){font-size:14px!important;line-height:1.7}
html:not([data-typography]):lang(ko) .app-shell :is(.stats b,.atlas-summary b,.research-score>b,.progress-label strong,.observation-ring>span,.observation-selection>p:first-of-type,.tree-row b,.cosmic-tile>b,.research-score>span,.cosmic-pagination>span,.exploration-wait,.exploration-timer,.scan-timer,#presentation-percent,.record time,.codex-number,.guide-number){font-family:var(--type-data)!important;font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1}
html:not([data-typography]):lang(ko) .app-shell :is(.tree-row b small,.cosmic-tile>b small){font-family:var(--type-orbit)!important}
html:not([data-typography]):lang(ko) .app-shell :is(.stats b,.atlas-summary b,.research-score>b){font-size:25px;line-height:1.4}
html:not([data-typography]):lang(ko) .app-shell .observation-selection>p:first-of-type{font-size:14px;line-height:1.8}
html:not([data-typography]):lang(ko) .app-shell .observation-option{height:auto;min-height:94px;padding:6px 2px;gap:5px}
html:not([data-typography]):lang(ko) .app-shell .observation-label{min-height:2.8em}
html:not([data-typography]):lang(ko) .app-shell .tree-row{padding-block:3px}
html:not([data-typography]):lang(ko) .app-shell :is(.tree-row small,.tree-row a>span:nth-child(2)){white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
html:not([data-typography]):lang(ko) .app-shell footer :is(div,p,span){font-size:14px;line-height:1.8}
html:not([data-typography]):lang(ko) .app-shell footer>div{flex-wrap:wrap}
@media(max-width:700px){
 html:not([data-typography]):lang(ko) .app-shell :is(.home h1,.console-heading h1,.section-heading h1){font-size:30px;line-height:1.65}
 html:not([data-typography]):lang(ko) .app-shell .atlas-destination h2{font-size:24px}
 html:not([data-typography]):lang(ko) .app-shell header nav{gap:10px}
 html:not([data-typography]):lang(ko) .app-shell .field-guide h1{font-size:30px}
 html:not([data-typography]):lang(ko) .app-shell .field-guide h2{font-size:23px}
}

/* F-Compact — additive density comparison; the original F rules stay untouched. */
html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell{line-height:1.58}
html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell :is(p,li,dd,button,.button,input,select,summary,nav,.hint,.tag,.observation-label,.guide-tags,.stats span){letter-spacing:-.025em;line-height:1.58}
html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell :is(button,.button,input,select,summary,nav button){line-height:1.5}
html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell :is(h1,h2,.home h1,.console-heading h1,.section-heading h1,.atlas-destination h2,.detail-hero h2,.center-caption>strong,.star-node>strong,.cosmic-tile>strong){letter-spacing:0;line-height:1.35!important}
html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell .home h1{margin-bottom:14px}
html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell .description{margin-bottom:18px;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell .home>.intro>.actions{margin-top:18px}
html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell .mission-objective{margin-block:12px}
html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell .mission-objective p{margin-block:4px}
html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell .field-guide :is(p,li,dd){margin-bottom:12px;text-wrap:pretty}
html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell .home :is(.hint,.scope){text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell :is(.stats b,.atlas-summary b,.research-score>b,.progress-label strong,.observation-ring>span,.observation-selection>p:first-of-type,.tree-row b,.cosmic-tile>b,.research-score>span,.cosmic-pagination>span,.exploration-wait,#presentation-percent,.record time,.codex-number,.guide-number){letter-spacing:0}

/* Sprint 05 G — reuse Compact geometry with a full-cmap Gowun face, no Orbit tracking. */

html:not([data-typography]):not([data-typography-density]):lang(ko){--type-orbit:'ATML V1 Gowun',var(--type-sans);--type-data:'ATML V1 Gowun',var(--type-sans)}
html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell,html:not([data-typography]):not([data-typography-density]):lang(ko) .app-shell *{letter-spacing:normal!important}