/* Freesentation by Lee Ju-im; SIL OFL. Sources and license: CREDITS.md. */
@font-face{font-family:"Presentation";src:url("./fonts/Freesentation-1Thin.ttf") format("truetype");font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:"Presentation";src:url("./fonts/Freesentation-2ExtraLight.ttf") format("truetype");font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:"Presentation";src:url("./fonts/Freesentation-3Light.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Presentation";src:url("./fonts/Freesentation-4Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Presentation";src:url("./fonts/Freesentation-5Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Presentation";src:url("./fonts/Freesentation-6SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Presentation";src:url("./fonts/Freesentation-7Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Presentation";src:url("./fonts/Freesentation-8ExtraBold.ttf") format("truetype");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Presentation";src:url("./fonts/Freesentation-9Black.ttf") format("truetype");font-weight:900;font-style:normal;font-display:swap}
[hidden]{display:none!important}body{font-size:16px}.preview.error{background:#7d2929}.preview:empty{display:none}.portal-status{margin:18px 0;padding:14px 18px;border-left:3px solid var(--green);background:var(--pale);font-size:15px}.portal-status.error{border-color:#a52828;color:#8b2626;background:#fff3f2}.portal-status:empty{display:none}.portal-loading{padding:32px 0;color:var(--muted)}.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.portal-card{padding:26px;border:1px solid var(--line);background:#fff;min-width:0}.portal-card h3{font-size:23px;line-height:1.45;margin:12px 0}.portal-card p{font-size:16px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.portal-card .meta{font-size:13px;line-height:1.8;color:var(--muted)}.portal-card .actions{margin-top:22px}.portal-card .btn{padding:9px 15px;font-size:14px}.portal-section{margin-top:38px}.portal-section h2{font-size:26px}.portal-panel{max-width:820px;padding:30px;border:1px solid var(--line);background:var(--pale)}.portal-panel.wide{max-width:none}.portal-panel h2{margin:0 0 16px}.portal-panel form{max-width:none}.portal-panel .field{margin-bottom:20px}.portal-panel textarea{min-height:130px}.portal-panel input,.portal-panel select,.portal-panel textarea{width:100%;background:white}.portal-panel label{display:block;margin-bottom:8px;font-size:15px}.portal-panel input[type=checkbox]{width:auto;margin:5px 8px 0 0}.portal-panel .check{display:flex}.portal-panel details{margin:24px 0}.portal-panel summary{cursor:pointer;font-size:17px;font-weight:600}.portal-panel .hint{font-size:14px;color:var(--muted)}.portal-table-wrap{overflow-x:auto}.portal-table{width:100%;border-collapse:collapse;font-size:14px}.portal-table th{text-align:left;color:var(--muted);font-weight:500;background:var(--pale)}.portal-table th,.portal-table td{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top}.portal-table select{max-width:140px;padding:7px;border:1px solid var(--line)}.portal-table .btn{padding:7px 13px;min-height:38px}.portal-table small{display:block;color:var(--muted);font-size:13px}.portal-table td:first-child{min-width:130px}.portal-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.portal-pill{display:inline-block;padding:4px 11px;background:var(--pale);color:var(--green);font-size:13px;border:1px solid var(--line)}.portal-copy{white-space:pre-wrap;line-height:1.95;overflow-wrap:anywhere;font-size:16px}.portal-notice{white-space:pre-wrap;max-height:240px;overflow:auto;background:var(--pale);padding:22px;font-size:14px;border:1px solid var(--line)}.portal-filter{display:flex;align-items:center;gap:15px;margin-bottom:28px}.portal-filter select{padding:10px 15px;border:1px solid var(--line);background:white}.portal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;border-bottom:1px solid var(--line);padding-bottom:18px}.portal-tabs button{background:white;border:1px solid var(--line);padding:10px 17px;font-size:15px}.portal-tabs button.active{background:var(--green);color:white}.member-form{margin-top:28px}.upload-panel{margin-top:38px}.upload-panel[open] summary{margin-bottom:24px}.danger{color:#8b2626!important;border-color:#e2c4c4!important;background:white!important}.contact-link{display:block;font-size:18px;margin-top:14px;overflow-wrap:anywhere}.admin-toolbar{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.application-detail{margin-top:24px;border:1px solid var(--line);padding:28px}.application-detail h3{margin-top:0}.application-detail dl{display:grid;grid-template-columns:90px 1fr;gap:9px 20px}.application-detail dt{color:var(--muted)}.application-detail dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.field input,.field select,.field textarea{font-size:16px}.btn{font-size:15px}.admin-tabs{margin-top:4px}.portal-admin-banner{padding:14px 18px;background:var(--pale);margin-bottom:22px;font-size:14px}.portal-admin-banner a{text-decoration:underline}.portal-empty{padding:46px 24px;text-align:center;border:1px solid var(--line);color:var(--muted)}.portal-empty h3{color:var(--ink);font-size:22px;margin:0 0 10px}.portal-empty p{margin:0}#portal-dialog{width:min(680px,calc(100% - 32px));max-height:85vh;border:1px solid var(--line);padding:28px;color:var(--ink)}#portal-dialog::backdrop{background:#061c1680}#portal-dialog pre{white-space:pre-wrap;line-height:1.8;font:inherit;max-height:45vh;overflow:auto}.portal-error-retry{margin-top:18px}.portal-inline-error{font-size:14px;color:#8b2626}
@media(max-width:1000px){.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.portal-grid{grid-template-columns:1fr}.portal-panel{padding:22px 18px}.portal-table{font-size:14px}.portal-table th,.portal-table td{padding:13px 9px}.portal-card{padding:23px}.portal-tabs{gap:7px}.portal-tabs button{padding:9px 12px;font-size:14px}.application-detail{padding:20px}.application-detail dl{grid-template-columns:65px minmax(0,1fr);gap:8px 12px}.portal-filter{align-items:stretch;flex-direction:column}.portal-panel h2{font-size:23px}#portal-dialog{padding:22px}.portal-copy{font-size:16px}}


/* The supplied PNG stays unchanged. Display its original emblem in a square
   viewport and pair it with readable, accessible club-name text. */
.official-logo{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
.official-symbol{display:block;position:relative;width:50px;aspect-ratio:1;overflow:hidden;border-radius:7px;flex:none;background:#125c3b}
.official-symbol img{display:block;position:absolute;max-width:none;width:629.7945205479452%;height:auto;left:-267.97945205479454%;top:-26.541095890410958%}
.official-type{display:flex;flex-direction:column;gap:5px;color:var(--green);line-height:1}
.official-type strong{font-family:var(--font-body);font-size:23px;font-weight:750;letter-spacing:.04em;white-space:nowrap}
.official-type>span{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.2em;line-height:1.2}
.brand{gap:0}.foot-name{display:inline-flex;font-family:var(--font-body);letter-spacing:.04em}.foot-name .official-symbol{width:48px}
.head{gap:30px}#nav{flex:1;justify-content:space-between;gap:24px;margin-left:24px;font-size:14px}
.primary-nav{display:flex;align-items:center;gap:25px}.account-nav{display:flex;align-items:center;gap:8px;padding-left:22px;border-left:1px solid var(--line)}
.account-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 18px;border:1px solid var(--line);line-height:1.5;font-size:14px;white-space:nowrap}
.account-nav .login{background:var(--green);color:white;border-color:var(--green)!important}.account-nav .join:hover{background:var(--pale)}.account-nav .login:hover{background:#155744}
.account-nav a[aria-current=page]{box-shadow:inset 0 -2px 0 #8cac79}
@media(max-width:1150px) and (min-width:1001px){.head{gap:18px}#nav{gap:18px;margin-left:0}.primary-nav{gap:18px}.account-nav{padding-left:16px}.account-nav a{padding:9px 14px}.official-type strong{font-size:22px}}
@media(max-width:1000px) and (min-width:761px){.head{flex-wrap:wrap;justify-content:center;padding:20px 0 0;gap:8px}#nav{flex-basis:100%;width:100%;margin-left:0;gap:20px}.primary-nav{gap:24px}.primary-nav a{padding:18px 0}.account-nav{padding-left:18px}.account-nav .login{margin:0}}
@media(max-width:760px){.official-logo{gap:10px}.official-symbol{width:42px;border-radius:6px}.official-type{gap:4px}.official-type strong{font-size:21px}.official-type>span{font-size:12px}.foot-name{max-width:100%}.foot-name .official-symbol{width:46px}.head{gap:14px;min-height:76px}.menu{padding:10px 0;white-space:nowrap}.brand{min-width:0}#nav{display:none;top:100%;margin:0;font-size:16px;gap:0}#nav.open{display:flex}.primary-nav{flex-direction:column;align-items:stretch;gap:0}.primary-nav a{padding:13px 10px}.account-nav{border-left:0;border-top:1px solid var(--line);padding:18px 0 0;margin-top:12px;gap:12px}.account-nav a{flex:1}.account-nav .login{margin:0}.copyright{font-size:12px}}
@media(max-width:380px){.official-symbol{width:38px}.official-type strong{font-size:19px}}

.cohort-filter{min-width:0;max-width:100%;margin-bottom:22px}
.cohort-controls{display:flex;align-items:flex-start;gap:16px;min-width:0}
.cohort-all-group{flex:none;padding:2px 16px 12px 2px;border-right:1px solid var(--line)}
.cohort-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.cohort-heading strong{font-size:16px;font-weight:600}.cohort-heading span{font-size:13px;color:var(--muted)}
.cohort-rail{flex:1;min-width:0;overflow-x:auto;max-width:100%;padding:2px 2px 12px;scrollbar-width:thin;scrollbar-color:#8ba898 #edf2ef;overscroll-behavior-x:contain;scroll-behavior:smooth}
.cohort-buttons{display:flex;flex-wrap:nowrap;gap:8px;width:max-content;min-width:100%}
.cohort-tab{flex:0 0 auto;min-width:52px;padding:10px 14px;border:1px solid var(--line);border-radius:3px;background:white;color:var(--muted);font-size:14px;line-height:1.5;white-space:nowrap}
.cohort-tab:hover{background:var(--pale);color:var(--green)}.cohort-tab.active{background:var(--green);border-color:var(--green);color:white;font-weight:600}
.cohort-all{min-width:72px}
#member-count{margin:0 0 24px;font-size:14px;color:var(--muted)}
@media(max-width:760px){.cohort-heading{align-items:flex-start;gap:8px}.cohort-heading span{max-width:145px;text-align:right;line-height:1.5}.cohort-tab{min-width:50px;padding:11px 13px}.cohort-rail{margin-bottom:4px}}
@media(max-width:760px){.cohort-controls{gap:12px}.cohort-all-group{padding-right:12px}.cohort-all{min-width:64px}}

/* Display-only alpha extraction keeps the original silver/white logo colors. */
.official-symbol{background:transparent;border-radius:0}
.official-symbol img{filter:url(#logo-remove-green);mix-blend-mode:normal}
/* Real Yeouido photograph by Clark Gu. Exposure and green tint are applied
   in the presentation layer so the photographed scene stays unchanged. */
.hero{position:relative;isolation:isolate;background:#073c32}
.hero-picture{position:absolute;inset:0;z-index:-2;display:block;pointer-events:none}
.hero-backdrop{width:100%;height:100%;object-fit:cover;object-position:center 57%;filter:saturate(.7) brightness(.88) contrast(1.08)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(2,30,25,.91) 0%,rgba(2,32,27,.82) 38%,rgba(4,29,26,.62) 72%,rgba(3,27,24,.5) 100%)}
.hero p,.hero-art .small{color:#dae6df}.hero-art .label,.hero-bottom{color:#d3e0d9}.hero-art{border-color:#8ba99866}.hero-bottom{border-color:#a0beb466}
.photo-credit{font-size:12px;color:var(--muted);margin-top:14px}.photo-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.hero-backdrop{object-position:60% center}.hero::before{background:linear-gradient(180deg,rgba(2,30,25,.83),rgba(2,30,25,.7) 60%,rgba(2,30,25,.88))}}

.logo-filter-definitions{position:absolute;overflow:hidden;pointer-events:none}
header{background:#062e27;border-color:#ffffff22;color:#fff}
.official-type{color:inherit}.brand,.foot-name{color:inherit}
#nav .primary-nav a[aria-current=page]{color:#d7ed98;border-color:#d7ed98}
.account-nav{border-color:#ffffff35}.account-nav a{border-color:#ffffff55;color:#fff}
.account-nav .login{background:#d7ed98;color:#083c30;border-color:#d7ed98!important}.account-nav .login:hover{background:#e4f4b5}.account-nav .join:hover{background:#ffffff18}
.menu{color:inherit}
body[data-page=home]:not(.header-scrolled) header{background:rgba(3,17,14,.2);border-color:#ffffff18}
body[data-page=home] .hero{margin-top:-94px}
.hero .hero-inner{min-height:calc(100svh - 38px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:170px;padding-bottom:40px;gap:0}
.hero .hero-inner>div:first-child{width:100%;max-width:980px}
.hero h1{font-size:clamp(40px,4.7vw,72px);line-height:1.5;letter-spacing:.04em;font-weight:800;margin-bottom:22px}
.hero .eyebrow{margin-bottom:24px;color:#e3edc9}.hero p{font-size:18px;color:#e1e6e3;line-height:1.9}.hero .actions{justify-content:center;margin-top:30px}
.hero-art{display:none}.hero-bottom{width:100%;margin-top:auto;flex-shrink:0;padding-top:20px;transform:translateY(8px)}
.hero .hero-inner>div:first-child{margin:auto 0 75px}
.hero::before{background:linear-gradient(180deg,rgba(2,11,10,.64),rgba(3,15,13,.55) 48%,rgba(2,13,11,.7))}
.hero-backdrop{filter:saturate(.78) brightness(.9) contrast(1.04);object-position:center 54%}
footer{background:#062e27;color:#fff;border-color:#254d42}footer p,footer .photo-credit,footer .copyright{color:#c1d1ca}footer .copyright{border-color:#ffffff26}
@media(max-width:1000px) and (min-width:761px){body[data-page=home] .hero{margin-top:-147px}.hero .hero-inner{padding-top:215px}}
@media(max-width:760px){body[data-page=home] .hero{margin-top:-76px}.hero .hero-inner{min-height:calc(100svh - 58px);padding-top:135px;padding-bottom:32px}.hero .hero-inner>div:first-child{margin:auto 0 60px}.hero h1{font-size:clamp(34px,8.7vw,48px);line-height:1.5}.hero p{font-size:16px}.hero .eyebrow{font-size:11px;letter-spacing:.09em}.hero-bottom{flex-direction:column;gap:8px;font-size:11px}.hero-backdrop{object-position:60% center}#nav{background:#062e27;border-color:#ffffff25}.account-nav{border-top-color:#ffffff25}}

#nav .primary-nav{gap:32px}
#nav .primary-nav a{font-size:16px;font-weight:700;letter-spacing:.075em}
@media(max-width:1150px) and (min-width:761px){#nav .primary-nav{gap:24px}#nav .primary-nav a{font-size:15px}}
@media(max-width:760px){#nav .primary-nav{gap:4px}#nav .primary-nav a{font-size:17px;padding:15px 10px}}

.hero-backdrop{opacity:0}.hero-backdrop.is-ready{opacity:1}

/* Category links gently turn green on hover and keyboard focus. */
#nav .primary-nav a{transition:color .22s ease,border-color .22s ease}
@media(hover:hover){#nav .primary-nav a:hover{color:#6ee7a0;border-bottom-color:#6ee7a0}}
#nav .primary-nav a:focus-visible{color:#6ee7a0;border-bottom-color:#6ee7a0;outline:2px solid #6ee7a0;outline-offset:5px}
@media(prefers-reduced-motion:reduce){#nav .primary-nav a{transition:none}}

/* Freesentation is naturally condensed; keep large Korean text comfortably spaced. */
.hero h1{letter-spacing:.04em}
.official-type strong{letter-spacing:.04em}

@media(min-width:761px){#nav{justify-content:flex-end;gap:28px;margin-left:auto}}

/* More open tracking throughout the site, including form controls. */
body{letter-spacing:.045em}
button,input,select,textarea{letter-spacing:inherit}

/* Self-hosted Nanum Gothic for reading text; Freesentation for headings. */
@font-face{font-family:"Nanum Gothic";src:url("./fonts/nanum-gothic/NanumGothic.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Nanum Gothic";src:url("./fonts/nanum-gothic/NanumGothicBold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Nanum Gothic";src:url("./fonts/nanum-gothic/NanumGothicExtraBold.otf") format("opentype");font-weight:800;font-style:normal;font-display:swap}
:root{--font-body:"Nanum Gothic","나눔고딕","Malgun Gothic",sans-serif;--font-heading:"Presentation","Freesentation","Malgun Gothic",sans-serif}
body,button,input,select,textarea{font-family:var(--font-body)}
h1,h2,h3,h4,h5,h6,.wordmark,.hero-type,.aside-title,.research-cover strong,.big-statement,.official-type,.official-type strong,.official-type>span,.foot-name{font-family:var(--font-heading)}
.big-statement small{font-family:var(--font-body)}

.study-toolbar{display:flex;justify-content:flex-end;align-items:center;margin:0 0 16px}
.study-create-button{min-height:36px;padding:7px 15px;font-size:13px;line-height:1.5}
.study-back-link{display:inline-block;margin-bottom:24px}
.study-create-form{width:100%;max-width:820px;background:#fff}
.study-create-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
@media(max-width:760px){.study-create-button{min-height:40px}.study-create-actions .btn{min-width:96px}}

.study-year-filter{padding:24px 28px;border:1px solid var(--line);background:var(--pale)}
.study-year-label{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.study-year-label strong{font-size:15px}.study-year-label>span{color:var(--muted);font-size:13px}
.study-year-rail{display:flex;gap:10px;overflow-x:auto;padding:3px 3px 9px;scrollbar-width:thin;overscroll-behavior-x:contain}
.study-year-tab{flex:none;min-width:90px;padding:12px 18px;background:white;border:1px solid var(--line);color:var(--muted);font-size:16px;line-height:1.5;transition:background .2s,color .2s}
.study-year-tab[aria-pressed=true]{color:white;background:var(--green);border-color:var(--green);font-weight:700}
.study-year-tab:hover:not([aria-pressed=true]){color:var(--green);border-color:var(--green)}
.study-year-tab:focus-visible,.study-card:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.study-year-summary{font-size:14px;color:var(--muted);margin:24px 0 32px}
.study-period+.study-period{margin-top:48px}.study-period-heading{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:22px}
.study-period-heading h2{margin:0;font-size:28px}.study-period-heading>span{font-size:13px;color:var(--muted)}
.study-card{display:flex;flex-direction:column;min-height:194px;text-decoration:none;color:var(--ink);transition:border-color .2s,background .2s}
.study-card:hover,.study-card.recently-viewed{border-color:#87a997;background:#f8fbf9}
.study-card .eyebrow{font-size:11px;color:var(--muted)}.study-card h3{overflow-wrap:anywhere;margin:12px 0 22px;font-size:23px}.study-card p{margin:0 0 22px;font-size:14px}
.study-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.study-card-footer .text-link{color:var(--green);font-size:13px}
.study-detail-heading{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:22px}.study-detail-heading h2{margin:0;font-size:28px}
.study-manage-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.study-manage-actions .btn{min-height:36px;padding:7px 13px;font-size:13px;line-height:1.5}
.recruitment-control{margin-bottom:28px;background:#fff}.recruitment-control-heading{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.recruitment-control-heading h2{margin:0}.recruitment-control .portal-actions{margin-top:20px}.recruitment-control .btn{padding:10px 17px}.recruitment-control .btn:disabled{cursor:not-allowed;opacity:.45}.recruitment-control p{overflow-wrap:anywhere}
.withdrawal-panel{margin-top:28px}.withdrawal-panel h2{font-size:22px}.portal-admin-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.recruitment-body{margin:20px 0 28px}#withdrawal-form .check{display:flex;gap:8px;font-size:14px;margin:20px 0}#withdrawal-form .check input{width:auto;flex:none}
.application-question-editor{border:1px solid var(--line);padding:22px;margin:28px 0;min-width:0;background:#fff}.application-question-editor legend{font-size:20px;font-weight:700;padding:0 8px}.application-question-row+.application-question-row{margin-top:24px}.question-heading,.question-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.question-heading label{margin:0 0 8px}.question-editor-footer{margin-top:14px;font-size:14px}.application-question-editor textarea{min-height:100px;border:1px solid var(--line);padding:12px}.question-editor-footer .btn{font-size:14px;padding:8px 14px}.question-number{display:block;color:var(--green);font-size:14px;margin-bottom:7px}.application-answer-field label{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.application-answer-field textarea{min-height:180px}.answer-character-count{display:block;text-align:right;color:var(--muted);font-size:13px;margin-top:7px;font-variant-numeric:tabular-nums}.answer-character-count.at-limit{color:var(--green);font-weight:700}.application-saved-answers section{border-top:1px solid var(--line);padding:20px 0}.application-saved-answers h4{font-size:17px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px}.application-saved-answers .portal-copy{margin:0 0 8px}
.portal-card .meta,.material-current-file{overflow-wrap:anywhere}.portal-card .actions{display:flex;flex-wrap:wrap;gap:10px}
.material-edit-form .field{margin-bottom:22px}.material-edit-form label{display:block;font-size:15px;margin-bottom:9px}
.material-edit-form input,.material-edit-form textarea{width:100%;max-width:100%;padding:12px;border:1px solid var(--line);background:#fff}.material-edit-form textarea{min-height:120px;resize:vertical}
.material-edit-form .hint{font-size:13px;line-height:1.8;color:var(--muted)}
body[data-page=study-detail] .page-head h1{overflow-wrap:anywhere}
@media(max-width:760px){.study-year-filter{padding:20px 16px}.study-year-label{align-items:flex-start;flex-direction:column;gap:9px}.study-year-rail{gap:8px}.study-year-tab{min-width:78px;padding:11px 14px;font-size:15px}.study-period-heading h2,.study-detail-heading h2{font-size:25px}.study-card{min-height:170px}.study-card h3{font-size:22px}.study-period+.study-period{margin-top:36px}}
@media(prefers-reduced-motion:reduce){.study-year-tab,.study-card{transition:none}}

.auth-form{background:#fff;margin:0 auto;width:100%}.auth-login{max-width:500px}.auth-register{max-width:820px}.auth-form h2{margin:0 0 12px;font-size:28px}.auth-form .hint{display:block;line-height:1.8;margin:8px 0 20px}.auth-form .check{line-height:1.8;font-size:14px;align-items:flex-start}.auth-form .check input{flex:none;margin-top:6px}.auth-form>.btn{width:100%;margin-top:8px}.auth-links{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:26px;font-size:14px}.auth-profile{background:#fff}.auth-password-panel{margin-top:28px;background:#fff}.auth-password-panel>summary{cursor:pointer;font-weight:700}.auth-password-panel[open]>summary{margin-bottom:26px}.portal-admin-banner{display:flex;justify-content:space-between;gap:18px;align-items:center}.text-link[data-logout]{background:transparent;font:inherit;cursor:pointer;border:0;border-bottom:1px solid currentColor;padding:0 0 4px;color:var(--green)}.reset-link{display:block;width:100%;padding:12px;border:1px solid var(--line);margin:12px 0;font-size:14px}.auth-password-panel .hint{line-height:1.8}.auth-form input[type=password]{letter-spacing:.02em}
.upload-panel.compact-upload{max-width:none;padding:0;margin:0 0 20px;border:0;background:transparent}
.compact-upload>summary{display:block;width:max-content;margin-left:auto;list-style:none;padding:7px 15px;min-height:36px;line-height:1.5;font-size:13px;font-weight:700;background:var(--green);color:#fff;border:1px solid var(--green);cursor:pointer}
.compact-upload>summary::-webkit-details-marker{display:none}.compact-upload>summary:hover{background:#155744}.compact-upload>summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}.compact-upload[open]>summary{margin-bottom:16px}.compact-upload>form{max-width:none;padding:28px;border:1px solid var(--line);background:var(--pale)}
@media(max-width:760px){.auth-form h2{font-size:25px}.auth-links{font-size:13px;gap:16px}.portal-admin-banner{align-items:flex-start;flex-wrap:wrap}.compact-upload>summary{min-height:40px}.compact-upload>form{padding:22px 18px}.auth-password-panel{padding:22px 18px}}
