/* Pure HTML/CSS slideshow. No remote fonts, scripts, or assets. */
:root{--ink:#24534b;--cream:#fffdf6;font-family:"Noto Sans CJK KR","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;color-scheme:light}
*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{background:#e9f1e9}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #51a69a;outline-offset:3px}button:disabled{opacity:.3;cursor:default}
.deck{height:100dvh;min-height:100vh;padding:10px 2.2vw;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 2% 5%,#fffae9 0,transparent 40%),radial-gradient(ellipse at 90% 90%,#d7eaea 0,transparent 50%),#e9f1e9}
.screen{position:relative;flex:0 1 auto;width:min(100%,calc((100dvh - 81px)*1.77778));aspect-ratio:16/9;max-height:calc(100dvh - 81px);min-height:0;overflow:hidden;background:#fffaf1;border:1px solid #fffcf2;border-radius:14px;box-shadow:0 18px 64px #385f5028,0 4px 18px #34574a14;container-type:inline-size;isolation:isolate}
.slide-root,.slide{position:absolute;inset:0;width:100%;height:100%}.slide{overflow:hidden;background:var(--cream);animation:appear .30s ease-out both}.slide img{pointer-events:none}.photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.96) contrast(.99)}.wash{position:absolute;inset:0;pointer-events:none}
.content{position:absolute;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0}.title{font-family:"Noto Serif CJK KR","Noto Serif KR","Batang",serif;font-weight:700;color:var(--ink);line-height:1.37;letter-spacing:-.056em;font-size:clamp(28px,4.3cqw,78px);margin:0 0 2.2cqw}.title span{display:block}.rule{height:2px;width:4.8cqw;background:#76ac98;margin:0 0 1.9cqw}.items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.1cqw;max-width:100%}.items li{position:relative;display:flex;align-items:center;gap:1cqw;color:#365b54;letter-spacing:-.026em;font-size:clamp(11px,1.64cqw,27px);line-height:1.55;font-weight:560}.items li::before{content:"";display:block;flex:0 0 .48cqw;width:.48cqw;height:.48cqw;background:#75ad95;border-radius:50%}
.slide-footer{position:absolute;z-index:5;bottom:3.6%;right:3.2%;padding:.67cqw 1.3cqw;background:#fffcf0ec;border:1px solid #cfe1d4;border-radius:999px;color:#385f54;font-size:clamp(11px,1.12cqw,19px);font-weight:750;box-shadow:0 3px 15px #516f5922;backdrop-filter:blur(6px)}.slide-index{position:absolute;z-index:4;bottom:4%;left:3.3%;color:#3e756b;background:#fdfdf0cc;border-radius:30px;padding:.6cqw 1.1cqw;font-weight:800;letter-spacing:.12em;font-size:clamp(9px,.94cqw,15px)}
/* Seven templates; the title/keywords remain readable against a watercolor wash. */
.layout-cover .photo{left:35%;width:65%;object-position:53% center}.layout-cover .wash{background:linear-gradient(90deg,#fffef6 0%,#fffef6 26%,#fffef6f5 39%,#fffef6a1 53%,transparent 75%)}.layout-cover .content{left:7%;top:10%;bottom:10%;width:60%}.layout-cover .title{font-size:clamp(33px,5.05cqw,86px)}
.layout-split .photo{left:45%;width:55%}.layout-split .wash{background:linear-gradient(90deg,#fffdf4 0%,#fffdf4 39%,#fffdf4f0 44%,transparent 64%)}.layout-split .content{left:7.3%;top:10%;bottom:10%;width:44%}
.layout-reverse .photo{left:0;width:62%}.layout-reverse .wash{background:linear-gradient(90deg,transparent 0%,#fffdf400 35%,#fffdf4c8 57%,#fffdf4 66%,#fffdf4 100%)}.layout-reverse .content{left:61%;right:5%;top:9%;bottom:9%}.layout-reverse .title{font-size:clamp(27px,3.77cqw,70px)}.layout-reverse .items li{font-size:clamp(11px,1.47cqw,25px)}
.layout-overlay-left .wash{background:linear-gradient(90deg,#fffdf4f5 0%,#fffdf4ed 31%,#fffdf4b0 48%,transparent 78%)}.layout-overlay-left .content{left:7.2%;top:10%;bottom:10%;width:43%}
.layout-overlay-right .wash{background:linear-gradient(270deg,#fffdf4f9 0%,#fffdf4f2 29%,#fffdf494 48%,transparent 72%)}.layout-overlay-right .content{right:6%;top:9%;bottom:9%;width:40%}.layout-overlay-right .title{font-size:clamp(26px,3.85cqw,76px)}
.layout-agenda .photo{object-position:52% center}.layout-agenda .wash{background:linear-gradient(90deg,#fffef9f5 0%,#fffef9e5 48%,#fffef966 78%,#fffef950 100%)}.layout-agenda .content{left:7%;top:10%;bottom:10%;width:63%}.layout-agenda .items{display:grid;grid-template-columns:1fr 1fr;gap:1.3cqw;max-width:52cqw}.layout-agenda .items li{background:#fffcf2e8;border:1px solid #d5e9d5;box-shadow:0 4px 15px #6f997014;border-radius:1.1cqw;min-height:6.8cqw;padding:1.4cqw;font-weight:650;font-size:clamp(11px,1.49cqw,25px)}.layout-agenda .items li::before{background:#88b799;width:.6cqw;height:.6cqw;flex-basis:.6cqw}
.layout-triad .photo{object-position:55% center}.layout-triad .wash{background:linear-gradient(180deg,#fffdf5ee 0%,#fffcf6dd 45%,#fffbf5cc 100%)}.layout-triad .content{left:8%;right:8%;top:8%;bottom:10%;align-items:center;text-align:center}.layout-triad .title{font-size:clamp(32px,4.45cqw,80px)}.layout-triad .items{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4cqw;width:100%;max-width:none;margin-top:2cqw}.layout-triad .items li{justify-content:center;text-align:center;background:#fffdf5f2;border:1px solid #d7e8d5;box-shadow:0 7px 24px #477c612a;min-height:9.3cqw;padding:1.5cqw .7cqw;border-radius:1.2cqw;font-size:clamp(11px,1.68cqw,28px);color:#315a50}.layout-triad .items li::before{display:none}
.layout-closing .photo{object-position:50% center}.layout-closing .wash{background:linear-gradient(90deg,#fffdf3d9,#fffdf3a0 50%,#fffdf3c1),linear-gradient(0deg,#fffdf3c7,transparent 60%)}.layout-closing .content{inset:8% 12% 13%;align-items:center;text-align:center}.layout-closing .title{font-size:clamp(33px,5.1cqw,94px)}.layout-closing .rule{width:6cqw}.layout-closing .items{display:grid;grid-template-columns:1fr 1fr;gap:1.0cqw 2cqw;max-width:62cqw}.layout-closing .items li{font-size:clamp(11px,1.5cqw,25px);display:flex;justify-content:center;background:#fffdf8c7;border-radius:40px;padding:.5cqw 1.1cqw;border:1px solid #d4e8d5}.layout-closing .items li::before{display:none}
.controls{width:min(100%,calc((100dvh - 81px)*1.77778));height:60px;flex:0 0 60px;display:flex;align-items:center;justify-content:space-between;gap:12px}.nav-main,.nav-end{display:flex;align-items:center;gap:15px}.nav-button{height:39px;width:39px;display:grid;place-items:center;color:#427468;background:white;border:1px solid #b7cfc3;border-radius:50%;box-shadow:0 3px 12px #487b6221;font-size:29px;line-height:1}.nav-next{color:white;background:#438b7d;border-color:#438b7d}.nav-count{width:72px;text-align:center;font-size:12px;font-weight:800;letter-spacing:.09em;color:#456f64}.help-button{height:30px;width:30px;border-radius:50%;border:1px solid #b8d0c4;background:#ffffffb3;color:var(--ink);font-weight:700}.fullscreen-button{display:flex;align-items:center;justify-content:center;color:#3b6a5c;background:#fffef4d9;border:1px solid #c4d8ca;padding:10px 15px;border-radius:24px;font-size:11px;font-weight:700}
.deck:fullscreen{padding:0;background:#0d221e}.deck:fullscreen .controls{display:none}.deck:fullscreen .screen{width:min(100vw,177.77778dvh);max-height:100dvh;border-radius:0;border:0;box-shadow:none}
.help[hidden]{display:none}.help{position:fixed;inset:0;z-index:50;background:#203c35a3;display:grid;place-items:center;padding:20px}.help-card{max-width:420px;width:100%;background:#fffdf5;color:#34584f;border-radius:18px;padding:24px 30px;box-shadow:0 15px 50px #203c3540}.help-header{display:flex;align-items:center;justify-content:space-between}.help-header h2{margin:0;font-size:19px}.close-help{border:0;background:transparent;font-size:26px;color:var(--ink)}.help dl{display:grid;gap:12px;margin:20px 0 0}.help dl div{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e5eee4;padding-bottom:9px}.help dt{font-weight:800;font-size:13px}.help dd{margin:0;font-size:13px;color:#65877a}kbd{padding:3px 6px;background:#eef4ec;border:1px solid #cadcd0;border-radius:5px}
@keyframes appear{from{opacity:.6;transform:scale(1.009)}to{opacity:1;transform:scale(1)}}
@media(max-width:720px){.deck{padding:9px 10px}.screen{width:100%;max-height:none;aspect-ratio:4/5;flex:0 1 auto;box-shadow:0 12px 32px #2b56412e}.slide{background:#fffdf4}.photo{height:61%;top:auto;bottom:0}.wash{background:linear-gradient(180deg,#fffdf4 0%,#fffdf4 35%,#fffdf4e8 51%,#fffdf400 75%)!important}.content{left:8%!important;right:7%!important;top:5%!important;bottom:auto!important;width:85%!important;align-items:flex-start!important;text-align:left!important;justify-content:flex-start!important}.title,.layout-cover .title,.layout-triad .title,.layout-closing .title{font-size:clamp(27px,7.1cqw,50px);margin-bottom:2cqw}.rule{width:8cqw;margin-bottom:2.3cqw}.items{gap:.5cqw}.items li,.layout-reverse .items li,.layout-triad .items li{font-size:clamp(12px,3.05cqw,21px);line-height:1.4}.items li::before{width:1cqw;height:1cqw;flex-basis:1cqw}.layout-agenda .items,.layout-triad .items,.layout-closing .items{display:flex;flex-direction:column;gap:1cqw;margin-top:0;width:100%;max-width:95%}.layout-agenda .items li,.layout-triad .items li,.layout-closing .items li{justify-content:flex-start;text-align:left;min-height:0;padding:1cqw 1.5cqw;font-size:clamp(11px,2.8cqw,19px);border-radius:7px;background:#fffdf5c5}.layout-agenda .items li::before{height:.8cqw;width:.8cqw;flex-basis:.8cqw}.layout-split .photo,.layout-cover .photo,.layout-reverse .photo{left:0;width:100%}.slide-footer{font-size:clamp(11px,3cqw,17px);bottom:3%;right:3.5%;padding:1.2cqw 2cqw}.slide-index{font-size:clamp(10px,2.7cqw,16px);bottom:3%;left:4%;padding:1cqw 1.6cqw}.controls{height:62px;flex-basis:62px;width:100%}.nav-end{gap:9px}.fullscreen-button{font-size:11px;padding:10px 11px}.deck:fullscreen .screen{aspect-ratio:4/5;width:min(100vw,80dvh);max-height:100dvh;flex:none}.deck:fullscreen .photo{height:61%}}
@media(max-width:360px){.title,.layout-cover .title{font-size:6.65cqw}.items li{font-size:2.9cqw}}@media(prefers-reduced-motion:reduce){.slide{animation:none}}
/* Per-slide image positioning to preserve faces and important composition. */
.slide[data-slide="01"] .photo{object-position:42% 44%}.slide[data-slide="02"] .photo{object-position:51% 53%}.slide[data-slide="03"] .photo{object-position:48% 52%}.slide[data-slide="04"] .photo{object-position:53% 52%}.slide[data-slide="05"] .photo{object-position:52% 48%}.slide[data-slide="06"] .photo{object-position:46% 53%}.slide[data-slide="07"] .photo{object-position:51% 50%}.slide[data-slide="08"] .photo{object-position:50% 50%}.slide[data-slide="09"] .photo{object-position:42% 48%}.slide[data-slide="10"] .photo{object-position:49% 54%}.slide[data-slide="11"] .photo{object-position:48% 55%;opacity:.72}.slide[data-slide="12"] .photo{object-position:54% 55%}
@media(max-width:720px){.slide[data-slide="11"] .photo{opacity:.9}}
