@font-face{font-family:'KoPub Dotum';src:url('/assets/KoPubDotumMedium.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
:root{--blue:#5bcefa;--pink:#f5a9b8;--white:#ffffff;--paper:#fcfbfc;--ink:#293c4a;--muted:#5c6d7a;--accent:#356884;--line:#dce5ec;--blue-soft:#eaf7fd;--pink-soft:#fceef1;--blue-art:#b6e7fc;--pink-art:#f8cbd5}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}[hidden]{display:none!important}.intro-top,.intro-footer{display:flex;align-items:center;justify-content:space-between;padding:30px 5vw}.intro-top>span:last-child{font-size:10px;letter-spacing:1.7px}.intro-body{max-width:1440px;margin:auto;padding:45px 7vw 60px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:8vw}.eyebrow{font-size:13px;letter-spacing:2px;margin-bottom:32px}h1{font-family:'AppleMyungjo','Batang',serif;font-weight:400;font-size:clamp(64px,6.8vw,108px);letter-spacing:-6px;line-height:1.18;margin:0}h1 em{font-style:normal;color:var(--accent)}.invitation{font-size:20px;line-height:1.8;margin:30px 0 22px}.intro-description{font-size:13px;line-height:2;color:var(--muted);word-break:keep-all}.enter{margin-top:25px;border:0;border-radius:10px;padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;width:290px;max-width:100%;min-height:58px;background:var(--paper);box-shadow:0 2px 5px #293c4a0b,0 6px 16px #293c4a12;font-size:15px;text-align:left}.enter:hover{box-shadow:0 3px 7px #293c4a10,0 8px 20px #293c4a19}.enter:active{box-shadow:0 1px 3px #293c4a14,0 2px 6px #293c4a0b}.enter span{font-size:24px;line-height:1;flex-shrink:0}.intro-art{height:530px;min-width:0;display:flex;align-items:center;justify-content:center}.intro-mirrorball{display:block;width:100%;height:100%;object-fit:contain}.art-caption{position:absolute;inset:43% 0 auto;text-align:center;line-height:2;font-family:'AppleMyungjo','Batang',serif;font-size:23px;z-index:2}.art-number{position:absolute;bottom:40px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:3px;z-index:2}.intro-footer{border-top:1px solid var(--line);font-size:11px;color:var(--muted);margin:0 5vw;padding:22px 0}header{height:90px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 4vw}header>a{font-size:12px}header>a span{margin-left:15px}.hamburger{font-size:19px;margin-right:12px}.menu-label{font-size:12px}nav{position:fixed;top:90px;left:0;background:var(--paper);z-index:20;width:340px;padding:30px;box-shadow:10px 15px 35px #293c4a16}nav button,nav a{display:block;text-align:left;padding:18px 0;font-size:15px;border-bottom:1px solid var(--line);width:100%}#reader{display:grid;grid-template-columns:48% 52%}.visual{position:sticky;top:90px;height:calc(100dvh - 90px);background:var(--blue-soft);display:flex;flex-direction:column;align-items:center;padding:35px 55px 28px}.visual-top{display:flex;width:100%;justify-content:space-between;font-size:11px;letter-spacing:1px}.visual img{width:100%;flex:1;min-height:0;object-fit:contain;padding:35px 0 10px}.visual>p{font-size:11px;color:var(--muted);margin:12px 0 30px}.visual-bottom{font-family:serif;font-size:12px;color:var(--muted)}article{padding:58px 6vw 120px;min-width:0}.article-meta{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;color:var(--muted)}.sample{font-size:10px;color:var(--muted);margin:30px 0 20px}h2{font-family:'AppleMyungjo','Batang',serif;font-weight:400;font-size:clamp(30px,3vw,45px);letter-spacing:-1.8px;line-height:1.5;margin:0 0 20px;word-break:keep-all}.byline{font-size:12px;color:var(--muted);margin-bottom:48px}#story-body p{text-align:justify;font-family:'KoPub Dotum',sans-serif;font-size:17px;line-height:2.1;word-break:keep-all;margin:0 0 50px}.story-end{border-top:1px solid var(--line);margin-top:65px;padding-top:50px;text-align:center}.story-end p{font-size:12px;color:var(--muted);line-height:1.7}.side-arrow{position:fixed;top:53%;z-index:9;display:grid;place-items:center;width:56px;height:80px;padding:0;color:rgb(41 60 74 / 44%);font-size:32px;line-height:1;background:linear-gradient(145deg,rgb(255 255 255 / 24%),rgb(252 251 252 / 10%));border:1px solid rgb(255 255 255 / 40%);box-shadow:inset 0 1px 0 rgb(255 255 255 / 35%),0 3px 14px rgb(41 60 74 / 5%);-webkit-backdrop-filter:blur(8px) saturate(115%);backdrop-filter:blur(8px) saturate(115%)}.side-arrow.left{left:0;border-left:0;border-radius:0 44px 44px 0}.side-arrow.right{right:0;border-right:0;border-radius:44px 0 0 44px}button:disabled{opacity:.25;cursor:default}dialog{border:1px solid var(--line);border-radius:4px;padding:45px;width:min(620px,90vw);max-height:85dvh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#293c4a66;backdrop-filter:blur(4px)}.close{position:absolute;right:15px;top:10px;font-size:30px}dialog h2{font-size:29px}dialog p{line-height:1.9;font-size:15px;word-break:keep-all}.list-item{display:block;text-align:left;border-bottom:1px solid var(--line);padding:22px 0;width:100%}.list-item small{display:block;color:var(--muted);margin-top:9px}.dialog-label{font-size:11px;color:var(--muted);letter-spacing:2px}
@media(min-width:1600px){article{padding-left:8vw;padding-right:8vw}.intro-body{padding-top:80px;padding-bottom:90px}}@media(max-width:760px){.intro-top{padding:25px 7vw}.intro-top>span:last-child{font-size:8px;letter-spacing:0;max-width:160px;text-align:right;line-height:1.7}.intro-body{display:flex;flex-direction:column;padding:35px 8vw 45px;gap:45px;align-items:stretch}.eyebrow{font-size:11px;margin-bottom:25px;letter-spacing:1px}h1{font-size:68px;letter-spacing:-4px}.invitation{font-size:17px}.intro-description{font-size:12px}.intro-description br{display:none}.intro-art{height:350px;width:85%;align-self:center}.art-caption{font-size:19px}.intro-footer{font-size:9px;gap:20px}header{height:72px;padding:0 20px}header>a{font-size:10px}header>a span{margin-left:3px}.menu-label{display:none}nav{top:72px;width:100%}#reader{display:block}.visual{position:relative;top:0;height:430px;padding:25px 35px 20px}.visual img{padding-top:23px}.visual>p{margin-bottom:15px}.visual-bottom{display:none}article{padding:35px 32px 110px}.article-meta{font-size:10px}.sample{margin-top:25px;font-size:9px}h2{font-size:32px}#story-body p{font-size:16px;line-height:2;margin-bottom:40px}.byline{margin-bottom:35px}.side-arrow{width:44px;height:64px;font-size:28px;top:50%}dialog{padding:40px 25px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:opacity .2s,background .2s}.enter{transition:box-shadow .2s}}
#story-body {white-space:pre-wrap;overflow-wrap:anywhere;line-height:2}#story-title{white-space:pre-wrap;overflow-wrap:anywhere}#image-caption{overflow-wrap:anywhere}.intro-footer span:last-child{max-width:55%;text-align:right}
/* Move photo and text together; do not interfere with vertical reading. */
#reader{overflow-x:clip}#reader-status{position:fixed;bottom:86px;left:50%;transform:translateX(-50%);z-index:15;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px 18px;max-width:min(480px,85vw);font-size:13px;line-height:1.6;box-shadow:0 5px 20px #293c4a12}#reader-status:empty{display:none}.side-arrow:not(:disabled):active{color:rgb(41 60 74 / 78%);background:rgb(255 255 255 / 35%)}.side-arrow:focus-visible{color:rgb(41 60 74 / 82%);background:rgb(255 255 255 / 42%);outline-offset:-3px}@media(max-width:760px){#reader-status{font-size:12px;bottom:80px}}@media(prefers-reduced-motion:reduce){#reader .visual,#reader article{animation:none!important;transition:none!important}}

/* An inert snapshot dissolves above the already painted next story. */
#reader{position:relative}.reader-echo{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}.reader-echo article{background:var(--paper)}
.echo-story-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2}.echo-story-body p{text-align:justify;font-family:'KoPub Dotum',sans-serif;font-size:17px;line-height:2.1;word-break:keep-all;margin:0 0 50px}.echo-story-title{white-space:pre-wrap;overflow-wrap:anywhere}.echo-image-caption{overflow-wrap:anywhere}
@media(max-width:760px){.echo-story-body p{font-size:16px;line-height:2;margin-bottom:40px}}

.dedication{font-family:'AppleMyungjo','Batang',serif;font-size:clamp(21px,2.2vw,30px);line-height:1.7;color:var(--accent);white-space:pre-wrap;overflow-wrap:anywhere;word-break:keep-all;margin:0 0 32px}.admin #preview-dedication{font-size:23px}

.reactions{margin-top:54px;padding:32px 0 12px;border-top:1px solid var(--line);text-align:center}.reactions h3{font-family:'AppleMyungjo','Batang',serif;font-size:22px;font-weight:400;margin:0 0 12px}.reactions p{font-size:12px;line-height:1.8;color:var(--muted)}.reaction-choices{display:grid;grid-template-columns:repeat(5,48px);justify-content:center;gap:10px;margin:24px auto 16px}.reaction-choices button{height:48px;width:48px;border:1px solid var(--line);border-radius:50%;background:var(--pink-soft);font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif;font-size:25px;line-height:1;padding:0}.reaction-choices button:not(:disabled):hover{background:#f8dce3}.reaction-choices button:disabled{opacity:.5}.reactions small{display:block;font-size:10px;line-height:1.8;color:var(--muted)}#reaction-message{min-height:22px;margin:10px 0}.reaction-choices button:last-child{grid-column:auto}#heart-sky{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:8}.heart-balloon{position:absolute;font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif;font-size:30px;line-height:1.4;pointer-events:none;user-select:none;will-change:transform,opacity}@media(max-width:380px){.reaction-choices{grid-template-columns:repeat(5,44px);gap:6px}.reaction-choices button{width:44px;height:44px;font-size:23px}}@media(prefers-reduced-motion:reduce){#heart-sky{display:none}}

.write-bubble{position:fixed;right:24px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:12;display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:white;border-radius:40px;padding:16px 22px;font-size:13px;line-height:1.4;white-space:nowrap;box-shadow:0 4px 20px #293c4a25}.write-symbol{font-family:Arial,sans-serif;font-size:20px;line-height:1;font-variant-emoji:text}.write-bubble:hover{background:var(--accent)}@media(max-width:760px){.write-bubble{right:16px;padding:14px 18px}}

.public-story-index{margin:0 7vw 40px;padding:20px 0;border-top:1px solid var(--line);font-size:14px}.public-story-index summary{cursor:pointer;color:var(--ink)}

.event-title{font-size:clamp(38px,4.3vw,64px);letter-spacing:-2.5px;line-height:1.35;white-space:nowrap}.visual-top{gap:16px}.visual-top span:last-child{text-align:right}@media(max-width:760px){.event-title{font-size:clamp(32px,7.5vw,48px);letter-spacing:-1.8px}}

/* Display original CI pixels through cropped viewports; preserve the source artwork. */
.brand{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;line-height:1;padding:0}.brand-symbol{display:block;width:30px;height:30px;object-fit:contain}.brand-word{display:block;position:relative;width:76px;aspect-ratio:278/104;overflow:hidden;mix-blend-mode:multiply}.brand-word img{position:absolute;width:470.5036%;height:auto;max-width:none;left:-327.3381%;top:-595.1923%}.brand-home,.brand-admin{position:absolute;left:50%;transform:translateX(-50%)}.brand-home .brand-symbol{width:27px;height:27px}.brand-home .brand-word{width:68px}.brand-signature{display:block;width:40px;height:40px;object-fit:contain;margin:0 auto 18px}.brand-ci{position:relative;overflow:hidden;width:min(320px,100%);aspect-ratio:1083/741;margin:0 auto 32px;mix-blend-mode:multiply}.brand-ci img{position:absolute;width:120.7756%;height:auto;max-width:none;left:-10.157%;top:-5.3981%}@media(max-width:760px){.brand{gap:7px}.brand-symbol{width:28px;height:28px}.brand-word{width:68px}.brand-home .brand-symbol{width:25px;height:25px}.brand-home .brand-word{width:60px}.brand-ci{width:min(280px,100%)}}

/* Photo-led masonry directory: two to four columns, in native reading order. */
.reading-list{min-height:75svh;border-top:1px solid var(--line);padding:48px max(6vw,24px) 130px;background:linear-gradient(180deg,var(--blue-soft),var(--paper) 420px);scroll-margin-top:90px}
.reading-list-heading,.reading-list-gallery,.reading-list-reveal{max-width:1200px;margin-inline:auto}
.reading-list-heading{margin-bottom:32px}.reading-list-heading h2{font-size:32px;margin-bottom:12px}
.reading-list-heading>p:last-child{font-size:13px;line-height:1.8;color:var(--muted)}
.reading-list-reveal{height:1px;margin-bottom:-1px;pointer-events:none}
.reading-list-gallery{column-count:4;column-gap:24px}
.reading-list-item{position:relative;display:block;break-inside:avoid-column;overflow:hidden;isolation:isolate;margin:0 0 24px;background:var(--blue-soft);border-radius:3px;outline-offset:5px}
.reading-list-image{display:block;width:100%;height:auto;max-height:600px;object-fit:cover;filter:blur(2px);transform:scale(1.025)}
.reading-list-item:nth-child(3n+2){background:var(--pink-soft)}
.reading-list-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 20px;color:#fff;background:linear-gradient(180deg,transparent 25%,rgb(24 40 50 / 12%) 45%,rgb(24 40 50 / 76%) 100%);overflow-wrap:anywhere}
.reading-list-name{display:block;font-family:'AppleMyungjo','Batang',serif;font-size:22px;line-height:1.6;word-break:keep-all;text-shadow:0 1px 8px #152b3650}
.reading-list-caption small{display:block;font-size:12px;line-height:1.7;margin-top:8px;color:rgb(255 255 255 / 82%)}
.reading-list-item[aria-current=true]{box-shadow:0 0 0 2px var(--accent)}
.reading-list-item[aria-current=true] small::after{content:' · 읽는 중'}
.gallery-intro{opacity:var(--preview-opacity,1)}
.gallery-intro .reading-list-image{filter:blur(calc(2px + var(--preview-extra-blur,0px)))}
.reading-list:focus-within{--preview-extra-blur:0px!important;--preview-opacity:1!important}
@media(hover:hover) and (pointer:fine){.reading-list-item .reading-list-caption small{opacity:0}.reading-list-item:hover .reading-list-caption small,.reading-list-item:focus-visible .reading-list-caption small{opacity:1}}
@media(max-width:1100px){.reading-list-gallery{column-count:3;column-gap:20px}.reading-list-item{margin-bottom:20px}.reading-list-name{font-size:20px}}
@media(max-width:760px){.reading-list{padding:32px 24px 120px;scroll-margin-top:72px}.reading-list-heading h2{font-size:28px}.reading-list-gallery{column-count:2;column-gap:16px}.reading-list-item{margin-bottom:16px}.reading-list-caption{padding:22px 14px 18px}.reading-list-name{font-size:clamp(15px,3.5vw,21px);line-height:1.65}.reading-list-item .reading-list-caption small{font-size:11px;margin-top:5px;opacity:1}}
@media(max-width:380px){.reading-list{padding-inline:20px}.reading-list-gallery{column-gap:12px}.reading-list-caption{padding-inline:10px}.reading-list-caption small{font-size:10px}}
@media(prefers-reduced-motion:no-preference){.reading-list-caption small{transition:opacity .2s}}
@media(prefers-reduced-motion:reduce){.gallery-intro{opacity:1}.gallery-intro .reading-list-image{filter:blur(2px)}}

/* Keep the glass treatment local to the two navigation buttons. */
@media(hover:hover) and (pointer:fine){.side-arrow:not(:disabled):hover{color:rgb(41 60 74 / 70%);background:rgb(255 255 255 / 30%);box-shadow:inset 0 1px 0 rgb(255 255 255 / 50%),0 4px 18px rgb(41 60 74 / 8%)}}
@media(prefers-reduced-motion:no-preference){.side-arrow{transition:color .18s,background .18s,box-shadow .18s}}
.public-story-index[open]>summary{margin-bottom:28px}.public-story-index .reading-list-gallery{margin-top:24px}

/* Social links in the hamburger menu. */
.menu-social{padding-top:22px}.menu-social p{margin:0 0 12px;font-size:15px}.menu-social-links{display:flex;align-items:center;gap:12px}.menu-social-links a{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:12px;border:0;border-radius:8px;color:var(--ink)}.menu-social-links svg{display:block;width:24px;height:24px}.menu-social-links a:hover{background:var(--blue-soft)}
