:root{--paper:#faf7ed;--ink:#253b2c;--olive:#4b643e;--gold:#efba48;--wine:#8a3f34;--line:#cecdb7;--white:#fffef8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.75}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--wine)}button,input,textarea,select{font:inherit}button,a.button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--wine);outline-offset:4px}.skip{position:absolute;inset-inline-start:1rem;top:-5rem;padding:.5rem;background:var(--white);z-index:100}.skip:focus{top:1rem}header{border-bottom:1px solid var(--line);padding:1.2rem 4vw;display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--paper)}.brand{display:flex;gap:.7rem;align-items:center;text-decoration:none;font-weight:800;font-size:1.35rem;line-height:1.15}.brand small{display:block;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;margin-top:.4rem}.brand img{border-radius:9px}nav{display:flex;align-items:center;gap:1.5rem;font-size:.85rem;font-weight:650}nav a{text-decoration:none}details{position:relative}summary{cursor:pointer}details>div{position:absolute;inset-inline-end:0;min-width:230px;background:var(--white);border:1px solid var(--line);padding:1rem;box-shadow:4px 4px 0 var(--gold);z-index:40}details>div a{display:block;padding:.35rem}.menu{display:none}main.wide{max-width:1320px;margin:auto;padding:0 4vw}main.reading{max-width:850px;margin:auto;padding:4rem 1.5rem 5rem}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:6vw;align-items:center;padding:5rem 0 4rem}.eyebrow{font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;font-weight:800;color:var(--olive)}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,6vw,6rem);font-weight:800;margin:1.2rem 0 1.5rem}h1 em{font-style:normal;display:block;color:var(--olive)}h2{font-size:clamp(1.8rem,3vw,3rem);margin:1rem 0 1.5rem}h3{font-size:1.35rem}.lead{font-size:1.2rem;max-width:45rem}.actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:2rem 0}.button,button{border:1px solid var(--ink);background:var(--ink);color:var(--white);text-decoration:none;padding:.8rem 1.2rem;font-weight:750;font-size:.9rem}.button.outline,button.outline{background:transparent;color:var(--ink)}.hero-art{border:1px solid var(--line);background:var(--white);box-shadow:12px 12px 0 var(--gold);padding:2rem;transform:rotate(2deg)}.hero-art img{display:block;width:100%;height:auto}.art-label{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.8rem;border-top:1px dashed var(--line);padding-top:1rem;margin-bottom:0}.notice{padding:1.25rem 1.5rem;border-inline-start:5px solid var(--wine);background:#f6e6da;font-size:.95rem;margin:2rem 0}.split-section{display:grid;grid-template-columns:.6fr 1fr;gap:5vw;padding:4rem 0;border-top:1px solid var(--line)}.split-section .number{font-size:4rem;line-height:1;color:var(--olive);font-weight:850;margin:0}.contrast-grid,.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.panel,.guide{padding:1.5rem;background:var(--white);border:1px solid var(--line)}.panel.gold{background:var(--gold)}.guide{text-decoration:none}.guide span{font:700 .75rem ui-monospace,monospace;color:var(--olive)}.guide h3{margin-top:.5rem}.guide p{font-size:.95rem}.guide:hover{border-color:var(--ink)}section{scroll-margin-top:2rem}.reading section{margin:3rem 0}.reading h1{font-size:clamp(2.6rem,5vw,4.5rem)}.sources{font-size:.8rem;color:var(--olive);padding:.7rem 0;border-top:1px dashed var(--line)}.sources a{display:block}.contents{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);padding:1rem;gap:.5rem;margin:2rem 0}.crumb,.byline{font-size:.8rem}.app-card{display:grid;grid-template-columns:1fr 210px;align-items:center;gap:2rem;padding:2.5rem;background:#edf0e3;border:1px solid #bec6ae;margin:3rem 0}.app-identity{display:flex;align-items:center;gap:.75rem}.app-identity img{border-radius:10px}.app-card .product{width:100%;height:auto;max-width:210px;justify-self:center}.app-card h2{font-size:2.2rem}.badges{display:flex;flex-wrap:wrap;gap:.5rem}.badges img{display:block;max-width:100%;height:auto}.small{font-size:.75rem;line-height:1.6}.journal{border-block:1px solid var(--line);padding:2rem 0;margin:3rem 0}footer{background:var(--ink);color:var(--paper);padding:3rem 5vw 6rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem}footer a{display:block}footer .small{grid-column:1/-1;max-width:750px}.sticky{position:fixed;inset-inline-end:1rem;bottom:1rem;background:var(--gold);color:var(--ink);border:1px solid var(--ink);padding:.65rem 1rem;font-size:.8rem;font-weight:800;text-decoration:none;z-index:50}label{display:block;font-weight:650;font-size:.9rem;margin:1rem 0}input,textarea,select{display:block;width:100%;border:1px solid var(--olive);background:var(--white);color:var(--ink);padding:.7rem;margin-top:.4rem;border-radius:0}textarea{min-height:110px;resize:vertical}fieldset{border:1px solid var(--line);margin:1.5rem 0;padding:1rem 1.25rem}legend{font-size:1.1rem;font-weight:800;padding:0 .5rem}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--white);border:1px solid var(--line);padding:1.5rem;font-size:.9rem;line-height:1.7}.related{display:flex;flex-direction:column;gap:.6rem}.tool-status{border-inline-start:3px solid var(--gold);padding-inline-start:1rem}@media(max-width:800px){header{padding:1rem;gap:1rem}.brand{font-size:1.15rem}.menu{display:block;background:transparent;color:var(--ink);padding:.45rem .7rem}header nav{display:none;position:absolute;top:75px;inset-inline:1rem;z-index:60;background:var(--white);border:1px solid var(--line);padding:1rem;flex-direction:column;align-items:flex-start;gap:1rem}header nav.open{display:flex}details>div{position:static;box-shadow:none;border:0;padding:.5rem}main.wide{padding:0 1.25rem}.hero{grid-template-columns:1fr;padding:3rem 0;gap:2.5rem}h1{font-size:clamp(2.8rem,11vw,4.8rem)}.hero-art{margin:.5rem .75rem 1rem .25rem;padding:1.5rem}.split-section{grid-template-columns:1fr;gap:1rem;padding:3rem 0}.split-section .number{font-size:2.7rem}.contrast-grid,.guide-grid{grid-template-columns:1fr}.app-card{grid-template-columns:1fr;padding:1.5rem;gap:2rem}.app-card .product{max-width:185px}.app-card h2{font-size:1.8rem}.reading h1{font-size:clamp(2.5rem,10vw,4rem)}footer{grid-template-columns:1fr;padding:2rem 1.25rem 6rem}.actions{flex-direction:column;align-items:stretch}.actions>*{text-align:center}fieldset{padding:.75rem}.lead{font-size:1.1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@font-face{font-family:RollKorean;src:url('/assets/noto-sans-kr-site28.woff2') format('woff2');font-weight:100 900;font-display:swap}html[lang=ko] body{font-family:RollKorean,system-ui,sans-serif}html[dir=rtl] .hero-art{transform:rotate(-2deg)}html[dir=rtl] h1{letter-spacing:0}
h1,h2,h3,p,a,legend,label{overflow-wrap:anywhere;hyphens:auto}fieldset{min-inline-size:0}select{max-width:100%}

h1,h2,h3,a,button,summary,legend,label{overflow-wrap:anywhere;hyphens:auto}fieldset{min-inline-size:0}
html[lang=ko] .art-label,html[lang=ko] pre,html[lang=ko] .guide span{font-family:RollKorean,system-ui,sans-serif}html[lang=ko] h1,html[lang=ko] h2,html[lang=ko] h3{word-break:keep-all;overflow-wrap:break-word}p{overflow-wrap:anywhere}select{max-width:100%}

/* Mobile nav containment: inline accordion panels stay within the full nav row. */
@media(max-width:800px){
header nav{min-width:0;max-width:100%;box-sizing:border-box;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:12px}
header nav details{position:static;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
html header nav details>div{position:static;inset:auto;width:100%;min-width:0;max-width:100%;box-sizing:border-box;max-height:none;overflow:visible}
header nav a,header nav summary{max-width:100%;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
}

header nav a[lang=ko]{font-family:RollKorean,Arial,sans-serif}
