@font-face{font-family:"Union Noto Sans KR";font-style:normal;font-weight:100 900;font-display:swap;src:url("assets/fonts/noto-sans-kr.woff2") format("woff2")}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:#182b43;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #edaa2c;outline-offset:5px}h1,h2,h3,p{margin:0}button{border:0;background:none;color:inherit}.skip{position:absolute;top:-100px}.skip:focus{top:5px;background:white;z-index:20;padding:10px}.topline{background:#1c5196;color:white;font-size:13px}.topline>div{max-width:1160px;margin:auto;padding:9px 28px;display:flex;justify-content:space-between}.topline span{letter-spacing:2px;font-size:12px;opacity:.75}header{max-width:1160px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:12px;align-items:center}.mark{color:#1c5196;font-size:42px;font-weight:950;font-style:italic;line-height:1}.brand small{display:block;font-size:12px;letter-spacing:3px;line-height:1.3}.brand strong{font-size:25px;letter-spacing:-1px}nav{display:flex;gap:42px;font-weight:700}nav a:hover{color:#1c5196}#menuBtn{font-size:26px;width:44px;height:44px;color:#1c5196}#menu{border-top:1px solid #e2e8ef;background:#f5f8fc;padding:20px max(24px,calc((100vw - 1104px)/2));}#menu a{display:block;padding:12px;border-bottom:1px solid #e0e6ee;font-weight:700}.hero{background:#1d5195;color:white;display:grid;grid-template-columns:1.25fr 1fr;max-width:1400px;margin:auto;overflow:hidden}.hero-inner{padding:56px max(35px,calc((100vw - 1104px)/2));padding-right:30px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:2px;margin-bottom:12px;color:#1d5195}.hero .eyebrow{color:#c4dafa;letter-spacing:3px;font-size:14px}h1{font-size:clamp(32px,3.9vw,54px);line-height:1.3;letter-spacing:-2px;font-weight:850;word-break:keep-all}.intro{color:#dbe7f7;margin:20px 0 26px}.hero-link{display:inline-flex;gap:36px;align-items:center;padding-bottom:7px;border-bottom:1px solid #a8c7e9;font-size:14px}.hero-link span{font-size:22px}.hero-bottom{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#c1d7f2;margin-top:50px}.hero-side{background:#548fc5;padding:48px 35px;display:flex;flex-direction:column;justify-content:center;font-size:64px;font-weight:850;letter-spacing:-3px;line-height:1.1}.hero-side>span:nth-child(2){color:#d6e7f7}.hero-side strong{font-size:110px;letter-spacing:-5px}.hero-side p{font-size:14px;font-weight:500;letter-spacing:0;margin-top:30px}.quick{max-width:1104px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #dce3ed}.quick a{padding:26px 20px;display:flex;align-items:center;gap:15px;font-weight:700}.quick a:hover{background:#f3f7fb}.icon{font-size:25px;color:#245a9b}.arrow{margin-left:auto;color:#7190b4;font-size:19px}.section{max-width:1104px;margin:auto;padding:58px 0;scroll-margin-top:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px}h2{font-size:28px;letter-spacing:-1px;line-height:1.45}h3{font-size:18px}.subtitle{color:#65768a;font-size:14px}.news-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:36px}.tabs{display:flex;border-bottom:1px solid #d9e1ed;gap:26px}.tabs button{padding:10px 0 15px;font-size:17px;font-weight:700;color:#758195;border-bottom:3px solid transparent}.tabs button[aria-selected=true]{border-color:#1d5195;color:#1d5195}#newsPanel{padding:35px 20px;text-align:center;min-height:223px}#newsPanel p{color:#788596;font-size:14px;margin-top:8px}.empty-symbol{font-size:32px;color:#9aacc3;display:block;margin-bottom:10px}.notice-card{background:#eef4fa;padding:28px 30px;border-top:3px solid #528fc5}.notice-card>span{font-size:13px;color:#356aa6;font-weight:700}.notice-card h3{font-size:25px;line-height:1.45;margin:13px 0}.notice-card p{font-size:14px;color:#667a90}.notice-card a{display:flex;justify-content:space-between;border-top:1px solid #d4e0ed;padding-top:17px;margin-top:20px;color:#1d5195;font-size:14px;font-weight:700}.about{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid #dce3ed;border-bottom:1px solid #dce3ed}.about-copy{font-size:21px;font-weight:650;line-height:1.65;margin:15px 0 10px}.blue-label{font-size:14px;color:#1d5195;font-weight:700}.muted{color:#758195;font-size:14px}.resource-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.resource-list article{border:1px solid #dae3ed;padding:25px;position:relative}.resource-num{font-size:13px;color:#548bc3}.resource-list h3{margin:18px 0 6px}.resource-list p{font-size:14px;color:#758195}.status{position:absolute;top:25px;right:20px;font-size:12px;color:#758195}.join{background:#edf4fa;max-width:none;padding:45px max(28px,calc((100vw - 1104px)/2));display:grid;grid-template-columns:1fr 1fr;gap:50px}.join-info{padding-top:10px}.join-info p{font-size:14px;color:#62758c;margin:10px 0 20px}.join-info a{display:flex;justify-content:space-between;max-width:340px;font-size:14px;font-weight:700;color:#1c5196}footer{max-width:1160px;padding:40px 28px 24px;margin:auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:25px}footer strong{font-size:20px}footer p{font-size:13px;color:#7b8797;margin-top:7px}.footer-links{display:flex;gap:20px;align-items:center;font-size:13px}.copyright{width:100%;font-size:12px;border-top:1px solid #e9edf2;padding-top:20px}
@media(max-width:1160px){.section,.quick{margin-left:28px;margin-right:28px}.join{margin:0}.hero-inner{padding-left:40px}.hero-side strong{font-size:90px}}@media all{html{scroll-padding-top:20px}.topline>div{padding:7px 20px;font-size:12px}.topline span{display:none}header{padding:19px 20px}.brand strong{font-size:23px}.brand small{font-size:12px}.mark{font-size:38px}nav{display:none}.hero{display:block}.hero-inner{padding:34px 24px 23px}.hero-side{display:none}.hero .eyebrow{font-size:12px;margin-bottom:17px}h1{font-size:36px;line-height:1.38;letter-spacing:-1.6px}.intro{font-size:15px;margin:18px 0 24px}.hero-bottom{margin-top:32px;padding-top:15px;border-top:1px solid #4875ac;font-size:12px}.quick{margin:0 20px;grid-template-columns:repeat(4,1fr)}.quick a{padding:20px 0 18px;flex-direction:column;gap:4px;font-size:13px}.quick .arrow{display:none}.icon{font-size:25px;line-height:1.3}.section{padding:35px 0;margin-left:20px;margin-right:20px}.section-heading{margin-bottom:20px}.section-heading .subtitle{display:none}.eyebrow{font-size:12px;margin-bottom:7px}h2{font-size:25px}.news-layout{grid-template-columns:1fr;gap:20px}.tabs{gap:25px}.tabs button{font-size:16px;padding:8px 0 12px}#newsPanel{padding:25px 12px;min-height:186px}#newsPanel h3{font-size:16px}#newsPanel p{max-width:260px;margin:8px auto 0}.notice-card{padding:24px}.notice-card h3 br,.notice-card p br{display:none}.notice-card h3{font-size:22px}.about{grid-template-columns:1fr;gap:25px}.about-copy{font-size:19px}.resource-list{grid-template-columns:1fr;gap:10px}.resource-list article{padding:20px;display:flex;align-items:center;gap:20px}.resource-list h3{font-size:16px;margin:0 0 3px}.resource-list p{font-size:13px}.status{top:22px;font-size:12px}.join{margin:0;padding:32px 24px;grid-template-columns:1fr;gap:18px}.join h2{font-size:24px}.join-info p{font-size:14px}footer{padding:30px 24px 20px;gap:20px}.footer-links{flex-wrap:wrap;gap:24px}.copyright{margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep the mobile layout centered on every screen. */
html{background:#edf1f6}body{width:100%;max-width:430px;min-height:100vh;margin:0 auto;box-shadow:0 0 32px #182b4310}#menu{padding:20px 24px}

.brand-logo{display:block;width:48px;height:48px;object-fit:contain;flex-shrink:0}

/* Mobile reference header: menu left, centered identity, search below. */
.mobile-header{position:relative;display:flex;justify-content:center;min-height:64px;padding:8px 48px;background:#1c5196;gap:0}
.mobile-header .brand{gap:9px;justify-content:center;align-items:center;white-space:nowrap}
.mobile-header .brand-logo{width:44px;height:44px;filter:drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff)}
.mobile-header .brand small{display:none}
.mobile-header .brand strong{display:block;font-size:32px;font-weight:900;line-height:1.15;color:#fff;letter-spacing:-1.6px}
.mobile-header #menuBtn{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:40px;height:44px;color:#fff;font-size:27px;line-height:1}
.header-search{background:#edf4fa;padding:10px 28px 14px}
.header-search form{display:flex;align-items:center;border:2px solid #1c5196;border-radius:28px;background:#fff;min-height:44px;overflow:hidden}
.header-search input{min-width:0;flex:1;border:0;background:transparent;padding:10px 0 10px 15px;font:inherit;font-size:14px;color:#182b43;outline-offset:-3px}
.header-search button{display:grid;place-items:center;flex:0 0 44px;height:42px;color:#1c5196}
.header-search svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#searchResults{background:white;margin-top:10px;padding:14px;border-radius:8px;font-size:14px}
#searchResults a{display:block;padding:9px 0;color:#1c5196;text-decoration:underline}
@media(max-width:350px){.mobile-header{padding:8px 44px}.mobile-header .brand{gap:7px}.mobile-header .brand strong{font-size:26px;letter-spacing:-1.4px}.mobile-header .brand-logo{width:38px;height:38px}.header-search{padding-left:20px;padding-right:20px}}

/* Left-side modal navigation, aligned to the centered mobile page. */
#menu{position:fixed;inset:0 auto 0 max(0px,calc((100vw - 430px)/2));width:min(340px,85vw);max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#fff;color:#182b43;overflow-y:auto;box-shadow:8px 0 30px #102e5233}
#menu:not([open]){display:none}
#menu[open]{display:block;animation:drawer-enter .25s ease-out}
#menu::backdrop{background:rgba(10,25,45,.5)}
.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 20px;background:#1c5196;color:white;min-height:56px}
.drawer-heading .drawer-login{min-height:44px;padding:0;font-size:19px;font-weight:600;line-height:1;letter-spacing:2px;color:inherit}
.drawer-heading .drawer-login:hover{opacity:.8}
.drawer-heading .drawer-login:active{opacity:.6}
#menuClose{width:44px;height:44px;font-size:32px;line-height:1;color:white}
#menu .drawer-nav{display:flex;flex-direction:column;gap:0;padding:12px 22px}
#menu .drawer-nav a,#menu .drawer-menu-item{display:flex;width:100%;text-align:left;background:none;font-weight:800;justify-content:space-between;align-items:center;min-height:64px;padding:16px 0;font-size:23.4px;border-bottom:1px solid #e0e6ee}
#menu .drawer-nav a:hover,#menu .drawer-menu-item:hover{color:#1c5196}
#menu .drawer-nav span{font-size:25px;color:#1c5196;font-weight:400}
@keyframes drawer-enter{from{transform:translateX(-100%);opacity:.5}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){#menu[open]{animation:none}}

/* Image slideshow below the search field. */
.slideshow{background:#edf4fa;padding:0 20px 16px}
.slide-stage{position:relative;aspect-ratio:4/5;overflow:hidden;background:#edf4fa;touch-action:pan-y}
#slideTrack{height:100%}
.slide-item{position:absolute;inset:0;margin:0}
.slide-item[hidden]{display:none}
.slide-item img{display:block;width:100%;height:100%;object-fit:contain}
.slide-item.is-current{animation:slide-fade .35s ease-out}
.slide-empty{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;text-align:center;padding:24px;color:#1c5196}
.slide-empty[hidden]{display:none}
.slide-empty img{object-fit:contain}
.slide-empty p{font-size:25px;font-weight:800}
.slide-empty span{font-size:14px;color:#60768d}
.slide-controls{display:flex;align-items:center;justify-content:center;gap:4px;padding-top:9px;flex-wrap:wrap}
.slide-controls[hidden]{display:none}
.slide-controls>button{min-width:36px;min-height:44px;color:#1c5196;font-size:24px;border-radius:6px}
.slide-controls>button:hover{background:#dce8f5}
#slideDots{display:flex;flex-wrap:wrap;justify-content:center;max-width:180px}
#slideDots button{width:24px;height:32px;padding:0;display:grid;place-items:center}
#slideDots button::before{content:'';width:6px;height:6px;border-radius:50%;background:#aebed1}
#slideDots button[aria-current=true]::before{background:#1c5196;width:8px;height:8px}
@keyframes slide-fade{from{opacity:.25}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.slide-item.is-current{animation:none}}

.slide-link{display:block;width:100%;height:100%}.slide-link:focus-visible{outline-offset:-4px}

/* Compact three-tab bulletin board directly below the slideshow. */
#news.news-board{margin:0 16px;padding:8px 0 0}
.news-board .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:0;background:#edf3fa}
.news-board .tabs button{min-height:56px;padding:14px 4px;margin:0;border:0;border-right:1px solid #ffffff80;color:#182b43;font-size:17px;font-weight:800;line-height:1.4}
.news-board .tabs button:last-child{border-right:0}
.news-board .tabs button[aria-selected=true]{background:#1c5196;color:white;border:0}
.news-board #newsPanel{min-height:196px;padding:0;text-align:left;background:white}
.news-board #newsPanel .news-empty{margin:0;padding:72px 12px;text-align:center;font-size:14px;color:#68798d}
.news-list{margin:0;padding:0 4px;list-style:none}
.news-list li{display:flex;align-items:center;gap:12px;min-height:50px;padding:12px 8px;border-bottom:1px dashed #aab3be}
.news-list li:last-child{border-bottom:0}
.news-title{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:500;color:#15263a}
a.news-title:hover{text-decoration:underline;color:#1c5196}
.news-list time{flex-shrink:0;color:#596675;font-size:12px;font-variant-numeric:tabular-nums}

.ilabor-news{padding:30px 0 28px;margin:0 20px;border-bottom:1px solid #dae3ed}
.ilabor-news h2{text-align:center;color:#1c5196;font-size:29px;font-weight:900;margin:0 0 20px;letter-spacing:-1.5px}
.ilabor-news h2 small{display:block;font-size:12px;letter-spacing:1px;font-weight:600}
.ilabor-feature{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}
.ilabor-feature img{width:40%;aspect-ratio:1.15;object-fit:cover}
.ilabor-feature strong{flex:1;font-size:18px;line-height:1.65;word-break:keep-all}
.ilabor-list{list-style:none;margin:0;padding:0}
.ilabor-list li{padding:11px 0;border-bottom:1px dashed #9ca8b6}
.ilabor-list a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px}
.ilabor-list a:hover,.ilabor-feature:hover{text-decoration:underline}
.ilabor-more{display:flex;justify-content:center;align-items:center;gap:8px;width:fit-content;min-width:230px;max-width:100%;margin:26px auto 0;border:1px solid #1c5196;border-radius:28px;padding:10px 22px;color:#1c5196;font-size:16px}

.ilabor-news{border-top:1px solid #b8c9dc;margin-top:24px;padding-top:30px}
.ilabor-news h2 .ilabor-logo{display:block;width:220px;max-width:80%;height:auto;margin:0 auto}

.mobile-header .brand{width:100%;min-width:0}.mobile-header .header-wordmark{display:block;width:100%;max-width:330px;height:auto;max-height:48px;object-fit:contain;filter:none}

/* Space the original logo components without changing the supplied lettering. */
.mobile-header{min-height:76px;padding-top:14px;padding-bottom:14px}
.mobile-header .header-wordmark.wordmark-spaced{display:grid;grid-template-columns:145fr 375fr 640fr;align-items:center;column-gap:3.5px;width:100%;max-width:326px;max-height:none}
.wordmark-spaced svg{display:block;width:100%;height:auto;overflow:hidden}
@media(max-width:350px){.mobile-header .header-wordmark.wordmark-spaced{column-gap:2.5px}}

/* This week's important events: at most one naturally sized card per day. */
.weekly-schedule{margin:0 20px;padding:28px 0 36px}
.schedule-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.schedule-heading h2{font-size:24px;font-weight:800;letter-spacing:-1px;color:#1c5196}
#scheduleRange{font-size:14px;color:#66788e;font-variant-numeric:tabular-nums}
#scheduleList{display:flex;flex-direction:column;gap:12px}
.schedule-day{display:grid;grid-template-columns:62px minmax(0,1fr);border:1px solid #cfdbeb;border-radius:10px;overflow:hidden;background:#fff}
.schedule-label{margin:0;padding:17px 8px;background:#edf4fa;color:#1c5196;text-align:center;display:flex;flex-direction:column;justify-content:flex-start;gap:3px;font-size:21px;line-height:1.5}
.schedule-label time{font-size:12px;font-weight:500}
.schedule-events{list-style:none;margin:0;padding:15px 16px;min-width:0;display:flex;flex-direction:column;justify-content:center}
.schedule-events li{font-size:16px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;word-break:keep-all}
.schedule-events li+li{margin-top:10px;padding-top:10px;border-top:1px dashed #d7e1ec}
.schedule-day.is-today{border-color:#1c5196}
.schedule-day.is-today .schedule-label{background:#1c5196;color:white}
#scheduleEmpty{padding:25px 12px;text-align:center;font-size:14px;color:#6c7e93;background:#f5f8fc;border-radius:8px}
#scheduleEmpty[hidden]{display:none}

/* Divider between the bulletin board and weekly schedule. */
#news.news-board{border-bottom:1px solid #b8c9dc;padding-bottom:20px;margin-bottom:0}

.news-board .news-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.news-nav a{display:flex;align-items:center;justify-content:center;min-height:56px;padding:14px 4px;border-right:1px solid #ffffff80;color:#182b43;font-size:17px;font-weight:800;line-height:1.4;text-align:center}
.news-nav a:last-child{border-right:0}
.news-nav a[aria-current=page],.news-nav a:hover{background:#1c5196;color:#fff}
body:not([data-news-kind]) .news-nav a:first-child{background:#1c5196;color:#fff}
.news-page-heading{padding:20px 4px 24px}
.back-home{display:inline-block;padding:8px 0;color:#496581;font-size:14px}
.news-page-heading h1{font-size:28px;line-height:1.4;color:#1c5196;margin-top:10px;letter-spacing:-1px}
.news-page .news-list li{min-height:62px}
.news-page .news-title{white-space:normal;overflow-wrap:anywhere}
.news-page #newsPanel{min-height:260px}

/* Reference-style board: thumbnail, title, date, pagination and search. */
.news-page .news-page-heading{padding:24px 0 18px}.breadcrumb{font-size:14px;color:#718096}
.news-page .news-page-heading h1{font-size:28px;color:#182b43;margin-top:18px}
.news-page .news-nav{margin-bottom:24px}
.reference-table{width:100%;border-collapse:collapse;table-layout:fixed;border-top:2px solid #1c5196;font-size:14px}
.reference-table th{padding:12px 4px;background:#f3f6fa;border-bottom:1px solid #c9d3df;font-weight:700;color:#3c4c60}
.reference-table .image-column{width:62px}.reference-table .date-column{width:78px}
.reference-table td{padding:14px 5px;border-bottom:1px solid #dce2e9;vertical-align:middle}
.reference-table td a{font-size:15px;line-height:1.55;word-break:keep-all;overflow-wrap:anywhere;color:#172b43}
.reference-table td a:hover{text-decoration:underline;color:#1c5196}
.reference-table img{display:block;width:52px;height:52px;object-fit:cover}
.reference-table time{font-size:12px;white-space:nowrap;color:#66768a}
.reference-table .board-empty{text-align:center;padding:65px 8px;font-size:14px;color:#718096}
#boardPages{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;padding:24px 0}
#boardPages button{min-width:32px;height:36px;padding:0 6px;font-size:14px;border:1px solid #dae1e9;background:white;color:#41546d}
#boardPages button[aria-current=page]{background:#1c5196;border-color:#1c5196;color:white}
#boardPages button:disabled{opacity:.4;cursor:default}
.board-search{display:flex;gap:6px;margin:0 0 28px}
.board-search input,.board-search select,.board-search button{font:inherit;font-size:14px;border:1px solid #c6d1dd;border-radius:3px;min-height:42px}
.board-search select{max-width:100px;padding:6px;background:white;color:#263a51}
.board-search input{width:0;flex:1;min-width:0;padding:8px}
.board-search button{background:#1c5196;border-color:#1c5196;color:white;padding:8px 12px}

/* Compact spacing above standalone board titles. */
body[data-news-kind] #news.news-page{padding-top:0}
body[data-news-kind] .news-page .news-page-heading{padding:12px 0 14px}
body[data-news-kind] .news-page .news-page-heading h1{margin-top:0;font-size:26px;line-height:1.35}

#menu .drawer-nav .drawer-chevron{display:block;flex:0 0 auto;width:9px;height:9px;margin-right:4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);}

/* Introduction: restrained hierarchy inspired by nodong.org. */
#menu .drawer-submenu{padding:6px 0 14px;background:#fff;border-bottom:1px solid #ddd}
#menu .drawer-submenu[hidden]{display:none}
#menu .drawer-submenu a,#menu .drawer-submenu button{position:relative;min-height:46px;padding:12px 0 12px 16px;font-size:18.7px;font-weight:400;line-height:1.4;letter-spacing:-.4px;color:#000;border-bottom:0}
#menu .drawer-submenu a:hover,#menu .drawer-submenu button:hover{color:#000;background:#f5f8fc}
#menu .drawer-submenu a[aria-current="page"]{color:#000;font-weight:700}
#menu .drawer-submenu a[aria-current="page"]::before{content:"";position:absolute;left:2px;top:50%;width:5px;height:5px;border-radius:50%;background:#1c5196;transform:translateY(-50%)}
#menu .drawer-menu-item[aria-expanded="true"]{color:inherit;border-bottom-color:#1c5196}
#menu .drawer-menu-item:hover{color:inherit}
#menu .drawer-menu-item[aria-expanded="true"] .drawer-chevron{transform:translateY(2px) rotate(225deg)}
.info-page{padding-top:0;padding-bottom:40px;color:#222}
.info-page-heading{padding:12px 0 20px;border-bottom:2px solid #1c5196}
.info-page-heading h1{font-size:26px;font-weight:800;line-height:1.35;letter-spacing:-1px}
.info-page-content{padding:28px 0;text-align:left;font-size:16px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.info-section + .info-section{margin-top:32px;padding-top:24px;border-top:1px solid #e1e5ea}
.info-section h2{font-size:21px;font-weight:700;line-height:1.5;letter-spacing:-.5px;margin-bottom:12px}
.info-section p{color:#777;font-size:15px}

.weekly-menu-display{display:block;width:100%;color:#182b43;background:#f3f7fc}
.weekly-menu-preview{height:100%}
.weekly-menu-display img{display:block;width:100%;height:auto}
.slide-item .weekly-menu-display img{height:100%;object-fit:contain;background:#edf4fa}
.weekly-menu-display [hidden]{display:none}
.weekly-menu-placeholder{min-height:280px;padding:28px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px}
.weekly-menu-preview .weekly-menu-placeholder{height:100%;min-height:0}
.weekly-menu-placeholder strong{font-size:30px;font-weight:800;color:#1c5196;letter-spacing:-1px}
.weekly-menu-placeholder p{font-size:15px;color:#64748b;word-break:keep-all}
.weekly-menu-content{padding:24px 0}

.drawer-heading .drawer-login{display:inline-flex;align-items:center;gap:8px}
.drawer-login .login-lock{width:16px;height:16px;flex:none;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.mobile-header #menuBtn.main-menu-toggle{left:4px;width:44px;height:48px;padding:6px;display:flex;align-items:center;justify-content:center}
.main-menu-toggle svg{display:block;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:butt}

#backToTop{position:fixed;right:max(16px,calc((100vw - 430px)/2 + 16px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:50;width:46px;height:46px;display:flex;align-items:center;justify-content:center;padding:11px;border:1px solid #ffffff80;border-radius:50%;background:#1c5196;color:#fff;box-shadow:0 3px 12px #182b4330;touch-action:manipulation}
#backToTop[hidden]{display:none}
#backToTop svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#backToTop:hover{background:#17437c}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.slide-item .weekly-menu-display{background:#edf4fa}

#menu.opened-by-pointer #menuClose:focus-visible{outline:none}

.rules-page .info-page-heading{border-bottom:0;padding-bottom:18px}
.rules-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:3px solid #1c5196;padding-bottom:8px;gap:4px}
.rules-tabs [role="tab"]{min-height:46px;padding:10px 2px;background:#fff;color:#222;font-size:16px;font-weight:700;letter-spacing:-.7px;line-height:1.5;word-break:keep-all}
.rules-tabs [role="tab"][aria-selected="true"]{background:#1c5196;color:#fff;border-radius:10px}
.rules-tabs [role="tab"][aria-selected="true"]:hover{color:#fff}
.rules-tabs [role="tab"]:hover{color:#1c5196}
.rules-tabs [role="tab"]:focus-visible{outline-offset:-3px}
.rules-panel{padding:30px 0 48px;min-height:220px;line-height:1.8}
.rules-panel[hidden]{display:none}
.rules-panel h2{font-size:22px;font-weight:700;color:#222;margin:0 0 20px;letter-spacing:-.5px}
.rules-panel p{font-size:15px;color:#777}
@media(max-width:350px){.rules-tabs [role="tab"]{font-size:14px;letter-spacing:-.6px}}

.rules-panel .rules-source{font-size:13px;color:#68798c;margin-bottom:22px}
.rules-source a{color:#1c5196;text-decoration:underline;text-underline-offset:3px}
.rules-history,.rules-contents{margin:12px 0;border:1px solid #dbe3ec;border-radius:8px;padding:12px 14px}
.rules-history summary,.rules-contents summary{font-size:15px;font-weight:700;cursor:pointer;color:#1c5196}
.rules-history p{margin:8px 0;font-size:13px;color:#566477}
.rules-contents ol{list-style:none;padding:0;margin:12px 0 0}
.rules-contents a{display:block;padding:7px 0;color:#263b53;font-size:14px}
.rules-document{margin-top:32px;word-break:normal;overflow-wrap:anywhere}
.rules-document h3{padding:16px 0 12px;margin:36px 0 18px;border-bottom:2px solid #1c5196;font-size:21px;color:#1c5196;scroll-margin-top:20px}
.rules-document h4{font-size:18px;margin:26px 0 14px;color:#263b53}
.rules-panel .rules-document p{font-size:16px;line-height:1.85;color:#252d38;margin:12px 0}
.rules-document p:has(>strong){margin-top:24px}
.rules-document strong{font-weight:750;margin-right:6px}

#menu .drawer-submenu button{display:block;width:100%;text-align:left;border:0;background:none;font-family:inherit;cursor:pointer}

/* Rotating homepage news highlight */
#news.news-board .news-nav{gap:6px;background:#fff;border:0;padding:0 0 10px;border-bottom:1px solid #e1e7ee}
#news.news-board .news-nav a{background:#fff;color:#111;border:0;border-radius:10px;padding:12px 4px;transition:background-color .25s,color .25s}
#news.news-board .news-nav a.is-active{background:#205396;color:#fff}
@media(prefers-reduced-motion:reduce){#news.news-board .news-nav a{transition:none}}

/* Shared branch contact footer. */
.site-footer{display:block;max-width:none;margin:0;padding:30px 24px;background:#f0f1f3;border-top:1px solid #dce0e5;color:#5a626d}
.site-footer .site-footer-name{display:block;font-size:17px;font-weight:750;line-height:1.5;color:#444d58;margin-bottom:12px}
.site-footer address{font-style:normal;font-size:13px;line-height:1.9}
.site-footer .site-footer-address{margin:0 0 5px;font-size:13px;color:inherit;word-break:keep-all}
.site-footer-contacts{display:flex;flex-wrap:wrap;gap:2px 18px}
.site-footer-contacts span{white-space:nowrap}
.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1024px){
 .site-footer{padding:32px 0 38px;box-shadow:0 0 0 100vmax #f0f1f3;clip-path:inset(0 -100vmax)}
 .site-footer .site-footer-name{font-size:19px}.site-footer address,.site-footer .site-footer-address{font-size:14px}
}

/* Match the reference footer's #444 background and reuse the supplied wordmark. */
.site-footer{background:#444;border-top-color:#444;color:#dedede}
.footer-brand{display:block;width:100%;max-width:340px;margin-bottom:20px}
.footer-wordmark.wordmark-spaced{display:grid;grid-template-columns:145fr 375fr 640fr;align-items:center;column-gap:3.5px;width:100%}
.footer-wordmark .wordmark-affiliation,.footer-wordmark .wordmark-branch{filter:brightness(0) invert(1)}
.footer-wordmark .wordmark-symbol{filter:none}
.site-footer .site-footer-address{color:#dedede}
@media(min-width:1024px){.site-footer{box-shadow:0 0 0 100vmax #444}.footer-brand{max-width:380px;margin-bottom:22px}}


/* Explicit intrinsic sizes and self-contained artwork for Safari. */
.wordmark-spaced picture{display:block;min-width:0}
.wordmark-spaced img{display:block;width:100%;height:auto;max-width:100%}
.mobile-header .wordmark-spaced img,.footer-wordmark.wordmark-spaced img{filter:none!important}

/* Permission-controlled navigation must stay hidden despite component display rules. */
#workMenuToggle[hidden],.desktop-nav-group[hidden],.sitemap-columns>section[hidden],a[href="worklog.html"][hidden],a[href="accounts.html"][hidden]{display:none!important}

.header-password-link[hidden]{display:none!important}.drawer-password-link{display:block;padding:12px 16px;color:#1c5196;font-size:14px}.desktop-password-link{display:none}@media(min-width:1024px){.header-search .desktop-password-link{display:flex;position:absolute;top:12px;align-items:center;height:40px;color:white;font-size:13px;text-decoration:none}.desktop-password-link:hover{text-decoration:underline}}

/* Signed-in identity and password-change completion action. */
.header-user-name[hidden],.password-login-primary[hidden]{display:none!important}
.drawer-heading{flex-wrap:wrap;column-gap:12px;row-gap:0}
.drawer-user-name{flex-basis:100%;padding:0 0 12px;font-size:15px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.desktop-auth-group{display:none}
@media(min-width:1024px){
 .header-search .desktop-auth-group{position:absolute;left:18px;top:12px;max-width:calc(100% - 390px);height:40px;display:flex;align-items:center;gap:16px;white-space:nowrap}
 .header-search .desktop-auth-group .desktop-login,.header-search .desktop-auth-group .desktop-admin-link,.header-search .desktop-auth-group .desktop-password-link{position:static;flex-shrink:0;height:40px}
 .desktop-user-name{min-width:0;max-width:150px;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:600;color:white}
}
.admin-page .password-login-primary{display:flex;align-items:center;justify-content:center;min-height:52px;margin:24px 0 12px;padding:12px 24px;border-radius:10px;background:#1c5196;color:#fff;font-size:17px;font-weight:700;text-decoration:none;box-sizing:border-box;box-shadow:0 4px 12px #1c519626}
.password-login-primary:hover{background:#163f78}
.password-login-primary:focus-visible{outline:3px solid #79a9ec;outline-offset:4px}

/* Keep short pages' footer at the viewport bottom, without covering content. */
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
body>header,body>.header-search,body>main,body>.site-footer{flex-shrink:0}
body>.mobile-header{margin-top:0}
body>main{flex-grow:1}
body>.site-footer{margin-top:auto;width:100%}

@media(max-width:1023px){
 .site-footer{text-align:center}
 .site-footer .footer-brand{margin-left:auto;margin-right:auto}
 .site-footer-contacts{justify-content:center}
}

/* Compact account actions shared by the home page and inner pages. */
.account-settings[hidden],.drawer-account-row[hidden]{display:none!important}
.drawer-account-row{display:flex;align-items:center;gap:10px;width:100%;padding-bottom:10px}
.drawer-account-row .drawer-user-name{flex:0 1 auto;min-width:0;padding:0}
.account-settings{position:relative;flex-shrink:0;color:white;z-index:110}
.account-settings .account-settings-trigger{display:flex;align-items:center;justify-content:center;list-style:none;width:42px;height:42px;border:1px solid #ffffff88;border-radius:10px;background:#ffffff22;cursor:pointer}
.account-settings .account-settings-trigger::-webkit-details-marker{display:none}
.account-settings .account-settings-trigger:hover,.account-settings[open] .account-settings-trigger{background:#ffffff40}
.account-settings .account-settings-trigger:focus-visible{outline:3px solid #edaa2c;outline-offset:3px}
.account-settings .account-settings-trigger svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.account-settings-panel{position:absolute;top:calc(100% + 8px);left:0;width:180px;padding:6px;background:white;border:1px solid #dce3ed;border-radius:12px;box-shadow:0 8px 24px #122c4b33;color:#182b43}
.account-settings:not([open])>.account-settings-panel{display:none}
#menu .account-settings-panel a,.header-search .desktop-auth-group .account-settings-panel a{display:block;position:static;height:auto;padding:11px 12px;margin:0;border:0;border-radius:7px;color:#182b43;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
#menu .account-settings-panel a:hover,.header-search .desktop-auth-group .account-settings-panel a:hover{background:#edf4fa;color:#1c5196}
.account-settings-panel a[hidden]{display:none!important}
@media(min-width:1024px){.desktop-settings .account-settings-panel{left:auto;right:0}}
.drawer-account-row{position:relative}
.drawer-settings{position:static}
.drawer-settings .account-settings-panel{left:0;top:calc(100% - 4px)}
/* Preserve header width inside the full-height flex page layout. */
body>.mobile-header{width:100%}

/* Explicit Korean menu font and standard bold weight across desktop browsers. */
@media(min-width:1024px){
 .desktop-navigation{font-family:"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif}
 .desktop-navigation .desktop-nav-group>button{font-family:inherit;font-weight:700}
 .desktop-dropdown a,.desktop-dropdown button{font-family:inherit}
}

/* Apply desktop ink directly to the original alpha image, avoiding SVG rasterization. */
@media(min-width:1024px){
 .header-wordmark picture:has(.wordmark-branch),.header-wordmark picture:has(.wordmark-affiliation){background:#1c5196;-webkit-mask-image:url("assets/wordmark-alpha-source.png");mask-image:url("assets/wordmark-alpha-source.png");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
 .header-wordmark picture:has(.wordmark-branch){-webkit-mask-size:187.5% 100%;mask-size:187.5% 100%;-webkit-mask-position:97.857142857% 0;mask-position:97.857142857% 0}
 .header-wordmark picture:has(.wordmark-affiliation){-webkit-mask-size:320% 100%;mask-size:320% 100%;-webkit-mask-position:20.96969697% 0;mask-position:20.96969697% 0}
 .header-wordmark picture .wordmark-branch,.header-wordmark picture .wordmark-affiliation{visibility:hidden}
}
/* Match the home news tabs to the main navigation's typography. */
#news.news-board .news-nav a{font-family:"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;font-weight:700}

/* Self-hosted Korean webfont shared across operating systems. */
body,input,textarea,select,button,.desktop-navigation,#news.news-board .news-nav a{font-family:"Union Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif}
.desktop-navigation .desktop-nav-group>button,#news.news-board .news-nav a{font-weight:700}
/* Single-line desktop submenus; fit type to each menu column. */
@media(min-width:1024px){
 .desktop-nav-group{container-type:inline-size}
 .desktop-dropdown a,.desktop-dropdown button{font-size:12px;font-size:clamp(9px,11cqi,12px);padding:11px 3px;white-space:nowrap;word-break:normal;overflow-wrap:normal;letter-spacing:-.2px}
}
/* Account popover must paint above the navigation and its divider. */
@media(min-width:1024px){
 .header-search:has(.desktop-settings[open]){z-index:30}
 .desktop-settings .account-settings-panel{background:#fff;isolation:isolate}
}
@media(min-width:1024px){
 .mobile-header .desktop-navigation .desktop-dropdown a,
 .mobile-header .desktop-navigation .desktop-dropdown button{font-size:12px;font-size:clamp(9px,11cqi,12px);padding:11px 3px;white-space:nowrap;word-break:normal;overflow-wrap:normal;letter-spacing:-.2px}
}
#menu .drawer-login[hidden]{display:none!important}
.account-settings-panel .settings-logout{display:block;width:100%;padding:11px 12px;border:0;border-top:1px solid #e5eaf0;margin-top:4px;border-radius:0 0 7px 7px;color:#182b43;font-size:14px;font-weight:600;text-align:left;background:#fff}
.account-settings-panel .settings-logout:hover{background:#edf4fa;color:#1c5196}
#menu .drawer-heading:has(.drawer-login[hidden]){flex-wrap:nowrap}
#menu .drawer-heading:has(.drawer-login[hidden]) .drawer-account-row{order:-1;width:auto;flex:1;padding:0;min-width:0}

/* Render footer artwork directly, without filtered SVG intermediates. */
.footer-art{display:block;min-width:0}
.footer-art img{visibility:hidden}
.footer-art-affiliation,.footer-art-branch{background:#fff;-webkit-mask-image:url("assets/wordmark-alpha-source.png");mask-image:url("assets/wordmark-alpha-source.png");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.footer-art-affiliation{-webkit-mask-size:320% 100%;mask-size:320% 100%;-webkit-mask-position:20.96969697% 0;mask-position:20.96969697% 0}
.footer-art-branch{-webkit-mask-size:187.5% 100%;mask-size:187.5% 100%;-webkit-mask-position:97.857142857% 0;mask-position:97.857142857% 0}

/* Closed partner and marketplace listings */
.partner-visual{position:relative}
.partner-tile.is-closed{cursor:default}
.partner-tile.is-closed .partner-visual{background:#d8d8d8;color:#666}
.partner-tile.is-closed .partner-visual img{filter:grayscale(1);opacity:.45}
.partner-ended{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(60,60,60,.25);color:#fff;font-size:30px;font-weight:800;text-shadow:0 1px 4px #444;z-index:1}

/* Prominent return-to-list controls */
#partnerBack,#postBack{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 24px;margin-top:28px;background:#1c5196;color:#fff;border:1px solid #1c5196;border-radius:8px;font-weight:700;text-decoration:none;box-sizing:border-box}
#partnerBack:hover,#postBack:hover{background:#153e74;color:#fff}
#partnerBack:focus-visible,#postBack:focus-visible{outline:3px solid #82b4f4;outline-offset:3px}

.list-return{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 24px;margin-top:28px;background:#1c5196;color:#fff;border:1px solid #1c5196;border-radius:8px;font-weight:700;text-decoration:none;box-sizing:border-box}
#partnerBack::before,#postBack::before,.list-return::before{content:"";width:20px;height:20px;flex:0 0 20px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 6 4 12l6 6M4 12h16'/%3E%3C/svg%3E")}
.list-return:hover{background:#153e74;color:#fff}
.list-return:focus-visible{outline:3px solid #82b4f4;outline-offset:3px}
.list-return-top{margin-top:0;margin-bottom:20px}


/* Keep the shared search form out of secondary pages and their layout. */
#siteSearch[hidden]{display:none!important}

/* Settings use an explicit button rather than native details on touch browsers. */
.account-settings .account-settings-trigger{padding:0;color:inherit;appearance:none;-webkit-appearance:none;touch-action:manipulation}
.account-settings .account-settings-trigger svg{pointer-events:none}
.account-settings-panel[hidden]{display:none!important}
.drawer-settings{position:relative}
.drawer-settings .account-settings-panel{top:calc(100% + 8px)}

/* Smooth modal drawer; retain the backdrop until closing has finished. */
#menu{transform:translateX(-100%);transition:transform .3s cubic-bezier(.22,.61,.36,1)}
#menu[open]{animation:none}
#menu.drawer-visible{transform:translateX(0)}
#menu::backdrop{background:rgba(10,25,45,0);transition:background .3s ease}
#menu.drawer-visible::backdrop{background:rgba(10,25,45,.5)}
@media(max-width:1023px){
 #menu{left:0;width:60vw;max-width:60vw}
 #menu .drawer-heading{padding-left:12px;padding-right:8px;gap:6px}
 #menu .drawer-nav{padding-left:16px;padding-right:16px}
 #menuClose{flex-shrink:0}
 #menu .drawer-account-row{gap:6px}
 #menu .account-settings-panel{left:auto;right:0;max-width:calc(60vw - 16px)}
}
@media(prefers-reduced-motion:reduce){#menu,#menu::backdrop{transition:none}}

/* Anchor mobile account actions to the drawer header, not the gear's edge. */
@media(max-width:1023px){
 #menu .drawer-heading{position:relative}
 #menu .drawer-account-row,#menu .drawer-settings{position:static}
 #menu .account-settings-panel{left:12px;right:12px;top:calc(100% + 8px);width:auto;max-width:none}
 #menu .account-settings-panel a,#menu .account-settings-panel .settings-logout{white-space:normal;overflow-wrap:anywhere}
}

/* Location trail on inner pages. */
.site-breadcrumb{display:block;width:100%;max-width:1160px;margin:0 auto;padding:12px 28px;background:#f5f7fa;border-bottom:1px solid #e1e7ee;font-size:13px;font-weight:400;line-height:1.5}
.site-breadcrumb ol{display:flex;align-items:center;flex-wrap:wrap;gap:4px 0;list-style:none;margin:0;padding:0}
.site-breadcrumb li{display:flex;align-items:center;min-width:0;max-width:100%;overflow-wrap:anywhere}
.site-breadcrumb li+li::before{content:'›';margin:0 10px;color:#8997a7;flex-shrink:0}
.site-breadcrumb a{display:inline-block;padding:5px 0;color:#58677a}
.site-breadcrumb a:hover{text-decoration:underline;color:#1c5196}
.site-breadcrumb [aria-current="page"]{padding:5px 0;color:#1c5196;font-weight:600}
@media(max-width:1023px){.site-breadcrumb{max-width:430px;padding:8px 16px;font-size:12px}.site-breadcrumb li+li::before{margin:0 7px}}

/* Remove the empty mobile search wrapper on inner pages. */
@media(max-width:1023px){.header-search:has(#siteSearch[hidden]){display:none}}

.header-search .desktop-auth-group .desktop-login[hidden]{display:none!important}

/* Programmatic focus targets announce content without a decorative focus box. */
:is(h1,h2,h3,h4,h5,h6,main,section,article,div,p)[tabindex="-1"]:focus{outline:none!important;box-shadow:none!important}
:focus:not(:focus-visible){outline:none}

.news-write-action{display:block;width:max-content;max-width:calc(100% - 40px);margin:20px max(20px,calc((100% - 1104px)/2)) 32px auto;padding:11px 22px;background:#205396;color:#fff;border-radius:8px;font-size:15px;font-weight:700;text-align:center}.news-write-action[hidden]{display:none}
