:root{color:#172033;font-synthesis:none;--ink:#14213d;--seal:#9e2a2b;--line:#d9d9d4;--muted:#667085;--paper:#fff;--soft:#eeeee9;background:#f7f7f5;font-family:Inter,Pretendard,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #e0a458}h1,h2,h3,p{margin-top:0}h1,h2{color:var(--ink);font-family:Georgia,Noto Serif KR,serif}a{color:var(--ink);font-weight:700}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{letter-spacing:.14em;color:var(--seal);margin-bottom:.75rem;font-size:.76rem;font-weight:800}.primary,.secondary{border:1px solid var(--ink);border-radius:6px;min-height:48px;padding:0 1.25rem;font-weight:750}.primary{background:var(--ink);color:#fff}.primary:disabled{opacity:.55;cursor:wait}.secondary{color:var(--ink);background:#fff}.full{width:100%}.loading-screen{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;display:grid}.brand-mark,.wordmark span{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:1.5rem;display:grid}.auth-layout{background:var(--ink);grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);min-height:100vh;display:grid}.auth-intro{color:#d9dfec;align-self:center;padding:clamp(3rem,8vw,8rem)}.auth-intro h1{color:#fff;max-width:11ch;font-size:clamp(2.6rem,5vw,5.2rem);line-height:1.06}.auth-intro>p:last-child{max-width:34rem;font-size:1.12rem;line-height:1.8}.auth-panel{background:#fff;border-radius:10px;align-self:center;margin:2rem clamp(1.5rem,7vw,7rem) 2rem 0;padding:clamp(1.5rem,4vw,3rem)}.auth-tabs{border-bottom:1px solid var(--line);margin-bottom:2rem;display:flex}.auth-tabs button{min-height:48px;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;flex:1;font-weight:750}.auth-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--seal)}.auth-panel h2{font-size:1.8rem}.auth-panel label,.form-section label,.collaboration-form label{gap:.5rem;margin-bottom:1rem;font-weight:700;display:grid}.auth-panel input,.form-section input,.form-section textarea,.form-section select,.search input{color:#172033;background:#fff;border:1px solid #b9bbc0;border-radius:6px;width:100%;min-height:48px;padding:.75rem}.form-section textarea{resize:vertical;min-height:110px}.auth-panel form{gap:.35rem;display:grid}.form-message{border-left:4px solid var(--seal);background:#f6eee5;padding:.75rem;line-height:1.55}.privacy-note{color:var(--muted);margin:1.25rem 0 0;font-size:.88rem}.site-header{border-bottom:1px solid var(--line);z-index:20;background:#fff;align-items:center;gap:2rem;height:72px;padding:0 clamp(1rem,4vw,4rem);display:flex;position:sticky;top:0}.wordmark{color:var(--ink);letter-spacing:.05em;background:0 0;border:0;align-items:center;gap:.7rem;font-weight:850;display:flex}.wordmark span{width:34px;height:34px;font-size:1.15rem}.site-header nav{align-self:stretch;display:flex}.site-header nav button,.account button{color:#475467;background:0 0;border:0;padding:0 1rem;font-weight:700}.site-header nav button:hover{color:var(--ink)}.site-header nav button:disabled{opacity:.42}.account{align-items:center;gap:.5rem;margin-left:auto;font-size:.9rem;display:flex}.account span{font-weight:750}.content{width:min(1180px,100% - 2rem);margin:0 auto;padding:3rem 0 6rem}.page-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2rem;display:flex}.page-heading h1{margin-bottom:.65rem;font-size:clamp(2.2rem,5vw,3.6rem)}.page-heading p:last-child{color:var(--muted);margin-bottom:0;line-height:1.65}.banner{z-index:50;border-radius:6px;width:min(640px,100% - 2rem);padding:1rem 3rem 1rem 1rem;position:fixed;top:84px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0002}.banner.error{color:#7a271a;background:#fff3f1;border:1px solid #d92d20}.banner button{background:0 0;border:0;font-size:1.5rem;position:absolute;top:.25rem;right:.5rem}.progress-block{width:min(300px,100%)}.progress-block>div:first-child{justify-content:space-between;margin-bottom:.5rem;font-size:.9rem;display:flex}.progress-block strong{color:var(--seal)}.progress-track{background:#deded9;border-radius:99px;height:8px;overflow:hidden}.progress-track span{background:var(--seal);height:100%;transition:width .25s;display:block}.steps{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-bottom:2rem;display:grid}.steps button{min-height:58px;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;font-weight:750}.steps button span{border:1px solid #a6a8ad;border-radius:50%;place-items:center;width:26px;height:26px;margin-right:.6rem;display:inline-grid}.steps button.current{color:var(--ink);border-color:var(--seal)}.steps button.current span{background:var(--ink);color:#fff;border-color:var(--ink)}.form-section{border:1px solid var(--line);background:#fff;padding:clamp(1.2rem,4vw,3rem)}.form-grid{grid-template-columns:1fr 1fr;gap:.35rem 1.5rem;display:grid}.form-grid .wide{grid-column:1/-1}.form-section input[readonly]{color:var(--muted);background:#f2f2ef}.check-line{align-self:center;align-items:center;grid-template-columns:auto 1fr!important;font-weight:500!important;display:flex!important}.check-line input{width:22px!important;min-height:22px!important}.form-actions{border-top:1px solid var(--line);align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.save-state{color:var(--muted);margin-right:auto;font-size:.9rem}.collaboration-form fieldset{border:0;margin:0 0 1.5rem;padding:0}.collaboration-form legend{margin-bottom:.75rem;font-weight:750}.tag-picker,.filter-tags,.tags,.badges{flex-wrap:wrap;gap:.5rem;display:flex}.tag-picker button,.filter-tags button{color:#475467;background:#fff;border:1px solid #b9bbc0;border-radius:999px;min-height:44px;padding:0 1rem}.tag-picker button.selected,.filter-tags button.selected{background:var(--ink);border-color:var(--ink);color:#fff}.filters{z-index:10;background:#f7f7f5;padding:.8rem 0 1rem;position:sticky;top:72px}.search input{background:#fff;max-width:520px}.filter-tags{flex-wrap:nowrap;margin-top:1rem;padding-bottom:.35rem;overflow-x:auto}.filter-tags button{white-space:nowrap}.filter-tags span{opacity:.7;margin-left:.35rem}.result-count{color:var(--seal);font-size:1.25rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.member-card{border:1px solid var(--line);background:#fff;flex-direction:column;min-height:390px;padding:1.35rem;transition:transform .16s,border-color .16s;display:flex}.member-card:hover{border-color:#8f939b;transform:translateY(-2px)}.card-top{align-items:center;gap:1rem;display:flex}.avatar{width:52px;height:52px;color:var(--ink);background:#e9edf4;border-radius:50%;flex:none;place-items:center;font-family:Georgia,serif;font-size:1.4rem;display:grid}.avatar.large{width:88px;height:88px;font-size:2.3rem}.card-top h2{margin:0 0 .25rem;font-size:1.35rem}.card-top p{color:var(--muted);margin:0}.badges{margin:1rem 0}.badges span{color:#6e4b24;background:#f0ebe2;border-radius:3px;padding:.3rem .48rem;font-size:.75rem;font-weight:750}.tags span{color:#344054;background:#eef0f4;border-radius:999px;padding:.32rem .58rem;font-size:.78rem}.give-need{margin:1.1rem 0 1rem}.give-need div{border-top:1px solid #ecece8;grid-template-columns:3.2rem 1fr;gap:.6rem;padding:.65rem 0;display:grid}.give-need dt{color:var(--seal);font-size:.82rem;font-weight:800}.give-need dd{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.55;display:-webkit-box;overflow:hidden}.card-link{border:0;border-top:1px solid var(--line);text-align:left;min-height:48px;color:var(--ink);background:0 0;justify-content:space-between;margin-top:auto;padding:1rem 0 0;font-weight:800;display:flex}.skeleton-card{border:1px solid var(--line);background:linear-gradient(90deg,#eee 25%,#f7f7f7 45%,#eee 65%) 0 0/300% 100%;height:390px;animation:1.3s infinite shimmer}@keyframes shimmer{to{background-position:-150% 0}}.empty-state{text-align:center;border:1px solid var(--line);background:#fff;margin-top:1.5rem;padding:4rem 1rem}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:2rem;display:flex}.pagination button,.back{border:1px solid var(--line);background:#fff;border-radius:6px;min-height:44px;padding:0 1rem}.pagination button:disabled{opacity:.4}.back{margin-bottom:1.5rem}.detail-card{border:1px solid var(--line);background:#fff}.detail-identity{background:var(--ink);color:#fff;align-items:center;gap:1.5rem;padding:clamp(1.5rem,5vw,4rem);display:flex}.detail-identity h1{color:#fff;margin:.5rem 0;font-size:clamp(2.2rem,5vw,4rem)}.detail-identity p{color:#d0d5dd;margin-bottom:.4rem}.detail-identity .secondary{margin-left:auto}.detail-grid{grid-template-columns:1fr 1fr;display:grid}.detail-grid section{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:2rem}.detail-grid h2{font-size:1.25rem}.detail-grid section>a,.detail-grid section>p{margin-bottom:.75rem;display:block}.give-need.full dd{display:block;overflow:visible}.install-hint{z-index:30;background:var(--ink);color:#fff;border-radius:6px;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0004}.install-hint button{color:#fff;background:0 0;border:1px solid #fff;min-height:38px;padding:0 .8rem}.install-hint button:last-child{border:0;font-size:1.2rem}.empty-state h2{font-size:1.5rem}@media (width<=760px){.auth-layout{min-height:100vh;padding:1rem;display:block}.auth-intro{padding:2.5rem 1rem}.auth-intro h1{font-size:2.7rem}.auth-panel{margin:0;padding:1.5rem}.site-header{gap:.4rem;height:64px;padding:0 .8rem}.site-header nav button{padding:0 .65rem}.site-header nav button:disabled,.account span{display:none}.account{margin-left:0}.account button{padding:0 .45rem}.content{width:min(100% - 1.25rem,1180px);padding-top:2rem}.page-heading{display:block}.progress-block{margin-top:1.5rem}.steps button{font-size:.82rem}.steps button span{display:none}.form-section{padding:1rem}.form-grid{display:block}.form-actions{flex-wrap:wrap}.save-state{order:-1;width:100%}.form-actions .primary{margin-left:auto}.filters{top:64px}.card-grid{grid-template-columns:1fr}.detail-identity{flex-wrap:wrap;align-items:flex-start}.detail-identity .secondary{width:100%;margin-left:0}.detail-grid{display:block}.detail-grid section{border-right:0}.install-hint{width:calc(100% - 1rem);font-size:.86rem;bottom:.5rem}.avatar.large{width:68px;height:68px}.directory-page .page-heading{align-items:end;display:flex}.directory-page .page-heading h1{font-size:2.5rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.avatar.photo{object-fit:cover;background:#e9edf4}.photo-upload{border-bottom:1px solid var(--line);padding-bottom:1.25rem}.photo-row{align-items:center;gap:1rem;display:flex}.photo-row input{padding:.6rem}.photo-upload small,.field-help{color:var(--muted);font-size:.84rem;font-weight:500}.field-help{align-self:center;margin:.2rem 0 1rem}.admin-layout{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.admin-section{border:1px solid var(--line);background:#fff;padding:1.5rem}.admin-section.wide{grid-column:1/-1}.section-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.section-title h2{margin:0}.section-title .eyebrow{margin-bottom:.3rem}.section-title>span{color:var(--muted);font-size:.86rem}.compact-form{grid-template-columns:.45fr 1.2fr 1fr 1fr auto;align-items:end;gap:.65rem;display:grid}.compact-form label,.invite-form label{gap:.4rem;font-size:.86rem;font-weight:700;display:grid}.compact-form input,.invite-form input,.invite-form select,.approval-row select,.assignment-controls select,.protected-controls select{background:#fff;border:1px solid #b9bbc0;border-radius:6px;min-height:44px;padding:.55rem}.cohort-list{margin-top:1rem}.cohort-list>div,.invitation-list>div{border-top:1px solid #ecece8;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:1rem;padding:.8rem 0;display:grid}.cohort-list span,.approval-row span,.admin-user-row>div:first-child span{color:var(--muted);font-size:.86rem;display:block}.cohort-list em{background:#f0ebe2;padding:.3rem .5rem;font-size:.76rem;font-style:normal}.admin-empty{color:var(--muted);padding:1rem 0}.approval-row{border-bottom:1px solid #ecece8;grid-template-columns:1fr minmax(150px,.65fr) auto;align-items:center;gap:.75rem;padding:.8rem 0;display:grid}.admin-table{overflow-x:auto}.admin-table-head,.admin-user-row{grid-template-columns:1.2fr 1fr 1.3fr 1.3fr;align-items:center;gap:1rem;min-width:880px;display:grid}.admin-table-head{background:var(--soft);color:#475467;padding:.75rem;font-size:.8rem;font-weight:800}.admin-user-row{border-bottom:1px solid #ecece8;padding:1rem .75rem}.membership-list{flex-wrap:wrap;gap:.35rem;display:flex}.membership-list span{background:#eef0f4;border-radius:3px;padding:.3rem .45rem;font-size:.76rem}.membership-list em{color:var(--muted);font-size:.85rem}.assignment-controls,.protected-controls{align-items:center;gap:.4rem;display:flex}.assignment-controls button,.text-button{border:1px solid var(--ink);background:#fff;border-radius:6px;min-height:40px;padding:0 .65rem;font-weight:700}.protected-controls{flex-wrap:wrap}.text-button{color:var(--seal);border-color:#c9a3a3}.invite-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:.75rem;display:grid}.invitation-list{margin-top:1rem}.invitation-list strong{color:var(--seal);font-size:.8rem}@media (width<=900px){.admin-layout{display:block}.admin-section{margin-bottom:1rem}.compact-form{grid-template-columns:1fr 1fr}.compact-form button{grid-column:1/-1}.invite-form,.approval-row{grid-template-columns:1fr}.admin-page .page-heading{display:block}}@media (width<=760px){.photo-row{flex-direction:column;align-items:flex-start}.photo-row input{width:100%}.section-title{display:block}.section-title>span{margin-top:.5rem;display:block}.compact-form{display:block}.compact-form label{margin-bottom:.75rem}.compact-form button,.invite-form button{width:100%}}.current-week{background:var(--ink);color:#fff;justify-content:space-between;align-items:end;gap:2rem;padding:clamp(1.5rem,5vw,4rem);display:flex}.current-week h2{color:#fff;margin-bottom:.7rem;font-size:clamp(2rem,4vw,3.5rem)}.current-week p:not(.eyebrow){color:#d0d5dd;line-height:1.7}.due-date{color:#f5d5a6;margin-top:.5rem;font-weight:750;display:inline-block}.current-week .primary{color:var(--ink);white-space:nowrap;background:#fff;border-color:#fff}.preopen-state{border:1px solid var(--line);background:#fff;padding:3rem}.week-progress{border:1px solid var(--line);background:#fff;margin-top:2rem;padding:1.5rem}.week-stepper{grid-template-columns:repeat(10,1fr);gap:.5rem;display:grid}.week-stepper button{border:1px solid var(--line);min-height:82px;color:var(--muted);background:#fff;place-content:center;gap:.3rem;display:grid}.week-stepper button span{font-family:Georgia,serif;font-size:1.35rem}.week-stepper button small{font-size:.7rem}.week-stepper button.submitted{background:var(--ink);color:#fff;border-color:var(--ink)}.week-stepper button.draft{border-color:var(--seal);color:var(--seal)}.week-stepper button:disabled{cursor:not-allowed;background:#f1f1ee}.writing-toolbar{z-index:12;background:#f7f7f5;justify-content:space-between;align-items:center;padding:.75rem 0;display:flex;position:sticky;top:72px}.writing-toolbar .back{margin:0}.autosave{color:var(--muted);font-size:.88rem;font-weight:700}.autosave.error{color:#b42318}.autosave.dirty,.autosave.saving{color:#9e5d00}.manuscript-heading{text-align:center;border-bottom:1px solid var(--line);padding:4rem 1rem 3rem}.manuscript-heading h1{margin-bottom:1rem;font-size:clamp(2.5rem,6vw,4.8rem)}.manuscript-heading>p:not(.eyebrow){color:var(--muted);font-size:1.15rem}.manuscript-heading>span{color:var(--seal);font-weight:750}.course-reading{border-left:1px solid var(--line);border-right:1px solid var(--line);background:#fff;width:min(760px,100%);margin:0 auto;padding:clamp(1.5rem,5vw,4rem)}.course-reading section+section{margin-top:2.5rem}.course-reading h2,.writing-section h2{font-size:1.8rem}.markdown-copy{white-space:pre-wrap;color:#2a3140;font-family:Georgia,Noto Serif KR,serif;font-size:1.18rem;line-height:1.85}.course-reading blockquote{border-left:5px solid var(--seal);background:#f7f2ea;margin:3rem 0 0;padding:1rem 1.5rem;font-family:Georgia,Noto Serif KR,serif;font-size:1.3rem;line-height:1.7}.writing-section{border:1px solid var(--line);background:#fff;width:min(900px,100%);margin:2rem auto 0;padding:clamp(1.3rem,4vw,3rem)}.writing-section>p:not(.eyebrow){color:var(--muted)}.writing-question{gap:.65rem;margin-top:2rem;display:grid}.writing-question strong{font-size:1.05rem;line-height:1.6}.writing-question textarea{resize:vertical;border:1px solid #b9bbc0;border-radius:6px;min-height:180px;padding:1rem;line-height:1.7}.writing-question>span{text-align:right;color:var(--muted);font-size:.8rem}.action-list{gap:.8rem;margin:1.5rem 0;display:grid}.action-row{background:#f7f7f5;grid-template-columns:2fr 1fr 1fr 1.2fr auto;align-items:end;gap:.6rem;padding:1rem;display:grid}.action-row label{gap:.4rem;font-size:.8rem;font-weight:750;display:grid}.action-row input,.course-selector select,.course-form input,.course-form textarea{background:#fff;border:1px solid #b9bbc0;border-radius:6px;width:100%;min-height:44px;padding:.65rem}.action-row button{min-height:44px;color:var(--seal);background:0 0;border:0;font-weight:750}.submit-bar{z-index:11;border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:1rem;width:min(900px,100%);margin:2rem auto 0;padding:1rem 1.25rem;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 28px #0001}.submit-bar span{color:var(--muted);margin-top:.25rem;font-size:.82rem;display:block}.course-selector{gap:.75rem;margin-bottom:1rem;display:flex}.course-selector label{gap:.35rem;font-weight:700;display:grid}.course-selector select{min-width:160px}.course-form{border-top:1px solid var(--line);padding-top:1.25rem}.course-form textarea{resize:vertical;min-height:120px}.course-form fieldset{border:1px solid var(--line);margin:1.5rem 0;padding:1rem}.course-form fieldset label{gap:.4rem;margin-bottom:1rem;font-weight:700;display:grid}.course-publish{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.course-publish .check-line{margin:0}.course-publish .check-line input{min-height:22px}.course-admin .form-grid label{gap:.4rem;margin-bottom:1rem;font-weight:700;display:grid}@media (width<=900px){.week-stepper{grid-template-columns:repeat(5,1fr)}.action-row{grid-template-columns:1fr 1fr}.action-row label:first-child{grid-column:1/-1}.action-row button{justify-self:start}}@media (width<=760px){.current-week{display:block}.current-week .primary{width:100%;margin-top:1.5rem}.week-stepper{grid-template-columns:repeat(5,1fr)}.writing-toolbar{top:64px}.manuscript-heading{padding-top:2.5rem}.course-reading{padding:1.4rem}.action-row{display:block}.action-row label{margin-bottom:.7rem}.submit-bar{display:block}.submit-bar .primary{width:100%;margin-top:1rem}.course-selector{grid-template-columns:1fr 1fr;display:grid}.course-selector select{min-width:0}.course-publish{display:block}.course-publish .primary{width:100%;margin-top:1rem}}.diagnosis-callout{background:#f5eee4;border:1px solid #dcc9af;justify-content:space-between;align-items:center;gap:1.5rem;width:min(900px,100%);margin:2rem auto 0;padding:1.5rem;display:flex}.diagnosis-callout h2{margin-bottom:.4rem;font-size:1.45rem}.diagnosis-callout p{color:#665744;margin:0;line-height:1.6}.score-seal{border:2px solid var(--seal);text-align:center;width:132px;height:132px;color:var(--seal);background:#fff;border-radius:50%;flex:none;place-content:center;display:grid}.score-seal strong{font-family:Georgia,serif;font-size:2.4rem;line-height:1}.score-seal span{margin-top:.35rem;font-size:.78rem;font-weight:750}.checklist-form{gap:1rem;display:grid}.checklist-form fieldset{border:1px solid var(--line);background:#fff;margin:0;padding:1.25rem}.checklist-form legend{padding:0 .45rem;font-family:Georgia,Noto Serif KR,serif;font-size:1.08rem;font-weight:700;line-height:1.55}.score-options{grid-template-columns:repeat(5,1fr);gap:.55rem;margin-top:.5rem;display:grid}.score-options label{border:1px solid var(--line);text-align:center;min-height:70px;color:var(--muted);cursor:pointer;border-radius:6px;place-items:center;gap:.4rem;padding:.6rem;font-size:.76rem;font-weight:700;display:grid}.score-options label:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}.score-options input{width:20px;height:20px;accent-color:var(--seal)}.checklist-submit{background:#f7f7f5;justify-content:flex-end;padding:1rem 0;display:flex;position:sticky;bottom:0}.trend-panel{border:1px solid var(--line);background:#fff;margin-top:2rem;padding:1.5rem}.trend-bars{border-bottom:1px solid var(--line);align-items:end;gap:1rem;min-height:190px;padding-top:1.5rem;display:flex}.trend-bars>div{flex:1;place-items:end center;min-width:34px;height:160px;display:grid}.trend-bars i{background:var(--seal);border-radius:4px 4px 0 0;width:min(48px,80%);min-height:3px;display:block}.trend-bars strong{margin-top:.45rem;font-size:.78rem}.trend-bars span{color:var(--muted);font-size:.7rem}.growth-form{border:1px solid var(--line);background:#fff;margin-bottom:2rem;padding:1.5rem}.growth-form .form-grid label{gap:.45rem;margin-bottom:1rem;font-weight:700;display:grid}.growth-form input,.growth-form textarea,.growth-form select{background:#fff;border:1px solid #b9bbc0;border-radius:6px;width:100%;min-height:48px;padding:.7rem}.growth-form textarea{resize:vertical;min-height:105px}.growth-columns{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.growth-column{background:#eeeee9;min-height:260px;padding:1rem}.growth-column>h2{border-bottom:2px solid var(--ink);padding-bottom:.7rem;font-size:1.35rem}.growth-card{border:1px solid var(--line);background:#fff;margin-top:.8rem;padding:1rem}.growth-card h3{color:var(--ink);font-family:Georgia,Noto Serif KR,serif;font-size:1.08rem}.growth-card p{font-size:.9rem;line-height:1.55}.growth-card dl{margin:.8rem 0}.growth-card dt{color:var(--seal);text-transform:uppercase;font-size:.72rem;font-weight:800}.growth-card dd{margin:.2rem 0 .75rem;line-height:1.5}.growth-card footer{border-top:1px solid var(--line);gap:.5rem;padding-top:.7rem;display:flex}.growth-card footer button{color:var(--ink);background:0 0;border:0;padding:.35rem;font-weight:750}.growth-card footer button:last-child{color:var(--seal)}.checklist-admin-grid{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.checklist-admin-grid label{margin:0!important}.checklist-admin-grid input{min-height:42px}.course-form fieldset .checklist-admin-grid label{margin-bottom:0}@media (width<=900px){.growth-columns{grid-template-columns:1fr}.growth-column{min-height:0}}@media (width<=760px){.wordmark{font-size:0}.wordmark span{font-size:1.15rem}.site-header nav{gap:.1rem}.site-header nav button{padding:0 .35rem;font-size:.74rem}.diagnosis-callout{display:block}.diagnosis-callout .primary{width:100%;margin-top:1rem}.score-seal{width:105px;height:105px;margin-top:1rem}.score-options{grid-template-columns:1fr}.score-options label{text-align:left;grid-template-columns:auto 1fr;justify-content:start;min-height:48px}.checklist-submit .primary{width:100%}.trend-bars{gap:.35rem;overflow-x:auto}.trend-bars>div{min-width:42px}.growth-form{padding:1rem}.checklist-admin-grid{grid-template-columns:1fr}}.mentorship-cohort{gap:.4rem;max-width:360px;margin-bottom:1.25rem;font-weight:700;display:grid}.mentorship-cohort select,.mentorship-admin input,.mentorship-admin select{background:#fff;border:1px solid #b9bbc0;border-radius:6px;min-height:44px;padding:.6rem}.mentorship-admin-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.mentorship-admin-grid form{border:1px solid var(--line);gap:.7rem;padding:1rem;display:grid}.mentorship-admin-grid h3{color:var(--ink);margin:0}.mentorship-admin-grid label{gap:.35rem;font-size:.86rem;font-weight:700;display:grid}.role-chips{flex-wrap:wrap;gap:.4rem;display:flex}.role-chips span{color:#344054;background:#eef0f4;border-radius:999px;padding:.3rem .55rem;font-size:.76rem;font-weight:750}.mentorship-list{margin-top:1rem}.mentorship-list>div{border-top:1px solid var(--line);grid-template-columns:1.2fr 1fr 1fr auto;align-items:center;gap:1rem;padding:.75rem;display:grid}.mentor-student-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.mentor-student-grid article{border:1px solid var(--line);background:#fff;flex-direction:column;min-height:260px;padding:1.35rem;display:flex}.mentor-student-grid article h2{font-size:1.5rem}.mentor-student-grid article>p:not(.eyebrow){color:var(--muted)}.mentor-student-grid article>strong{color:var(--seal);margin:1rem 0}.mentor-student-grid .card-link{margin-top:auto}.mentor-detail>section{margin-top:2rem}.mentor-record{border:1px solid var(--line);background:#fff;margin-top:1rem;padding:clamp(1rem,3vw,2rem)}.mentor-record>header{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;margin-bottom:1.2rem;padding-bottom:1rem;display:flex}.mentor-record>header span{color:var(--seal);font-size:.78rem;font-weight:800}.mentor-record>header h2{margin:.25rem 0 0}.mentor-record>header>strong{color:var(--seal);font-size:.8rem}.mentor-answer{border-bottom:1px solid #ecece8;padding:1rem 0}.mentor-answer h3,.mentor-actions h3,.mentor-comments h3{color:var(--ink);font-size:.92rem}.mentor-answer p{white-space:pre-wrap;font-family:Georgia,Noto Serif KR,serif;line-height:1.75}.mentor-actions{background:#f7f7f5;margin:1rem 0;padding:1rem}.mentor-actions p{justify-content:space-between;gap:1rem;display:flex}.mentor-actions span{color:var(--muted);font-size:.86rem}.mentor-comments{border-top:2px solid var(--ink);margin-top:1.5rem;padding-top:1rem}.mentor-comments blockquote{border-left:4px solid var(--seal);background:#f5eee4;margin:.7rem 0;padding:.9rem 1rem}.mentor-comments blockquote p{white-space:pre-wrap;margin-bottom:.4rem}.mentor-comments blockquote footer{color:var(--muted);font-size:.78rem}.mentor-comments label{display:block}.mentor-comments textarea{resize:vertical;border:1px solid #b9bbc0;border-radius:6px;width:100%;min-height:90px;padding:.8rem}.mentor-comments .secondary{margin-top:.6rem}.mentor-growth{padding-top:1rem}@media (width<=760px){.mentorship-admin-grid{grid-template-columns:1fr}.mentorship-list>div{grid-template-columns:1fr 1fr}.mentorship-list>div strong{grid-column:1/-1}.mentor-record>header{display:block}.mentor-record>header>strong{margin-top:.6rem;display:block}.mentor-actions p{display:block}.mentor-actions span{margin-top:.3rem;display:block}.mentor-comments .secondary{width:100%}}.permission-picker{border:1px solid var(--line);margin:0;padding:.75rem}.permission-picker legend{padding:0 .3rem;font-weight:800}.permission-picker label{align-items:center;margin:.35rem 0;gap:.45rem!important;display:flex!important}.permission-picker input{width:20px;min-height:20px;accent-color:var(--seal)}.received-comments{background:#f5eee4;border:1px solid #dcc9af;width:min(900px,100%);margin:2rem auto 0;padding:1.25rem}.received-comments h2{font-size:1.35rem}.received-comments blockquote{border-left:4px solid var(--seal);background:#fff;margin:.7rem 0 0;padding:.9rem 1rem}.received-comments blockquote p{white-space:pre-wrap;margin-bottom:.4rem;line-height:1.6}.received-comments blockquote footer{color:var(--muted);font-size:.78rem}.growth-columns .received-comments{margin:1rem 0 0;padding:.8rem}.growth-columns .received-comments h2{font-size:1rem}.growth-columns .received-comments blockquote{padding:.65rem}.week-stepper button.confirmed{color:#17603a;background:#e8f3ed;border-color:#5c9473}.manuscript-locked{background:#e8f3ed;border-left:5px solid #28734c;justify-content:space-between;gap:1rem;width:min(900px,100%);margin:2rem auto 0;padding:1rem 1.25rem;display:flex}.manuscript-locked span{color:#3f5f4c}.writing-question textarea:disabled,.action-row input:disabled{color:#475467;background:#f1f3f1}.progress-toolbar{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.progress-toolbar label{gap:.4rem;font-weight:750;display:grid}.progress-toolbar select{background:#fff;border:1px solid #b9bbc0;border-radius:6px;min-width:220px;min-height:44px;padding:.6rem}.progress-filters{gap:.4rem;display:flex}.progress-filters button{border:1px solid var(--line);background:#fff;border-radius:999px;min-height:42px;padding:0 .9rem;font-weight:750}.progress-filters button.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.progress-metrics{grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:1rem;display:grid}.progress-metrics>div{background:var(--soft);justify-content:space-between;align-items:end;padding:1rem;display:flex}.progress-metrics span{color:var(--muted);font-size:.8rem;font-weight:750}.progress-metrics strong{color:var(--ink);font-family:Georgia,serif;font-size:2rem}.progress-metrics .alert{background:#fff0ed}.progress-metrics .alert strong{color:#b42318}.progress-roster article{border:1px solid var(--line);margin-top:.8rem}.progress-roster article>header{background:#f8f8f6;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.progress-roster article>header span{color:var(--muted);margin-top:.2rem;font-size:.82rem;display:block}.progress-roster article>header>div:last-child{align-items:center;gap:.7rem;display:flex}.progress-roster article>header b{font-size:.82rem}.progress-roster article>header em{color:#b42318;background:#fff0ed;padding:.3rem .5rem;font-size:.75rem;font-style:normal;font-weight:800}.progress-week-grid{grid-template-columns:repeat(5,1fr);gap:.6rem;padding:1rem;display:grid}.progress-week{border:1px solid var(--line);flex-direction:column;min-height:118px;padding:.75rem;display:flex}.progress-week>div{justify-content:space-between;gap:.4rem;display:flex}.progress-week span,.progress-week small{color:var(--muted);font-size:.72rem}.progress-week strong{color:var(--ink);font-size:.78rem}.progress-week small{margin-top:.5rem}.progress-week button{border:1px solid var(--ink);min-height:36px;color:var(--ink);background:#fff;margin-top:auto;font-weight:750}.progress-week.submitted{background:#fffaf0;border-color:#d2a13c}.progress-week.confirmed{background:#edf7f1;border-color:#5c9473}.progress-week.overdue{background:#fff0ed;border-color:#e07a6c}.progress-week.overdue strong{color:#b42318}@media (width<=900px){.progress-week-grid,.progress-metrics{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.manuscript-locked,.progress-toolbar,.progress-roster article>header{display:block}.manuscript-locked span{margin-top:.35rem;display:block}.progress-filters{margin-top:.8rem;overflow-x:auto}.progress-week-grid{grid-template-columns:1fr}.progress-roster article>header>div:last-child{margin-top:.7rem}.progress-toolbar select{width:100%;min-width:0}}.publication-toolbar{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.publication-toolbar label{gap:.4rem;font-weight:750;display:grid}.publication-toolbar select{background:#fff;border:1px solid #b9bbc0;border-radius:6px;min-width:220px;min-height:44px;padding:.6rem}.publication-layout{border:1px solid var(--line);grid-template-columns:minmax(220px,.7fr) minmax(0,2fr);min-height:430px;display:grid}.publication-layout aside{border-right:1px solid var(--line);background:#f8f8f6;padding:.6rem}.publication-layout aside button{text-align:left;width:100%;min-height:66px;color:var(--ink);background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:.7rem;padding:.75rem;display:flex}.publication-layout aside button+button{border-top-color:var(--line)}.publication-layout aside button.selected{border-color:var(--ink);background:#fff}.publication-layout aside button span{min-width:0}.publication-layout aside button strong,.publication-layout aside button small{display:block}.publication-layout aside button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;overflow:hidden}.publication-layout aside button b{color:var(--seal);white-space:nowrap}.publication-preview{min-width:0;padding:1.2rem}.publication-preview>header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.publication-preview>header>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.publication-preview h3{color:var(--ink);margin:0 0 .3rem;font-family:Georgia,Noto Serif KR,serif;font-size:1.7rem}.publication-preview header span{color:var(--muted);font-size:.85rem}.publication-chapters{margin-top:.8rem}.publication-chapters article{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,.7fr) 2fr;gap:1rem;padding:1rem 0;display:grid}.publication-chapters article>div span,.publication-chapters article>div small{color:var(--muted);font-size:.75rem;display:block}.publication-chapters article>div strong{color:var(--ink);margin:.3rem 0;display:block}.publication-chapters article p{color:#475467;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.65;display:-webkit-box;overflow:hidden}.publication-empty{text-align:center;border:1px dashed var(--line);background:#fafaf8;padding:3rem 1rem}.publication-empty h3{color:var(--ink)}.publication-empty p{color:var(--muted)}@media (width<=760px){.publication-toolbar,.publication-preview>header{display:block}.publication-toolbar select,.publication-toolbar .primary,.publication-preview header button{width:100%}.publication-toolbar .primary,.publication-preview>header>div:last-child{margin-top:.8rem}.publication-preview>header>div:last-child{display:grid}.publication-layout{grid-template-columns:1fr}.publication-layout aside{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.publication-layout aside button{min-width:210px}.publication-chapters article{display:block}.publication-chapters article p{margin-top:.7rem}}.book-page{--book-cream:#f3eadc;--book-brown:#6d3d2d}.book-heading{align-items:center}.book-heading h1{line-height:1.04}.book-heading>span{border:1px solid var(--line);color:var(--seal);background:#fff;padding:.65rem 1rem;font-weight:800}.my-book-section{background:var(--ink);color:#fff;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);align-items:center;gap:2rem;padding:clamp(1.4rem,4vw,3rem);display:grid}.my-book-section h2{color:#fff;font-size:clamp(1.7rem,3vw,2.5rem)}.featured-book{background:var(--book-cream);min-height:260px;color:var(--ink);text-align:left;border:0;grid-template-columns:50px 1fr;padding:0;transition:transform .2s,box-shadow .2s;display:grid;box-shadow:12px 14px #0b1326}.featured-book:hover{transform:translateY(-4px);box-shadow:12px 18px #0b1326}.book-spine{writing-mode:vertical-rl;background:var(--seal);color:#fff;letter-spacing:.18em;place-items:center;font-size:.76rem;font-weight:900;display:grid;transform:rotate(180deg)}.book-cover-copy{flex-direction:column;padding:clamp(1.4rem,4vw,2.5rem);display:flex}.book-cover-copy small,.book-card-body small{text-transform:uppercase;letter-spacing:.12em;color:var(--seal);font-weight:800}.book-cover-copy strong{max-width:11ch;margin:.65rem 0;font-family:Georgia,Noto Serif KR,serif;font-size:clamp(1.8rem,4vw,3.1rem);line-height:1.2}.book-cover-copy em{color:var(--muted);font-style:normal}.book-cover-copy>span:last-child{margin-top:auto;padding-top:1rem;font-weight:850}.cohort-library{padding-top:4rem}.library-title{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:end;padding-bottom:1rem;display:flex}.library-title h2{margin:0;font-size:clamp(1.7rem,3vw,2.4rem)}.library-title>p{color:var(--muted);margin:0}.book-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.book-card{border:1px solid var(--line);text-align:left;background:#fff;grid-template-columns:54px 1fr;min-height:330px;padding:0;transition:transform .18s,border-color .18s;display:grid}.book-card:hover{border-color:var(--ink);transform:translateY(-3px)}.book-card-number{background:var(--ink);color:#fff;align-content:start;place-items:center;padding-top:1.25rem;font-family:Georgia,serif;font-size:1.25rem;display:grid}.book-card-body{flex-direction:column;padding:1.4rem;display:flex}.book-card-body strong{margin:.75rem 0 1.2rem;font-family:Georgia,Noto Serif KR,serif;font-size:1.45rem;line-height:1.35}.book-card-body q{color:var(--muted);font-family:Georgia,Noto Serif KR,serif;line-height:1.7}.book-card-body>span:last-child{margin-top:auto;padding-top:1rem;font-weight:850}.book-empty{color:var(--ink);border:1px solid var(--line);background:#fff;padding:2rem}.book-empty p{color:var(--muted);margin:.5rem 0 0}.book-empty.compact{text-align:center;margin-top:1.5rem}.book-skeleton,.reader-skeleton{background:linear-gradient(90deg,#ecece7 25%,#f8f8f5 45%,#ecece7 65%) 0 0/300% 100%;min-height:280px;animation:1.3s infinite shimmer}.book-skeleton.small{min-height:180px;margin-top:2rem}.reader-cover{background:var(--ink);color:#fff;justify-content:space-between;align-items:center;min-height:300px;padding:clamp(2rem,6vw,5rem);display:flex}.reader-cover h1{color:#fff;margin:.5rem 0 1rem;font-size:clamp(2.5rem,6vw,5rem);line-height:1.02}.reader-cover>div>p:last-child{color:#cfd5e2}.reader-cover>span{border:1px solid #fff5;border-radius:50%;place-items:center;width:120px;height:120px;font-family:Georgia,serif;font-size:4rem;display:grid}.reader-layout{grid-template-columns:260px minmax(0,1fr);gap:2rem;margin-top:2rem;display:grid}.chapter-index{border-top:2px solid var(--ink);align-self:start;display:grid;position:sticky;top:96px}.chapter-index>p{margin:0;padding:1.2rem 0}.chapter-index button{border:0;border-top:1px solid var(--line);text-align:left;color:var(--muted);background:0 0;grid-template-columns:2.4rem 1fr;gap:.5rem;padding:1rem 0;line-height:1.45;display:grid}.chapter-index button span{color:var(--seal);font-family:Georgia,serif}.chapter-index button.active{color:var(--ink);font-weight:850}.chapter-paper{border:1px solid var(--line);background:#fff;min-width:0;padding:clamp(1.4rem,6vw,5rem);animation:.22s book-page-in}.chapter-paper>header{border-bottom:2px solid var(--ink);margin-bottom:2.5rem;padding-bottom:1.5rem}.chapter-paper>header span{color:var(--seal);font-weight:850}.chapter-paper>header h2{margin:.5rem 0;font-size:clamp(2rem,4vw,3.4rem)}.chapter-paper time{color:var(--muted);font-size:.82rem}.chapter-paper>section{margin:0 0 3rem}.chapter-paper>section h3{color:var(--seal);font-size:1rem;line-height:1.6}.chapter-paper>section p{white-space:pre-wrap;color:#25304a;font-family:Georgia,Noto Serif KR,serif;font-size:1.08rem;line-height:2}.chapter-paper aside{border-left:4px solid var(--seal);background:#f5eee4;padding:1.4rem}.chapter-paper aside h3{margin-bottom:1rem}.chapter-paper aside div{border-top:1px solid #dcc9af;gap:.25rem;padding:.8rem 0;display:grid}.chapter-paper aside span{color:var(--muted);font-size:.85rem}.chapter-paper>footer{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.5rem;display:grid}.chapter-paper>footer button{min-height:44px;color:var(--ink);background:0 0;border:0;font-weight:800}.chapter-paper>footer button:last-child{text-align:right}.chapter-paper>footer button:disabled{opacity:.3}.chapter-paper>footer span{color:var(--muted);font-size:.82rem}@keyframes book-page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.chapter-paper .draft-state{color:var(--muted);background:#f5eee4;padding:.35rem .55rem;font-size:.82rem;display:inline-block}@media (width<=760px){.my-book-section{grid-template-columns:1fr}.featured-book{min-height:230px;box-shadow:7px 9px #0b1326}.library-title{display:block}.library-title>p{margin-top:.75rem}.reader-cover{min-height:260px}.reader-cover>span{display:none}.reader-layout{display:block}.chapter-index{border-top:0;border-bottom:1px solid var(--line);margin-bottom:1rem;display:flex;position:static;overflow-x:auto}.chapter-index>p{display:none}.chapter-index button{border-top:0;border-right:1px solid var(--line);min-width:160px;padding:.8rem}.chapter-paper{padding:1.25rem}.chapter-paper>section p{font-size:1rem;line-height:1.85}}@media (prefers-reduced-motion:reduce){.chapter-paper{animation:none}}.job-monitor{--job-blue:#315f91}.job-summary{grid-template-columns:repeat(5,1fr);gap:.65rem;margin-bottom:1.25rem;display:grid}.job-summary button,.job-summary>div{border:1px solid var(--line);text-align:left;background:#fff;flex-direction:column;justify-content:space-between;min-height:86px;padding:1rem;display:flex}.job-summary button.selected{border-color:var(--ink);box-shadow:inset 0 -3px var(--ink)}.job-summary span{color:var(--muted);font-size:.78rem;font-weight:750}.job-summary strong{color:var(--ink);font-family:Georgia,Noto Serif KR,serif;font-size:1.7rem}.job-toolbar{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.job-toolbar p{color:var(--muted);margin:0;font-size:.86rem}.job-toolbar>div{gap:.5rem;display:flex}.job-list{border-top:2px solid var(--ink)}.job-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(230px,1.5fr) .65fr .45fr 1fr .6fr;align-items:center;gap:1rem;min-height:68px;padding:.75rem;display:grid}.job-row>div:first-child{gap:.2rem;min-width:0;display:grid}.job-row small{color:var(--muted);font-family:monospace}.job-row p{text-overflow:ellipsis;white-space:nowrap;color:#b42318;margin:.2rem 0 0;font-size:.78rem;overflow:hidden}.job-head{min-height:44px;color:var(--muted);background:#f2f2ef;font-size:.76rem;font-weight:800}.job-status{border-radius:999px;justify-self:start;padding:.34rem .52rem;font-size:.76rem;font-weight:850}.job-status.queued{color:#344054;background:#eef0f4}.job-status.running{color:#245987;background:#e8f1fb}.job-status.succeeded{color:#167044;background:#e8f5ed}.job-status.failed{color:#b42318;background:#fff0ed}.job-row time{color:var(--muted);font-size:.82rem}.job-row .secondary{min-height:38px;padding:0 .75rem}.job-no-action{color:var(--muted)}.job-empty{text-align:center;background:#fafaf8;padding:2.5rem 1rem}.job-empty p{color:var(--muted);margin:.4rem 0 0}@media (width<=760px){.job-summary{grid-template-columns:repeat(2,1fr)}.job-summary>div:last-child{grid-column:1/-1}.job-toolbar{align-items:flex-start}.job-toolbar>div{display:grid}.job-row{grid-template-columns:1fr auto}.job-head{display:none}.job-row>span:nth-child(3),.job-row>time{font-size:.75rem}.job-row>div:first-child{grid-column:1/-1}.job-row>div:last-child{justify-self:end}.job-status{justify-self:start}}
