/* 첫 장, 한 살 — 독립 테마 스타일 */

.request-theme-dol_storybook{--ink:#655b45;--paper:#fff9e8;--accent:#9b7846;--tint:color-mix(in srgb,var(--accent) 10%,var(--paper));--muted:color-mix(in srgb,var(--ink) 72%,var(--paper));--line:color-mix(in srgb,var(--accent) 25%,var(--paper));position:relative;isolation:isolate;box-sizing:border-box;width:100%;max-width:720px;margin:0 auto;overflow:hidden;background:var(--paper);color:var(--ink);font:16px/1.9 'Noto Sans KR','Malgun Gothic',sans-serif;word-break:keep-all;}
.request-theme-dol_storybook *,.request-theme-dol_storybook *:before,.request-theme-dol_storybook *:after{box-sizing:border-box;}
.request-theme-dol_storybook [hidden]{display:none!important;}.request-theme-dol_storybook [data-request-field]{position:relative;overflow-wrap:anywhere;}.request-theme-dol_storybook [data-request-multiline=true]{white-space:pre-line;}
.request-theme-dol_storybook h1,.request-theme-dol_storybook h2,.request-theme-dol_storybook h3,.request-theme-dol_storybook p,.request-theme-dol_storybook figure{margin:0;}.request-theme-dol_storybook h1{font-size:40px;line-height:1.5;letter-spacing:-.05em;font-weight:500;}.request-theme-dol_storybook h2{font-size:27px;line-height:1.6;letter-spacing:-.04em;font-weight:500;}.request-theme-dol_storybook .eyebrow{font-size:15px;line-height:1.65;letter-spacing:.09em;color:var(--accent);}.request-theme-dol_storybook .intro,.request-theme-dol_storybook .copy{font-size:17px;line-height:2.1;color:var(--muted);}.request-theme-dol_storybook .signature{font-size:16px;line-height:1.8;margin-top:26px;}.request-theme-dol_storybook .big-type{font-size:clamp(64px,15vw,120px);font-weight:600;line-height:.95;letter-spacing:-.075em;}.request-theme-dol_storybook .serif{font-family:'Gowun Batang',serif;}.request-theme-dol_storybook .hand{font-family:'Gowun Dodum',sans-serif;}.request-theme-dol_storybook .pill{display:inline-block;border:1px solid var(--line);padding:6px 14px;border-radius:30px;font-size:15px;}
.request-theme-dol_storybook .hero{position:relative;}.request-theme-dol_storybook .hero-photo{position:relative;aspect-ratio:4/5;}.request-theme-dol_storybook img{display:block;width:100%;height:100%;object-fit:cover;}.request-theme-dol_storybook .art{display:block;width:160px;height:auto;overflow:visible;}.request-theme-dol_storybook .person-name{display:block;font:500 27px/1.6 'Gowun Batang',serif;}.request-theme-dol_storybook .date-info{font-size:16px;line-height:1.9;}.request-theme-dol_storybook .venue{color:var(--muted);margin-top:7px;}.request-theme-dol_storybook .countdown{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;}.request-theme-dol_storybook .countdown strong{font-size:28px;font-weight:400;color:var(--accent);}.request-theme-dol_storybook .countdown span{font-size:15px;}
.request-theme-dol_storybook .letter,.request-theme-dol_storybook .application,.request-theme-dol_storybook .calendar-section,.request-theme-dol_storybook .location,.request-theme-dol_storybook .moments{padding:52px 38px;}.request-theme-dol_storybook .letter{text-align:center;}.request-theme-dol_storybook .letter h2{margin:16px 0 25px;font-family:'Gowun Batang',serif;}.request-theme-dol_storybook .application{background:var(--tint);}.request-theme-dol_storybook .application h2{margin:16px 0 20px;}.request-theme-dol_storybook .application-copy{color:var(--muted);white-space:pre-line;line-height:2;}.request-theme-dol_storybook .request-apply{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;margin-top:30px;padding:18px 22px;color:var(--paper);background:var(--accent);border:1px solid var(--accent);font-size:17px;font-weight:500;line-height:1.5;text-decoration:none;transition:filter .2s,transform .2s;}.request-theme-dol_storybook .request-apply:hover{filter:brightness(1.08);transform:translateY(-2px);}.request-theme-dol_storybook .request-apply:focus-visible{outline:2px solid currentColor;outline-offset:4px;}.request-theme-dol_storybook .request-apply svg{flex:0 0 23px;width:23px;height:23px;}.request-theme-dol_storybook .note{font-size:15px;line-height:1.8;color:var(--muted);margin-top:19px;}
.request-theme-dol_storybook .profile{padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;}.request-theme-dol_storybook .profile h2{margin:16px 0;font-family:'Gowun Batang',serif;}.request-theme-dol_storybook .profile .copy{margin-top:18px;font-size:16px;}.request-theme-dol_storybook .profile-photo{aspect-ratio:3/4;overflow:hidden;}.request-theme-dol_storybook .calendar-section{text-align:center;background:var(--tint);}.request-theme-dol_storybook .calendar-section h2,.request-theme-dol_storybook .location h2,.request-theme-dol_storybook .moments h2{margin:16px 0 23px;}.request-theme-dol_storybook .request-calendar{max-width:390px;margin:27px auto 0;}.request-theme-dol_storybook .request-calendar-heading{font:400 22px/1.6 'Gowun Batang',serif;margin-bottom:19px;}.request-theme-dol_storybook .request-calendar table{width:100%;table-layout:fixed;border:0;border-collapse:collapse;}.request-theme-dol_storybook .request-calendar th,.request-theme-dol_storybook .request-calendar td{height:43px;padding:3px 0;text-align:center;font-size:15px;font-weight:400;border:0;background:transparent;color:var(--ink);}.request-theme-dol_storybook .request-calendar td span{display:inline-grid;place-items:center;width:33px;height:33px;border-radius:50%;}.request-theme-dol_storybook .request-calendar .request-calendar-selected{background:var(--accent);color:var(--paper);}.request-theme-dol_storybook .map{overflow:hidden;margin:25px 0;}.request-theme-dol_storybook .map svg{display:block;width:100%;height:auto;}.request-theme-dol_storybook .address{margin-top:8px;color:var(--muted);font-size:16px;}
.request-theme-dol_storybook .request-gallery-track{column-count:2;column-gap:10px;}.request-theme-dol_storybook .request-gallery-photo{break-inside:avoid;margin:0 0 10px;}.request-theme-dol_storybook .request-gallery-photo img{height:auto;}.request-theme-dol_storybook .request-gallery-more{display:block;margin:25px auto 0;padding:11px 20px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:15px;border-radius:3px;}.request-theme-dol_storybook .request-gallery-navigation{display:flex;justify-content:center;align-items:center;gap:20px;margin:20px 0;}.request-theme-dol_storybook .request-gallery-navigation svg{width:20px;height:20px;stroke:currentColor;fill:none;}.request-theme-dol_storybook .request-gallery-thumbnails{display:flex;gap:7px;overflow-x:auto;}.request-theme-dol_storybook .request-gallery-thumbnails button{flex:0 0 52px;height:65px;padding:2px;border:1px solid var(--line);background:transparent;}.request-theme-dol_storybook .request-gallery-empty{padding:25px 0;}.request-theme-dol_storybook footer{padding:38px;text-align:center;background:var(--ink);color:var(--paper);font-size:15px;line-height:1.9;}.request-theme-dol_storybook footer .signature{font-size:15px;margin-top:16px;}
.request-theme-dol_storybook .theme-effects-toggle{position:relative;z-index:8;display:block;min-height:36px;margin:22px auto 0;padding:6px 12px;border:1px solid var(--line);border-radius:30px;background:var(--paper);color:var(--ink);font:15px/1.5 'Noto Sans KR',sans-serif;cursor:pointer;}.request-theme-dol_storybook.effects-paused *,.request-theme-dol_storybook.effects-paused *:before,.request-theme-dol_storybook.effects-paused *:after{animation-play-state:paused!important;}.request-theme-dol_storybook.effects-off .motion{animation:none!important;}
@media(max-width:480px){.request-theme-dol_storybook h1{font-size:31px;}.request-theme-dol_storybook h2{font-size:25px;}.request-theme-dol_storybook .letter,.request-theme-dol_storybook .application,.request-theme-dol_storybook .calendar-section,.request-theme-dol_storybook .location,.request-theme-dol_storybook .moments{padding:39px 27px;}.request-theme-dol_storybook .profile{padding:30px 27px;gap:22px;}.request-theme-dol_storybook .profile h2{font-size:23px;}.request-theme-dol_storybook .profile .copy{font-size:15px;}.request-theme-dol_storybook .intro{font-size:16px;}.request-theme-dol_storybook .profile .person-name{font-size:23px;}}
@media(max-width:350px){.request-theme-dol_storybook h1{font-size:28px;}.request-theme-dol_storybook .letter,.request-theme-dol_storybook .application,.request-theme-dol_storybook .calendar-section,.request-theme-dol_storybook .location,.request-theme-dol_storybook .moments{padding-left:23px;padding-right:23px;}.request-theme-dol_storybook .profile{grid-template-columns:1fr;}.request-theme-dol_storybook .profile-photo{aspect-ratio:4/3;}.request-theme-dol_storybook .countdown{gap:12px;}.request-theme-dol_storybook .countdown strong{font-size:25px;}}


.request-theme-dol_storybook .storybook{padding:36px 25px 32px;text-align:center;background:repeating-linear-gradient(90deg,#dcc99a08 0 1px,transparent 1px 5px);}.request-theme-dol_storybook .book-spread{display:grid;grid-template-columns:1fr 1fr;position:relative;margin:28px 0;padding:12px;background:#e7dbbc;border-radius:9px 20px 20px 9px;box-shadow:8px 12px 0 #d9caa5;gap:1px;}.request-theme-dol_storybook .book-page{padding:27px 15px;background:#fffdf0;border-right:1px solid #dfd4b5;}.request-theme-dol_storybook .book-number{font:italic 100px/1 'Gowun Batang',serif;color:#d4b580;margin-bottom:15px;}.request-theme-dol_storybook .book-page h1{font:400 31px/1.6 'Gowun Batang',serif;}.request-theme-dol_storybook .book-page .person-name{margin-top:25px;font-size:20px;}.request-theme-dol_storybook .book-picture{position:relative;background:#fffdf0;padding:15px 10px;}.request-theme-dol_storybook .book-picture .hero-photo{height:100%;min-height:350px;aspect-ratio:auto;border-radius:100px 100px 8px 8px;overflow:hidden;}.request-theme-dol_storybook .book-picture .art{position:absolute;width:65px;right:-14px;top:28px;transform:rotate(15deg);}.request-theme-dol_storybook .profile{background:#e9e3ce;}.request-theme-dol_storybook .profile-photo{border-radius:100px 100px 7px 7px;}.request-theme-dol_storybook .letter h2{font-family:'Gowun Batang',serif;}.request-theme-dol_storybook .application{border-top:1px solid var(--line);background:#f2e9d3;}.request-theme-dol_storybook .request-apply{border-radius:5px;}.request-theme-dol_storybook.is-moving .book-picture .art{animation:book-star 2.96s ease-in-out infinite;}@keyframes book-star{50%{transform:rotate(-4deg) translateY(-8px);}}
@media(max-width:480px){.request-theme-dol_storybook .storybook{padding:28px 18px 30px;}.request-theme-dol_storybook .book-page{padding:22px 10px;}.request-theme-dol_storybook .book-page h1{font-size:24px;line-height:1.65;}.request-theme-dol_storybook .book-number{font-size:78px;}.request-theme-dol_storybook .book-picture{padding:12px 8px;}.request-theme-dol_storybook .book-picture .hero-photo{min-height:310px;}.request-theme-dol_storybook .book-page .note{font-size:15px;}}



.request-theme-dol_storybook .theme-contact{padding:25px 30px;border-top:1px solid var(--line);background:var(--paper);font-size:16px;}.request-theme-dol_storybook .theme-contact summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;padding:14px 0;}.request-theme-dol_storybook .theme-contact summary:after{content:"+";font-size:22px;}.request-theme-dol_storybook .theme-contact details[open] summary:after{content:"−";}.request-theme-dol_storybook .theme-contact summary::-webkit-details-marker{display:none;}.request-theme-dol_storybook .theme-contact details>p{margin:10px 0;color:var(--muted);font-size:16px;}.request-theme-dol_storybook .celebration{font-size:16px;line-height:1.8;margin:0 0 15px;color:var(--accent);}

/* 책 위로 반짝이는 별 — 이 테마에서만 사용하는 효과 */
.request-theme-dol_storybook{--theme-effect-color:#b38a43;--theme-travel:640px;--theme-sway:32px;}
.request-theme-dol_storybook .theme-atmosphere{position:absolute;z-index:3;top:0;left:0;width:100%;height:100%;max-height:760px;overflow:hidden;pointer-events:none;display:none;}
.request-theme-dol_storybook.is-moving .theme-atmosphere{display:block;}
.request-theme-dol_storybook .theme-atmosphere i{display:block;position:absolute;}
.request-theme-dol_storybook .theme-atmosphere .particle{left:var(--x);top:var(--y);width:var(--size);height:var(--size);background:var(--theme-effect-color);opacity:0;}
.request-theme-dol_storybook.is-moving .particle{animation:dol_storybook_drift var(--duration) var(--delay) ease-in-out infinite;}
@keyframes dol_storybook_drift{0%{opacity:0;transform:translate(-12px,calc(var(--theme-travel) * -.35)) rotate(var(--angle));}25%,65%{opacity:0.7825;}100%{opacity:0;transform:translate(var(--theme-sway),calc(var(--theme-travel) * .65)) rotate(calc(var(--angle) + 160deg));}}
.request-theme-dol_storybook.is-moving .theme-enter{animation:dol_storybook_chapter 0.85s ease both;}
@keyframes dol_storybook_chapter{from{opacity:0.6475;translate:0 17px;}to{opacity:1;translate:0 0;}}
@keyframes dol_storybook_fade{from{opacity:0.6475;}to{opacity:1;}}
.request-theme-dol_storybook.effects-off .theme-atmosphere{display:none;}
.request-theme-dol_storybook.effects-paused *,.request-theme-dol_storybook.effects-paused *:before,.request-theme-dol_storybook.effects-paused *:after{animation-play-state:paused!important;}
.request-theme-dol_storybook .theme-effects-toggle{position:relative;z-index:8;display:block;min-height:36px;margin:22px auto 0;padding:6px 12px;border:1px solid color-mix(in srgb,#b38a43 40%,transparent);border-radius:30px;background:transparent;color:inherit;font:15px/1.5 'Noto Sans KR',sans-serif;cursor:pointer;}
.request-theme-dol_storybook .atmosphere-stars .particle{clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);}
.request-theme-dol_storybook .atmosphere-stars .particle{animation-name:dol_storybook_twinkle!important;}
@keyframes dol_storybook_twinkle{0%,100%{opacity:0.175;transform:scale(.6) rotate(0);}50%{opacity:0.95;transform:scale(1.2) rotate(40deg);}}
@media(prefers-reduced-motion:reduce){.request-theme-dol_storybook{--theme-travel:18px;--theme-sway:8px;}.request-theme-dol_storybook.is-moving .theme-enter{animation-name:dol_storybook_fade;animation-duration:.4s;}.request-theme-dol_storybook .theme-atmosphere .particle{animation-duration:16s;}}

/* 확장된 테마 효과 */
.request-theme-dol_storybook .theme-atmosphere>i[style*="--duration"]{animation-duration:calc(var(--duration) * .72)!important;scale:1.2;}
.request-theme-dol_storybook .theme-atmosphere{max-height:none;}
