:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#292b35;background:#f7f8fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#252733;--muted:#8b8d9c;--muted-deep:#696d7b;--accent:#7362ca;--accent-dark:#6051b7;--line:#e9eaf0;--surface:#fff;--soft:#f5f5fa;--shadow:0 3px 20px rgba(37,39,51,.025)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b9b1f6;outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,DM Sans,sans-serif;letter-spacing:-.045em}p{line-height:1.65}svg{flex:none}::selection{background:#e4ddfa;color:#302b50}.logo{font-family:Manrope,sans-serif;font-size:36px;font-weight:800;letter-spacing:-.105em;line-height:1;color:#21232c;white-space:nowrap}.logo-dot{color:var(--accent)}.button{min-height:43px;border-radius:10px;padding:0 17px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:700;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.button:not(:disabled):active{transform:translateY(1px)}.button.primary{background:var(--accent);color:#fff;box-shadow:0 5px 14px #7362ca26}.button.primary:hover{background:var(--accent-dark)}.button.light{background:#f7f7fa;color:#454559;border-color:#eaeaf0}.button.light:hover{background:#f0eff7}.button.danger{color:#af535e;background:#fff2f3;border-color:#f7dfe1}.button.wide{width:100%}.button.hero-button{background:#fff;color:#333244}.button.hero-button:hover{background:#f0ecff}.text-button{border:0;background:transparent;color:var(--accent);font-size:13px;font-weight:700;padding:4px;display:inline-flex;align-items:center;gap:6px}.text-button:hover{text-decoration:underline}.icon-btn{border:1px solid var(--line);background:#fff;color:#7f8291;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px}.icon-btn:hover{color:var(--accent);border-color:#cdc6ef}.link-arrow{background:none;border:0;color:var(--accent);display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.link-arrow:hover{text-decoration:underline}.eyebrow{font-size:10px;color:var(--accent);font-weight:800;letter-spacing:.13em;text-transform:uppercase}.pill{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;color:#6e60be;border:1px solid #e4defa;border-radius:100px;background:#f4f0ff;font-size:10px;font-weight:800;letter-spacing:.075em}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{min-height:100vh;display:flex;flex-direction:column;padding:0 max(32px,calc((100% - 1220px)/2))}.auth-header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.auth-header-tag{font-size:10px;letter-spacing:.16em;font-weight:700;color:#9d9fab}.auth-columns{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 450px;gap:clamp(40px,7vw,110px);align-items:center;padding:65px 0 75px}.auth-intro{max-width:580px}.auth-intro h1{font-size:clamp(46px,5.4vw,72px);line-height:1.1;font-weight:800;margin:26px 0}.auth-intro h1 em{font-style:normal;color:var(--accent)}.auth-intro>p{font-size:17px;color:#747686;max-width:490px}.auth-quote{display:flex;flex-direction:column;gap:15px;margin-top:62px;border-left:3px solid #dcd5fc;padding-left:23px}.auth-quote .mini-stars{color:#b7a9ed;font-size:16px;letter-spacing:.5em}.auth-quote strong{font-family:Manrope,sans-serif;font-size:23px;line-height:1.5;letter-spacing:-.045em;color:#6e5ebe}.auth-quote small{color:#9799a5;font-size:12px}.auth-card{padding:38px;border:1px solid #e6e7ef;background:#fff;border-radius:20px;box-shadow:0 24px 75px #2c2a470d}.auth-card h2{font-size:29px;margin:11px 0 5px}.auth-card>p{font-size:13px;color:#8f91a0;margin-bottom:25px}.stack-gap,.form-stack{display:flex;flex-direction:column;gap:19px}.field{display:flex;flex-direction:column;gap:8px;position:relative}.field-label{font-size:12px;font-weight:700;color:#4e5260}.field input,.place-search input,.history-top input,.history-top select{color:var(--ink);border:1px solid #e3e5ed;background:#fff;min-height:45px;border-radius:10px;padding:10px 13px;font-size:13px;outline:none;width:100%;transition:border-color .2s,box-shadow .2s}.field input:focus,.place-search:focus-within,.history-top input:focus,.history-top select:focus{border-color:#998adf;box-shadow:0 0 0 3px #9385d218}.field input::placeholder,.place-search input::placeholder,.history-top input::placeholder{color:#a4a6b0}.field input:disabled{background:#f7f7f9;color:#aaa}.hint{font-size:11px;color:#9b9eab}.auth-switch{text-align:center;color:#9193a0;font-size:12px;margin-top:21px}.privacy-note{display:flex;gap:9px;align-items:center;border-top:1px solid #eeeeF3;color:#9799a8;font-size:11px;line-height:1.5;margin-top:24px;padding-top:21px}.privacy-note svg{color:#8c83ba}.auth-footer{height:65px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#a7a8b3;font-size:11px}.app-layout{display:flex;min-height:100vh}.sidebar{width:256px;background:#fff;border-right:1px solid #ebedf2;display:flex;flex-direction:column;flex:none;position:sticky;top:0;height:100vh;z-index:30}.sidebar-top{height:142px;padding:36px 26px 20px;display:flex;flex-direction:column;gap:12px}.sidebar-tag{font-size:9px;color:#a9abb7;font-weight:800;letter-spacing:.13em}.nav-list{padding:10px 13px;display:flex;flex-direction:column;gap:5px}.nav-item{width:100%;border:0;background:transparent;color:#777b89;font-size:13px;font-weight:600;display:flex;align-items:center;gap:13px;text-align:left;min-height:45px;padding:0 13px;border-radius:10px;transition:background .16s,color .16s}.nav-item:hover{background:#f6f5fb;color:#4c427f}.nav-item.active{background:#f0edf9;color:#6754bf}.nav-plus{margin-left:auto;font-size:21px;font-weight:400;color:#a09bbb}.sidebar-bottom{margin-top:auto;padding:16px}.sidebar-tip{background:#f8f7fc;border:1px solid #f0eef8;padding:17px;border-radius:13px;color:#8f82d6;display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:15px}.sidebar-tip strong{color:#474455;font-size:12px}.sidebar-tip p{color:#9999a6;font-size:11px;line-height:1.6}.nav-profile{display:flex;align-items:center;gap:11px;padding:15px 7px 5px;border-top:1px solid var(--line)}.avatar{display:inline-grid;place-items:center;border-radius:50%;background:#e9e4f7;color:#6c5bb7;width:39px;height:39px;font-size:14px;font-weight:800;flex:none}.profile-name{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-name strong{font-size:12px;color:#474a56;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-name span{font-size:10px;color:#999ca8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-region{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:73px;background:#fff;border-bottom:1px solid var(--line);padding:0 43px;display:flex;justify-content:space-between;align-items:center}.topbar-path{font-size:12px;color:#9a9ca9;display:flex;align-items:center;gap:10px}.topbar-right{font-size:9px;color:#a1a3af;letter-spacing:.13em;font-weight:800;display:flex;align-items:center;gap:9px}.tiny-status-dot{width:7px;height:7px;background:#9bc5a8;border-radius:50%}.mobile-menu{display:none}.page-content{flex:1;padding:42px clamp(24px,4vw,60px) 70px;width:100%;max-width:1500px;margin:0 auto}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:29px}.section-heading h1{font-size:clamp(26px,2.8vw,35px);margin:7px 0 6px}.section-heading p{font-size:13px;color:#9294a1}.hero-banner{min-height:240px;border-radius:18px;background:linear-gradient(105deg,#302e49,#2d2b46 56%,#424267);color:#fff;position:relative;overflow:hidden;padding:36px 40px;margin-bottom:22px}.hero-content{position:relative;z-index:2;max-width:560px}.hero-kicker{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.1em;color:#b9b3e9}.hero-content h2{font-size:clamp(25px,3vw,33px);line-height:1.2;letter-spacing:-.055em;margin:13px 0 9px}.hero-content p{max-width:455px;font-size:12px;color:#c2c0d2;margin-bottom:21px}.orbit-decor{width:360px;height:360px;position:absolute;right:-13px;top:-57px;border:1px solid #6d68947a;border-radius:50%;transform:rotate(-24deg)}.orbit-decor:before,.orbit-decor:after,.orbit-decor span{content:"";position:absolute;border:1px solid #746e9a8f;border-radius:50%;inset:40px}.orbit-decor:after{inset:90px}.orbit-decor span:nth-child(1){inset:16px 114px;transform:rotate(-45deg)}.orbit-decor span:nth-child(2){inset:16px 114px;transform:rotate(45deg)}.orbit-decor span:nth-child(3){width:12px;height:12px;inset:26px auto auto 88px;background:#ada2f0;border:0;box-shadow:0 0 28px #ada2f0}.orbit-decor i{position:absolute;font-size:25px;color:#bab0f3;right:35px;top:104px;font-style:normal}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-bottom:21px}.stat-card,.panel{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.stat-card{display:flex;flex-direction:column;padding:23px 26px;min-height:133px}.stat-card>span{font-size:10px;font-weight:800;letter-spacing:.08em;color:#9294a2}.stat-card>strong{font-family:Manrope,sans-serif;font-size:36px;letter-spacing:-.05em;color:#292a35;margin-top:9px;line-height:1.15}.stat-card>strong.rating-stat{font-size:30px;letter-spacing:-.075em;color:var(--accent)}.stat-card>small{color:#a3a5b1;font-size:11px;margin-top:6px}.dashboard-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:20px}.panel{padding:26px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:23px}.panel-head h3{font-size:16px;letter-spacing:-.04em}.panel-head p{color:#a0a2ae;font-size:11px;margin-top:5px}.chart-summary{display:flex;flex-direction:column;gap:0}.placement{display:flex;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid #f0f0f3}.placement:last-child{border-bottom:0}.placement-icon{height:42px;width:42px;display:grid;place-items:center;border-radius:11px;background:#f5f3fc;color:#8272ce}.placement-meta{display:grid;gap:2px}.placement-meta small{font-size:9px;color:#a8a6b0;letter-spacing:.11em;font-weight:800}.placement-meta strong{font-size:15px;color:#3b3c47}.placement-meta span{font-size:11px;color:#a1a3ad}.panel-footer{color:#a2a3ae;font-size:11px;border-top:1px solid #efeff3;display:flex;align-items:center;gap:8px;margin-top:15px;padding-top:18px}.reading-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:transparent;padding:13px 0;border-bottom:1px solid #f0f1f4;min-height:69px}.reading-row:hover .reading-person strong{color:var(--accent)}.reading-row:last-child{border-bottom:0}.reading-initial{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f0edf9;color:#7969c6;font-size:13px;font-weight:800;flex:none}.reading-person{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.reading-person strong{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:800;transition:color .2s;min-width:0}.reading-person small{font-size:10px;color:#a3a4b0}.small-tag{background:#eeecf9;color:#8574ca;padding:4px 6px;border-radius:4px;font-size:8px;letter-spacing:.04em;white-space:nowrap}.reading-score{display:flex;flex-direction:column;gap:3px;text-align:right}.reading-score strong{font-family:Manrope,sans-serif;font-size:17px;letter-spacing:-.055em;color:var(--accent)}.reading-score small{color:#a3a5b2;font-size:10px}.reading-chevron{color:#b7b9c4}.empty-inside{min-height:235px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#a5a0c8;text-align:center}.empty-inside p{color:#a1a3ae;font-size:12px}.app-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:17px clamp(24px,4vw,60px);color:#b0b1bb;font-size:10px}.two-column{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:start;gap:22px}.form-panel{padding:29px}.form-stack{gap:23px}.birth-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-full{grid-column:1/-1}.check-line{font-size:12px;color:#838594;display:flex;align-items:center;gap:9px;cursor:pointer}.check-line input{accent-color:var(--accent);width:16px;height:16px}.place-search{display:flex;align-items:center;gap:8px;border:1px solid #e3e5ed;border-radius:10px;padding:0 6px 0 13px;color:#a4a5af;background:#fff}.place-search input{padding-left:0;border:0;box-shadow:none!important;outline:none!important;min-width:0}.place-btn{background:#f4f2fa;color:#7062bd;border:0;border-radius:7px;padding:9px 12px;display:flex;gap:7px;align-items:center;font-size:11px;font-weight:700;flex:none}.place-btn:hover{background:#ebe7f8}.place-results{position:absolute;z-index:4;background:#fff;box-shadow:0 15px 40px #23203823;border:1px solid #e8e6f3;border-radius:10px;left:0;right:0;top:78px;max-height:245px;overflow:auto;padding:5px}.place-results button{display:flex;align-items:center;gap:8px;font-size:12px;width:100%;text-align:left;padding:12px 10px;background:#fff;border:0;border-radius:7px}.place-results button:hover{background:#f5f3fb}.field-success{display:flex;align-items:center;gap:6px;color:#47835c;font-size:11px}.field-error{color:#bc4e5f;font-size:11px}.inline-note{font-size:11px;color:#858093;line-height:1.6;background:#f9f7ff;border:1px solid #eeeafa;border-radius:9px;padding:12px 14px;display:flex;align-items:flex-start;gap:9px}.inline-note svg{flex:none;color:#9385ce;margin-top:1px}.chart-result-panel .placement{padding:19px 0}.empty-chart{min-height:285px;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;gap:12px;color:#9b8dcb}.empty-chart strong{font-size:15px;color:#555262}.empty-chart p{font-size:12px;color:#9e9faa;max-width:280px}.setup-gate{min-height:325px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;text-align:center;color:#a095d2}.setup-gate h3{font-size:20px;color:#4c485f}.setup-gate p{font-size:13px;color:#8e8f9b}.rating-result{padding:12px 0 20px}.rating-label{font-size:10px;color:#9391a9;letter-spacing:.12em;font-weight:800}.rating-word{font-family:Manrope,sans-serif;font-size:clamp(50px,6vw,75px);font-weight:800;letter-spacing:-.11em;color:var(--accent);line-height:1.45;overflow-wrap:anywhere}.rating-word span{color:#c2b8e7}.rating-score{display:flex;align-items:baseline;gap:10px}.rating-score strong{font-size:23px;color:#363445;letter-spacing:-.035em}.rating-score span{font-size:11px;color:#a2a3ac}.rating-result>p{font-size:13px;color:#747685;margin-top:17px;max-width:420px}.rating-result .inline-note{margin-top:18px}.breakdown{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;display:flex;flex-direction:column;gap:17px}.breakdown-row{display:flex;align-items:center;gap:13px}.breakdown-row>span{font-size:11px;color:#777987;width:47px;flex:none}.breakdown-row>strong{font-size:11px;color:#555665;width:32px;text-align:right}.bar-track{height:7px;flex:1;background:#eeeef4;border-radius:10px;overflow:hidden}.bar-track span{display:block;height:100%;background:#8c7ad2;border-radius:10px;transition:width .4s}.panel-actions{border-top:1px solid var(--line);padding-top:19px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.history-panel{padding:0}.history-top{padding:19px 22px;border-bottom:1px solid var(--line);display:flex;gap:15px}.search-field{position:relative;flex:1;display:flex;align-items:center;color:#9b9eac}.search-field svg{position:absolute;left:14px}.history-top input{padding-left:42px}.history-top select{width:200px;color:#747788}.history-list{padding:0 24px}.history-list .reading-row{padding:17px 0;min-height:79px}.history-panel .empty-chart{min-height:340px}.account-panel{max-width:730px}.account-identity{display:flex;align-items:center;gap:18px}.account-identity h3{font-size:18px}.account-identity p{font-size:12px;color:#9698a4;margin-top:4px}.big-avatar{width:63px;height:63px;font-size:23px}.account-divider{border-top:1px solid var(--line);margin:22px 0}.account-section{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px;color:#8174ba}.account-section strong{font-size:13px;color:#484955}.account-section p{font-size:12px;color:#9193a0;margin-top:6px;max-width:460px}.notice{display:flex;align-items:center;justify-content:space-between;gap:11px;padding:13px;border-radius:8px;background:#fff3f4;color:#ad4454;border:1px solid #f4dce1;font-size:12px;line-height:1.5}.notice.success{background:#f0f9f2;color:#4d855a;border-color:#ddeddf}.notice.success span{display:flex;gap:6px;align-items:center}.notice .icon-btn{height:23px;width:23px;background:transparent;border:0;color:inherit}.page-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:250px;color:#9687cb;font-size:13px}.modal-backdrop{position:fixed;inset:0;background:#23202e91;display:grid;place-items:center;z-index:100;padding:20px}.detail-modal{width:min(100%,540px);max-height:90vh;overflow-y:auto;background:#fff;border-radius:18px;padding:27px 31px;box-shadow:0 25px 70px #17141b2b}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.modal-head h2{font-size:27px;margin:5px 0 4px}.modal-head p{font-size:12px;color:#999aa6}.modal-placements{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:17px}.modal-placements span{display:flex;align-items:center;gap:6px;color:#6d697e;font-size:11px;border-radius:9px;background:#f7f6fa;padding:9px}.modal-actions{display:flex;gap:10px;justify-content:space-between;padding-top:23px}.mobile-overlay{display:none}@media(max-width:1150px){.sidebar{width:220px}.page-content{padding-left:30px;padding-right:30px}.topbar{padding:0 30px}.hero-banner{padding:30px}.orbit-decor{right:-140px;opacity:.6}.dashboard-grid{grid-template-columns:1fr}.auth-columns{grid-template-columns:1fr 400px;gap:40px}}@media(max-width:830px){.sidebar{transform:translate(-110%);position:fixed;left:0;top:0;width:270px;box-shadow:10px 0 35px #24203017;transition:transform .25s}.sidebar.is-open{transform:translate(0)}.mobile-overlay{display:block;position:fixed;inset:0;z-index:20;background:#28243365;border:0}.mobile-menu{display:inline-grid;margin-right:8px}.topbar{justify-content:flex-start;height:67px}.topbar-right{margin-left:auto}.page-content{padding:30px 22px 60px}.two-column{grid-template-columns:1fr}.auth-columns{grid-template-columns:1fr;gap:35px;align-items:stretch;padding:45px 0 70px}.auth-intro{max-width:700px}.auth-intro h1{max-width:650px}.auth-quote{margin-top:35px}.auth-card{max-width:630px;width:100%}.auth-page{padding:0 30px}.auth-header{height:86px}}@media(max-width:570px){.auth-page{padding:0 18px}.auth-header-tag{display:none}.auth-columns{padding:36px 0 45px}.auth-intro h1{font-size:43px;margin:21px 0}.auth-intro>p{font-size:14px}.auth-quote{display:none}.auth-card{padding:25px 20px}.auth-card h2{font-size:25px}.auth-footer{font-size:9px}.topbar{padding:0 16px}.topbar-right{font-size:0}.tiny-status-dot{height:8px;width:8px}.page-content{padding:27px 15px 48px}.section-heading{align-items:flex-start}.section-heading h1{font-size:27px}.section-heading p{font-size:12px}.desktop-action{display:none}.hero-banner{padding:30px 24px;min-height:270px}.hero-content h2{font-size:26px}.orbit-decor{right:-200px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:18px;min-height:112px}.stat-card:nth-child(3){grid-column:1/-1;min-height:98px}.stat-card>strong{font-size:28px}.stat-card>strong.rating-stat{font-size:26px}.stat-card>small{font-size:10px}.stat-card>span{font-size:9px}.panel{padding:19px}.reading-score strong{font-size:14px}.small-tag{display:none}.birth-form-grid{grid-template-columns:1fr}.grid-full{grid-column:auto}.history-panel{padding:0}.history-top{padding:15px;flex-direction:column}.history-top select{width:100%}.history-list{padding:0 15px}.history-list .reading-row{gap:9px}.reading-person strong{font-size:11px}.reading-score small{font-size:9px}.reading-chevron{display:none}.detail-modal{padding:24px 21px}.app-footer{padding:14px 16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-footer a{color:inherit;text-decoration:underline;text-underline-offset:2px}.app-footer a:hover{color:var(--accent)}
