:root{font-size:14px;--start:#101722;--end:#262037;--foot:#10131d;--accent:#dbbc82;--ink:#f4f1ea;--muted:#b8bac6;--surface:#1b2332}*{box-sizing:border-box}body{margin:0;background:linear-gradient(130deg,var(--start),var(--end));color:var(--ink);font-family:Inter,"Noto Sans TC","PingFang TC",sans-serif;line-height:1.8;min-height:100vh}button,a,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:1px solid #797b8566;background:transparent;border-radius:6px;padding:.6rem 1rem}button:hover,a:hover{color:var(--accent);border-color:var(--accent)}a{color:inherit;text-decoration:none}header{display:flex;align-items:center;gap:2rem;padding:1.5rem 4vw;border-bottom:1px solid #9993;background:#111723;color:#f4f1ea;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:1rem;font-family:Georgia,serif;font-size:2.4rem;color:#dbbc82}.brand span{font-family:Arial,sans-serif;font-size:.85rem;letter-spacing:.16em;color:#fff}.brand small{display:block;font-size:.72rem;letter-spacing:.15em;color:#a6adbb}nav{display:flex;gap:1.8rem;flex:1;justify-content:center;font-size:.95rem}nav a.active{color:#dbbc82}main{max-width:1320px;padding:0 5vw 6rem;margin:auto;min-height:72vh}.eyebrow{font-size:.78rem;letter-spacing:.22em;color:var(--accent);text-transform:uppercase}.hero{padding:6rem 0 3rem;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:4rem}.hero h1{font-size:clamp(2.7rem,5vw,4.7rem);line-height:1.25;letter-spacing:-.03em;margin:1.2rem 0 1.6rem;font-weight:500}.hero h1 em{color:var(--accent);font-style:normal}.lead{font-size:1.15rem;color:var(--muted);max-width:650px}.primary{background:var(--accent);color:#19202b!important;border:0}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.actions a{display:inline-block;padding:.7rem 1.4rem;border-radius:4px;border:1px solid #9996}.architecture{aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid #dbbc8233;border-radius:50%;max-width:380px;width:100%;margin:auto}.architecture:before{content:'';position:absolute;inset:15%;border:1px dashed #dbbc8255;border-radius:50%}.core{background:#202736;border:1px solid #dbbc82;color:#fff;text-align:center;padding:1.8rem;border-radius:50%;font-size:1.3rem;z-index:1}.core small{display:block;color:#dbbc82;font-size:.7rem;letter-spacing:.1em}.orbit{position:absolute;background:#202736;color:#f2eadb;border:1px solid #dbbc8244;padding:.5rem 1rem;border-radius:30px}.o1{top:-1rem}.o2{right:-1rem;top:45%}.o3{bottom:-1rem}.o4{left:-1rem;top:45%}.section-title{display:flex;align-items:baseline;justify-content:space-between;margin:3rem 0 1.5rem;border-top:1px solid #9994;padding-top:1.5rem}.section-title h2{font-weight:500;font-size:1.7rem;margin:0}.section-title span{color:var(--muted);font-size:.85rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.card{background:var(--surface);border:1px solid #9993;border-radius:8px;padding:1.7rem;color:var(--ink)}.card .num{color:var(--accent);font-family:Georgia,serif;font-size:1.8rem}.card h3{font-size:1.2rem;margin:.6rem 0}.card p{color:var(--muted);margin:.7rem 0}.card a{color:var(--accent)}.page-head{padding:4rem 0 2rem;max-width:850px}.page-head h1{font-size:clamp(2.4rem,4vw,3.6rem);font-weight:500;line-height:1.3;margin:1rem 0}.explorer{display:grid;grid-template-columns:300px 1fr;gap:2rem}.tabs{display:flex;flex-direction:column;gap:.6rem}.tabs button{text-align:left;padding:1rem;background:var(--surface)}.tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent)}.detail{background:var(--surface);border:1px solid #9993;border-radius:8px;padding:2.5rem;min-height:360px}.detail h2{font-size:1.8rem;margin:.2rem 0 1rem;font-weight:500}.detail h3{color:var(--accent);font-size:1rem;margin-top:1.5rem}.detail p{color:var(--muted)}.tag{display:inline-block;border:1px solid #dbbc8255;border-radius:20px;padding:.2rem .8rem;font-size:.8rem;color:var(--accent)}.quote{border-left:2px solid var(--accent);padding:1rem 1.5rem;font-size:1.3rem;margin:2rem 0}.two{grid-template-columns:1fr 1fr}.path{display:flex;gap:1rem;margin:2rem 0}.path a{flex:1;padding:1.5rem;background:var(--surface);border-top:2px solid var(--accent)}footer{background:var(--foot);padding:3rem 5vw;color:var(--footerInk,#eee)}footer small{display:block;max-width:950px;opacity:.7;margin-top:1rem;font-size:.75rem}dialog{max-width:540px;width:calc(100% - 32px);background:#f5f4f0;color:#172030;border:0;border-radius:12px;padding:2rem}dialog::backdrop{background:#0009}dialog label{display:flex;justify-content:space-between;align-items:center;margin:1rem 0;gap:1rem}dialog button{color:#172030}dialog select{max-width:180px}#toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);background:#f3e6c9;color:#172030;padding:.5rem 1.5rem;border-radius:5px;display:none}button:focus-visible,a:focus-visible{outline:3px solid #a5c7ff;outline-offset:4px}@media(max-width:1000px){header{flex-wrap:wrap;gap:1rem}nav{order:3;width:100%;justify-content:flex-start;overflow:auto;white-space:nowrap;gap:1.5rem}.hero{gap:2rem}.architecture{width:85%}.grid{grid-template-columns:1fr 1fr}.explorer{grid-template-columns:230px 1fr}}@media(max-width:650px){header{padding:1rem 5vw}.brand{flex:1}.hero{grid-template-columns:1fr;padding-top:3rem}.architecture{margin:2rem auto;width:75%;max-width:270px}.grid,.two,.explorer{grid-template-columns:1fr}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.tabs button{font-size:.85rem;padding:.7rem}.detail{padding:1.5rem}.path{flex-direction:column}.section-title{display:block}.hero h1{font-size:2.9rem}.page-head{padding-top:2.5rem}}
.primary{background:#dbbc82}dialog{max-height:90vh;overflow:auto}#calc{margin-top:2rem}#calc label{display:block} .tag{max-width:100%;white-space:normal}
.bio-jump{display:flex;flex-wrap:wrap;gap:.8rem;padding:0 0 2rem}.bio-jump a{border-bottom:1px solid #9995;padding:.4rem .8rem}.bio-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #9994;border-bottom:1px solid #9994;margin-top:2rem;padding:1.5rem 0;gap:1rem}.bio-stats strong{display:block;font-family:Georgia,serif;font-weight:400;color:var(--accent);font-size:2.7rem}.bio-stats span{display:block;color:var(--muted);font-size:.92rem}.source-note{color:var(--muted);font-size:.85rem}.career-filters{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.5rem 0}.career-filters button[aria-pressed=true]{background:var(--accent);color:var(--surface);border-color:var(--accent)}.career-entry{border-bottom:1px solid #9994;padding:1rem 0}.career-entry summary{display:flex;gap:2rem;align-items:baseline;cursor:pointer;position:relative;padding-right:2rem}.career-entry summary:after{content:'＋';position:absolute;right:.5rem;color:var(--accent)}.career-entry[open] summary:after{content:'−'}.career-year{color:var(--accent);font-family:Georgia,serif;font-size:1.5rem;flex:0 0 155px}.career-entry small{display:block;font-size:.8rem;color:var(--muted)}.career-entry strong{font-weight:500;font-size:1.2rem}.career-entry p{color:var(--muted);margin:1rem 2rem 1rem 187px;max-width:800px}.career-entry summary:focus-visible,.bio-extra summary:focus-visible{outline:3px solid #a5c7ff;outline-offset:4px}.bio-extra{padding:1.5rem;margin-top:1.5rem;border:1px solid #9994;border-radius:8px}.bio-extra summary{cursor:pointer;color:var(--accent)}.bio-extra p{color:var(--muted)}#bio-overview,#bio-roles,#bio-expertise,#bio-timeline,#bio-education{scroll-margin-top:2rem}@media(max-width:650px){.bio-stats{grid-template-columns:1fr 1fr}.bio-stats strong{font-size:2.3rem}.career-entry summary{gap:1rem;align-items:flex-start}.career-year{flex:0 0 90px;font-size:1.1rem}.career-entry strong{font-size:1rem}.career-entry p{margin:1rem 0 1rem 106px}.bio-jump{gap:.4rem}.bio-jump a{font-size:.9rem}}
.career-period{display:grid;grid-template-columns:155px 1fr;gap:2rem;padding:1.6rem 0;border-bottom:1px solid #9994}.career-period h3{font-size:1.2rem;font-weight:500;margin:0 0 .6rem}.career-period p{color:var(--muted);margin:0;max-width:850px}.bpr-focus{margin-top:2rem;border-left:3px solid var(--accent);padding:1.7rem 2rem;background:var(--surface);border-radius:0 8px 8px 0}.bpr-focus h3{font-size:1.5rem;font-weight:500;margin:.8rem 0}.bpr-focus p{color:var(--muted);margin:0}@media(max-width:650px){.career-period{grid-template-columns:1fr;gap:.5rem}.bpr-focus{padding:1.3rem}}
.governance-focus{margin:1.5rem 0 1rem}.governance-focus p+p{margin-top:1rem}
#language-control{display:flex;align-items:center;gap:.5rem;color:#f4f1ea;font-size:.85rem;flex-shrink:0}#language-control select{max-width:165px;background:#1b2332;color:#f4f1ea;border:1px solid #797b8566;border-radius:6px;padding:.65rem .45rem}#language-label{font-size:.78rem}#language-status{color:var(--accent);text-align:center;padding:0 1rem}header{gap:1.2rem;flex-wrap:wrap}header nav{gap:1.3rem;flex-wrap:wrap;min-width:350px}#settings{flex-shrink:0}.tabs button{overflow-wrap:anywhere}.hero h1{overflow-wrap:normal;hyphens:none}html[lang=en] .hero h1,html[lang=de] .hero h1,html[lang=id] .hero h1{font-size:clamp(1.6rem,3.2vw,3.3rem)}.architecture .orbit{font-size:.9rem;max-width:48%;text-align:center;line-height:1.5}.architecture .core{max-width:65%}.section-title{gap:1rem}.card h3{overflow-wrap:anywhere}dialog .actions button{white-space:normal}@media(max-width:1000px){header nav{min-width:0;order:4;flex-basis:100%}#language-label{display:none}}@media(max-width:650px){#language-control{order:2}#settings{order:3}header .brand{flex-basis:100%}header nav{flex-wrap:nowrap}#language-control select{max-width:190px}.hero{gap:1rem}.architecture .core{font-size:1.1rem;padding:1.2rem}.architecture .core small{font-size:.6rem}.section-title{align-items:flex-start}}

/* Latin text wraps at word boundaries without automatic hyphenation. */
html:is([lang="en"],[lang="de"],[lang="id"]){hyphens:none;-webkit-hyphens:none;word-break:normal}
html:is([lang="en"],[lang="de"],[lang="id"]) .hero{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
html:is([lang="en"],[lang="de"],[lang="id"]) .hero h1{hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal;text-wrap:balance}
@media(max-width:900px){html:is([lang="en"],[lang="de"],[lang="id"]) .hero{grid-template-columns:minmax(0,1fr)}html:is([lang="en"],[lang="de"],[lang="id"]) .hero h1{font-size:clamp(1.6rem,5vw,3.1rem)}}
