@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#253f34;--muted:#647267;--paper:#f6f5e9;--green:#3a624a;--line:#cad4bd;--accent:#c8884c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans KR',sans-serif;word-break:keep-all}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c17935;outline-offset:5px}.dialog-scroll:focus{outline:none}header{height:86px;padding:0 3.5%;position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:36px;z-index:20;border-bottom:1px solid #607e4220;background:#f6f5e9e6;backdrop-filter:blur(16px)}.brand{display:flex;gap:10px;align-items:center;font-size:15px;font-weight:800;white-space:nowrap}.brand svg{width:40px;height:40px;fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.brand small{display:block;font-size:8px;letter-spacing:1.4px;font-weight:500;margin-top:4px}header nav{display:flex;gap:30px;margin-left:auto;font-size:12px}header nav span{margin-left:9px}.edition{font-size:9px;letter-spacing:1.4px;border-left:1px solid var(--line);padding-left:26px;white-space:nowrap}.edition i{display:inline-block;width:5px;height:5px;background:var(--green);border-radius:50%;margin:0 6px}#tour{position:fixed;inset:0;overflow:hidden;background:linear-gradient(#f6f4e7 9%,#e9eedb 41%,#b7d6cc 80%)}#world{position:absolute;inset:0}#world canvas{display:block;width:100%;height:100%}.grain{position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.top-note{position:absolute;top:114px;right:4%;display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.7px;color:#658176}.live-dot{width:5px;height:5px;background:#729476;border-radius:50%}.note-line{width:36px;height:1px;background:#8aa393}.intro,.chapter{position:absolute;left:5%;top:22%;width:40%;max-width:560px;z-index:3}.intro{left:4%;top:14%;width:auto;max-width:none}.intro .eyebrow{font-size:11px;letter-spacing:2.4px}.eyebrow{font-size:9px;letter-spacing:2.1px;font-weight:600}.intro h1{font-size:clamp(30px,min(5.4vw,8vh),86px);line-height:1.16;letter-spacing:-.045em;font-weight:900;margin:20px 0 24px;white-space:nowrap}.intro h1 em{font-style:normal;color:var(--green)}.intro .eyebrow,.intro-line{display:block}.title-star{display:inline-block;font-weight:400;font-size:.85em;margin-left:18px;color:#c7894b}.operator{font-size:clamp(13px,1.05vw,16px);font-weight:600}.intro-rule{width:34px;height:1px;background:#789578;margin:24px 0 18px}.intro-copy{font-size:clamp(14px,1.15vw,17px);line-height:1.8;color:#687769}.intro .primary{font-size:14px;padding:16px 26px}.primary{background:var(--green);color:#fffdf0;padding:14px 22px;border-radius:5px;font-size:12px;margin-top:14px;display:inline-flex;align-items:center;gap:45px;box-shadow:0 4px 10px #26432c0b;transition:background .2s,transform .2s}.primary:hover{background:#244832;transform:translateY(-2px)}.primary span{font-size:19px;line-height:1}.intro-actions{display:flex;align-items:center;gap:28px;margin-top:14px}.intro-actions .primary{margin-top:0}.intro-cta{display:flex;flex-direction:column;align-items:stretch;gap:10px}.intro-cta .primary{justify-content:space-between}.intro-cta .primary+.primary{margin-top:0}.primary.secondary{background:#fcfbedcc;color:var(--green);border:1px solid var(--green)}.primary.secondary:hover{background:#fff}.season{font-size:12px;color:#536e61;letter-spacing:.3px}.season span{margin-right:10px;color:#839286}.world-caption{position:absolute;right:4%;bottom:225px;display:flex;gap:13px;align-items:center;font-size:7px;letter-spacing:2px;line-height:1.8;opacity:.65}.compass{font-size:17px;border:1px solid #6e9183;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;letter-spacing:0}.map-tools{position:absolute;right:3.6%;top:42%;display:flex;flex-direction:column;gap:7px;z-index:5}.map-tools button{width:34px;height:34px;background:#fffff4c9;border:1px solid #ffffffab;border-radius:50%;font-size:19px;box-shadow:0 2px 8px #193e2410}.map-tools button+button{font-size:11px}.scroll-cue{position:absolute;bottom:162px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;font-size:10px;font-weight:500;white-space:nowrap}.mouse{height:24px;width:15px;border:1.4px solid var(--green);border-radius:12px;display:flex;justify-content:center;padding-top:4px}.mouse i{height:5px;width:2px;background:var(--green);animation:wheel 1.8s infinite}@keyframes wheel{50%{transform:translateY(6px);opacity:.3}}.tour-bottom{position:absolute;bottom:153px;left:4%;right:4%;display:flex;align-items:center;gap:12px;font-size:10px}.tour-bottom button{border:1px solid #75988460;border-radius:30px;padding:9px 13px;background:#f7f9ed80;font-size:10px}.tour-bottom button span{font-size:8px;margin-right:5px}#tour-counter{font-size:12px}#tour-counter i{font-style:normal;opacity:.5}.map-hint{margin-left:auto;color:#617b6d;font-size:9px}.route{position:absolute;left:3.5%;right:3.5%;bottom:21px;min-height:105px;background:#f9f9efed;border:1px solid #fff;border-radius:12px;box-shadow:0 10px 40px #486e4d10;display:flex;align-items:stretch;padding:20px 10px 13px;z-index:6;backdrop-filter:blur(18px)}.route button{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.route i{font-style:normal;font-size:8px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#edf0e3;border:1px solid #cbd6c0;color:#6e8572;z-index:1;transition:.3s}.route span{font-size:11px;font-weight:600;white-space:nowrap}.route small{font-size:8px;color:#859383}.route button.active i{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 0 0 4px #f9f9ef,0 0 0 5px #83a07f}.route button.active span{color:#315d41}.route-line{position:absolute;height:1px;left:10%;right:10%;background:var(--line);top:32px}.map-label{position:absolute;transform:translate(-50%,-100%);background:#fcfbedee;border:1px solid #fff;border-radius:5px;font-size:9px;padding:7px 10px;white-space:nowrap;color:#3b5645;z-index:2;box-shadow:0 3px 10px #2f493518;transition:opacity .3s}.map-label:after{content:'';position:absolute;top:100%;left:50%;margin-left:-4px;border:4px solid transparent;border-top-color:#fcfbed}.map-label b{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#dfe7c9;margin-right:5px;font-size:8px}.map-label:hover{background:#fff;outline:1px solid #668663}.chapter{top:20%;max-width:380px;width:32%}.chapter-index{font-size:10px;letter-spacing:2px;color:#7c926f}.chapter h2{font-size:clamp(27px,3vw,45px);letter-spacing:-1.8px;line-height:1.25;margin:18px 0}.chapter-meta{font-size:11px;line-height:1.8;color:#74816e;white-space:pre-line;margin-bottom:24px}.program-focus{border-top:1px solid #889d704d;padding-top:18px;min-height:160px}.focus-top{display:flex;justify-content:space-between;font-size:9px;color:#6f845f}.program-focus h3{font-size:18px;line-height:1.6;margin:16px 0 11px}.focus-body{font-size:11px;line-height:1.9;color:#5f745f;white-space:pre-line;max-height:145px;overflow:auto}.focus-body p{margin:4px 0}.focus-progress{display:flex;gap:4px;margin:18px 0}.focus-progress button{height:3px;flex:1;background:#bfcbb0;padding:0;min-width:2px}.focus-progress button.active{background:#3d624b}.chapter .primary{margin-top:5px}#scroll-track{height:1300vh;pointer-events:none}#program-list{position:relative;z-index:8;background:#f6f5e9;padding:95px 8% 40px;border-top:1px solid #d4dec8}#program-list>h2{font-size:32px;letter-spacing:-1px;margin-bottom:45px}#catalog{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.catalog-item{border-top:1px solid #bbcbb3;padding:25px 0 35px}.catalog-item .eyebrow{color:#879975}.catalog-item h3{font-size:23px;margin:15px 0}.catalog-item p{font-size:12px;line-height:1.8;color:#71816b;white-space:pre-line}.catalog-item button{padding:0;font-size:12px;border-bottom:1px solid #7a9471;padding-bottom:8px;margin-top:15px}footer{border-top:1px solid #bbcbb3;margin-top:45px;padding-top:30px;font-size:11px;line-height:2}footer>strong{font-size:17px}footer button{text-decoration:underline;padding:0}.source-note{opacity:.65;font-size:10px}dialog{width:min(920px,94vw);max-height:88dvh;border:1px solid #d4deca;border-radius:15px;padding:0;color:var(--ink);background:#fcfcf3;box-shadow:0 20px 100px #23483230}dialog::backdrop{background:#1f3b2c66;backdrop-filter:blur(7px)}.dialog-header{padding:18px 26px;border-bottom:1px solid #d7dfce;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:2px}.dialog-header button{font-size:19px;width:32px;height:32px}.dialog-scroll{padding:32px;max-height:calc(88dvh - 73px);overflow:auto;overscroll-behavior:contain}dialog h2{font-size:30px;letter-spacing:-1px}#dialog-tabs{display:flex;gap:8px;margin-bottom:24px}#dialog-tabs button{font-size:12px;border:1px solid #cbd8bf;border-radius:30px;padding:9px 16px}#dialog-tabs button.active{background:var(--green);color:white}.detail-card{padding:22px 0;border-top:1px solid #ced9c2}.detail-card h3{font-size:19px}.detail-card p{font-size:13px;line-height:1.9;white-space:pre-wrap}.detail-card .tag{font-size:11px;color:#6e8759}.detail-images{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-images img{max-width:100%;max-height:240px;object-fit:contain;border-radius:8px;background:white}.doc-note{font-size:11px;padding:15px;background:#edf1e3;line-height:1.8}.apply-links{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.apply-links a{padding:11px 16px;background:#3d634b;color:white;border-radius:4px;font-size:11px}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#edf1df;z-index:30;font-size:14px;gap:15px;transition:opacity .8s ease,visibility 0s .8s}#loading.done{opacity:0;visibility:hidden;pointer-events:none}#fallback{position:absolute;right:10%;top:42%;max-width:270px;line-height:2;padding:25px;background:#f6f5e9;border-radius:12px;font-size:13px}#fallback button{text-decoration:underline}.skip{position:fixed;top:-70px;left:20px;padding:12px;background:#fff;z-index:90}.skip:focus{top:10px}[hidden]{display:none!important}@media(min-height:900px){.chapter{top:24%}}@media(max-height:900px) and (min-width:761px){.intro-rule{display:none}}@media(max-height:740px) and (min-width:761px){.chapter{top:19%}.intro{top:max(13%,96px)}.intro h1{font-size:clamp(28px,min(4.6vw,7vh),60px);margin:14px 0}.intro-copy{margin:10px 0}.chapter-meta{margin-bottom:15px}.program-focus{min-height:130px}.chapter h2{font-size:33px}.program-focus h3{font-size:16px;margin:10px 0}.focus-body{max-height:85px}.route{bottom:16px}.scroll-cue{bottom:149px}.tour-bottom{bottom:143px}}@media(max-height:620px) and (min-width:761px){.intro{top:96px}.intro h1{font-size:clamp(28px,min(4.6vw,6.5vh),60px);margin:8px 0}.operator{margin:6px 0}.intro-copy{display:none}}
@media(max-width:760px){header{height:68px;padding:0 5%;gap:10px}.brand{font-size:12px;gap:5px}.brand svg{width:30px}.brand small{font-size:6px;letter-spacing:.8px}.edition,#plan-button{display:none}header nav{font-size:10px;gap:0}.top-note{top:90px;left:6%;right:auto;font-size:8px}.intro{top:max(15%,112px);left:6%;width:90%;max-width:none}.intro-actions{flex-direction:column;align-items:flex-start;gap:0;margin-top:0}.intro-actions .primary{margin-top:10px}.intro .eyebrow{font-size:8px;letter-spacing:1.7px}.intro .primary{padding:11px 16px;font-size:11px}.eyebrow{font-size:7px;letter-spacing:1.7px}.intro h1{font-size:33px;letter-spacing:-1.5px;line-height:1.2;margin:15px 0 10px}.operator{font-size:10px;margin:8px 0}.intro-rule,.intro-copy{display:none}.primary{padding:11px 16px;font-size:10px;margin-top:10px;gap:20px}.season{margin-top:13px;font-size:8px}.world-caption{display:none}.map-label{font-size:8px;padding:5px 7px}.map-label b{width:13px;height:13px;font-size:7px;margin-right:3px}.map-tools{right:5%;top:40%}.map-tools button{width:30px;height:30px}.route{bottom:13px;left:3%;right:3%;min-height:84px;padding:16px 2px 8px;border-radius:10px}.route button{gap:8px}.route span{font-size:8px;white-space:normal;line-height:1.4;max-width:68px}.route small{display:none}.route i{width:19px;height:19px;font-size:7px}.route-line{top:26px}.scroll-cue{bottom:116px;left:55%;font-size:8px;gap:6px}.mouse{width:12px;height:19px}.tour-bottom{bottom:110px;left:4%;right:4%;gap:6px}.tour-bottom button{font-size:8px;padding:8px}#tour-counter,.map-hint{display:none}.chapter{left:6%;top:15%;width:88%;max-width:unset}.chapter-index{font-size:8px}.chapter h2{font-size:27px;letter-spacing:-1px;margin:10px 0}.chapter-meta{font-size:9px;line-height:1.6;margin:9px 0 12px;max-width:90%}.program-focus{padding:10px 12px;min-height:0;width:90%;max-width:360px;background:#f7f8eae6;border:1px solid #fff9;border-radius:7px}.program-focus h3{font-size:13px;margin:6px 0}.focus-top{font-size:8px}.focus-body{font-size:9px;max-height:53px}.focus-progress{margin:9px 0 0}.chapter .primary{margin-top:9px}.dialog-scroll{padding:22px;max-height:calc(88dvh - 65px)}dialog h2{font-size:22px}.dialog-header{padding:13px 20px}.detail-card h3{font-size:16px}.detail-card p{font-size:12px}.detail-images{grid-template-columns:1fr}#program-list{padding:65px 6% 30px}#program-list>h2{font-size:25px}#catalog{grid-template-columns:1fr}.catalog-item h3{font-size:20px}#loading{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.reading-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f0f2e7f5 0%,#edf1e3e8 24%,#e8efdf88 34%,transparent 51%)}@media(max-width:760px){.reading-shade{display:none}}

/* Close-range tour framing: subject left, editorial card right. */
.chapter,.gateway-card{left:auto;right:5%;top:22%;width:29%;max-width:390px;padding:25px;background:#fffdf0ed;border:1px solid #fff9;border-radius:14px;box-shadow:0 14px 45px #263f291c;backdrop-filter:blur(12px);z-index:3}
.gateway-card{position:absolute;pointer-events:none}.gateway-card h2{font-size:25px;line-height:1.45;letter-spacing:-1px}.gateway-card p{font-size:12px;line-height:1.9;color:#5e745f}.gateway-scroll{display:block;font-size:10px;color:#6e856a;margin-top:22px}
.chapter h2{font-size:clamp(25px,2.2vw,35px);margin:14px 0}.chapter-meta{font-size:10px;margin-bottom:18px}.program-focus{min-height:120px;padding-top:14px}.program-focus h3{font-size:16px}.focus-body{max-height:120px}.chapter .primary{width:100%;justify-content:space-between}.focus-progress button{position:relative}.focus-progress button:after{content:'';position:absolute;inset:-8px 0}.close-tour .top-note{opacity:0}.close-tour .map-label{background:#fffceded}.close-tour .map-tools{top:110px}
@media(max-height:800px) and (min-width:761px){.world-caption{display:none}.chapter,.gateway-card{top:16%;padding:20px}.chapter h2{font-size:26px}.chapter-meta{margin:10px 0}.program-focus{min-height:90px}.program-focus h3{font-size:14px;margin:9px 0}.focus-body{max-height:70px}.focus-progress{margin:12px 0}.chapter .primary{padding:10px 15px}.gateway-card h2{font-size:22px}}
@media(max-width:760px){.chapter,.gateway-card{left:5%;right:5%;top:12%;width:90%;max-width:none;padding:15px 18px;border-radius:10px}.chapter h2{font-size:23px;margin:8px 0}.chapter-meta{font-size:9px;margin:7px 0}.chapter .program-focus{width:100%;max-width:none;background:none;border:0;border-top:1px solid #82976d33;padding:9px 0 0}.program-focus h3{font-size:12px}.focus-body{font-size:9px;max-height:45px}.chapter .primary{width:auto;margin-top:8px;padding:8px 12px;font-size:9px}.gateway-card h2{font-size:21px;margin:12px 0}.gateway-card p{font-size:10px;line-height:1.7}.gateway-scroll{font-size:9px;margin-top:12px}.close-tour .map-tools{top:44%}.chapter{backdrop-filter:blur(8px)}}
.sound-button{display:grid;place-items:center;color:var(--green)}.sound-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sound-button .speaker{fill:currentColor}.sound-button .sound-on,.sound-button[aria-pressed="true"] .sound-off{display:none}.sound-button[aria-pressed="true"] .sound-on{display:inline}.sound-button[aria-pressed="true"]{background:var(--green);color:#fffff4}
