:root{--ink:#174c48;--soft:#597572;--pink:#f5b9aa;--cream:#fffaf0;--line:#d0ded6;--yellow:#f4dd88}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:17px/1.7 system-ui,sans-serif;overflow-wrap:anywhere;background:radial-gradient(ellipse at 20% 0,#fae4d4 0,transparent 50%),repeating-linear-gradient(135deg,#f8f6ea 0,#f8f6ea 20px,#f4f3e7 20px,#f4f3e7 21px)}a{color:inherit;text-underline-offset:4px}button,a,summary,textarea{touch-action:manipulation}.topline{padding:12px 5vw;background:var(--ink);color:var(--cream);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}header{max-width:1260px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:27px 35px}.brand{display:flex;gap:17px;align-items:center;text-decoration:none;line-height:1.05;font-weight:900;letter-spacing:.02em;font-size:23px}.brand img{width:85px;height:auto}.brand b{color:#c65b38}nav{display:flex;gap:12px;align-items:center}nav summary{list-style:none;border:1px solid var(--ink);border-radius:24px;padding:12px 18px;cursor:pointer;font-size:12px;font-weight:700}nav summary:after{content:' ▾'}details{position:relative}nav details>div{position:absolute;inset-inline-start:0;top:54px;min-width:235px;border:1px solid var(--ink);border-radius:15px;background:var(--cream);box-shadow:5px 6px 0 #174c4822;padding:10px;z-index:50}.languages>div{inset-inline-start:auto;inset-inline-end:0}nav details a{display:block;text-decoration:none;padding:7px 12px;border-radius:8px;font-size:13px}nav details a:hover{background:var(--pink)}button,.button{display:inline-block;border:1px solid var(--ink);border-radius:25px;background:transparent;color:var(--ink);padding:12px 19px;font:750 12px/1.4 system-ui;cursor:pointer;text-decoration:none;margin:6px 6px 6px 0}.coral,button[type=submit]{background:var(--yellow);box-shadow:3px 4px 0 var(--ink)}button:hover,.button:hover{background:#f4dd88}.skip{position:absolute;top:0;left:10px;transform:translateY(-300%)}.skip:focus{transform:none;z-index:99;background:white;padding:15px}main{max-width:1240px;margin:auto;padding:0 35px}.hero{display:grid;grid-template-columns:1.4fr .85fr;gap:50px;align-items:center;background:var(--pink);border:1px solid var(--ink);border-radius:42px;padding:50px;margin:5px 0 40px;box-shadow:9px 10px 0 #174c4818}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}h1{font:850 clamp(38px,4.5vw,65px)/1.08 system-ui,sans-serif;letter-spacing:-.055em;margin:22px 0}h2{font:750 27px/1.25 system-ui,sans-serif;letter-spacing:-.035em;margin:0 0 15px}.deck{font-size:19px;line-height:1.5}.micro{font-size:11px}.hero-art{position:relative;height:270px;direction:ltr}.practice-orbit{height:225px;width:225px;border:1px solid var(--ink);background:var(--cream);border-radius:50%;position:absolute;top:0;left:0;padding:25px;text-align:center;transform:rotate(-12deg)}.practice-orbit span{font-size:10px;font-weight:800;letter-spacing:.2em}.practice-orbit b{display:block;font:120px/1 system-ui;font-weight:300}.practice-orbit i{position:absolute;bottom:18px;left:95px;font-style:normal;font-size:11px}.practice-block{position:absolute;width:140px;height:145px;background:var(--yellow);border:1px solid var(--ink);border-radius:17px;bottom:0;right:0;transform:rotate(12deg);padding:20px;line-height:1.1;font-size:12px;font-weight:800}.practice-block strong{display:block;font-size:50px;line-height:1.1}.practice-block small{font-size:9px;letter-spacing:.08em}.layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:60px;padding-bottom:50px}.editorial{font-size:10px;color:var(--soft);margin:10px 0 30px}.chapter{position:relative;margin:0 0 23px;background:var(--cream);border:1px solid var(--line);border-radius:22px;padding:29px 28px 28px 76px}.chapter .num{position:absolute;top:30px;left:24px;width:30px;height:30px;background:var(--yellow);border:1px solid var(--ink);border-radius:50%;text-align:center;padding-top:4px;font-size:10px;font-weight:800}.chapter p{margin:0 0 15px}.chapter .source{font-size:11px;color:var(--soft)}.app-card{border:1px solid var(--ink);padding:25px;border-radius:24px;background:#deebe2}.app-card>img:first-child{border-radius:12px}.app-card h2{font-size:25px;margin:17px 0}.screenshot{display:block;width:110px;height:auto;margin:24px auto}.badges{display:flex;gap:7px}.badges img{width:100%;height:auto;max-width:140px}.app-card p,.app-card small{font-size:10px;line-height:1.6}.rail-nav{margin-top:28px}.rail-nav a{display:block;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px;text-decoration:none}.desk{background:#dcebe0;border:1px solid var(--ink);border-radius:24px;padding:28px;margin:20px 0 30px}.desk p{font-size:13px}.term-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.desk label{display:block;min-width:0;font-size:13px;font-weight:700}.desk textarea{display:block;resize:vertical;min-height:95px;width:100%;max-width:100%;margin:10px 0 20px;padding:12px;background:var(--cream);border:1px solid #9eb4a8;border-radius:10px;font:15px/1.5 system-ui;color:var(--ink)}.card-result{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.card-result:not(:empty){border-top:1px solid #a7bdaf;margin-top:24px;padding-top:20px}.translation{background:#efe5bb;border:1px solid var(--line);padding:17px;border-radius:14px;font-size:12px}.next{padding:20px 0}.nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nav-grid a{font-size:12px;padding:14px 17px;border-radius:20px;text-decoration:none;border:1px solid var(--ink);background:#fffaf0}.end-app{margin:20px 0 65px;border:1px solid var(--ink);border-radius:40px;padding:40px;background:var(--yellow);text-align:center}.end-app h2{font-size:37px}.end-app .button{background:var(--ink);color:var(--cream);box-shadow:none}.end-app p:last-child{font-size:11px}footer{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#d4e5d9;border-top:1px solid var(--ink);padding:45px max(35px,calc((100vw - 1170px)/2)) 95px}footer h2{font-size:20px}footer p,footer a{font-size:12px}.sticky{position:fixed;inset-inline:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:11px 25px;background:var(--ink);color:var(--cream);z-index:40;font-size:11px}.sticky a{font-weight:750;white-space:nowrap}button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #1769e8;outline-offset:3px}[dir=rtl] .chapter{padding-left:28px;padding-right:76px}[dir=rtl] .chapter .num{left:auto;right:24px}@media(max-width:1000px){.hero{gap:25px;padding:35px}.hero-art{height:240px}.practice-orbit{width:190px;height:190px}.practice-orbit b{font-size:98px}.practice-orbit i{left:78px}.practice-block{width:115px;height:125px;padding:15px}.layout{gap:30px;grid-template-columns:minmax(0,1fr) 250px}.chapter{padding:25px 23px 25px 62px}.chapter .num{left:18px}nav{gap:7px}nav summary{padding:10px 13px}}@media(max-width:700px){header{display:block;padding:20px}.brand{font-size:20px}.brand img{width:75px}nav{margin-top:22px;flex-wrap:wrap;gap:8px}nav summary{font-size:11px;padding:10px 12px}nav .button{margin:0;font-size:11px}nav details>div{min-width:0;width:min(250px,80vw)}main{padding:0 16px}.hero{display:block;border-radius:25px;padding:26px 23px;margin:8px 0 30px;box-shadow:5px 6px 0 #174c4818}h1{font-size:43px}.deck{font-size:17px}.hero .button{font-size:11px;padding:12px 15px}.hero-art{height:165px;max-width:255px;margin:25px auto 0}.practice-orbit{width:150px;height:150px;padding:18px}.practice-orbit b{font-size:75px}.practice-orbit span{font-size:8px}.practice-orbit i{font-size:9px;left:65px;bottom:10px}.practice-block{width:100px;height:112px;padding:15px;right:10px;bottom:0;font-size:10px}.practice-block strong{font-size:38px}.practice-block small{font-size:7px}.layout{display:flex;flex-direction:column;gap:25px;padding-bottom:25px}.chapter{padding:60px 22px 20px;margin-bottom:18px;border-radius:19px}.chapter .num{top:20px;left:22px;width:28px;height:28px}.chapter h2{font-size:25px}.chapter p{font-size:16px}.chapter .source{font-size:11px}.desk{padding:24px 18px;border-radius:19px}.term-grid{grid-template-columns:1fr;gap:0}.nav-grid{grid-template-columns:1fr}.app-card{display:grid;grid-template-columns:1fr 100px;gap:12px;padding:22px}.app-card>img:first-child{width:45px;height:45px}.app-card h2{grid-column:1;font-size:24px;margin:0}.app-card .screenshot{grid-column:2;grid-row:1/4;width:85px;margin:0 auto}.badges{grid-column:1/3;max-width:290px}.app-card p,.app-card small{grid-column:1/3;margin:0}.rail-nav{display:none}.end-app{padding:30px 20px;border-radius:25px;margin-bottom:35px}.end-app h2{font-size:30px}footer{display:block;padding:35px 22px 100px}footer>div+div{margin-top:35px}.sticky{font-size:10px;padding:10px 16px}.sticky span{line-height:1.3}[dir=rtl] .chapter{padding:60px 22px 20px}[dir=rtl] .chapter .num{right:22px;left:auto}}@media print{nav,.hero-art,.rail,.sticky,footer,.end-app{display:none}body{background:white}.layout{display:block}.chapter,.desk{break-inside:avoid}.hero{background:white;box-shadow:none}}

/* Owner-selected app card, original palette retained. */
.app-card{background:#fffef9;color:var(--ink);border:1px solid #adb3a1;border-radius:20px;padding:24px;box-shadow:0 5px 20px #343d250a}.app-card>img:first-child{width:64px;height:64px}.app-card h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.02em}.app-card .screenshot{border-radius:15px}.app-card .app-brand{font:800 24px/1.2 system-ui;margin:12px 0 0}.app-card .app-byline{font-size:12px;color:var(--muted);margin-top:4px}.badges{flex-wrap:wrap}.badges img{width:115px;max-width:100%}
@media(max-width:700px){.app-card{display:grid;grid-template-columns:minmax(0,1fr) 95px;gap:10px;padding:22px}.app-card .app-brand{grid-column:1;grid-row:1;font-size:22px;margin:0;padding-inline-start:55px;min-height:45px;display:flex;align-items:center}.app-card>img:first-child{grid-column:1;grid-row:1;width:45px;height:45px}.app-card .app-byline{grid-column:1;margin:0}.app-card h2{grid-column:1;margin:0;font-size:26px}.app-card .screenshot{grid-column:2;grid-row:1/4;width:90px}.app-card .badges{grid-column:1/3;flex-wrap:nowrap}.app-card p,.app-card small{grid-column:1/3}.app-card .app-byline{grid-column:1}.badges img{width:122px}.app-card small{font-size:10px}.desk textarea{min-height:100px}}

@media(max-width:700px){.app-card{display:block}.app-card>img:first-child{float:inline-start;width:45px;height:45px}.app-card .app-brand{display:block;white-space:nowrap;padding-inline-start:55px;min-height:45px;line-height:45px}.app-card .app-byline{clear:both;min-height:0;margin:8px 0}.app-card h2{font-size:24px;margin:14px 0}.app-card .screenshot{display:block;width:100px;margin:16px auto}.app-card .badges{display:flex;flex-wrap:nowrap;margin:16px 0}}

/* Mobile dropdowns share the header's full-width containing block. */
@media(max-width:900px){
 header{position:relative;z-index:120}
 header nav{position:static}
 header nav details{position:static}
 header nav details>div{position:absolute!important;left:12px!important;right:12px!important;inset-inline:12px!important;top:100%!important;width:auto!important;min-width:0!important;max-width:calc(100vw - 24px)!important;max-height:min(65vh,520px);overflow:auto;overflow-wrap:anywhere;white-space:normal;text-align:start;z-index:121}
 header nav details>div a{white-space:normal;overflow-wrap:anywhere}
}

@font-face{font-family:PawlineNavKorean;src:url(/assets/nav-korean-autonym.otf) format("opentype");font-style:normal;font-weight:100 900;font-display:swap}header nav a[lang=ko]{font-family:PawlineNavKorean,Arial,sans-serif}
