/* The reunion input dialog shares the existing form fields and controller. */
.is-reunion.is-input .reunion-intro .love-intro-copy{visibility:hidden;pointer-events:none}
.is-reunion.is-input #love-main{inset:0;overflow:hidden;padding:0}
.is-reunion.is-input .love-header{background:transparent;border:0}
.is-reunion.is-input .love-brand img{filter:brightness(0) invert(1) drop-shadow(0 1px 3px #17253f40)}
.is-reunion.is-input .love-header [data-open-menu]{color:#fff}
.is-reunion #reunion-input-sheet{position:fixed;inset:auto 0 var(--reunion-keyboard-inset,0px);margin:0 auto;width:min(450px,100%);max-width:450px;height:min(72dvh,690px);max-height:calc(var(--love-input-viewport,100dvh) - 16px);padding:0;border:0;border-radius:25px 25px 0 0;background:#fff;color:#172b46;box-shadow:0 -10px 50px #101c3026;overflow:hidden;container-type:inline-size;overscroll-behavior:none}
.is-reunion #reunion-input-sheet[open]{display:flex;flex-direction:column;animation:reunion-sheet-rise .3s cubic-bezier(.22,1,.36,1) both}
.is-reunion #reunion-input-sheet:not([open]),.is-reunion #reunion-input-sheet [hidden]{display:none!important}
.is-reunion #reunion-input-sheet::backdrop{background:#101b2c55}
.reunion-input-sheet .reunion-sheet-grip{flex:none;width:44px;height:4px;margin:13px auto 8px;border-radius:9px;background:#c8cbd2}
.reunion-input-sheet .reunion-sheet-close{position:absolute;z-index:3;top:20px;right:13px;display:grid;place-items:center;width:40px;height:40px;margin:0;padding:8px;border:0;border-radius:50%;background:transparent;color:#172b46;cursor:pointer}
.reunion-input-sheet .reunion-sheet-close svg{width:26px;height:26px}
.reunion-input-sheet .reunion-sheet-close:disabled{opacity:.4;cursor:wait}
.reunion-input-sheet .reunion-input-legacy{display:none}
.is-reunion #reunion-input-sheet #love-input-form{flex:1;min-height:0;width:100%;height:auto}
.is-reunion #reunion-input-sheet .love-input-panel{height:100%;min-height:0;padding:0;border:0;border-radius:0;background:#fff;color:#172b46}
.reunion-input-sheet .love-input-heading{flex:none;margin:0;padding:5px 22px 16px;background:#fff;text-align:center}
.reunion-input-stages{display:flex;list-style:none;width:min(264px,76%);padding:0;margin:0 auto 22px;font-size:12px;line-height:1.5;font-weight:500;color:#9098a9}
.reunion-input-stages li{position:relative;flex:1}
.reunion-input-stages li::before{content:'';position:relative;z-index:1;display:block;width:10px;height:10px;margin:0 auto 7px;border:1px solid #bdc3d0;border-radius:50%;background:#fff;box-sizing:border-box}
.reunion-input-stages li+li::after{content:'';position:absolute;top:4px;right:50%;width:100%;height:1px;background:#c9cdd6}
.reunion-input-stages li[aria-current]{color:#cb7187;font-weight:700}
.reunion-input-stages li[aria-current]::before{border-color:#d57d91;background:#d57d91}
.is-reunion #reunion-input-sheet .love-input-heading #input-title{margin:0;font:700 clamp(21px,6.1cqw,28px)/1.5 'Noto Serif KR','Batang',serif;color:#172b46;letter-spacing:-1px;outline:none;word-break:keep-all}
.is-reunion #reunion-input-sheet .love-input-caption{font-size:13px;line-height:1.65;color:#828b9c;margin:8px 0 0;word-break:keep-all}
.is-reunion #reunion-input-sheet .love-input-body{flex:1;min-height:0;padding:8px 22px 22px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ccd2dc transparent;scroll-padding-block:16px;background:#fff}
.reunion-input-sheet fieldset{padding:0;margin:0;border:0;min-width:0}
.is-reunion #reunion-input-sheet .love-field-label{display:block;margin:0;color:#172b46;font-size:16px;font-weight:700}
.is-reunion #reunion-input-sheet .love-field-label span{color:#949dad;font-size:11px;font-weight:400;margin-left:7px}
.is-reunion #reunion-input-sheet input:not([type=hidden],[type=checkbox],[type=radio]),.is-reunion #reunion-input-sheet textarea{display:block;width:100%;margin:11px 0 0;padding:13px 12px;border:1px solid #d4d9e2;border-radius:7px;background:#fff;box-shadow:none;color:#172b46;font-size:16px;line-height:1.5;min-height:49px}
.is-reunion #reunion-input-sheet textarea{min-height:90px;resize:vertical}
.is-reunion #reunion-input-sheet input::placeholder,.is-reunion #reunion-input-sheet textarea::placeholder{color:#a0a8b7;opacity:1}
.reunion-input-sheet :is(input,textarea,button):focus-visible{outline:2px solid #8e9fb9;outline-offset:3px}
.is-reunion #reunion-input-sheet .love-field-help{font-size:12px;line-height:1.8;color:#8790a1;margin:12px 0 0}
.reunion-input-sheet .reunion-topic-options{display:grid;gap:10px;margin-top:13px}
.reunion-topic-options>button{position:relative;display:grid;gap:3px;width:100%;min-height:64px;padding:12px 37px 12px 14px;border:1px solid #d9dee6;border-radius:10px;background:#fff;color:#172b46;text-align:left;cursor:pointer}
.reunion-topic-options>button span{font-size:15px;font-weight:650}
.reunion-topic-options>button small{color:#8b94a3;font-size:11px;line-height:1.6}
.reunion-topic-options>button::after{content:'';position:absolute;right:14px;top:calc(50% - 8px);width:16px;height:16px;border:1px solid #c9d0dc;border-radius:50%}
.reunion-topic-options>button[aria-pressed=true]{border-color:#c4798e;background:#fff8fa;box-shadow:inset 0 0 0 1px #c4798e}
.reunion-topic-options>button[aria-pressed=true]::after{border:4px solid #c4798e;background:#fff;box-sizing:border-box}
.reunion-input-sheet .reunion-relation-note{color:#8b94a3;font-size:11px;line-height:1.7;margin:12px 0 0}
.reunion-input-sheet .reunion-confirm-summary{display:grid;gap:8px;margin:0 0 21px;padding:14px;border:1px solid #e0e5ec;border-radius:10px;background:#f8fafc}
.reunion-confirm-summary>div{display:grid;grid-template-columns:62px 1fr;gap:7px;font-size:12px;line-height:1.6}
.reunion-confirm-summary dt{color:#8b94a3}.reunion-confirm-summary dd{margin:0;color:#172b46;word-break:keep-all}
.is-reunion #reunion-input-sheet .love-privacy{font-size:11px;color:#7d8798;border-color:#e2e6ed;background:#fff;margin-top:18px;padding-top:15px;line-height:1.85}
.is-reunion #reunion-input-sheet .love-privacy strong{color:#34445e;font-size:12px}
.is-reunion #reunion-input-sheet .love-privacy p{font-size:11px;color:#7d8798;line-height:1.85}
.is-reunion #reunion-input-sheet .love-privacy label{font-size:12px;color:#34445e;line-height:1.8;padding:10px 0}
.is-reunion #reunion-input-sheet .love-privacy input{accent-color:#1c334d;width:18px;height:18px;flex:none}
.is-reunion #reunion-input-sheet .love-form-error{color:#b64260;font-size:12px;margin:12px 0;line-height:1.6}
.reunion-input-sheet .reunion-sheet-footer{flex:none;background:#fff;border-top:1px solid #e9ecf1;padding:13px 18px calc(10px + env(safe-area-inset-bottom))}
.is-reunion #reunion-input-sheet .love-form-actions{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;margin:0;padding:0;border:0;background:#fff}
.is-reunion #reunion-input-sheet[data-question-step="0"] .love-form-actions{grid-template-columns:minmax(0,1fr)}
.is-reunion #reunion-input-sheet[data-question-step="0"] .love-form-actions [data-input-back]{display:none}
.is-reunion #reunion-input-sheet .love-form-actions [data-input-back]{display:grid;place-items:center;min-width:0;min-height:52px;padding:8px;border:1px solid #d8dee7;border-radius:12px;background:#fff;color:#8c96a6}
.is-reunion #reunion-input-sheet .love-form-actions .love-primary{min-height:52px;margin:0;padding:10px 14px;border:0;border-radius:999px;outline:none;background:linear-gradient(110deg,#20394e,#172b43);box-shadow:none;color:#fff;font:700 clamp(17px,4.8cqw,21px)/1.5 'Noto Serif KR','Batang',serif;letter-spacing:-.4px}
.is-reunion #reunion-input-sheet .love-form-actions .love-primary:disabled{opacity:.42;cursor:default}
.reunion-input-sheet .reunion-input-footnote{color:#939baa;text-align:center;font-size:10px;line-height:1.6;margin:8px 0 0}
@keyframes reunion-sheet-rise{from{transform:translateY(35px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-height:660px){.is-reunion #reunion-input-sheet{height:82dvh}.reunion-input-sheet .love-input-heading{padding-bottom:10px}.reunion-input-stages{margin-bottom:12px}.is-reunion #reunion-input-sheet .love-input-heading #input-title{font-size:21px}.is-reunion #reunion-input-sheet .love-input-caption{font-size:12px;margin-top:4px}.reunion-input-sheet .reunion-sheet-footer{padding-top:9px;padding-bottom:calc(7px + env(safe-area-inset-bottom))}}
.is-reunion.is-sheet-keyboard .reunion-input-sheet .reunion-input-stages{margin-bottom:9px}
.is-reunion.is-sheet-keyboard .reunion-input-sheet .love-input-heading{padding-bottom:7px}
.is-reunion.is-sheet-keyboard .reunion-input-sheet .love-input-heading #input-title{font-size:20px}
.is-reunion.is-sheet-keyboard .reunion-input-sheet .love-input-caption,.is-reunion.is-sheet-keyboard .reunion-input-sheet .reunion-input-footnote{display:none}
@media(prefers-reduced-motion:reduce){.is-reunion #reunion-input-sheet[open]{animation:none}}
