:root{--color-canvas:#fff8f5;--color-surface:#ffffff;--color-ink:#33262b;--color-muted:#755e66;--color-primary:#ef5d7b;--color-primary-strong:#bf2850;--color-blush:#ffe4e9;--color-focus:#174ea6;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-card:1.5rem;--radius-control:0.875rem;--font-sans:"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--color-canvas);overflow-x:hidden}body{min-width:320px;min-height:100vh;margin:0;color:var(--color-ink);background:radial-gradient(circle at 90% 10%,var(--color-blush),transparent 34rem),var(--color-canvas);font-family:var(--font-sans);overflow-wrap:anywhere}.site-header{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;max-width:42rem;margin:0 auto;padding:max(var(--space-4),env(safe-area-inset-top)) max(var(--space-5),env(safe-area-inset-right)) var(--space-4) max(var(--space-5),env(safe-area-inset-left))}.site-header a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--color-ink);font-weight:800;text-decoration:none}.site-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4);padding:var(--space-5)}.site-footer a{min-width:44px;min-height:44px;color:var(--color-muted)}.policy-shell{width:min(calc(100% - 2rem),42rem);margin:var(--space-5) auto var(--space-6);padding:clamp(1.25rem,5vw,2rem);border-radius:var(--radius-card);background:var(--color-surface);line-height:1.75}.policy-shell h1{font-size:clamp(2rem,8vw,3rem)}.policy-shell h2{margin-top:var(--space-6);font-size:1.25rem}a,button,input,select,textarea{font:inherit}.primary-link,.share-controls a,button,input,select{min-height:44px}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.shell{display:grid;align-content:center;min-height:100vh;max-width:34rem;margin:0 auto;padding:var(--space-6) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-6),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));text-align:center}.shell form{display:grid;grid-gap:var(--space-4);gap:var(--space-4);margin-top:var(--space-6);text-align:left}.shell form>fieldset{padding:var(--space-4);border:1px solid var(--color-blush);border-radius:var(--radius-card);background:var(--color-surface)}.shell fieldset{min-width:0}.shell fieldset p{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:var(--space-2);gap:var(--space-2)}.shell fieldset fieldset{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3);border:0}.shell label:has(input[type=checkbox]),.shell label:has(input[type=radio]){display:inline-flex;align-items:center;min-height:44px;gap:var(--space-2)}.shell input[type=checkbox],.shell input[type=radio]{width:1.375rem;height:1.375rem;min-height:0;margin:0}.shell input[type=number],.shell input[type=text]{width:100%;max-width:100%;min-height:2.75rem;padding:var(--space-2);border:1px solid #d9c7cd;border-radius:var(--radius-control)}.claim-control button,.delete-control button,.primary-link,.shell button{min-height:3rem;padding:var(--space-3) var(--space-5);border:0;border-radius:var(--radius-control);color:var(--color-surface);background:var(--color-primary-strong);font-weight:800;text-align:center;text-decoration:none}.history-shell,.result-shell{display:grid;grid-gap:var(--space-5);gap:var(--space-5);width:min(calc(100% - 2rem),40rem);margin:var(--space-5) auto var(--space-6)}.result-card{padding:clamp(1.25rem,5vw,2rem);border:1px solid var(--color-blush);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:0 1rem 3rem rgb(111 55 72/10%)}.result-card h1{font-size:clamp(1.75rem,7vw,2.75rem)}.result-nicknames{color:var(--color-primary-strong);font-weight:800}.overall-score strong{font-size:2.5rem}.score-list{display:grid;grid-gap:var(--space-4);gap:var(--space-4);margin:var(--space-5) 0}.score-row{display:grid;grid-template-columns:5rem 1fr;align-items:center;grid-gap:var(--space-3);gap:var(--space-3)}.score-row dt{font-weight:800}.score-row dd{display:grid;grid-template-columns:minmax(0,1fr) 3.5rem;align-items:center;grid-gap:var(--space-2);gap:var(--space-2);margin:0}.score-track{height:.75rem;overflow:hidden;border-radius:999px;background:var(--color-blush)}.score-fill{display:block;height:100%;border-radius:inherit;background:var(--color-primary)}@media (prefers-reduced-motion:no-preference){.score-fill{animation:score-reveal .5s ease-out both;transform-origin:left}}@keyframes score-reveal{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.detail-notice{display:inline-block;padding:var(--space-2) var(--space-3);border-radius:999px;color:var(--color-primary-strong);background:var(--color-blush);font-size:.875rem;font-weight:800}.result-interpretation{color:var(--color-muted);line-height:1.75}.result-actions{display:grid;grid-gap:var(--space-3);gap:var(--space-3);text-align:center}.result-actions>a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding-inline:var(--space-3)}.share-controls{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.share-controls a,.share-controls button{min-height:3rem;padding:var(--space-3);border:0;border-radius:var(--radius-control);color:var(--color-surface);background:var(--color-primary-strong);font-weight:800;text-align:center;text-decoration:none}.share-controls a{grid-column:1/-1}.share-controls p{grid-column:1/-1;min-height:1.5rem;margin:0;color:var(--color-muted);text-align:center}.loading-result,.recoverable-error{padding:var(--space-3);border-radius:var(--radius-control);background:var(--color-blush);text-align:center}.calculation-disclosure{color:var(--color-muted);font-size:.875rem;line-height:1.6}.recoverable-error{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.recoverable-error p{margin:0}.adsense-slot,.share-image-space{min-height:90px;contain:layout}.adsense-slot{display:grid;align-content:start;width:100%;overflow:hidden;color:var(--color-muted);background:rgb(255 255 255/45%);text-align:center}.adsense-label{padding:var(--space-1);font-size:.75rem}.adsbygoogle{display:block;width:100%;min-height:90px}img{max-width:100%;height:auto}.history-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3);padding:0;list-style:none}.history-list a{padding:var(--space-4);border-radius:var(--radius-control);color:inherit;background:var(--color-surface);text-decoration:none}.account-delete,.delete-control,.history-list a,.history-list li{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.delete-control button{min-height:44px}.account-delete{padding:var(--space-4);border-radius:var(--radius-control);background:var(--color-surface)}.shell:before{width:4rem;height:4rem;margin:0 auto var(--space-5);border-radius:50% 50% 45% 55%;background:var(--color-primary);content:"♥";color:var(--color-surface);font-size:2rem;line-height:4rem;transform:rotate(-8deg)}.eyebrow{margin:0 0 var(--space-3);color:var(--color-primary-strong);font-size:.9375rem;font-weight:800;letter-spacing:.08em}h1{margin:0;font-size:clamp(2rem,10vw,3.5rem);line-height:1.18;letter-spacing:-.05em}@media (max-width:360px){.shell{padding-inline:var(--space-3)}.score-row{grid-template-columns:minmax(0,1fr)}.score-row dd{width:100%}.share-controls{grid-template-columns:1fr}.share-controls a,.share-controls p{grid-column:1}}h1+p{margin:var(--space-4) 0 0;color:var(--color-muted);font-size:1.0625rem;line-height:1.6}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-header{max-width:1160px;padding-block:1.25rem;border-bottom:1px solid #eddfdf}.brand-link{gap:.55rem;letter-spacing:-.04em;font-size:1.2rem}.brand-symbol{color:var(--color-primary-strong);font-size:2rem;line-height:1}.brand-caption{margin-left:.5rem;font-size:.7rem;color:var(--color-muted);font-weight:500;letter-spacing:.02em}.site-header .history-link{padding:.4rem 1rem;border:1px solid #e3d4d8;border-radius:999px;font-size:.85rem;gap:.5rem}.home-page{width:min(calc(100% - 3rem),1100px);margin:0 auto}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;grid-gap:clamp(2rem,6vw,6rem);gap:clamp(2rem,6vw,6rem);padding-block:4rem 5rem}.home-intro{padding-top:1rem}.home-intro .eyebrow{font-size:.8rem;letter-spacing:.03em}.home-intro h1{margin-top:1.35rem;font-size:clamp(2.6rem,4.2vw,3.65rem);line-height:1.3;word-break:keep-all;letter-spacing:-.065em}.home-intro h1 span{color:var(--color-primary-strong)}.hero-description{margin-top:1.4rem;font-size:.97rem;line-height:1.9;color:var(--color-muted);word-break:keep-all}.hero-benefits{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem;font-size:.74rem;color:#6a535d}.hero-benefits span:before{content:"✓";color:var(--color-primary-strong);margin-right:.3rem}.preview-scene{position:relative;display:grid;justify-items:center;padding:2.8rem 1rem 1rem;margin-top:.5rem;background:radial-gradient(ellipse,#f9dfe5 0,transparent 68%)}.preview-card{width:min(100%,290px);padding:1.5rem 1.7rem 1.2rem;background:#fffdfb;border:1px solid #efdedf;border-radius:1.2rem;box-shadow:0 18px 45px #76465015,5px 6px 0 #f1d4dc;text-align:center;transform:rotate(-4deg)}.preview-kicker{color:var(--color-muted);font-size:.68rem;letter-spacing:.07em;margin:0 0 1rem}.pair-portrait{display:flex;justify-content:center;align-items:center;gap:.55rem}.portrait{position:relative;width:64px;height:68px;border:1px solid #d78f80;border-radius:50% 50% 43% 43%;background:#f7bdab;transform:rotate(-9deg)}.portrait-lilac{background:#d4c4ed;border-color:#aa95c8;transform:rotate(9deg)}.portrait i:after,.portrait i:before{position:absolute;top:29px;width:3px;height:5px;border-radius:50%;background:#50343e;content:""}.portrait i:before{left:22px}.portrait i:after{right:22px}.portrait b{position:absolute;left:27px;top:38px;width:9px;height:5px;border:1.5px solid #50343e;border-top:0;border-radius:0 0 50% 50%}.pair-heart{color:var(--color-primary-strong);font-size:.85rem}.preview-names{font-size:.8rem;margin:.8rem 0;font-weight:700}.preview-names span{color:#987983;margin-inline:.4rem}.preview-headline{font-size:1.05rem;line-height:1.6;font-weight:800;letter-spacing:-.04em;margin:.75rem 0 1.2rem}.preview-score{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:var(--color-muted)}.preview-score strong{font-size:2rem;color:var(--color-primary-strong)}.preview-score small{margin-left:.2rem;font-size:.7rem}.preview-bar{height:.4rem;margin-top:.3rem;border-radius:1rem;background:var(--color-blush)}.preview-bar span{display:block;width:82%;height:100%;background:var(--color-primary);border-radius:inherit}.preview-note{margin:1.2rem 0 0;padding-top:.85rem;border-top:1px solid #f1e5e8;color:var(--color-muted);font-size:.52rem;letter-spacing:.03em}.preview-note span{margin-inline:.3rem}.scene-spark{position:absolute;color:var(--color-primary-strong);font-size:2.5rem}.spark-one{top:2rem;right:8%}.spark-two{left:4%;bottom:5rem}.scene-caption{color:var(--color-muted);font-size:.72rem;margin-top:2rem;letter-spacing:.03em}.calculation-panel.shell{min-height:0;max-width:none;width:100%;padding:1.9rem;background:#ffffffc9;border:1px solid #eadcdf;border-radius:1.75rem;box-shadow:0 10px 40px #68344708}.calculation-panel.shell:before{display:none}.form-heading{text-align:left}.form-heading .eyebrow{font-size:.61rem;letter-spacing:.13em;margin-bottom:.75rem}.form-heading h2{font-size:1.5rem;letter-spacing:-.05em;margin:0}.form-heading>p:last-child{font-size:.8rem;color:var(--color-muted);line-height:1.7;margin:.6rem 0 0}.calculation-panel form{gap:.8rem;margin-top:1.6rem}.calculation-panel form>fieldset{padding:.9rem 1rem 1rem;border-color:#eadddf;border-radius:1rem;background:#fffdfb}.person-form>legend{font-size:.85rem;font-weight:800;padding-inline:.3rem}.person-form{container-type:inline-size;container-name:birth-fields}.person-number{color:var(--color-primary-strong);margin-right:.5rem;font-size:.7rem}.person-1 .person-number{color:#74618e}.person-form fieldset legend,.person-form label{font-size:.78rem;color:#6a535d}.nickname-field{display:grid;grid-gap:.4rem;gap:.4rem}.calculation-panel .person-form input[type=number],.calculation-panel .person-form input[type=text]{border-color:#e3d9dc;border-radius:.6rem;background:white;font-size:1rem;padding:.6rem .7rem;min-width:0}.person-form input::placeholder{color:#84717a;font-size:.73rem}.person-form input:disabled{background:#f4eff1!important;color:#8b7780}.calculation-panel .person-form .calendar-options{padding:.55rem 0 .2rem;gap:1rem}.calendar-options legend{float:left;margin-right:.7rem;line-height:44px}.date-fields,.time-fields{display:grid;grid-gap:.4rem .65rem;gap:.4rem .65rem;grid-template-columns:repeat(3,minmax(0,1fr))}.time-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.date-fields>label,.time-fields>label{grid-row:1}.date-fields>input,.time-fields>input{grid-row:2;width:100%}.date-fields>input:first-of-type,.date-fields>label:first-of-type,.time-fields>input:first-of-type,.time-fields>label:first-of-type{grid-column:1}.date-fields>input:nth-of-type(2),.date-fields>label:nth-of-type(2),.time-fields>input:nth-of-type(2),.time-fields>label:nth-of-type(2){grid-column:2}.date-fields>input:nth-of-type(3),.date-fields>label:nth-of-type(3){grid-column:3}.person-form [role=alert]{grid-column:1/-1;display:block!important;color:#a01b40;font-size:.75rem;margin:.2rem 0}.calculation-panel .person-form>p{margin:.15rem 0}.calculation-panel input[type=checkbox],.calculation-panel input[type=radio]{width:1.1rem;height:1.1rem;accent-color:var(--color-primary-strong);flex-shrink:0}.calculation-panel form>p{margin:0;font-size:.77rem}.calculation-panel form>p:has(input)+p:has(input){margin-top:-.6rem}.calculation-panel .calculation-disclosure{padding:.7rem .8rem;border-radius:.6rem;background:#f7f1f3;font-size:.69rem;line-height:1.7}.calculation-panel button[type=submit]{margin-top:.3rem;min-height:3.3rem;border-radius:.8rem;box-shadow:0 5px 15px #bf285022}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.form-privacy{font-size:.66rem;color:var(--color-muted);line-height:1.7;margin:.9rem 0 0}.form-privacy span{color:var(--color-primary-strong);margin-right:.2rem}.home-details{border-top:1px solid #eadddf;text-align:center;padding:3rem 0}.home-details .eyebrow,.home-faq .eyebrow{font-size:.75rem;letter-spacing:.03em}.home-details h2,.home-faq h2{font-size:clamp(1.35rem,3vw,1.8rem);letter-spacing:-.045em;line-height:1.5;margin:.8rem 0;word-break:keep-all}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-top:2rem}.feature-grid article{padding:1.5rem .75rem;border:1px solid #ebdfe2;border-radius:1rem;background:#fffaf8}.feature-symbol{display:inline-grid;place-items:center;height:2.75rem;width:2.75rem;border-radius:.9rem;color:var(--color-primary-strong);background:var(--color-blush);font-size:1.7rem}.feature-grid article:nth-child(2) .feature-symbol{color:#6e578b;background:#eee6f5}.feature-grid article:nth-child(3) .feature-symbol{color:#657447;background:#eef0e2}.feature-grid h3{font-size:.94rem;letter-spacing:-.025em;margin:1rem 0 .6rem}.feature-grid p,.home-faq p{font-size:.8rem;line-height:1.9;color:var(--color-muted);word-break:keep-all}.home-faq{display:grid;grid-template-columns:1fr 1.8fr;grid-gap:3rem;gap:3rem;border-top:1px solid #eadddf;padding:3rem 0 4rem}.faq-list details{border-bottom:1px solid #eadddf}.faq-list summary{min-height:56px;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;font-size:.84rem;font-weight:700;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--color-primary-strong);font-size:1.3rem}.faq-list details[open] summary:after{content:"−"}.faq-list details p{margin-top:0}.site-footer{border-top:1px solid #eadddf;font-size:.75rem;gap:1.2rem}.footer-message{width:100%;text-align:center;color:var(--color-muted);margin:.5rem 0 0}.footer-message span{color:var(--color-primary-strong);margin-inline:.4rem}.site-footer a{display:inline-flex;align-items:center;text-decoration:none}@media (hover:hover){.history-link:hover,.site-footer a:hover{color:var(--color-primary-strong)}.primary-link:hover,button:not(:disabled):hover{background:#a51f43}.faq-list summary:hover{color:var(--color-primary-strong)}}@media (max-width:760px){.home-page{width:min(calc(100% - 2rem),500px)}.home-grid{grid-template-columns:minmax(0,1fr);gap:1.75rem;padding-block:2rem 2.5rem}.home-intro{text-align:center;padding:0}.home-intro h1{font-size:clamp(2.2rem,8.6vw,3rem);margin-top:.9rem}.hero-description{font-size:.84rem}.hero-benefits{justify-content:center;font-size:.68rem;gap:.55rem;margin-top:1rem}.preview-scene{display:none}.calculation-panel.shell{padding:1.35rem;border-radius:1.25rem}.form-heading h2{font-size:1.3rem}.form-heading>p:last-child{font-size:.76rem}.feature-grid{grid-template-columns:minmax(0,1fr);gap:.7rem;text-align:left}.feature-grid article{padding:1.1rem;display:grid;grid-template-columns:auto 1fr;grid-column-gap:1rem;column-gap:1rem;align-items:center}.feature-symbol{grid-row:1/3}.feature-grid h3{margin:0 0 .3rem}.feature-grid p{grid-column:2;margin:0;font-size:.75rem}.feature-grid p br{display:none}.home-faq{grid-template-columns:minmax(0,1fr);gap:1rem;padding-block:2rem}.brand-caption,.home-faq>div:first-child>p:last-child{display:none}.site-header{padding:.7rem 1rem}.site-header .history-link{padding-inline:.8rem}}@media (max-width:360px){.calculation-panel.shell{padding:1rem}.calculation-panel form>fieldset{padding-inline:.65rem}.hero-description br{display:none}.date-fields,.time-fields{gap:.35rem}}@container birth-fields (max-width: 15em){.date-fields,.time-fields{grid-template-columns:minmax(0,1fr)}:is(.date-fields,.time-fields)>:is(label,input):nth-of-type(n){grid-column:1;grid-row:auto}}