/* Conference identity and readable type. */
body{font-size:17px;line-height:1.75}
body>header{padding-top:18px;padding-bottom:10px;row-gap:8px}
header .official-brand{--brand-logo-width:300px;display:flex;flex-direction:column;align-items:flex-start;width:var(--brand-logo-width);flex:0 0 auto;gap:0;min-width:0}
header .official-brand img{display:block;width:var(--brand-logo-width);max-width:none;height:auto;aspect-ratio:3156/706;object-fit:contain;margin-left:calc(var(--brand-logo-width)*-.01616)}
header .official-brand>.conference-brand-title{display:block;padding-left:calc(var(--brand-logo-width)*.23891);margin-top:-3px;font-family:OpsPretendard,V4Pretendard,sans-serif;font-size:15.5px;font-weight:700;letter-spacing:-.025em;line-height:1.35;white-space:nowrap}
header nav summary{font-size:18px;font-weight:650;letter-spacing:-.02em}header nav a{font-size:17px}
.account-links>a,.account-links button{font-size:15px}
.sub-article p,.sub-article li,.ops-content,.ops-content p,.body-text,.app-main p,.app-main label,.app-main input:not([type=checkbox]),.app-main select,.app-main textarea{font-size:17px;line-height:1.85}
.sub-layout aside a,.legal-layout aside a{font-size:17px}.track-links span{font-size:15px}.track-links strong{font-size:19px}
.notice-box,.ops-content .notice-box,.app-main .check,.field-hint{font-size:16px}.list-row span,.work-card>span{font-size:15px}
footer .footer-brand{display:inline-block;max-width:100%;background:#fff;padding:10px 14px;border-radius:5px}
footer .footer-brand img{display:block;width:310px;max-width:100%;height:auto}
footer p,footer small,footer a{font-size:15px}
.campus-gallery{margin:50px 0 10px}.campus-gallery .heading{margin-bottom:24px}.campus-gallery h2{font-size:clamp(26px,3vw,38px)}
.campus-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.campus-gallery figure{margin:0;overflow:hidden;border-radius:12px;background:#edf2f6}.campus-gallery img{display:block;width:100%;height:220px;object-fit:cover}.campus-gallery figcaption{padding:12px 15px;font-size:15px;color:#264f70}
.presentation-video{margin:35px 0;padding:26px;border:1px solid #c8d8e6;border-radius:12px;background:#f3f7fb}.presentation-video .button{gap:18px}
.presentation-dialog{width:min(960px,94vw);max-width:94vw;max-height:92dvh;padding:0;border:0;border-radius:14px;background:#fff;color:#18364e;box-shadow:0 25px 100px #001c3b66;overflow:auto}
.presentation-dialog::backdrop{background:#071d33c9}.presentation-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px}.app-main .presentation-dialog h2{font-size:20px;margin:0}.presentation-dialog-heading button{white-space:nowrap;flex-shrink:0}.presentation-dialog video{display:block;width:100%;max-height:72dvh;aspect-ratio:16/9;background:#000}.presentation-dialog .video-error{padding:12px 20px}.upload-existing{padding:12px 16px;background:#edf4fa;border-radius:6px}
.console-content .admin-panel{margin:18px 0}.video-upload-status{color:#185f9b;font-weight:600}
@media(max-width:1000px){body>header{padding-top:14px;padding-bottom:12px;gap:12px}}
@media(max-width:700px){body{font-size:16px}header .official-brand{--brand-logo-width:235px}header .official-brand>.conference-brand-title{font-size:12.5px;margin-top:-2px}.account-links>a,.account-links button{font-size:14px}header nav summary{font-size:18px}header nav a{font-size:16px}.sub-article p,.sub-article li,.ops-content,.ops-content p,.body-text,.app-main p,.app-main label,.app-main input:not([type=checkbox]),.app-main select,.app-main textarea{font-size:16px}.campus-gallery-grid{grid-template-columns:1fr}.campus-gallery img{height:auto;max-height:320px}.presentation-video{padding:20px}.presentation-dialog-heading{padding:14px;gap:10px}.app-main .presentation-dialog h2{font-size:17px}.presentation-dialog-heading button{font-size:14px;padding:10px}.presentation-dialog video{max-height:70dvh}footer .footer-brand img{width:270px}}
@media(max-width:390px){header .official-brand{--brand-logo-width:200px}header .official-brand>.conference-brand-title{font-size:12px}}
@media(max-width:350px){header .official-brand{--brand-logo-width:180px}header .official-brand>.conference-brand-title{font-size:11px}header .responsive-toggle{padding-left:12px;padding-right:12px;font-size:12px}}

/* Clearer menus and page titles, retaining the existing conference layout. */
body>header nav summary{font-size:21px;font-weight:750;line-height:1.5}
body>header nav a{font-size:19px;font-weight:600;line-height:1.6;white-space:normal}
.sub-layout aside a,.legal-layout aside a{font-size:19px;font-weight:600}
.account-links>a,.account-links button{font-size:16px}
body .sub-hero h1,body .sub-title h1,body .sub-banner h1,body .legal-hero h1{font-size:clamp(40px,4vw,58px);font-weight:800;line-height:1.25;letter-spacing:-.035em}
body .app-main>h1,body .app-main .board-title,body .mypage-header h1,body .legal-article>h2{font-size:clamp(34px,3.7vw,50px);font-weight:800;line-height:1.3;letter-spacing:-.035em}
body .heading h2,body .participation h2,body .archive h2,body .support h2,body .official-update h2{font-size:clamp(34px,3.8vw,50px);font-weight:800;line-height:1.25;letter-spacing:-.035em}
body .sub-article h2,body .mypage-section-head h2{font-size:28px;font-weight:750;line-height:1.4}
body .story h3,body .participation h3,body .project-body h3,body .faq h3{font-size:25px;font-weight:750;line-height:1.4}
body .official-update{grid-template-columns:minmax(0,1fr);gap:0}
.official-update>div{max-width:880px}
.account-summary{margin:0;display:grid;gap:12px}.account-summary>div{display:grid;grid-template-columns:85px minmax(0,1fr);gap:18px}.account-summary dt{font-weight:650;color:#56718a}.account-summary dd{margin:0;overflow-wrap:anywhere}.topic-number{display:flex;align-items:center;gap:16px;color:#526f88}.topic-number strong{color:#173d5c;font-size:20px}
.app-view-edit-project>form{max-width:900px}.app-view-edit-project label{font-weight:650}.app-view-edit-project input,.app-view-edit-project select{font-weight:450}
@media(max-width:700px){
 body>header nav summary{font-size:20px}body>header nav a{font-size:18px}
 .sub-layout aside a,.legal-layout aside a{font-size:17px}
 body .sub-hero h1,body .sub-title h1,body .sub-banner h1,body .legal-hero h1{font-size:clamp(32px,8.2vw,42px)}
 body .app-main>h1,body .app-main .board-title,body .mypage-header h1,body .legal-article>h2{font-size:clamp(29px,7.5vw,38px)}
 body .heading h2,body .participation h2,body .archive h2,body .support h2,body .official-update h2{font-size:clamp(29px,7.5vw,38px)}
 body .sub-article h2,body .mypage-section-head h2{font-size:25px}
 body .story h3,body .participation h3,body .project-body h3,body .faq h3{font-size:23px}
 .account-summary>div{grid-template-columns:60px minmax(0,1fr);gap:12px}
}
