:root{--bg:#F7F8FA;--paper:#FFF;--text:#222632;--muted:#868B98;--line:#EDF0F3;--pink:#F85778;--pinkDark:#D83962;--soft:#FFF1F4;--blue:#4F7CE8;--navh:78px; font-family:-apple-system,BlinkMacSystemFont,'Pretendard','Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100%;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #7DB1FF;outline-offset:2px}button:disabled{opacity:.44;cursor:not-allowed}#root{min-height:100dvh}.shell{width:100%;max-width:460px;margin:0 auto;background:#fff;min-height:100dvh;position:relative;box-shadow:0 0 40px rgba(31,35,52,.045)}@media(min-width:600px){.shell{box-shadow:0 8px 65px rgba(29,38,55,.12);min-height:100dvh}}
.topbar{height:67px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(235,239,243,.9)}.brand{display:flex;align-items:center;gap:9px}.mark{background:#F95A79;color:#fff;width:33px;height:33px;border-radius:12px;display:grid;place-items:center;font-size:17px;box-shadow:0 3px 9px rgba(248,87,120,.2)}.brandname{font-size:17px;font-weight:900;letter-spacing:-.65px}.brandSub{color:#959CA9;font-size:10px;font-weight:650;margin-top:1px;letter-spacing:-.1px}.iconbtn{border:0;background:#F5F6F9;width:38px;height:38px;display:grid;place-items:center;border-radius:13px;color:#515D70;font-weight:700}.iconbtn svg,.tabbar svg,.back svg,.chev svg,.meta svg,.mini svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.main{padding:20px 20px 110px}.hero{background:linear-gradient(133deg,#FFF3F3 0%,#FFF6F8 61%,#FFE7EC 100%);border-radius:24px;padding:23px 21px 21px;min-height:214px;position:relative;overflow:hidden;margin-bottom:17px}.hero::after{content:'';position:absolute;width:156px;height:156px;border-radius:50%;background:rgba(255,255,255,.46);right:-34px;bottom:-69px}.eyebrow{display:inline-flex;align-items:center;gap:5px;color:#D34868;font-size:11px;font-weight:850;letter-spacing:-.2px;background:rgba(255,255,255,.8);padding:6px 9px;border-radius:40px}.hero h1{font-size:26px;letter-spacing:-1.3px;line-height:1.36;margin:13px 0 10px;font-weight:900;position:relative;z-index:1}.hero h1 em{font-style:normal;color:#E84769}.hero p{font-size:13px;line-height:1.65;color:#7A636B;margin:0;max-width:245px;position:relative;z-index:1}.couple{position:absolute;bottom:14px;right:12px;display:flex;align-items:end;gap:0;z-index:2}.face{display:grid;place-items:center;width:55px;height:65px;font-size:45px;filter:drop-shadow(0 5px 4px #db9ba537)}.face+.face{margin-left:-12px}.heart{font-size:23px;color:#FF6484;position:absolute;right:72px;top:-17px;transform:rotate(13deg)}.date{font-size:12px;color:#9298A4;font-weight:650;margin:2px 0 12px}.profileStrip{border:1px solid #F0F0F2;background:white;border-radius:16px;width:100%;min-height:68px;display:flex;align-items:center;gap:12px;padding:12px 15px;margin-bottom:27px;text-align:left;box-shadow:0 2px 10px rgba(28,34,47,.02)}.avatar{width:40px;height:40px;border-radius:14px;background:#EFF3FF;display:grid;place-items:center;font-size:22px;flex-shrink:0}.avatar.wife{background:#FFF0F4}.profileStrip strong{font-size:14px;font-weight:850}.profileStrip small{display:block;font-size:11px;color:#9299A7;margin-top:4px}.spacer{flex:1}.chev{color:#A4A9B3}.chev svg{width:17px;height:17px}.sectionHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.sectionHead h2{font-size:20px;margin:0;font-weight:900;letter-spacing:-.7px}.sectionHead p{margin:6px 0 0;font-size:12px;color:#979CAA}.sectionHead .count{color:#F35B79;font-size:12px;font-weight:900;background:#FFF2F5;padding:6px 9px;border-radius:99px;white-space:nowrap}.progress{display:flex;gap:5px;margin:0 0 16px}.progress span{height:5px;border-radius:99px;background:#F1F2F5;flex:1}.progress span.on{background:#F65B7A}.storycard{background:#fff;border:1px solid #ECEEF2;border-radius:20px;margin-bottom:12px;padding:17px 17px 16px;box-shadow:0 5px 17px rgba(42,54,70,.035);width:100%;text-align:left;display:block;transition:transform .18s,border-color .18s}.storycard:active{transform:scale(.992)}.storycard.done{border-color:#F8CED9;background:#FFFCFD}.storyTop{display:flex;align-items:center;gap:8px;margin-bottom:12px}.num{color:#F35678;font-weight:950;font-size:12px;letter-spacing:.1px}.tag{background:#F7F7FB;color:#6C6F83;font-weight:780;border-radius:6px;font-size:10px;padding:5px 7px}.tag.special{color:#D54E70;background:#FFF1F5}.completed{font-size:11px;color:#39A481;font-weight:800;margin-left:auto}.storycard h3{font-size:17px;line-height:1.43;letter-spacing:-.6px;font-weight:880;margin:0 0 7px}.storycard p{font-size:12px;color:#8C919D;line-height:1.52;margin:0 0 15px}.storyfoot{display:flex;justify-content:space-between;align-items:center;color:#A1A6AF;font-weight:700;font-size:11px}.storyfoot b{display:flex;align-items:center;color:#E95373;font-size:12px;gap:4px}.storyfoot b svg{width:15px;height:15px}.buttonPrimary{border:0;background:var(--pink);color:#fff;border-radius:16px;padding:17px 18px;font-size:15px;font-weight:850;letter-spacing:-.3px;box-shadow:0 4px 10px #f9577630;width:100%;display:flex;justify-content:center;align-items:center;gap:8px}.buttonPrimary:active{background:#E9496C}.buttonPrimary svg{width:18px;height:18px}.buttonPrimary.secondary{background:#283344;box-shadow:none}.buttonOutline{width:100%;border:1px solid #E4E6EB;background:#fff;border-radius:15px;padding:14px 18px;color:#5E6673;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;gap:7px}.buttonOutline svg{width:18px;height:18px}.micro{margin:9px 0 21px;text-align:center;color:#AFB0B9;font-size:10px;line-height:1.6}.adbutton{margin:15px 0 12px}.tile{border:0;border-radius:20px;padding:18px;display:flex;align-items:center;text-align:left;width:100%;gap:12px}.tile.pink{background:linear-gradient(110deg,#FFF5F6,#FFF0F4)}.tile.blue{background:linear-gradient(110deg,#EFF5FF,#F4F7FF)}.tileEmoji{display:grid;place-items:center;width:48px;height:48px;border-radius:18px;background:#fff;font-size:27px;flex-shrink:0}.tile strong{font-size:14px;font-weight:900}.tile p{font-size:11px;color:#8490A0;margin:5px 0 0;line-height:1.5}.tile .chev{margin-left:auto}.sectionSpacer{height:24px}.tipbox{margin-top:18px;padding:17px;border-radius:17px;background:#F6F7FA}.tipbox strong{font-size:12px}.tipbox p{margin:7px 0 0;color:#737B89;line-height:1.6;font-size:12px}.tabbar{display:flex;align-items:center;justify-content:space-around;height:calc(var(--navh) + env(safe-area-inset-bottom));padding:9px 8px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);border-top:1px solid #EEF0F3;position:fixed;z-index:35;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:460px;backdrop-filter:blur(12px)}.tabbar button{border:0;background:none;flex:1;color:#A7ADB9;display:flex;gap:5px;align-items:center;justify-content:center;flex-direction:column;font-size:11px;font-weight:750;padding:5px 0}.tabbar button.active{color:#F45075}.tabbar svg{width:24px;height:24px}.tabbar button.active svg{stroke-width:2.35}.tabbar button span{white-space:nowrap}.simpleHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.simpleHead h1{font-size:24px;font-weight:900;margin:0;letter-spacing:-1.1px}.simpleHead p{color:#8C929F;margin:8px 0 0;font-size:12px}.selectRow{display:flex;gap:8px;overflow:auto;margin-bottom:16px;padding-bottom:4px}.chip{white-space:nowrap;border-radius:99px;padding:10px 13px;border:1px solid #E7EAEE;background:#fff;color:#8E93A0;font-size:12px;font-weight:780}.chip.on{color:#E94669;background:#FFF0F4;border-color:#FFAFC3}.historyDay{font-size:12px;font-weight:830;color:#7B8190;margin:21px 0 10px}.historyItem{border:1px solid #F0F1F3;border-radius:17px;background:#fff;display:flex;gap:11px;width:100%;text-align:left;padding:14px;margin-bottom:10px}.historyIcon{width:36px;height:36px;border-radius:12px;background:#FFF2F5;color:#E74F75;display:grid;place-items:center;flex-shrink:0}.historyItem strong{font-size:13px;line-height:1.5;display:block}.historyItem small{color:#A0A6B1;font-size:11px;display:block;margin-top:5px}.empty{text-align:center;padding:70px 18px;color:#929AA8;font-size:13px;line-height:1.8}.empty .big{font-size:45px;display:block;margin-bottom:12px}.settingBox{background:#fff;border:1px solid #ECEDF0;border-radius:19px;padding:19px;margin-bottom:15px}.settingBox h2{margin:0 0 15px;font-size:15px;font-weight:850}.settingBox label{font-size:12px;color:#838A96;font-weight:750}.choiceGroup{display:flex;gap:8px;margin:9px 0 15px}.choiceGroup button{flex:1;border-radius:13px;border:1px solid #ECEEF2;padding:12px;background:#fff;font-size:13px;font-weight:850;color:#848B98}.choiceGroup button.active{background:#FFF0F3;border-color:#FF8CA8;color:#E8476B}.selectAge{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.selectAge button{padding:11px 13px;background:#F7F8FA;color:#858B98;border-radius:12px;border:1px solid transparent;font-size:12px;font-weight:800}.selectAge button.active{background:#FFF0F3;border-color:#F58CA4;color:#E74E70}.settingRow{display:flex;align-items:center;gap:12px;border-top:1px solid #F1F2F4;padding:14px 0}.settingRow:last-child{padding-bottom:0}.settingRow strong{font-size:13px}.settingRow p{font-size:11px;color:#9CA1AE;margin:4px 0 0}.switch{width:41px;height:25px;background:#E2E4E9;border-radius:99px;position:relative;flex-shrink:0;border:0}.switch:after{content:'';width:19px;height:19px;border-radius:50%;background:#fff;position:absolute;left:3px;top:3px;box-shadow:0 1px 3px #0002}.switch.on{background:#F65A7B}.switch.on:after{left:19px}.disclaimer{font-size:11px;line-height:1.8;color:#9CA3AF;margin:18px 2px}.back{border:0;background:none;color:#424957;font-size:13px;font-weight:850;padding:0;display:flex;align-items:center;gap:5px}.back svg{width:19px;height:19px}.questionPage{padding-top:13px}.questionNo{margin:32px 0 10px;color:#F05C79;font-size:12px;font-weight:900}.questionPage h1{font-size:24px;line-height:1.39;letter-spacing:-1px;font-weight:950;margin:9px 0 10px}.questionPage .lead{font-size:13px;line-height:1.7;color:#8A919D;margin:0 0 25px}.questionPanel{background:#FFF6F8;padding:20px 18px;border-radius:21px;margin-bottom:19px}.questionPanel strong{font-size:14px}.questionPanel p{color:#7C707D;font-size:12px;line-height:1.7;margin-bottom:0}.answerPrompt{font-size:16px;font-weight:900;margin:26px 0 14px}.answerOption{width:100%;border:1.4px solid #EAEDF2;border-radius:16px;background:#fff;padding:16px 15px;display:flex;align-items:center;gap:12px;text-align:left;margin-bottom:10px;color:#4F5867;font-size:13px;font-weight:760;line-height:1.5}.answerOption.selected{border-color:#FB7290;background:#FFF4F7;color:#CD4161}.dot{height:20px;width:20px;border:1.5px solid #CFD4DE;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.answerOption.selected .dot{border-color:var(--pink);background:var(--pink);color:white}.fixedAction{position:sticky;bottom:calc(var(--navh) + env(safe-area-inset-bottom));background:linear-gradient(to bottom,rgba(255,255,255,.25),#fff 18%);padding:12px 0 8px;margin-top:8px}.resultIntro{text-align:center;padding:35px 8px 28px;background:linear-gradient(#FFF5F7,#FFF);border-radius:24px;margin-bottom:16px}.resultIntro .emoji{font-size:55px}.resultIntro h1{font-size:23px;line-height:1.4;margin:14px 0 9px}.resultIntro p{font-size:12px;color:#8C919D;line-height:1.8;margin:0}.scoreRow{display:flex;gap:10px;margin:15px 0}.score{flex:1;background:#F8F8FA;border-radius:16px;padding:15px;text-align:center}.score strong{font-size:22px;display:block;color:#E95073}.score span{font-size:11px;color:#818997;font-weight:750}.resultCard{background:#fff;border:1px solid #ECEEF1;padding:20px 17px;border-radius:20px;margin-bottom:12px}.resultCard h3{font-size:15px;margin:0 0 9px}.resultCard p{font-size:12px;color:#69717E;line-height:1.8;margin:0 0 10px}.resultCard p:last-child{margin-bottom:0}.quote{color:#C64B69;font-weight:800;background:#FFF3F6;border-radius:12px;padding:12px;font-size:12px;line-height:1.6}.overlay{position:fixed;inset:0;z-index:70;background:rgba(29,35,47,.42);display:flex;justify-content:center;align-items:end}.sheet{background:#fff;width:100%;max-width:460px;max-height:90dvh;overflow-y:auto;border-radius:24px 24px 0 0;padding:26px 22px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -4px 25px #1b1b3025}.sheetTitle{font-size:21px;font-weight:900;letter-spacing:-.65px;margin:4px 0 12px}.sheetText{color:#7F8794;font-size:13px;line-height:1.7}.sheet .closeLine{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.miniTag{display:inline-block;font-size:11px;color:#D7496C;background:#FFF0F5;border-radius:50px;padding:6px 9px;font-weight:800}.sheet .iconbtn{background:#F7F7F9;width:34px;height:34px}.quizChoice{border:1px solid #E9EDF2;background:#fff;border-radius:14px;padding:15px 13px;display:block;width:100%;text-align:left;margin-bottom:9px;font-size:13px;font-weight:780;color:#576171}.quizChoice:active{border-color:#F65C7B}.quizProgress{font-size:11px;color:#DD4B70;font-weight:900;margin-bottom:12px}.miniInfo{padding:10px;border-radius:13px;background:#F7F8FB;color:#7D8592;font-size:11px;line-height:1.7;margin-bottom:13px}.safe{margin:15px 0;font-size:10px;color:#A7ADB8;line-height:1.7}.noticeInline{display:flex;gap:8px;align-items:start;padding:14px;border-radius:13px;background:#FFF7ED;color:#8F673B;font-size:11px;line-height:1.65;margin-bottom:12px}.faqLink{border:0;background:transparent;color:#F05278;font-size:12px;font-weight:800;padding:8px 0}.donePage .buttonPrimary{margin-top:14px}.adIcon{font-size:44px;text-align:center;padding:6px 0 12px}.kicker{color:#F3567B;text-transform:uppercase;font-weight:900;font-size:11px;letter-spacing:.2px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
