@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components,utilities;:root{color:#171716;font-synthesis:none;background:#f3f1ec;font-family:Pretendard,Noto Sans KR,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{color:inherit}.wedding{--gap:8rem;background:#f8f6f1;width:min(100%,480px);margin:auto;overflow:hidden}.wedding.spacing-compact{--gap:5rem}.wedding.spacing-airy{--gap:11rem}.wedding>section:not(.cover){padding:var(--gap) 2.1rem;text-align:center}.cover{color:#fff;height:100svh;min-height:680px;position:relative;overflow:hidden}.cover>img{object-fit:cover;width:100%;height:100%}.veil{position:absolute;inset:0}.cover-copy{flex-direction:column;justify-content:space-between;padding:5rem 2rem 3.5rem;display:flex;position:absolute;inset:0}.cover-copy.left{text-align:left;align-items:flex-start}.cover-copy.center{text-align:center;align-items:center}.cover-copy.right{text-align:right;align-items:flex-end}.cover-copy p,.eyebrow{letter-spacing:.22em;font:500 .72rem/1.3 Arial,sans-serif}.cover-copy h1{flex-direction:column;margin:0;font:400 2.25rem/1.25 Georgia,serif;display:flex}.cover-copy h1 i{margin:.45rem;font-size:1.1rem;font-weight:400}.cover-copy span{letter-spacing:.18em;font:500 .76rem Arial}.eyebrow{color:#89847b;margin:0 0 1.4rem}.wedding h2{margin:.5rem 0 2rem;font:400 2rem/1.35 Georgia,serif}.prose{white-space:pre-line;color:#514e48;font-size:1rem;line-height:2.2}.couple{border-block:1px solid #ddd8cf;grid-template-columns:1fr 1fr;gap:1rem;display:grid}.couple div:first-child{border-right:1px solid #ddd8cf}.couple span{letter-spacing:.18em;color:#89847b;font:600 .65rem Arial}.couple b{margin:1rem;font:400 1.45rem Georgia;display:block}.couple p{color:#77736c;font-size:.75rem}.date .day{color:#242321;font:400 7rem/1 Georgia}.date h2{margin:1.25rem;font-family:inherit;font-size:1.05rem}.date>p{color:#706d66}.calendar-actions,.map-links{justify-content:center;gap:.6rem;margin-top:2rem;display:flex}.calendar-actions a,.map-links a,.share button{background:0 0;border:1px solid #bbb5aa;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8rem;text-decoration:none;display:inline-flex}.calendar-actions svg,.share svg{width:16px}.gallery{color:#eee;background:#161615}.gallery-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.shot{background:0 0;border:0;min-height:280px;padding:0;overflow:hidden}.shot img{object-fit:cover;width:100%;height:100%;transition:transform .2s;display:block}.shot.full,.shot.landscape{grid-column:1/-1}.shot.portrait,.shot.half{height:360px}.shot.editorial-left,.shot.editorial-right{height:400px}.shot.editorial-left{grid-column:1/2}.shot.editorial-right{grid-column:2/3}.location address{color:#6c6860;font-style:normal}.map{background:#e7e4dc;place-content:center;gap:.5rem;height:230px;margin-top:2rem;display:grid}.map svg{margin:auto}.info{background:#ebe8e0;text-align:left!important}.info h3{margin-top:2rem;font:500 1rem Georgia}.info p{color:#615e58;line-height:1.8}.contact a{text-align:left;border-top:1px solid #ddd8cf;padding:1.2rem;text-decoration:none;display:block}.account{background:#ebe8e0}.account>div{text-align:left;margin:2rem 0}.account button{text-align:left;background:0 0;border:0;border-top:1px solid #cbc5ba;grid-template-columns:1fr auto auto;gap:.7rem;width:100%;padding:1rem 0;display:grid}.account button span,.account button b{font-size:.8rem}.account svg{width:14px}.ending{place-content:center;gap:3rem;height:520px;display:grid}.ending p{word-break:keep-all;font:400 1.5rem/1.8 Georgia}.ending span{letter-spacing:.1em;font-size:.75rem}.share{padding-top:0!important}.share button{margin:auto}.lightbox{z-index:100;background:#090909;grid-template-columns:48px 1fr 48px;align-items:center;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;width:100%;max-height:90vh}.lightbox button{color:#fff;background:0 0;border:0}.lightbox>button:first-child{position:absolute;top:1rem;right:1rem}.admin{background:#eeece7;min-height:100vh}.admin header{color:#fff;z-index:20;background:#171716;justify-content:space-between;align-items:center;height:72px;padding:0 2rem;display:flex;position:sticky;top:0}.admin header>div:first-child{align-items:center;gap:1.5rem;display:flex}.admin header b{letter-spacing:.17em;font:600 .78rem Arial}.admin header span{color:#8e9d86;font-size:.76rem}.admin header span.dirty{color:#e7bd75}.history{gap:.4rem;display:flex}.history button{color:#ddd;background:0 0;border:1px solid #4a4947;align-items:center;gap:.4rem;padding:.55rem .8rem;font-size:.75rem;display:flex}.history svg{width:15px}.history .publish{color:#171716;background:#f5f1e8}.workspace{grid-template-columns:minmax(520px,1fr) minmax(430px,.9fr);height:calc(100vh - 72px);display:grid}aside{background:#fff;grid-template-columns:132px 1fr;display:grid;overflow:hidden}aside nav{background:#252523;flex-direction:column;gap:.25rem;padding:1rem .7rem;display:flex}aside nav button{color:#aaa;text-align:left;background:0 0;border:0;padding:.85rem;font-size:.8rem}aside nav button.active{color:#171716;background:#f1eee7}.panel{padding:2.5rem;overflow-y:auto}.panel h2{margin:0 0 .5rem;font:400 1.7rem Georgia}.panel>p{color:#77736d;margin:0 0 2rem;font-size:.8rem}.panel label{color:#625f59;margin:1rem 0;font-size:.77rem;display:block}.panel input,.panel textarea,.panel select{color:#191817;background:#fff;border:1px solid #d5d0c6;width:100%;margin-top:.4rem;padding:.7rem;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}.sort-row{border-top:1px solid #e5e1d9;grid-template-columns:34px 1fr 32px 32px 46px;align-items:center;min-height:54px;display:grid}.sort-row button,.photo-row>button{background:0 0;border:0;padding:.3rem}.drag{cursor:grab;color:#8f8b83}.drag svg,.sort-row svg,.photo-row svg{width:17px}.switch input{display:none}.switch i{background:#ccc;border-radius:20px;width:38px;height:22px;display:block;position:relative}.switch i:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+i{background:#20201e}.switch input:checked+i:after{left:19px}.upload{cursor:pointer;justify-content:center;align-items:center;gap:.5rem;border:1px dashed #aaa!important;padding:1rem!important;display:flex!important}.upload input{display:none}.upload svg{width:18px}.photo-list{margin-top:1rem}.photo-row{border-top:1px solid #ddd8d0;grid-template-columns:34px 1fr 34px;align-items:center;display:grid}.photo-row.active{background:#efede7}.photo-main{text-align:left;align-items:center;gap:.75rem;display:flex!important}.photo-main img{object-fit:cover;width:48px;height:56px}.photo-main span{flex-direction:column;max-width:180px;display:flex;overflow:hidden}.photo-main small{color:#8a867f}.photo-settings{border-top:2px solid #222;margin-top:1.5rem;padding-top:1rem}.crop-stage{touch-action:none;cursor:crosshair;background:#ddd;height:240px;position:relative;overflow:hidden}.crop-stage img{object-fit:cover;width:100%;height:100%}.crop-stage i{border:2px solid #fff;border-radius:50%;width:22px;height:22px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #222}.crop-stage i:after{content:"+";text-align:center;color:#222;position:absolute;inset:-4px}.crop-editor small{color:#888}.preview-pane{background:#dad7d0;flex-direction:column;align-items:center;padding:2rem;display:flex;overflow:auto}.device-label{letter-spacing:.08em;align-items:center;gap:.4rem;margin-bottom:1rem;font-size:.72rem;display:flex}.device-label svg{width:16px}.phone{background:#fff;width:390px;height:calc(100vh - 150px);min-height:640px;overflow:auto;box-shadow:0 18px 60px #3d393426}.phone .wedding{width:100%}.notice{background:#eee9df;color:#655f55!important;padding:1rem!important}.account-edit{border-top:1px solid #ddd;margin-top:2rem}.account-edit>div{grid-template-columns:1fr 1.3fr .8fr 32px;gap:.4rem;display:grid}.account-edit button{background:#fff;border:1px solid #ccc;padding:.6rem}.view-tabs{display:none}@media(max-width:800px){.admin header{align-items:flex-start;height:auto;padding:1rem}.admin header>div:first-child{flex-direction:column;align-items:flex-start;gap:.3rem}.history button:not(.publish),.history .publish{padding:.5rem;font-size:0}.history .publish:after{content:"저장";font-size:.75rem}.view-tabs{z-index:19;background:#fff;grid-template-columns:1fr 1fr;padding:.6rem;display:grid;position:sticky;top:70px}.view-tabs button{background:#eee;border:0;padding:.7rem}.view-tabs button.active{color:#fff;background:#1c1c1b}.workspace{height:auto;display:block}.workspace aside,.preview-pane{display:none}.workspace .show{display:grid}aside{grid-template-columns:1fr;min-height:calc(100vh - 130px)}aside nav{z-index:10;flex-direction:row;position:sticky;top:116px;overflow-x:auto}aside nav button{white-space:nowrap}.panel{padding:1.4rem;overflow:visible}.workspace .preview-pane.show{height:calc(100vh - 130px);padding:1rem;display:flex}.phone{width:100%;height:100%;min-height:0}.form-grid,.account-edit>div{grid-template-columns:1fr}.account-edit>div button{justify-self:end}.wedding>section:not(.cover){padding-left:1.5rem;padding-right:1.5rem}}.wedding{--ivory:#f8f5ee;--cream:#f1ece2;--taupe:#a88b81;--ink:#272421;--muted:#777168;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Noto Sans KR",Pretendard,sans-serif;max-width:520px;color:var(--ink);font-family:var(--sans);box-shadow:0 0 70px #40332614}.wedding>section:not(.cover){padding-left:clamp(24px,8vw,48px);padding-right:clamp(24px,8vw,48px)}.wedding .eyebrow{font:500 .7rem/1.4 var(--serif);letter-spacing:.32em;color:#777168}.wedding h2{font-family:var(--serif)}.cover{background:#191714;height:100svh;min-height:680px;max-height:920px}.cover-media{position:absolute;inset:0;overflow:hidden}.cover-media>img{object-fit:cover;width:100%;height:100%;animation:14s ease-out both coverBreath}.cover-shade{background:linear-gradient(#0f0d0b0a 35%,#0f0d0bd1);position:absolute;inset:0}.cover-copy{z-index:1;justify-content:flex-end;gap:0;padding:15vh 34px 38px}.cover-copy>p{text-align:center;font:400 .68rem var(--serif);letter-spacing:.34em;position:absolute;top:53%;left:0;right:0}.cover-copy h1{font:400 clamp(2.2rem,11vw,3.5rem)/.98 var(--serif);letter-spacing:.06em;text-shadow:0 1px 18px #00000040}.cover-copy h1 span{display:block}.cover-copy h1 i{margin:.55rem;font-size:1.45rem}.cover-copy time{font:400 1rem var(--serif);letter-spacing:.22em;margin-top:1.6rem}.cover-copy.left>p,.cover-copy.left{text-align:left;align-items:flex-start}.cover-copy.right>p,.cover-copy.right{text-align:right;align-items:flex-end}.cover-note{flex-direction:column;align-items:center;gap:.5rem;margin-top:2rem;display:flex}.cover-copy.left .cover-note{align-items:flex-start}.cover-copy.right .cover-note{align-items:flex-end}.cover-note>span{font:300 .78rem/1.6 var(--sans);letter-spacing:.02em}.cover-note svg{width:20px;animation:2.4s ease-in-out infinite nudge}.cover-note small{font:400 .58rem var(--serif);letter-spacing:.35em}.wedding .invitation{background:var(--ivory);padding-top:112px!important;padding-bottom:120px!important}.hairline{background:#aaa398;width:1px;height:34px;margin:24px auto 36px;display:block}.hairline.short{width:38px;height:1px;margin:34px auto}.invitation .prose{color:#403c37;word-break:keep-all;font-size:.98rem;line-height:2.18}.couple-line{letter-spacing:.04em;font-size:.94rem}.couple-line b{margin:0 13px;font-weight:300}.parents{color:#777168;gap:7px;margin-top:24px;font-size:.72rem;display:grid}.chapter{font:400 .63rem/1.55 var(--serif);letter-spacing:.38em;color:#8e877d;margin:68px 0 0}.wedding .couple-editorial{background:#f4f0e8;position:relative;text-align:left!important;padding:50px 0 90px!important}.person{grid-template-columns:62% 38%;align-items:center;display:grid}.person.bride{grid-template-columns:38% 62%;margin-top:6px}.portrait{height:360px;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%}.person-copy{padding:22px}.person-copy>span{font:500 .62rem var(--serif);letter-spacing:.35em;color:#7c756d}.person-copy h2{font:400 1.75rem var(--serif);margin:12px 0 10px}.person-copy i{background:#aaa398;width:26px;height:1px;display:block}.person-copy p{color:#716b63;word-break:keep-all;margin-top:17px;font-size:.68rem;line-height:1.75}.amp{text-align:center;font:italic 2rem var(--serif);z-index:2;margin:-8px 0 -15px;position:relative}.together{text-align:center;font:italic 1.25rem/1 var(--serif);color:#8f887e;margin:32px 0 0}.wedding .date{background:#fbf9f4;padding-top:112px!important;padding-bottom:104px!important}.date>h2{font:400 clamp(2.1rem,10vw,3rem) var(--serif);letter-spacing:.08em;margin:27px 0 5px}.date-meta{font:400 .88rem var(--serif);letter-spacing:.23em}.date-meta b{margin:0 14px;font-weight:400}.month{max-width:370px;margin:68px auto 0}.month>p{font:500 1rem var(--serif);letter-spacing:.08em}.week{grid-template-columns:repeat(7,1fr);align-items:center;gap:13px 3px;margin-top:25px;display:grid}.week span{font:400 .7rem var(--serif);place-items:center;min-height:28px;display:grid}.week span:nth-child(-n+7){font-family:var(--sans);color:#777168;font-size:.59rem}.week .today{background:var(--taupe);color:#fff;border-radius:50%;justify-self:center;width:28px}.calendar-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:48px;display:grid}.calendar-actions a{background:#fffdf9;border-color:#d8d1c6;border-radius:999px;justify-content:center;min-height:45px;font-size:.7rem}.calendar-actions a:first-child{grid-column:1/-1}.wedding .gallery{color:var(--ink);background:#eee8dd;padding:96px 16px 74px!important}.gallery .eyebrow{color:#746e66}.gallery h2{margin:9px 0 42px;font-size:2.5rem}.gallery-grid{align-items:start;gap:6px}.shot{min-height:0}.shot.full{height:570px}.shot.landscape{height:245px}.shot.portrait{height:380px}.shot.half{height:295px}.shot.editorial-left,.shot.editorial-right{width:88%;height:410px}.shot.editorial-right{justify-self:end}.shot img{object-fit:cover}.gallery-count{font:400 .66rem var(--serif);letter-spacing:.24em;margin:32px 0 0}.wedding .location{background:var(--ivory);padding-top:108px!important;padding-bottom:50px!important}.location h2{font:500 1.75rem var(--serif);margin:28px 0 7px}.location>p{margin:0 0 10px;font-size:.86rem}.location address{font-size:.8rem}.location .map{background:linear-gradient(125deg,#e4dfd4,#d8d2c7);border:1px solid #d2cbc0;height:260px;margin-top:42px}.location .map svg{color:#a76f61}.location .map strong{font-size:.82rem}.location .map small{color:#777168;font-size:.62rem}.map-links{gap:7px;margin-top:12px}.map-links a{background:#fffdf9;border-color:#ddd7cd;border-radius:999px;flex:1;justify-content:center;padding:.75rem .25rem;font-size:.68rem}.wedding .info{background:var(--ivory);padding-top:36px!important;padding-bottom:104px!important}.info>div{text-align:left;border-top:1px solid #ded8ce;grid-template-columns:35px 1fr;padding:25px 0;display:grid}.info svg{width:19px}.info b{font:500 .88rem var(--sans)}.info p{color:#69635c;margin:8px 0 0;font-size:.78rem;line-height:1.8}.wedding .contact{background:#f0ebe1;padding-top:95px!important;padding-bottom:100px!important}.contact h2{font:400 1.65rem var(--serif);margin-bottom:42px}.contact a{justify-content:space-between;padding:18px 2px;font-size:.78rem;display:flex}.contact a b{color:#746e66;font-weight:400}.wedding .account{background:#f7f3eb;padding-top:105px!important;padding-bottom:105px!important}.account h2{font:400 1.8rem var(--serif);margin:28px 0 20px}.account-intro{color:#6e6860;font-size:.8rem;line-height:1.9}.account>div{margin:45px 0 0}.account h3{font:500 .9rem var(--sans);margin-bottom:12px}.account article{border-top:1px solid #d8d1c7;padding:19px 0 0}.account article>p{margin:0 0 7px;font-size:.82rem}.account article>span{color:#766f66;font-size:.76rem}.account article button{background:#ebe5da;border:0;border-radius:3px;justify-content:center;margin-top:18px;padding:12px;display:flex}.account article button svg{width:15px}.wedding .ending{background:#f8f3e9;height:auto;display:block;padding:100px 0 0!important}.ending .script{font:italic 3.5rem/1 var(--serif);margin:0}.ending h2{font:300 .98rem/2 var(--sans);margin:40px 0 0}.ending-photo{color:#fff;height:480px;margin-top:55px;position:relative;overflow:hidden}.ending-photo>img{object-fit:cover;width:100%;height:100%}.ending-photo:after{content:"";background:linear-gradient(#0000,#0f0d0b9e);position:absolute;inset:45% 0 0}.ending-photo>div{z-index:1;font:400 .72rem var(--serif);letter-spacing:.17em;gap:8px;display:grid;position:absolute;bottom:38px;left:0;right:0}.wedding .share{background:#f8f5ee;padding:30px 22px 42px!important}.share>div{justify-content:center;gap:14px;display:flex}.share button{background:0 0;border:0;place-items:center;gap:8px;font-size:.67rem;display:grid}.share button svg{width:18px}.share>p{font:400 .58rem var(--serif);letter-spacing:.35em;color:#928b81;margin:40px 0 0}.toast{z-index:120;color:#fff;background:#292622;border-radius:999px;padding:11px 18px;font-size:.75rem;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0000002e}.lightbox{max-width:none}.lightbox>img{object-fit:contain;width:100%;height:100%;transform:none!important}@keyframes coverBreath{0%{transform:scale(1.035)}to{transform:scale(1)}}@keyframes nudge{50%{transform:translateY(5px)}}@media(max-width:390px){.portrait{height:330px}.person-copy{padding:16px}.gallery .shot.full{height:510px}.ending-photo{height:430px}.calendar-actions{grid-template-columns:1fr}.calendar-actions a:first-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){.cover-media>img,.cover-note svg{animation:none!important}.shot img{transition:none}}
