:root{--ink:#21152f;--purple:#5b3d73;--lav:#bca7d8;--cream:#f8f3eb;--paper:#fffdf9;--rose:#dc8f91;--peach:#f2b49c;--gold:#d4a756;--line:#e5dcdf;--muted:#776d7c;--shadow:0 18px 50px rgba(42,24,54,.1)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:fixed;width:250px;height:100vh;background:var(--ink);color:white;padding:34px 24px;overflow:hidden;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;letter-spacing:2px}.brand-orbit{width:35px;height:35px;border:1px solid #947aa7;border-radius:50%;display:grid;place-items:center;color:#f2b49c}.brand strong{display:block;font-size:14px}.brand small{display:block;font:16px 'Italiana',serif;letter-spacing:1px;color:#ccbcd7;margin-top:2px}.sidebar nav{display:grid;gap:8px;margin-top:65px}.nav-item{border:0;background:transparent;color:#c9bfce;text-align:left;padding:13px 14px;border-radius:14px;font:500 14px inherit;cursor:pointer;transition:.2s}.nav-item span{display:inline-block;width:26px;font-size:20px}.nav-item:hover,.nav-item.active{background:#392746;color:white}.sidebar-moon{width:230px;height:230px;border:1px solid #6c567c;border-radius:50%;position:absolute;left:90px;bottom:-70px}.sidebar-moon:after{content:'';width:150px;height:150px;background:#2c1d37;border-radius:50%;position:absolute;left:-20px;top:12px}.cosmic-note{position:absolute;bottom:60px;left:35px;font:19px/1.35 'Italiana',serif;color:#c7b3d6}main{grid-column:2;min-width:0}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:rgba(255,253,249,.9);position:sticky;top:0;z-index:8;backdrop-filter:blur(12px)}.top-date{font-size:13px;font-weight:600;letter-spacing:.5px}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--rose);margin-right:9px;box-shadow:0 0 0 5px #f8e3e2}.avatar{width:38px;height:38px;border:0;border-radius:50%;background:var(--ink);color:white;cursor:pointer}.mobile-brand{display:none}.screen{display:none;padding:64px clamp(30px,6vw,100px) 90px;max-width:1500px;margin:auto}.screen.active{display:block;animation:fade .35s ease}@keyframes fade{from{opacity:0;transform:translateY(7px)}}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.2px;color:var(--purple);margin:0 0 14px}.hero{min-height:300px;border-radius:28px;padding:62px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#f3e9ec,#eee6f7);overflow:hidden;position:relative}.hero h1,.page-title h1,.couples-hero h1{font:48px/1.05 'Italiana',serif;margin:0;max-width:700px}.hero h1 em,.couples-hero h1 em{color:var(--purple);font-style:normal}.hero-copy{color:var(--muted);max-width:550px;line-height:1.7}.hero-orbit{width:190px;height:190px;border:1px solid #af93be;border-radius:50%;position:relative;flex:none;margin-left:20px}.hero-orbit:after{content:'';position:absolute;width:130px;height:130px;border:1px solid #d4b5a6;border-radius:50%;left:29px;top:29px}.hero-orbit span{position:absolute;font-size:55px;left:64px;top:55px;color:var(--purple)}.hero-orbit i{position:absolute;width:14px;height:14px;background:var(--rose);border-radius:50%;right:17px;top:30px}.hero-orbit b{position:absolute;bottom:14px;left:12px;color:var(--gold)}.energy-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;margin-top:22px}.energy-card{border:1px solid var(--line);border-radius:22px;padding:26px;background:white}.main-energy{grid-row:span 1}.card-top{display:flex;justify-content:space-between}.tag,.intensity{font-size:9px;font-weight:700;letter-spacing:1.2px}.planet-icon{font:30px 'Italiana',serif}.energy-card h2{font:32px 'Italiana',serif;margin:25px 0 10px}.energy-card p{color:var(--muted);line-height:1.55}.energy-meter{height:6px;background:#eee8ed;border-radius:5px;margin:25px 0 10px}.energy-meter span{display:block;height:100%;background:linear-gradient(90deg,var(--rose),var(--purple));border-radius:5px}.energy-card small{color:var(--muted)}.compact{display:flex;flex-direction:column;justify-content:center}.compact p{font-size:10px;letter-spacing:1.4px;font-weight:700;margin:18px 0 5px}.compact h3{font:23px 'Italiana',serif;margin:0 0 8px}.lavender{background:#eee7f6}.peach{background:#fae6dd}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:65px 0 20px}.section-heading h2,.page-title h1{font-family:'Italiana',serif}.text-button{border:0;background:transparent;color:var(--purple);font-weight:700;cursor:pointer}.transit-list{border-top:1px solid var(--line)}.transit-list article{display:grid;grid-template-columns:52px 1fr auto;gap:20px;align-items:center;padding:20px 5px;border-bottom:1px solid var(--line)}.transit-list p{margin:5px 0 0;color:var(--muted)}.transit-symbol{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;font-size:21px}.warm{background:#f8dfd5}.lilac{background:#ece3f4}.rose{background:#f3dfe1}.intensity{color:var(--purple);background:#f1ebf5;padding:8px 10px;border-radius:20px}.prototype-note{font-size:11px;color:#9d929f;margin-top:15px}.page-title{margin-bottom:45px}.page-title h1{font-size:48px;margin:0 0 10px}.page-title>p:last-child{color:var(--muted)}.chart-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:30px}.chart-card{background:#f6f0f4;border-radius:28px;padding:30px;text-align:center}.chart-card svg{max-width:500px;width:100%}.secondary-btn{border:1px solid var(--ink);background:transparent;border-radius:25px;padding:11px 20px;font-weight:600;cursor:pointer}.big-three{display:grid;gap:13px}.big-three article{display:flex;gap:20px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:20px;background:white}.big-three article>span{font:34px 'Italiana',serif;width:50px;height:50px;background:var(--cream);border-radius:50%;display:grid;place-items:center}.big-three small{font-size:9px;letter-spacing:1.5px}.big-three h3{font:26px 'Italiana',serif;margin:3px 0}.big-three p{margin:0;color:var(--muted);font-size:13px}.unknown-explanation,.form-info{padding:18px;border-radius:16px;background:#eee7f6;color:#604c6d;font-size:13px;line-height:1.5}.hidden{display:none!important}.insight-grid,.couple-features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.insight-grid article,.couple-features article{border:1px solid var(--line);padding:26px;border-radius:20px}.insight-grid span{color:var(--rose);font-size:11px}.insight-grid h3,.couple-features h3{font:23px 'Italiana',serif}.insight-grid p,.couple-features p{color:var(--muted);line-height:1.55}.calendar-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}.calendar-card,.day-reading{border-radius:25px;border:1px solid var(--line);padding:30px}.calendar-head{display:flex;justify-content:space-between;align-items:center}.calendar-head h2{font:28px 'Italiana',serif}.calendar-head button{border:0;background:var(--cream);border-radius:50%;width:35px;height:35px;cursor:pointer}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:7px}.weekdays{font-size:10px;color:var(--muted);margin:20px 0 12px}.calendar-days button{aspect-ratio:1;border:0;background:transparent;border-radius:50%;cursor:pointer;position:relative}.calendar-days button:hover,.calendar-days button.selected{background:var(--ink);color:white}.calendar-days button.event:after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:var(--rose);bottom:5px;left:calc(50% - 2px)}.calendar-days button.blank{pointer-events:none}.calendar-legend{display:flex;gap:18px;font-size:10px;color:var(--muted);margin-top:22px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.dot.rose{background:var(--rose)}.dot.violet{background:var(--purple)}.dot.gold{background:var(--gold)}.day-reading{background:var(--ink);color:white}.day-reading .eyebrow{color:#c8b0db}.day-reading h2{font:32px 'Italiana',serif}.day-reading>p{color:#cabfce;line-height:1.6}.moon-phase{display:flex;align-items:center;gap:15px;border-top:1px solid #4c3a58;border-bottom:1px solid #4c3a58;padding:20px 0}.moon-phase>span{font-size:40px;color:#f5c8bb}.moon-phase small{display:block;font-size:9px;color:#a896b1}.do-list{display:grid;gap:10px;margin-top:25px;font-size:13px}.couples-hero{background:#f0e8f5;border-radius:28px;padding:65px;display:flex;justify-content:space-between;align-items:center}.couples-hero p:not(.eyebrow){max-width:560px;color:var(--muted);line-height:1.6}.primary-btn{border:0;background:var(--ink);color:white;border-radius:26px;padding:14px 24px;font-weight:700;cursor:pointer}.double-orbit{width:210px;height:210px;border:1px solid #9e83ad;border-radius:50%;position:relative;flex:none}.double-orbit:after{content:'';position:absolute;width:140px;height:140px;border:1px solid #d79891;border-radius:50%;left:-30px;top:35px}.double-orbit span,.double-orbit i{position:absolute;font:50px 'Italiana',serif}.double-orbit span{left:75px;top:72px}.double-orbit i{left:-2px;top:72px;color:var(--rose)}.couple-features{grid-template-columns:repeat(4,1fr)}.couple-features>article>span{font-size:28px;color:var(--purple)}.couple-preview{margin-top:28px;padding:40px;border-radius:25px;background:#21152f;color:white;display:flex;justify-content:space-between;align-items:center}.couple-preview>div:first-child{max-width:580px}.couple-preview h2{font:31px 'Italiana',serif}.couple-preview p{color:#cabfce;line-height:1.6}.balance{display:flex;gap:30px}.balance span{width:110px;height:110px;border:1px solid #80698f;border-radius:50%;display:grid;place-content:center;text-align:center}.balance b{font:27px 'Italiana',serif}.balance small{font-size:8px;letter-spacing:1px}.birth-form{max-width:850px;display:grid;grid-template-columns:1fr 1fr;gap:22px;background:#f8f3f4;padding:38px;border-radius:25px}.birth-form label,.modal-card label{display:grid;gap:8px;font-size:12px;font-weight:700}.birth-form input,.birth-form select,.modal-card input{width:100%;border:1px solid #d9ced7;background:white;border-radius:12px;padding:14px;font:14px inherit;color:var(--ink)}.full{grid-column:1/-1}.unknown-toggle{display:flex!important;align-items:flex-start;gap:13px!important;cursor:pointer}.unknown-toggle input{display:none}.unknown-toggle>span{width:42px;height:23px;background:#c9bec7;border-radius:20px;position:relative;flex:none}.unknown-toggle>span:after{content:'';position:absolute;width:17px;height:17px;left:3px;top:3px;background:white;border-radius:50%;transition:.2s}.unknown-toggle input:checked+span{background:var(--purple)}.unknown-toggle input:checked+span:after{transform:translateX(19px)}.unknown-toggle small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.form-info{display:flex;gap:13px}.form-info p{margin:0}.mobile-nav{display:none}.modal{position:fixed;inset:0;z-index:30;display:none;place-items:center}.modal.open{display:grid}.modal-backdrop{position:absolute;inset:0;background:rgba(24,13,31,.7);backdrop-filter:blur(5px)}.modal-card{position:relative;background:var(--paper);width:min(500px,calc(100% - 30px));padding:38px;border-radius:25px;box-shadow:var(--shadow);display:grid;gap:17px}.modal-card h2{font:32px 'Italiana',serif;margin:0}.modal-card>p:not(.eyebrow){color:var(--muted);margin:0}.modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:27px;cursor:pointer}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,100px);background:var(--ink);color:white;padding:12px 20px;border-radius:30px;z-index:50;transition:.3s}.toast.show{transform:translate(-50%,0)}
@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}main{grid-column:1}.energy-grid{grid-template-columns:1fr 1fr}.main-energy{grid-column:1/-1}.chart-layout,.calendar-layout{grid-template-columns:1fr}.couple-features{grid-template-columns:1fr 1fr}.topbar{padding:0 22px}.mobile-brand{display:block;border:0;background:transparent;color:var(--ink);letter-spacing:1px}.screen{padding:35px 25px 100px}.mobile-nav{position:fixed;display:flex;bottom:0;left:0;right:0;height:70px;background:rgba(255,253,249,.96);border-top:1px solid var(--line);z-index:20;justify-content:space-around}.mobile-nav button{border:0;background:transparent;color:var(--muted);font:10px inherit;display:grid;place-items:center;min-width:56px;padding:8px}.mobile-nav span{font-size:20px}.mobile-nav button.active{color:var(--purple);font-weight:700}}@media(max-width:680px){.top-date{display:none}.topbar{height:62px}.hero,.couples-hero{padding:35px 26px;min-height:auto}.hero h1,.couples-hero h1,.page-title h1{font-size:38px}.hero-orbit,.double-orbit{display:none}.energy-grid,.insight-grid,.couple-features{grid-template-columns:1fr}.compact{min-height:150px}.section-heading{align-items:flex-start;gap:15px}.transit-list article{grid-template-columns:45px 1fr}.intensity{display:none}.couple-preview{display:block;padding:28px}.balance{margin-top:25px;gap:15px}.balance span{width:95px;height:95px}.birth-form{grid-template-columns:1fr;padding:25px}.birth-form>*{grid-column:1!important}.calendar-card,.day-reading{padding:22px}.calendar-days{gap:2px}.calendar-legend{flex-wrap:wrap}.screen{padding-inline:17px}.chart-card{padding:15px}}
.agenda-transit{padding:18px 0;border-top:1px solid #4c3a58}.agenda-transit header{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start}.agenda-transit header>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#efe5f5;color:#5b3d73;font-size:20px}.agenda-transit small{display:block;color:#d7bddf;font-size:10px;font-weight:800;letter-spacing:.12em}.agenda-transit h4{margin:4px 0 2px;font-size:17px;line-height:1.3}.agenda-transit em{color:#e9a7a8;font-size:12px;font-style:normal;font-weight:700}.agenda-transit>p{margin:12px 0 8px;color:#d5cbd8;line-height:1.55}.agenda-transit ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.agenda-transit li{color:#f1ebf2;line-height:1.45}.agenda-transit li b{color:#f2c4bb}.agenda-moon-note{display:grid;gap:6px;margin-top:12px;padding:15px;border-radius:14px;background:#392746}.agenda-moon-note b{color:#f5c8bb}.agenda-moon-note span{color:#d4c9d7;line-height:1.5}
