*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;min-height:100%;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:100%;text-size-adjust:100%;min-height:100%;overflow-x:hidden}:root{--bg-primary:#faf7f2;--bg-secondary:#f5f0e8;--bg-tertiary:#f0ebe1;--bg-card:#fffdf9;--text-primary:#2c2825;--text-secondary:#8a7e74;--text-tertiary:#b0a89e;--accent:#c4725a;--accent-hover:#a85d48;--border:#e5dfd6;--border-light:#ede8e0;--dreamer:#b8a9c9;--sensualist:#c9a0a0;--spark:#d4a855;--ritualist:#9baf95;--muse:#9aa5c7;--explorer:#c7b599;--provocateur:#8e6b7f;--solstice:#d4b88c;--font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;--font-body:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;--nav-pad-v:24px;--nav-pad-h:40px;--page-pad-h:24px;--page-pad-bottom:80px}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-weight:400;line-height:1.6}.nav-bar{padding:var(--nav-pad-v)var(--nav-pad-h);justify-content:space-between;align-items:center;display:flex}.footer-bar{padding:20px var(--nav-pad-h);padding-bottom:max(20px,env(safe-area-inset-bottom,20px));font-family:var(--font-body);color:var(--text-tertiary);justify-content:space-between;font-size:11px;display:flex}.page-wrapper{flex-direction:column;min-height:100svh;display:flex}.content-col{text-align:center;padding:24px var(--page-pad-h)var(--page-pad-bottom);flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:600px;margin:0 auto;display:flex}.fade-in{opacity:1;transition:all .5s cubic-bezier(.22,1,.36,1);transform:translateY(0)}.fade-out{opacity:0;transition:all .3s ease-in;transform:translateY(8px)}.progress-bar{background:var(--accent);z-index:100;will-change:width;height:2px;transition:width .4s cubic-bezier(.22,1,.36,1);position:fixed;top:0;left:0}.option-card{background:var(--bg-card);border:1px solid var(--border-light);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:12px;width:100%;min-height:48px;padding:18px 20px;transition:border-color .25s,box-shadow .25s,transform .2s cubic-bezier(.22,1,.36,1),background .2s;display:block}@media (hover:hover) and (pointer:fine){.option-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 2px 12px #c4725a14}}.option-card:active{border-color:var(--accent);background:#c4725a0a;transform:scale(.985)}.btn-primary{background:var(--accent);color:#fffdf9;font-family:var(--font-body);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;border-radius:6px;justify-content:center;align-items:center;min-height:48px;padding:16px 48px;font-size:14px;font-weight:500;transition:background .25s,transform .15s;display:inline-flex}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background:var(--accent-hover)}}.btn-primary:active{background:var(--accent-hover);transform:scale(.97)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-secondary{color:var(--accent);border:1px solid var(--border);font-family:var(--font-body);letter-spacing:1px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:6px;justify-content:center;align-items:center;min-height:48px;padding:14px 32px;font-size:14px;font-weight:500;transition:border-color .25s,background .25s,transform .15s;display:inline-flex}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{border-color:var(--accent);background:#c4725a0a}}.btn-secondary:active{border-color:var(--accent);transform:scale(.97)}.input-field{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-body);touch-action:manipulation;-webkit-tap-highlight-color:transparent;appearance:none;border-radius:6px;outline:none;width:100%;min-height:52px;padding:14px 18px;font-size:16px;transition:border-color .3s}.input-field:focus{border-color:var(--accent)}.input-field::placeholder{color:var(--text-tertiary)}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-slow{0%{opacity:0}to{opacity:1}}@keyframes line-reveal{0%{width:0}to{width:60px}}@keyframes breathe{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.3)}}.slide-up{opacity:0;animation:.6s cubic-bezier(.22,1,.36,1) forwards slide-up}.line-reveal{background:var(--border);width:0;height:1px;animation:.8s forwards line-reveal}.spectrum-bar{background:var(--border-light);border-radius:2px;height:4px;position:relative;overflow:visible}.spectrum-bar-track{border-radius:2px;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.spectrum-fill{border-radius:2px;height:100%;transition:width .8s cubic-bezier(.22,1,.36,1);position:absolute;top:0}@keyframes bg-drift-a{0%{transform:translate(0)}to{transform:translate(40px,28px)}}@keyframes bg-drift-b{0%{transform:translate(0)}to{transform:translate(-28px,-36px)}}@keyframes bg-drift-c{0%{transform:translate(0)scale(1)}to{transform:translate(-18px,18px)scale(1.12)}}@keyframes bg-drift-accent{0%{transform:translate(0)}to{transform:translate(14px,-20px)}}@keyframes bg-float-1{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-22px)rotate(11deg)}}@keyframes bg-float-2{0%{transform:translateY(0)rotate(0)}to{transform:translateY(18px)rotate(-9deg)}}@keyframes bg-float-3{0%{transform:translateY(0)rotate(4deg)}to{transform:translateY(-16px)rotate(-7deg)}}@keyframes bg-float-4{0%{transform:translateY(0)rotate(-4deg)}to{transform:translateY(14px)rotate(7deg)}}.bg-halo-1{animation:18s ease-in-out infinite alternate bg-drift-a}.bg-halo-2{animation:22s ease-in-out infinite alternate bg-drift-b}.bg-halo-3{animation:16s ease-in-out infinite alternate bg-drift-c}.bg-halo-accent{animation:20s ease-in-out infinite alternate-reverse bg-drift-accent}.bg-sigil-1{animation:20s ease-in-out infinite alternate bg-float-1}.bg-sigil-2{animation:25s ease-in-out infinite alternate bg-float-2}.bg-sigil-3{animation:18s ease-in-out infinite alternate bg-float-3}.bg-sigil-4{animation:22s ease-in-out infinite alternate bg-float-4}.page-wrapper{z-index:1;position:relative}@media (prefers-reduced-motion:reduce){.fade-in,.fade-out{transition:opacity .2s;transform:none!important}.slide-up{animation:.3s forwards fade-in-slow}.option-card:active,.btn-primary:active,.btn-secondary:active{transform:none}.bg-halo-1,.bg-halo-2,.bg-halo-3,.bg-halo-accent,.bg-sigil-1,.bg-sigil-2,.bg-sigil-3,.bg-sigil-4{animation:none}}@media (max-width:640px){:root{--nav-pad-v:18px;--nav-pad-h:20px;--page-pad-h:20px;--page-pad-bottom:48px}.option-card{padding:16px 18px}.btn-primary{width:100%;padding:15px 24px;font-size:13px}.btn-secondary.share-btn{flex:1;min-width:0;padding:13px 12px;font-size:13px}}@media (max-width:390px){:root{--nav-pad-h:16px;--page-pad-h:16px}}.result-outer{max-width:620px;padding:20px var(--page-pad-h)var(--page-pad-bottom);flex-direction:column;width:100%;margin:0 auto;display:flex}@media (min-width:900px){.result-outer{flex-direction:row;align-items:flex-start;gap:56px;max-width:1080px}.result-main{flex:1 1 0;min-width:0}.result-aside{flex-shrink:0;align-self:flex-start;width:340px;position:sticky;top:100px}}.option-anchor{color:#c4725a;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.option-prose{color:#8c8480;font-size:13px;line-height:1.5;display:block}.option-hint{display:none}@media (max-width:768px){.option-prose{max-height:0;margin-top:0;transition:max-height .2s,margin-top .2s;overflow:hidden}.option-card.prose-expanded .option-prose{max-height:200px;margin-top:6px}.option-hint{color:#b0aaa4;text-align:center;margin-top:8px;font-size:11px;display:block}}.compat-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.compat-card{color:inherit;border-radius:12px;padding:16px;text-decoration:none;transition:border-color .15s;display:block}.compat-card.compat-primary{background:#c4725a0a;border:1px solid #c4725a40}.compat-card.compat-affinity{background:var(--bg-secondary,#fafaf8);border:1px solid var(--border,#ede8e0)}@media (hover:hover) and (pointer:fine){.compat-card:hover{border-color:#c4725a}}.compat-card-header{flex-direction:column;gap:2px;margin-bottom:8px;display:flex}.compat-rank-label{letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.compat-card.compat-primary .compat-rank-label{color:#c4725a}.compat-card.compat-affinity .compat-rank-label{color:var(--text-tertiary,#9c9490)}.compat-name{color:var(--text-primary,#2c2825);font-size:14px;font-weight:600}.compat-note{color:var(--text-secondary,#6c6460);margin:0;font-size:12px;line-height:1.55}@media (max-width:480px){.compat-cards{grid-template-columns:1fr}}
