/* AstroMatch 3 — editorial celestial interface */
:root{--bg:#f7f5f2;--card:#fff;--surf:#efedf4;--line:#e6e1ea;--txt:#292435;--mut:#766e83;--pri:#7955b6;--grad:linear-gradient(125deg,#8863c6,#ad6f93);--ok:#587d64;--bad:#ab5968;--sup:#7565b6;--gold:#be9650}
html,body{background:var(--bg);font-family:Inter,'Segoe UI',sans-serif;color:var(--txt)}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #9b72ce;outline-offset:4px}button{transition:background .18s,transform .18s}button:hover{filter:brightness(.97)}button:disabled{cursor:wait}input,select,textarea{background:#fff;border-radius:12px;padding:13px}input:focus,select:focus,textarea:focus{outline:3px solid #7955b61b}label{color:#645b72;font-weight:600}.sub{line-height:1.7}.logo{background:none;color:#352747;letter-spacing:-1px;font-size:25px}.btn{border-radius:12px;min-height:46px;font-weight:600}.btn.ghost{background:#fff}.btn.danger{background:#fff2f3;color:#9a374b;border-color:#efd0d7}.err{color:#a03850}.link{color:#7450a8;cursor:pointer}.row{flex-wrap:wrap}.row>*{min-width:100px}
#app{max-width:none;background:#f7f5f2;background-image:radial-gradient(ellipse at 80% 5%,#e8e0ef66,transparent 45%);overflow:hidden}#main{padding:0 28px 0 254px;display:grid;grid-template-columns:minmax(330px,1fr) 300px;grid-template-rows:100px minmax(0,1fr);gap:0 30px;max-width:1600px;margin:auto}.top{grid-column:1/-1;padding:0;border-bottom:1px solid var(--line);gap:20px}.top .logo{display:none}.top .page-title{font-size:15px;font-weight:600}.top .top-tools{display:flex;gap:10px;align-items:center}.top-tools button{background:white;border:1px solid var(--line);border-radius:50%;width:40px;height:40px}.session-badge{font-size:11px;color:var(--mut);padding:7px 12px;border:1px solid var(--line);border-radius:20px;letter-spacing:.3px}.session-badge::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ok);margin-right:7px}
nav{position:absolute;left:0;top:0;bottom:0;width:224px;flex-direction:column;gap:8px;border:0;border-right:1px solid var(--line);padding:35px 20px;background:#fcfbfa}nav .nav-brand{padding:0 8px 38px;font-size:26px;letter-spacing:-1.4px;font-weight:700;color:#3f2b54}nav .nav-brand span{color:#9471be}nav .nav-caption{font-size:10px;letter-spacing:2px;color:var(--mut);padding:0 14px 10px}nav button{text-align:left;padding:14px 16px;flex:none;font-size:13px;font-weight:500;display:flex;align-items:center;gap:13px;border-radius:11px}nav button .ic{font-size:21px;width:24px;text-align:center}nav button.on{color:#7955ac;background:#eee7f5;font-weight:700}nav button:hover{background:#f3eff6}nav .badge{position:static;margin-left:auto;background:#8d68ba;padding:2px 6px}nav .nav-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.nav-profile{display:flex;gap:10px;align-items:center;padding:14px 10px}.nav-avatar{width:36px;height:36px;border-radius:50%;background:#e9dff2;display:grid;place-items:center;font-family:Georgia,serif;font-size:19px;color:#765191}.nav-profile small{display:block;font-size:11px;color:var(--mut)}.nav-profile b{font-size:12px}.nav-foot{font-size:10px;color:#99909f;text-align:center;margin-top:18px}
.tab{grid-column:1;grid-row:2;min-width:0;padding:28px 0 16px}.discover-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#9a7eab;margin-bottom:8px}.discover-heading h1,.section-heading{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:400;letter-spacing:-1.3px;line-height:1.1}.discover-heading p{font-size:12px;color:var(--mut);margin-top:8px}.filter-btn{padding:10px 14px;background:white;border:1px solid var(--line);border-radius:12px;font-size:12px}.filter-row{display:flex;gap:7px;overflow-x:auto;padding:0 0 16px;flex-shrink:0}.filter-pill{white-space:nowrap;font-size:11px;padding:8px 14px;border:1px solid var(--line);background:transparent;border-radius:30px;color:var(--mut)}.filter-pill.active{background:#352b44;color:white;border-color:#352b44}
#deck{margin:0;min-height:160px;border-radius:22px;background:linear-gradient(145deg,#201a30,#44314c);overflow:hidden}.card{border-radius:22px;box-shadow:none;background:#2d2239}.card .ph{background:#30233c}.shade{height:75%;background:linear-gradient(transparent,#191321ed)}.info{padding:24px;color:white}.info h2{font-family:Georgia,serif;font-size:35px;font-weight:400}.info h2 span{font-family:'Segoe UI',sans-serif;font-size:23px}.bio{color:#f1eaf5;line-height:1.6;font-size:12px;max-width:88%}.chip{font-size:10px;padding:6px 10px;font-weight:400;background:#ffffff22}.score{background:#f9f5ed;color:#51405e;top:22px;font-size:11px;box-shadow:none;padding:9px 13px}.infobtn{background:#ffffff22;color:white;right:20px;bottom:25px}.bars{top:12px}.actions{gap:19px;padding:19px 0 6px}.act{background:white;box-shadow:0 3px 10px #32203c08;width:60px;height:60px;font-size:25px}.act:last-child{background:#8960bd;color:white!important;border:0;box-shadow:0 6px 20px #7955b631}.act.s{width:44px;height:44px}.keyboard-tip{font-size:10px;color:#938b9a;text-align:center;margin-top:10px}.empty{color:#dbcfdf;gap:13px;background:radial-gradient(ellipse at 30% 20%,#77568344,transparent 60%)}.empty .big{font-size:65px;color:#d9c1e9;font-family:Georgia,serif}.empty b{font:30px Georgia,serif;color:#fff;max-width:360px}.empty span{font-size:12px;line-height:1.8;max-width:310px}.empty .btn{margin-top:8px}.empty-orbit{width:130px;height:130px;border:1px solid #ffffff25;border-radius:50%;display:grid;place-items:center;position:relative;margin-bottom:8px}.empty-orbit:before{content:'✧';position:absolute;right:0;top:8px;font-size:22px;color:#dec4ee}.empty-orbit:after{content:'';position:absolute;inset:18px;border:1px solid #ffffff16;border-radius:50%}
.right-rail{grid-row:2;grid-column:2;overflow-y:auto;padding:28px 0}.rail-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px;margin-bottom:17px}.rail-card h3{margin:0;font-size:14px;font-weight:600}.rail-card p{font-size:12px;line-height:1.8;color:var(--mut);margin-top:8px}.cosmos-card{color:#f4ecfb;background:#292035;border-color:#292035;overflow:hidden;position:relative}.cosmos-card p{color:#c1afce}.cosmos-card .eyebrow{color:#c8b0df}.cosmos-card h3{font:25px Georgia,serif;line-height:1.25}.orbit-art{height:155px;display:grid;place-items:center;position:relative;margin:9px 0;color:#c1a0df}.orbit-art .orbit{position:absolute;width:140px;height:140px;border:1px solid #b79dcc44;border-radius:50%}.orbit-art .orbit:nth-child(2){width:98px;height:98px;transform:rotate(-35deg);border-style:dashed}.orbit-art .orbit:nth-child(3){width:160px;height:66px;transform:rotate(-35deg)}.orbit-art b{font:58px Georgia,serif;color:#ebddf7;z-index:1}.orbit-art:before{content:'✦';position:absolute;left:50px;top:20px}.orbit-art:after{content:'✧';position:absolute;right:44px;bottom:18px}.rail-link{font-size:11px;color:#76529f;padding:12px 0 0;font-weight:600}.cosmos-card .rail-link{color:#e2cff4}.chart-mini{display:flex;justify-content:space-between;border-top:1px solid #ffffff20;padding-top:15px;margin-top:10px}.chart-mini span{text-align:center;font-size:16px}.chart-mini small{display:block;font-size:9px;color:#b8a7c5;margin:4px 0}.chart-mini b{font-weight:400;font-size:10px}.profile-meter{height:5px;background:#eee8f3;border-radius:5px;margin-top:14px;overflow:hidden}.profile-meter i{display:block;background:#a281c3;height:100%;border-radius:5px}.rail-foot{font-size:10px;color:#9a91a1;line-height:1.8;padding:0 5px}.tiny-tag{font-size:9px;letter-spacing:1px;color:#9474b0;float:right}.safety-icon{font-size:24px;color:#9a81b2;margin-bottom:9px}
.scroll{padding:0 3px 25px}.scroll>h3{font-family:Georgia,serif;font-size:25px;font-weight:400}.li{padding:17px 10px;background:white;border:1px solid var(--line);border-radius:14px;margin:10px 0;cursor:pointer}.li:hover{border-color:#b49acb}.li .t b{font-size:14px}.li .t small{font-size:12px;margin-top:5px}.li .av{border:2px solid #eee5f6}.ov{background:var(--bg);left:254px;right:358px;top:100px;bottom:0;border-left:1px solid var(--line);border-right:1px solid var(--line)}.chead{background:#fff;padding:16px}.chead b{font-size:14px}.chead small{font-size:10px}.cin{background:#fff}.cin input{background:#f6f3f8}.cin button{color:white}.m.me{color:#fff}.m.ot{background:white;border:1px solid var(--line)}.m{font-size:13px;padding:12px 16px}.menu{background:#fff;box-shadow:0 10px 40px #29203512;font-size:12px}.modal{position:fixed;background:#21152d75;backdrop-filter:blur(6px);align-items:center;padding:24px}.sheet{max-width:530px;max-height:90dvh;border-radius:22px;border:1px solid var(--line);padding:28px;box-shadow:0 24px 100px #21152d33}.sheet h2{font-family:Georgia,serif;font-size:28px;font-weight:400}.sheet h3{font-size:14px}.sheet .pair{margin:20px 0}.asp{font-size:12px;line-height:1.6;background:#f6f3f8}#toast{position:fixed;left:auto;right:28px;top:18px;width:350px;max-width:calc(100vw - 28px);background:#fff;font-size:12px}#match{position:fixed;background:#f6f0fbed}#match h1{font-family:Georgia,serif;font-size:60px;font-weight:400}#match .btn{max-width:340px}#match .faces img{border-color:#f6f0fb}.pgrid{gap:12px}.pt{background:#eae3ef}.pt.add{color:#9374b2;font-size:34px}.mychart div{background:white;border:1px solid var(--line);padding:20px 8px}.mychart small{margin-bottom:6px}.mychart b{color:#7955a4;font-weight:500}.utility-card{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;margin:14px 0}.utility-card h3{margin:0 0 8px}.utility-card p{font-size:12px;line-height:1.8;color:var(--mut)}.chip-choice{background:#f1ecf7;border:1px solid #e1d5eb;color:#71528b;padding:9px 13px;font-size:12px;border-radius:30px;margin:4px}.chip-choice.active{color:white;background:#8260aa}.chart-wheel{width:240px;height:240px;border-radius:50%;margin:26px auto;border:1px solid #ba9dd2;position:relative;background:repeating-conic-gradient(from 0deg,#b99ec622 0deg 1deg,transparent 1deg 30deg)}.chart-wheel:before{position:absolute;content:'';inset:32px;border:1px solid #d6c8e0;border-radius:50%}.chart-wheel .wheel-center{position:absolute;inset:65px;display:grid;place-items:center;background:#f7f5f2;border:1px solid #d6c8e0;border-radius:50%;font-size:45px;color:#a484bf}.chart-wheel>span{position:absolute;left:calc(50% - 10px);top:calc(50% - 12px);font-size:17px;transform:rotate(var(--angle)) translateY(-99px) rotate(calc(-1 * var(--angle)));color:#9677af}.starter-bar{display:flex;gap:8px;overflow-x:auto;padding:10px 14px;background:#faf8fb;border-top:1px solid var(--line)}.starter-bar button{flex:none;font-size:11px;border:1px solid var(--line);padding:8px 12px;border-radius:18px;background:#fff;color:#7c618f}.form-help{font-size:11px;line-height:1.7;color:var(--mut);margin-top:6px}.heading-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
#auth{padding:0;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;background:#fcfbf9;overflow:auto}#auth>.hero{grid-column:1;grid-row:1;align-self:stretch;margin:0;padding:70px 12%;text-align:left;background:#292034;color:white;display:flex;flex-direction:column;justify-content:center;min-height:100dvh;position:relative;overflow:hidden}#auth .hero .logo{font-size:29px;color:#f2e8fa;position:absolute;top:45px;left:12%}#auth .hero h1{font:clamp(45px,5vw,76px)/1.05 Georgia,serif;letter-spacing:-3px;max-width:520px;position:relative}#auth .hero h1 em{font-weight:400;color:#c9abdf}#auth .hero p{color:#baabc6;line-height:1.8;max-width:340px;font-size:14px;margin-top:25px}#auth .hero .hero-note{position:absolute;bottom:35px;font-size:10px;letter-spacing:1px;color:#b6a3c4}.hero .orbit-art{width:250px;height:180px;margin:0 0 20px;align-self:center}.hero .orbit-art .orbit{width:210px;height:210px}.hero .orbit-art .orbit:nth-child(2){width:155px;height:155px}.hero .orbit-art .orbit:nth-child(3){width:270px;height:100px}#loginBox,#regBox{padding:50px 14%;max-width:640px;width:100%;justify-self:center;grid-column:2;grid-row:1}#loginBox h2,#regBox>h2{font:34px Georgia,serif;letter-spacing:-1px;margin-bottom:9px}#loginBox>.sub{margin-bottom:30px}#loginBox .btn{margin-top:10px}.auth-note{font-size:10px;line-height:1.7;color:var(--mut);text-align:center;margin-top:34px}.auth-note span{color:#9976b5}.mobile-logo{display:none}.steps{margin-bottom:26px}.steps i{height:3px}#regBox h3{font:26px Georgia,serif}.section-empty{padding:55px 25px;text-align:center;border:1px dashed #d6c8e0;border-radius:20px;margin-top:25px}.section-empty .big{font-size:45px;color:#ad90c4;margin-bottom:18px}.section-empty h3{font:26px Georgia,serif;margin:10px 0}.section-empty p{font-size:12px;color:var(--mut);line-height:1.8}.section-empty .btn{margin-top:20px;width:auto}
@media(min-width:1500px){#main{padding-left:275px;grid-template-columns:minmax(330px,1fr) 330px;gap:0 45px}.right-rail{padding-top:30px}#deck{max-width:630px;width:100%;align-self:center}.ov{right:400px;left:275px}}
@media(max-width:1150px){#main{padding-left:224px;padding-right:22px;grid-template-columns:minmax(300px,1fr);gap:0}nav{width:202px}.right-rail{display:none}.ov{left:224px;right:22px}.top{grid-column:1}#deck{max-width:530px;width:100%;align-self:center}.discover-heading,.filter-row{width:100%;max-width:650px;align-self:center}.tab{padding-top:24px}}
@media(max-width:700px){#main{display:flex;padding:0 18px;padding-bottom:78px;gap:0}.top{flex:none;height:66px;min-height:66px}.top .logo{display:block;font-size:21px}.top .page-title{display:none}.top-tools{gap:5px!important}.session-badge{font-size:9px;padding:5px 8px}.top-tools button{width:33px;height:33px}.top-tools button:last-child{display:none}nav{position:fixed;top:auto;bottom:0;right:0;left:0;width:auto;height:calc(69px + env(safe-area-inset-bottom));padding:7px 10px calc(7px + env(safe-area-inset-bottom));flex-direction:row;border-top:1px solid var(--line);gap:2px;z-index:10;background:#fcfbfaf5;backdrop-filter:blur(12px)}nav .nav-brand,nav .nav-caption,nav .nav-bottom{display:none}nav button{flex:1;flex-direction:column;gap:4px;padding:5px 1px;font-size:9px;border-radius:9px;position:relative}nav button .ic{font-size:20px}nav .badge{position:absolute;top:0;right:6px;font-size:8px}.tab{padding:19px 0 8px;flex:1}.discover-heading h1{font-size:30px}.discover-heading p{font-size:11px}.discover-heading{margin-bottom:13px}.eyebrow{font-size:9px;margin-bottom:6px}.filter-row{padding-bottom:12px;min-height:44px}.filter-pill{font-size:10px;padding:7px 12px}.filter-btn{font-size:10px;padding:9px 11px}#deck{min-height:130px;border-radius:18px}.card{border-radius:18px}.info{padding:19px}.info h2{font-size:31px}.chip{font-size:9px;padding:4px 8px}.actions{padding:12px 0 4px;gap:23px}.act{width:53px;height:53px}.act.s{width:42px;height:42px}.keyboard-tip{display:none}.ov{left:0;right:0;top:0;bottom:0;z-index:22;border:0}.sheet{padding:23px;border-radius:22px 22px 0 0;max-height:90dvh}.modal{padding:0;align-items:flex-end}#toast{right:14px}.empty b{font-size:26px}.empty span{font-size:11px}.empty-orbit{width:86px;height:86px;margin:0}.empty .big{font-size:43px}.empty{padding:20px;gap:10px}.empty .btn{padding:9px 15px;font-size:11px;min-height:38px}#auth{display:flex;flex-direction:column;justify-content:flex-start}#auth>.hero{min-height:315px;width:100%;padding:86px 30px 30px;display:block}#auth .hero .logo{top:28px;left:30px;font-size:25px}#auth .hero h1{font-size:42px;letter-spacing:-2px;max-width:340px}#auth .hero p{font-size:12px;margin-top:18px;max-width:290px}#auth .hero .hero-note{display:none}.hero .orbit-art{display:none}#loginBox,#regBox{padding:30px 28px;max-width:500px}#loginBox h2{font-size:29px}.auth-note{margin-top:25px}.section-heading{font-size:29px}.scroll{padding-bottom:25px}}
@media(max-height:760px) and (min-width:701px){.right-rail .rail-card{padding:17px}.orbit-art{height:115px}.orbit-art .orbit{width:110px;height:110px}.orbit-art .orbit:nth-child(2){width:70px;height:70px}.orbit-art .orbit:nth-child(3){width:135px;height:50px}.tab{padding-top:18px}.discover-heading h1{font-size:29px}.empty-orbit{width:95px;height:95px}.empty b{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.btn{color:#fff}.btn.ghost{color:#655071}.btn.danger{color:#9a374b}.empty .btn.ghost{color:#665073}#toast{visibility:hidden;opacity:0;transform:translateY(-200%)}#toast.show{visibility:visible;opacity:1;transform:none}.act:disabled{opacity:.45;cursor:default}

.trust-badges{font-size:11px;color:#e9d5ff;margin-top:8px;letter-spacing:.3px}

