:root{--ink:#191f28;--muted:#515d6b;--line:#d9dfe7;--paper:#f7f9fc;--blue:#194fc9;font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",system-ui,sans-serif;color:var(--ink);line-height:1.55}
*{box-sizing:border-box}
body{margin:0;overflow-wrap:anywhere}
a{color:var(--blue);text-underline-offset:.22em}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
button,input,textarea{font:inherit}
button{border:1px solid #aab4c2;color:var(--ink);background:white;border-radius:5px;padding:.5rem .8rem;cursor:pointer}
button:hover:enabled{background:#f0f4fb}
button.solid{color:white;background:var(--blue);border-color:var(--blue);font-weight:650}
button.solid:hover:enabled{background:#123e9d}
button:disabled{opacity:.55;cursor:default}
[hidden]{display:none!important}
.sr{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.mast,.desk{width:min(100% - 2.5rem,1320px);margin:auto}
.mast{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);min-height:4rem}
.mast a,.brand{text-decoration:none;font-weight:650}
.brand{color:var(--ink);font-size:1.4rem;letter-spacing:-.07em}
.brand span,.external{color:var(--blue)}
.heading{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:baseline;margin:2rem 0 .4rem}
.heading h1{margin:0;font-size:clamp(1.8rem,4vw,2.65rem);letter-spacing:-.055em}
.heading p,#status,.release p{color:var(--muted);margin:.35rem 0}
#status{min-height:1.6rem}
.workspace{display:grid;grid-template-columns:minmax(18rem,.82fr) minmax(24rem,1.4fr);gap:clamp(1.5rem,4vw,4rem);margin:1.4rem 0 4rem;align-items:start}
fieldset{border:0;padding:0;margin:0;min-inline-size:0}
.studio h2{font-size:1.08rem;margin:1.85rem 0 .8rem;border-top:1px solid var(--line);padding-top:1.15rem}
fieldset>h2:first-of-type{margin-top:0}
label{display:block;font-weight:620;font-size:.88rem;margin:.8rem 0}
input:not([type=checkbox]),textarea{display:block;width:100%;margin-top:.28rem;border:1px solid #aeb9c8;border-radius:4px;padding:.54rem .6rem;color:var(--ink);background:#fff;font-weight:400}
input:read-only{background:var(--paper)}
textarea{resize:vertical}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
small,.sub-link{display:block;margin:.5rem 0;color:var(--muted);font-size:.85rem}
.link-row{padding:.4rem 0 .8rem;border-bottom:1px solid var(--line);margin-bottom:.8rem}
.work-option{display:flex;align-items:flex-start;gap:.65rem;margin:0;padding:.55rem 0;border-bottom:1px solid var(--line);font-weight:400}
.work-option input{flex:none;margin:.3rem 0 0;accent-color:var(--blue)}
#work-list{max-height:20rem;overflow:auto}
.form-actions{margin-top:1rem}
.proof{position:sticky;top:.75rem;min-width:0;background:var(--paper);border:1px solid var(--line);padding:clamp(.8rem,2vw,1.5rem)}
.proof-head,.release-actions{display:flex;gap:.8rem;justify-content:space-between;align-items:center;flex-wrap:wrap}
.proof-head h2{border:0;padding:0;margin:0}
iframe{display:block;width:100%;height:clamp(22rem,58vh,52rem);margin:1rem 0;border:1px solid var(--line);background:white}
.release{font-size:.9rem}
.release-actions{justify-content:flex-start;margin-top:.8rem}
/* Public pages and the sandboxed draft use the same layout. */
.folio{color:#17202b;word-break:keep-all}
.folio main,.folio footer,.folio-bar{width:min(calc(100% - clamp(2.5rem,8vw,7rem)),1160px);margin-inline:auto}
.folio-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.4rem;border-bottom:1px solid var(--line)}
.folio-bar nav,.folio .intro nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.88rem}
.folio-bar nav a{text-decoration:none;color:var(--muted);font-weight:600}
.folio-bar nav a:hover,.folio li .work-link:hover{color:var(--blue)}
.folio .intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(2rem,6vw,5rem);align-items:start;padding-block:clamp(2.25rem,5vw,4.5rem)}
.folio h1{font-size:clamp(2.4rem,5vw,4.1rem);line-height:1.15;letter-spacing:-.07em;margin:0}
.folio .bio{white-space:pre-line;max-width:54ch;font-size:1.07rem;color:#394756;margin:1rem 0}
.folio .intro nav{margin-top:1.4rem}
.identity{display:flex;align-items:flex-start;gap:clamp(.9rem,2vw,1.65rem);max-width:25rem;padding-top:.4rem}
.portrait{width:clamp(6.5rem,11vw,10rem);aspect-ratio:4/5;object-fit:cover;background:var(--paper)}
.identity dl{margin:0;min-width:7rem;max-width:13rem}
.identity dl div{border-top:1px solid var(--line);padding:.45rem 0 .7rem}
.identity dt,.topic-list h2{font-size:.76rem;font-weight:650;color:var(--muted);margin:0}
.identity dd{margin:.2rem 0 0;font-size:.96rem;font-weight:600}
.topic-list{margin-top:1.25rem}
.topic-list ul{display:flex;flex-wrap:wrap;gap:.35rem;margin:.4rem 0 0;padding:0;list-style:none}
.topic-list li{padding:.16rem .55rem;font-size:.85rem;border:1px solid var(--line);background:var(--paper)}
.work-group{display:grid;grid-template-columns:minmax(7rem,.22fr) minmax(0,1fr);column-gap:2rem;border-top:1px solid #aeb8c5;padding:1.55rem 0 1.9rem;scroll-margin:1rem}
.work-group h2{font-size:clamp(1.18rem,2vw,1.55rem);letter-spacing:-.035em;margin:.35rem 0}
.work-group ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.75rem}
.work-group li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;border-bottom:1px solid var(--line);padding:.48rem 0}
.work-group h3{margin:0;font-size:1rem;line-height:1.45;font-weight:600}
.work-link{display:grid;place-items:center;width:2rem;height:2rem;color:var(--blue);border:1px solid var(--line);text-decoration:none}
.work-link:hover{background:var(--paper);border-color:var(--blue)}
.folio footer{border-top:1px solid var(--line);padding:1.2rem 0 2rem;font-size:.85rem}
@media(max-width:820px){
  .folio .intro{grid-template-columns:minmax(0,1fr);gap:1.2rem}
  .identity{width:auto;max-width:100%;padding:0}
  .identity dl{max-width:none}
  .work-group{grid-template-columns:1fr;padding:1rem 0 1.4rem}
  .work-group ul{grid-template-columns:1fr}
  .folio-bar{flex-wrap:wrap;padding:.65rem 0;gap:.5rem}
}
@media(max-width:800px){.workspace{display:flex;flex-direction:column}.workspace>*{width:100%}.proof{position:static}.heading{margin-top:1.3rem}}
@media(max-width:400px){.pair{grid-template-columns:1fr;gap:0}}

.folio .profile-link { display:inline-flex; align-items:center; gap:.4rem }
.folio .profile-link a { display:inline-grid; place-items:center; width:1.5rem; height:1.5rem; border:1px solid var(--line); text-decoration:none }
.folio .event-photo{margin:0 0 1.5rem;display:flex;gap:1.25rem;align-items:center;border-top:1px solid var(--line);padding-top:1.25rem}
.event-photo img{display:block;max-width:min(100%,24rem);max-height:13rem;object-fit:contain}
.event-photo figcaption{color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}
.event-photo .work-link{display:inline-grid;vertical-align:middle;margin-left:.4rem}
@media(max-width:650px){.folio .event-photo{align-items:flex-start;flex-direction:column;gap:.5rem}}
