@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color:#283147;font-synthesis:none;--ink:#182033;--muted:#70798d;--line:#e3e5ed;--purple:#7452df;--purple2:#a688ff;--paper:#fff;--nav:#182033;--danger:#c34f58;--shadow:0 16px 44px #242a4314;background:#f4f5f8;font-family:DM Sans,Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 92% 4%,#a688ff21,#0000 29%),#f4f5f8;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.sidebar{color:#d6d9e2;z-index:20;background:linear-gradient(#1c2439 0%,#151b2c 100%);flex-direction:column;width:250px;padding:24px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;height:60px;padding:0 7px;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#9d81ff,#6547d3);border-radius:13px;place-items:center;width:38px;height:38px;font-size:20px;display:grid;box-shadow:0 8px 20px #7452df59}.brand b{color:#fff;letter-spacing:.08em;font-size:19px;display:block}.brand span{color:#929aad;letter-spacing:.1em;font-size:10px}.sidebar nav{flex-direction:column;gap:6px;margin-top:28px;display:flex}.sidebar nav a{color:#aeb5c5;border-radius:11px;align-items:center;gap:12px;padding:12px 13px;font-size:14px;transition:all .2s;display:flex}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#9d81ff26}.sidebar nav a.active{box-shadow:inset 3px 0 #9d81ff}.sidebar-person label{color:#8991a5;text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px;font-size:10px;display:block}.sidebar-person select{color:#fff;background:#252e46;border:1px solid #38425d;border-radius:9px;width:100%;padding:9px 10px}.method-badge{color:#778198;align-items:center;gap:9px;margin:15px 6px 0;font-size:10px;display:flex}.method-badge svg{color:#7f65e4}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#ffffffd6;border-bottom:1px solid #d7dae3cc;justify-content:space-between;align-items:center;height:82px;padding:0 34px;display:flex;position:sticky;top:0}.topbar strong{color:#30394d;margin-top:3px;font-size:14px;display:block}.eyebrow{color:#8a73d7;letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.engine-status{color:#536075;align-items:center;gap:8px;font-size:12px;display:flex}.engine-status i{background:#45b97c;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #45b97c1f}.page{max-width:1500px;margin:0 auto;padding:34px}.page-title{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.page-title h1{color:var(--ink);letter-spacing:-.03em;margin:6px 0;font-size:30px}.page-title p{color:var(--muted);margin:0;font-size:14px}.query-bar{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;align-items:center;gap:12px;margin-bottom:22px;padding:12px;display:flex}.segmented{background:#f0f1f5;border-radius:10px;gap:2px;padding:3px;display:flex}.segmented button{color:#697286;background:0 0;border:0;border-radius:8px;padding:9px 15px;font-size:13px}.segmented button.active{color:#593bc4;background:#fff;font-weight:600;box-shadow:0 3px 10px #1f253b17}.date-box{border:1px solid var(--line);color:#7a8294;border-radius:10px;align-items:center;gap:8px;margin-left:auto;padding:0 10px;display:flex}.date-box input{color:var(--ink);background:0 0;border:0;outline:0;padding:8px 0}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #dfe2ea;border-radius:9px;outline:none;padding:10px 11px}textarea{resize:vertical;min-height:85px}.primary,.secondary{border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;display:inline-flex}.primary{color:#fff;background:linear-gradient(135deg,#7656df,#5c3fc4);box-shadow:0 8px 20px #7452df40}.primary:hover{filter:brightness(1.06)}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{color:#4c5670;background:#fff;border:1px solid #dcdfea}.secondary:hover{color:#6042c8;border-color:#a996e9}.icon{color:inherit;background:0 0;border:0;border-radius:8px;padding:7px}.icon:hover{background:#7f6fb517}.icon.danger{color:var(--danger)}.text-link{color:var(--purple);font-size:12px;font-weight:600}.panel{background:var(--paper);border:1px solid var(--line);border-radius:17px;margin-bottom:22px;padding:22px;box-shadow:0 10px 34px #2d354e0d}.panel-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.panel-head h2{color:var(--ink);margin:4px 0 0;font-size:18px}.hero-summary{color:#fff;background:linear-gradient(135deg,#1e2740,#2a3350 66%,#43336f);border-radius:19px;grid-template-columns:1fr 310px;gap:28px;margin-bottom:22px;padding:30px;display:grid;box-shadow:0 20px 48px #2027412e}.hero-summary h2{max-width:850px;margin:8px 0 10px;font-size:24px;line-height:1.45}.hero-summary p{color:#c2c8d7;margin:0;font-size:14px;line-height:1.8}.period-card{border-left:1px solid #ffffff26;flex-direction:column;justify-content:center;padding-left:26px;display:flex}.period-card span{color:#a9b1c3;font-size:11px}.period-card strong{margin:7px 0;font-size:19px}.period-card small{color:#aeb5c6}.two-col{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:22px;display:grid}.two-col>.panel{min-width:0}.prose{color:#414b60;font-size:14px;line-height:1.9}.prose p{margin:0 0 13px}.prose h3{color:#222d44;margin:24px 0 7px;font-size:16px}.prose ul{padding-left:21px}.prose li{margin:5px 0}.advice{background:#f4f1ff;border-left:3px solid #8b6de8;border-radius:0 10px 10px 0;margin-top:15px;padding:13px 15px}.advice b{color:#5c40bd}.advice p{margin:5px 0}.score-details{border:1px solid var(--line);background:#fff;border-radius:15px;margin-bottom:22px}.score-details summary{cursor:pointer;color:#4c5670;justify-content:space-between;padding:16px 20px;font-weight:600;list-style:none;display:flex}.score-details summary::-webkit-details-marker{display:none}.score-details[open] summary svg{transform:rotate(180deg)}.score-grid{grid-template-columns:repeat(4,1fr);gap:12px;padding:0 20px 20px;display:grid}.score{background:#f7f7fa;border-radius:11px;grid-template-columns:1fr auto;gap:8px;padding:12px;display:grid}.score span{font-size:13px;font-weight:600}.score small{color:#858da0;margin-top:2px;font-size:10px;display:block}.score strong{color:#6647cc;font-size:20px}.meter{background:#e7e5ec;border-radius:10px;grid-column:1/-1;height:4px;overflow:hidden}.meter i{background:linear-gradient(90deg,#ae96ff,#6e4ed5);height:100%;display:block}.action-row{gap:10px;margin:0 0 22px;display:flex}.loading{color:#6856a2;background:#f8f6ff;border:1px dashed #cfc9e2;border-radius:12px;justify-content:center;align-items:center;gap:10px;margin-bottom:20px;padding:18px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-box{color:#9f3540;background:#fff1f2;border:1px solid #f1ccd0;border-radius:10px;margin-bottom:18px;padding:12px 15px}.heatmap-scroll{padding-bottom:6px;overflow-x:auto}.heatmap{align-items:center;gap:3px;min-width:max-content;display:grid}.heatmap>small{color:#8b92a2;writing-mode:vertical-rl;text-align:center;height:31px;font-size:8px}.heatmap>b{color:#616a7d;font-size:11px}.heatmap>i{border-radius:3px;width:100%;min-width:16px;height:19px}.caption,.method-note{color:#858da0;margin-bottom:0;font-size:11px;line-height:1.6}.timeline{position:relative}.timeline:before{content:"";background:#e2deef;width:1px;position:absolute;top:5px;bottom:5px;left:77px}.timeline article{grid-template-columns:62px 1fr;gap:32px;padding:0 0 24px;display:grid}.timeline time{color:#7256d1;padding-top:3px;font-size:11px;font-weight:600;position:relative}.timeline time:after{content:"";background:#8265df;border-radius:50%;width:9px;height:9px;position:absolute;top:6px;right:-22px;box-shadow:0 0 0 5px #eeeaff}.timeline h3{color:#293249;margin:0 0 7px;font-size:14px}.timeline p,.timeline li{color:#687186;font-size:12px;line-height:1.65}.timeline ul{margin:7px 0;padding-left:18px}.timeline-advice{background:#f7f7fa;border-radius:7px;padding:7px 9px}.zodiac{width:100%;max-width:620px;margin:auto;display:block}.ring{fill:none;stroke:#cfd3df;stroke-width:1px}.ring.outer{stroke:#8f79d8;stroke-width:2px}.ring.inner{stroke:#e2e4ec}.z-line,.house-line{stroke:#d9dce5;stroke-width:.8px}.house-line.angle{stroke:#846bd9;stroke-width:1.8px}.sign{fill:#655087;font-size:16px}.planet-dot{fill:#fff;stroke:#7258ca;stroke-width:1px}.planet{fill:#302650;font-size:14px;font-weight:600}.center-dot{fill:#8366dd}.aspect{stroke-width:.65px;opacity:.42}.aspect.soft{stroke:#3da280}.aspect.hard{stroke:#d65c68}.chart-legend{color:#7f8798;justify-content:center;gap:16px;font-size:10px;display:flex}.chart-legend i{vertical-align:middle;width:20px;height:2px;margin-right:5px;display:inline-block}.chart-legend i.soft{background:#3da280}.chart-legend i.hard{background:#d65c68}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.person-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:15px;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:18px;transition:all .2s;display:grid}.person-card:hover{box-shadow:var(--shadow);border-color:#cfc5ee;transform:translateY(-2px)}.avatar{color:#5438b8;background:linear-gradient(135deg,#e4ddff,#b9a7f5);border-radius:14px;place-items:center;width:46px;height:46px;font-size:18px;font-weight:700;display:grid}.person-card h3{margin:0 0 5px}.person-card p{color:#778094;margin:0;font-size:12px}.person-actions{align-items:center;gap:2px;display:flex}.tags{gap:5px;margin-top:7px;display:flex}.tags span{color:#6b54b4;background:#f0edfa;border-radius:12px;padding:2px 7px;font-size:9px}.modal-backdrop{z-index:50;background:#1116248c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:min(720px,100%);max-height:92vh;padding:24px;overflow:auto;box-shadow:0 30px 80px #0d121f4d}.form-grid,.event-form{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.form-grid label,.event-form label{color:#656e81;font-size:11px}.form-grid input,.form-grid select,.form-grid textarea,.event-form input,.event-form select,.event-form textarea{width:100%;margin-top:5px;display:block}.full{grid-column:1/-1}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.chart-layout{grid-template-columns:minmax(500px,1.1fr) minmax(300px,.9fr);gap:22px;display:grid}.placement-list{background:#e5e7ee;border:1px solid #e5e7ee;grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.placement-list>div{background:#fff;padding:11px}.placement-list b,.placement-list span,.placement-list small{display:block}.placement-list b{color:#3d315f;font-size:13px}.placement-list span{margin-top:3px;font-size:11px}.placement-list small{color:#8990a0;margin-top:2px;font-size:9px}.aspect-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.aspect-grid>div{background:#f7f7fa;border-radius:8px;justify-content:space-between;gap:10px;padding:9px 11px;font-size:11px;display:flex}.aspect-grid small{color:#858da0;white-space:nowrap}.lord-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.lord-grid article{background:#f7f5fc;border:1px solid #ebe6f9;border-radius:12px;padding:15px}.lord-grid span{color:#8067cf;font-size:10px}.lord-grid h3{margin:5px 0}.lord-grid p{color:#687186;margin:0;font-size:12px;line-height:1.6}.synastry-hero{color:#fff;background:#242d47;border-radius:16px;grid-template-columns:repeat(3,150px) 1fr;gap:20px;margin-bottom:22px;padding:23px;display:grid}.synastry-hero div{border-right:1px solid #ffffff1f}.synastry-hero span{color:#aeb5c6;font-size:11px;display:block}.synastry-hero strong{font-size:28px}.synastry-hero p{color:#bac0cf;margin:0;font-size:11px;line-height:1.6}.event-form .primary{width:max-content}.event-list article{border-bottom:1px solid var(--line);grid-template-columns:78px 1fr 30px;align-items:center;gap:10px;padding:10px 0;display:grid}.event-list time{color:#7057c7;font-size:10px}.event-list b,.event-list span{display:block}.event-list b{font-size:12px}.event-list span{color:#838b9d;margin-top:3px;font-size:10px}.muted{color:#8b92a2}.metric-row{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.metric-row>div{background:#f5f3fb;border-radius:10px;padding:14px}.metric-row span{color:#7a8294;font-size:10px;display:block}.metric-row strong{color:#573bbd;font-size:23px}.backtest-table{margin-top:15px}.backtest-table>div{border-bottom:1px solid var(--line);grid-template-columns:100px 1fr 80px 70px 100px;align-items:center;gap:10px;padding:9px;font-size:11px;display:grid}.backtest-table time{color:#7961c6}.backtest-table em{color:#697286;font-style:normal}.chat-page{flex-direction:column;height:calc(100vh - 82px);display:flex}.chat-window{border:1px solid var(--line);background:#fff;border-radius:17px 17px 0 0;flex:1;min-height:350px;padding:22px;overflow-y:auto}.chat-empty{text-align:center;color:#777f91;padding:40px 10px}.chat-empty svg{color:#8265db}.chat-empty h2{color:#333d53}.chat-empty div{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chat-empty button{color:#5f4aa4;background:#faf9fe;border:1px solid #ddd8ed;border-radius:18px;padding:7px 12px}.message{max-width:850px;margin:0 auto 20px}.message>span{color:#7d8495;margin-bottom:5px;font-size:10px;display:block}.message>div{background:#f4f2fa;border-radius:3px 13px 13px;padding:12px 15px;font-size:13px;line-height:1.8}.message.user>div{color:#fff;background:#252e47;border-radius:13px 3px 13px 13px}.message.user{max-width:650px;margin-right:0}.message p{margin:5px 0}.message small{color:#9a9faf;margin-top:4px;font-size:9px;display:block}.chat-input{border:1px solid var(--line);background:#fff;border-top:0;border-radius:0 0 17px 17px;gap:10px;padding:12px;display:flex}.chat-input textarea{flex:1;min-height:58px}.chat-input button{align-self:stretch;padding-inline:24px}.empty-state{text-align:center;border:1px solid var(--line);color:#747d90;background:#fff;border-radius:18px;padding:70px 20px}.empty-state svg{color:#8064d9}.empty-state h2{color:#2c354b}.empty-state .primary{margin-top:12px}.mobile-only{display:none}@media (width<=1050px){.sidebar{transition:all .2s;transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:20px 0 60px #090d184d}.main{margin-left:0}.mobile-only{display:block}.hero-summary{grid-template-columns:1fr}.period-card{border-top:1px solid #ffffff26;border-left:0;padding:20px 0 0}.two-col,.chart-layout{grid-template-columns:1fr}.score-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.topbar{height:68px;padding:0 16px}.topbar .eyebrow,.engine-status{display:none}.page{padding:20px 14px}.page-title{flex-direction:column;align-items:flex-start}.page-title h1{font-size:25px}.query-bar{flex-wrap:wrap}.segmented{width:100%;overflow-x:auto}.segmented button{flex:1;padding:8px}.date-box{flex:1;margin-left:0}.hero-summary{padding:22px}.hero-summary h2{font-size:19px}.people-grid,.score-grid,.form-grid,.event-form,.lord-grid{grid-template-columns:1fr}.full{grid-column:auto}.aspect-grid{grid-template-columns:1fr}.synastry-hero{grid-template-columns:repeat(3,1fr)}.synastry-hero p{grid-column:1/-1}.metric-row{grid-template-columns:repeat(2,1fr)}.backtest-table{overflow-x:auto}.backtest-table>div{min-width:600px}.placement-list{grid-template-columns:1fr}.action-row{flex-direction:column}.chat-page{height:calc(100vh - 68px)}.chart-layout{display:block}}p,li,span,label,input,select,textarea,button,a,b,strong,small,time,em,summary,.eyebrow,.caption,.method-note,.timeline p,.timeline li,.placement-list small,.placement-list span,.event-list span,.event-list time,.message small{font-size:clamp(12px,1vw,16px)!important}h1,h2,h3,h4,h5,h6,.brand-mark,.brand b,.page-title h1,.hero-summary h2,.period-card strong,.panel-head h2,.score strong,.synastry-hero strong,.metric-row strong,.avatar{font-size:16px!important}.period-range{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:15px;align-items:flex-end;gap:12px;margin-bottom:22px;padding:14px;display:flex}.period-range label{color:#697286;flex-direction:column;gap:5px;display:flex}.period-range input{min-width:165px}.period-range>span{color:#8b92a2;align-self:center;margin-top:18px}.period-overview{color:#fff;background:#3d4762;border-radius:17px;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:22px;display:grid;overflow:hidden}.period-overview>div{background:linear-gradient(145deg,#202a43,#2c3552);padding:20px}.period-overview span,.period-overview strong,.period-overview small{display:block}.period-overview span{color:#aeb6c9;margin-bottom:7px}.period-overview strong{margin-bottom:7px}.period-overview small{color:#aeb6c9;line-height:1.6}.method-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.method-grid p{color:#626c80;background:#f7f7fa;border-radius:11px;margin:0;padding:14px;line-height:1.75}.method-grid b{color:#303a51}.major-list{flex-direction:column;gap:13px;display:flex}.major-period{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px #2d354e0a}.major-header{text-align:left;width:100%;color:var(--ink);background:#fff;border:0;grid-template-columns:52px minmax(250px,1fr) minmax(180px,auto) 24px;align-items:center;gap:15px;padding:17px 20px;display:grid}.major-symbol{color:#6449c3;background:#eee9fd;border-radius:14px;place-items:center;width:46px;height:46px;display:grid}.major-title span{color:#785fd0}.major-title h2{margin:3px 0}.major-title p,.major-age small{color:#727b8f;margin:0;line-height:1.5}.major-age{text-align:right}.major-age span,.major-age small{display:block}.major-header svg,.sub-period>button svg{color:#8a7aaf;transition:all .2s}.rotated{transform:rotate(180deg)}.major-body{border-top:1px solid var(--line);background:#fcfcfe;padding:22px}.period-assessment{color:#4b566b;line-height:1.85}.period-assessment>h3{color:#273149;margin:0 0 10px}.period-assessment>p{margin:0 0 10px}.period-columns{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;display:grid}.period-columns>div{background:#fff;border:1px solid #e7e5ed;border-radius:11px;padding:14px}.period-columns b{color:#6048ba}.period-columns ul{margin:8px 0 0;padding-left:18px}.period-columns li{margin:5px 0}.sub-list{margin-top:24px}.sub-list>h3{color:#293249}.sub-period{background:#fff;border:1px solid #e2e3eb;border-radius:11px;margin-top:8px;overflow:hidden}.sub-period.current{background:#faf8ff;border-color:#9177e0}.sub-period>button{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;grid-template-columns:minmax(180px,.7fr) minmax(280px,1.3fr) 150px 22px;align-items:center;gap:14px;padding:13px 15px;display:grid}.sub-period>button:hover{background:#f8f6fd}.sub-period>button span,.sub-period>button strong{display:block}.sub-period>button span{color:#8068ca;margin-bottom:3px}.sub-period>button p,.sub-period>button small{color:#747d90;margin:0}.sub-period>.period-assessment{background:#fbfafe;border-top:1px solid #e7e4ef;padding:18px}.node-note{color:#6c7486;background:#f3f1f9;border-radius:10px;margin-top:17px;padding:14px;line-height:1.7}.success-box{color:#277153;background:#e9f7ef;border:1px solid #c7e8d5;border-radius:10px;align-items:center;gap:9px;margin-bottom:18px;padding:12px 15px;display:flex}.model-status{color:#fff;background:#3b455f;border-radius:16px;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:22px;display:grid;overflow:hidden}.model-status>div{background:linear-gradient(145deg,#202a43,#2c3552);padding:18px}.model-status span,.model-status strong,.model-status small{display:block}.model-status span,.model-status small{color:#adb5c7}.model-status strong{margin:6px 0}.model-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;display:grid}.model-option{text-align:left;color:#3c465d;background:#faf9fd;border:1px solid #e1dfeb;border-radius:12px;padding:15px;position:relative}.model-option:hover{border-color:#b7a7ea}.model-option.selected{background:#f1edff;border-color:#8063da;box-shadow:0 0 0 3px #7452df14}.model-option span,.model-option strong,.model-option small{display:block}.model-option span{color:#8069c7}.model-option strong{color:#332856;margin:7px 0}.model-option small{color:#7c8495}.model-option svg{color:#6749ca;position:absolute;top:12px;right:12px}.model-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.interactive-heatmap-panel{overflow:hidden}.heatmap-guide{background:#f6f4fc;border:1px solid #ebe7f8;border-radius:12px;grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr);gap:20px;margin-bottom:14px;padding:15px;display:grid}.heatmap-guide b{color:#30254f}.heatmap-guide p{color:#636d80;margin:5px 0 0;line-height:1.7}.heatmap-legend{grid-template-columns:repeat(2,1fr);align-content:center;gap:7px;display:grid}.heatmap-legend span{color:#5d6678;align-items:center;gap:7px;display:flex}.heatmap-legend i{border-radius:4px;width:24px;height:12px}.heatmap-legend i.quiet{background:#f0edf9}.heatmap-legend i.steady{background:#d8cff4}.heatmap-legend i.active{background:#aa94e8}.heatmap-legend i.peak{background:#7254ce}.heatmap-filters{gap:6px;padding-bottom:10px;display:flex;overflow-x:auto}.heatmap-filters button{color:#667084;white-space:nowrap;background:#fff;border:1px solid #e0ddeb;border-radius:18px;padding:7px 12px}.heatmap-filters button:hover,.heatmap-filters button.active{color:#6044c0;background:#f1edff;border-color:#8c75db}.heatmap-workspace{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:14px;display:grid}.interactive-heatmap-panel .heatmap-scroll{background:#fafafd;border:1px solid #e4e3eb;border-radius:12px;max-width:100%;padding:0;overflow:auto}.heatmap-v2{gap:4px;width:max-content;padding:10px;display:grid}.heatmap-corner,.heatmap-row-label{z-index:3;background:#fafafd;position:sticky;left:0}.heatmap-corner{color:#7d8496;border-right:1px solid #e1dfeb;align-items:center;padding-left:8px;display:flex}.heatmap-date{color:#6d7586;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:48px;display:flex}.heatmap-date:hover,.heatmap-date.selected{color:#573bbb;background:#eae4fb}.heatmap-date b,.heatmap-date small{line-height:1.2}.heatmap-row-label{border-right:1px solid #e1dfeb;flex-direction:column;justify-content:center;height:38px;padding:3px 8px;display:flex}.heatmap-row-label b{color:#3d465a}.heatmap-row-label small{color:#9299a8}.heat-cell{color:#40355d;border:2px solid #0000;border-radius:7px;place-items:center;height:38px;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s;display:grid}.heat-cell.quiet{background:#f0edf9}.heat-cell.steady{background:#d8cff4}.heat-cell.active{color:#2e2450;background:#aa94e8}.heat-cell.peak{color:#fff;background:#7254ce}.heat-cell.risk.quiet{color:#753d41;background:#f9eeee}.heat-cell.risk.steady{color:#653235;background:#f0c8c4}.heat-cell.risk.active{color:#542328;background:#dc8d83}.heat-cell.risk.peak{color:#fff;background:#c8534b}.heat-cell:hover,.heat-cell:focus-visible{z-index:2;border-color:#2f2554;outline:none;transform:translateY(-2px);box-shadow:0 5px 12px #2f255433}.heat-cell.selected{border-color:#28203f;box-shadow:inset 0 0 0 2px #fff}.heat-cell span{font-weight:700}.heatmap-detail{color:#fff;background:#242d47;border-radius:12px;padding:17px;position:sticky;top:96px}.heatmap-detail .eyebrow{color:#a993ed}.heatmap-detail h3{margin:5px 0 12px}.heatmap-main-signal{border-bottom:1px solid #ffffff1f;margin-bottom:13px;padding-bottom:12px}.heatmap-main-signal b,.heatmap-main-signal span{display:block}.heatmap-main-signal b{color:#fff;margin-bottom:4px}.heatmap-main-signal span{color:#bbc2d2;line-height:1.55}.heatmap-detail-bars>div{margin:10px 0}.heatmap-detail-bars label{color:#d8dce7;justify-content:space-between;display:flex}.heatmap-detail-bars small{color:#9ea7ba;margin-top:4px;line-height:1.45;display:block}.detail-meter{background:#ffffff1f;border-radius:5px;height:5px;margin-top:4px;overflow:hidden}.detail-meter i{background:#a88af4;border-radius:5px;height:100%;display:block}.detail-meter.risk i{background:#dc766f}.heatmap-detail-note{color:#d5d9e3;background:#ffffff14;border-radius:8px;margin:13px 0 0;padding:9px 10px;line-height:1.55}@media (width<=720px){.period-overview,.method-grid,.period-columns,.model-status,.model-grid{grid-template-columns:1fr}.period-range{flex-direction:column;align-items:stretch}.period-range>span{display:none}.major-header{grid-template-columns:44px 1fr 22px;padding:14px}.major-age{text-align:left;grid-column:2}.sub-period>button{grid-template-columns:1fr 22px}.sub-period>button p,.sub-period>button small{grid-column:1/-1}}:root{--ink:#1f2430;--muted:#687083;--line:#dde0e7;--purple:#6045b8;--purple2:#8067cf;--paper:#fff;--nav:#fff;--shadow:none}body{color:var(--ink);background:#f7f7f8}.sidebar{color:#4b5262;border-right:1px solid var(--line);background:#fff;width:220px;padding:18px 14px}.brand{gap:9px;height:48px;padding:0 8px}.brand-mark{width:auto;height:auto;box-shadow:none;color:var(--purple);background:0 0;border-radius:0;font-weight:700}.brand b{color:var(--ink);letter-spacing:.04em}.brand span{color:#8a90a0;letter-spacing:.04em}.sidebar nav{gap:0;margin-top:18px}.sidebar nav a{color:#596173;border-left:2px solid #0000;border-radius:0;gap:10px;padding:10px 9px}.sidebar nav a:hover{color:var(--ink);background:#f5f4f8}.sidebar nav a.active{color:var(--purple);box-shadow:none;border-left-color:var(--purple);background:0 0;font-weight:600}.sidebar-person{border-top:1px solid var(--line);margin-top:auto;padding:16px 8px 0}.sidebar-person label{color:#7b8291;text-transform:none;letter-spacing:0}.sidebar-person select{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:4px}.main{margin-left:220px}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid var(--line);background:#fff;height:62px;padding:0 26px}.topbar-title{align-items:baseline;gap:10px;display:flex}.topbar-title strong{color:var(--ink);margin:0}.topbar-title span{color:#7d8493}.topbar-home{color:var(--purple);border-bottom:1px solid #0000;align-items:center;gap:7px;padding:7px 0;font-weight:600;display:inline-flex}.topbar-home:hover{border-bottom-color:var(--purple)}.engine-status i{box-shadow:none}.page-title{border-bottom:1px solid var(--line);align-items:center;margin-bottom:18px;padding-bottom:14px}.page-title .eyebrow,.panel-head .eyebrow{display:none}.page-title h1{letter-spacing:0;margin:0 0 5px}.page-title p{line-height:1.7}.panel{border:0;border-top:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;margin-bottom:18px;padding:18px 0}.panel-head h2{margin:0}.primary,.secondary{box-shadow:none;border-radius:4px;padding:9px 14px}.primary{background:var(--purple)}.secondary{background:#fff;border:1px solid #cfd3dc}.icon{border-radius:3px}input,select,textarea{border-radius:4px;padding:9px 10px}.query-bar{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;margin-bottom:18px;padding:10px 0}.segmented button{border-bottom:2px solid #0000;border-radius:0;padding:9px 13px}.segmented button.active{color:var(--purple);box-shadow:none;border-bottom-color:var(--purple);background:0 0}.date-box{background:#fff;border-radius:4px}.hero-summary{color:var(--ink);box-shadow:none;border-bottom:1px solid var(--line);background:0 0;border-radius:0;grid-template-columns:1fr 280px;gap:24px;margin-bottom:18px;padding:19px 0}.hero-summary h2{margin:6px 0 8px;line-height:1.6}.hero-summary p{color:#596173;line-height:1.75}.two-col,.chart-layout{gap:24px}.prose{line-height:1.85}.advice{border-left:2px solid var(--purple);background:0 0;border-radius:0;padding:5px 0 5px 14px}.score-details{background:0 0;border-left:0;border-right:0;border-radius:0}.score{border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:10px 0}.meter{border-radius:0}.loading,.error-box,.success-box{border-radius:4px}.action-row{margin-bottom:18px}.section-heading{justify-content:space-between;align-items:flex-end;margin:24px 0 10px;display:flex}.section-heading h2{margin:0 0 4px}.section-heading p{color:var(--muted);margin:0;line-height:1.6}.natal-home{border-bottom:1px solid var(--line);grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);gap:34px;padding:8px 0 24px;display:grid}.natal-home-chart{align-self:start}.natal-home-chart .zodiac{max-width:480px}.natal-home-reading{padding-top:8px}.natal-home-reading h1{color:var(--ink);margin:7px 0 9px}.natal-lede{color:#596173;max-width:720px;margin:0 0 18px;line-height:1.8}.natal-reading-section h2{color:#333a49;margin:0 0 6px}.natal-reading-section p{color:#555e70;margin:0;line-height:1.8}.natal-home-reading>.text-link{border-bottom:1px solid var(--purple);margin-top:12px;padding-bottom:2px;display:inline-block}.natal-report-body{max-width:1040px}.report-thesis{color:var(--ink);font-size:16px;font-weight:600;line-height:1.75}.natal-report-section{border-top:1px solid var(--line);padding:16px 0}.natal-report-section h3{margin-top:0}.reading-columns{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;margin-top:14px;display:grid}.reading-columns>div{padding:12px 18px 0 0}.reading-columns b{color:#343b4b;font-size:13px}.reading-columns ul{margin:7px 0 0;padding-left:19px}.reading-columns li{color:#5b6373;font-size:13px;line-height:1.7}.natal-integration{border-top:1px solid var(--line);padding:18px 0}.interpretation-limits{color:#737b8b;border-top:1px solid var(--line);padding-top:12px;font-size:12px}.reading-evidence{color:#687184;margin-top:12px;font-size:12px}.reading-evidence summary{cursor:pointer;color:var(--purple);font-weight:600}.reading-evidence p{border-left:1px solid #d8d3e7;margin:7px 0 0;padding-left:12px;line-height:1.7}.people-grid{border-top:1px solid var(--line);grid-template-columns:1fr;gap:0}.person-card{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:14px 4px;transition:none}.person-card:hover{box-shadow:none;border-color:var(--line);background:#f3f3f5;transform:none}.avatar{width:38px;height:38px;color:var(--purple);background:#ece9f5;border-radius:50%}.tags span{background:0 0;border:1px solid #d9d4e8;border-radius:3px}.modal{border-radius:6px;padding:20px}.placement-list{border:0;border-top:1px solid var(--line);background:0 0}.placement-list>div{border-bottom:1px solid var(--line);background:0 0;padding:10px 4px}.aspect-grid{border-top:1px solid var(--line);gap:0}.aspect-grid>div{border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:10px 6px}.aspect-grid .hard-row{background:#fbf5f5}.lord-grid{border-top:1px solid var(--line);gap:0}.lord-grid article{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:14px 5px}.synastry-hero,.period-overview,.model-status{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:0;gap:0;margin-bottom:18px}.synastry-hero{padding:0}.synastry-hero>div,.synastry-hero>p,.period-overview>div,.model-status>div{border-right:1px solid var(--line);background:#fff;padding:14px}.synastry-hero span,.synastry-hero p,.period-overview span,.period-overview small,.model-status span,.model-status small{color:#6f7788}.metric-row{border:1px solid var(--line);gap:0}.metric-row>div{border-right:1px solid var(--line);background:#fff;border-radius:0;padding:12px}.chat-window,.chat-input{border-radius:0}.chat-empty button{background:#fff;border-radius:4px}.message>div,.message.user>div{border-radius:4px}.chat-progress{max-width:850px;margin:0 auto 18px}.chat-progress .loading{margin:0}.chat-progress>small{color:#71717a;text-align:center;margin-top:6px;font-size:12px;display:block}.message.assistant>div{color:#27272a;font-size:14px;line-height:1.85}.message.assistant h2{color:#18181b;margin:20px 0 7px;font-size:16px;line-height:1.45}.message.assistant h3{color:#27272a;margin:16px 0 6px;font-size:15px;line-height:1.45}.message.assistant p{margin:0 0 11px}.message.assistant ul,.message.assistant ol{margin:6px 0 12px;padding-left:21px}.message.assistant li{margin:4px 0}.message.assistant blockquote{color:#62626b;background:#faf9ff;border-left:2px solid #a78bda;margin:14px 0 0;padding:8px 11px}.message.assistant blockquote p{margin:0}.message.assistant strong{color:#201747;font-weight:650}.period-flow{border-left:1px solid var(--border);margin:4px 0 18px 5px;padding-left:16px}.period-flow article{padding:0 0 12px}.period-flow article:last-child{padding-bottom:0}.period-flow b{color:#4c3b86;font-size:12px;font-weight:650}.period-flow p{margin:4px 0 0}.empty-state{border-radius:0;padding:48px 20px}.period-range{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;padding:10px 0}.method-grid{border-top:1px solid var(--line);gap:0}.method-grid p{border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:12px 6px}.major-list{border-top:1px solid var(--line);gap:0}.major-period{border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0}.major-period.current{border-color:var(--purple);box-shadow:none}.major-header{background:0 0;padding:14px 6px}.major-header:hover{background:#f3f3f5}.major-symbol{background:#ece9f5;border-radius:50%;width:38px;height:38px}.major-body{background:0 0;padding:18px 0}.period-columns{border-top:1px solid var(--line);gap:0}.period-columns>div{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:13px 8px}.sub-period{border:0;border-top:1px solid var(--line);border-radius:0;margin-top:0}.sub-period>.period-assessment{background:0 0}.node-note,.method-note{background:0 0;border-radius:0}.model-grid{border-top:1px solid var(--line);gap:0}.model-option{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:14px}.model-option:hover,.model-option.selected{border-color:var(--line);box-shadow:none;background:#f3f1f8}.timeline:before{background:var(--line)}.timeline-advice{background:0 0;border-left:2px solid #d8d2e7;border-radius:0;padding-left:10px}@media (width<=1050px){.sidebar{background:#fff}.main{margin-left:0}.natal-home{grid-template-columns:1fr}.natal-home-chart .zodiac{max-width:440px}}@media (width<=720px){.topbar{padding:0 14px}.topbar-title span{display:none}.topbar-home{margin-left:auto}.page{padding:18px 14px}.natal-home{gap:12px;padding-top:0}.natal-home-chart .zodiac{max-width:360px}.query-bar{align-items:stretch}.period-card{border-left:0;border-top:1px solid var(--line);padding:14px 0 0}.reading-columns{grid-template-columns:1fr}.reading-columns>div{padding-right:0}}:root{--background:#fafafa;--foreground:#18181b;--card:#fff;--card-foreground:#18181b;--muted-surface:#f4f4f5;--muted-foreground:#71717a;--border:#e4e4e7;--input:#d4d4d8;--accent:#f4f4f5;--accent-foreground:#27272a;--primary:#6d4bd1;--primary-foreground:#fff;--radius:7px;--ink:var(--foreground);--muted:var(--muted-foreground);--line:var(--border);--purple:var(--primary);--purple2:#8b6de0;--paper:var(--card);--shadow:none}html{background:var(--background)}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;font-family:Noto Sans SC,DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{letter-spacing:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #6d4bd159}.app-shell{background:var(--background);min-height:100vh}.app-rail{z-index:31;border-right:1px solid var(--border);background:#fff;flex-direction:column;align-items:center;width:64px;padding:12px 9px;display:flex;position:fixed;inset:0 auto 0 0}.rail-brand{border-radius:var(--radius);width:38px;height:38px;color:var(--primary);background:#faf9ff;border:1px solid #ded8f3;place-items:center;font-weight:700;display:grid}.app-rail nav{flex-direction:column;gap:6px;width:100%;margin-top:22px;display:flex}.app-rail nav a,.rail-settings{border-radius:var(--radius);color:#71717a;place-items:center;width:42px;height:42px;margin:0 auto;transition:background .15s,color .15s;display:grid}.app-rail nav a:hover,.rail-settings:hover{background:var(--accent);color:#27272a}.app-rail nav a.active,.rail-settings.active{color:var(--primary);background:#f0edfb}.rail-settings{margin-top:auto}.sidebar{color:#3f3f46;border-right:1px solid var(--border);width:240px;box-shadow:none;background:#fff;padding:16px 16px 14px;left:64px}.brand{justify-content:space-between;height:42px;padding:0 4px}.brand>div{min-width:0}.brand b{color:#18181b;letter-spacing:0;font-weight:650;display:block}.brand span{color:#a1a1aa;letter-spacing:0;margin-top:2px;display:block}.sidebar-person{border-top:1px solid var(--border);border-bottom:1px solid var(--border);order:0;margin:14px 0 10px;padding:14px 4px 12px}.sidebar-person label{color:#71717a;margin-bottom:7px}.person-select{border:1px solid var(--input);border-radius:var(--radius);color:#71717a;background:#fff;align-items:center;gap:7px;width:100%;height:36px;padding:0 8px;display:flex}.person-select select{color:#27272a;width:100%;min-width:0;height:34px;box-shadow:none;background:0 0;border:0;padding:0}.nav-group{border-bottom:1px solid var(--border);padding:7px 0 10px}.nav-group>span{color:#a1a1aa;padding:0 9px 6px;font-weight:500;display:block}.sidebar .nav-group nav{gap:2px;margin:0}.sidebar .nav-group nav a{border-radius:var(--radius);color:#52525b;border:0;gap:10px;min-height:34px;padding:8px 9px;font-weight:450}.sidebar .nav-group nav a:hover{background:var(--accent);color:#18181b}.sidebar .nav-group nav a.active{color:var(--primary);box-shadow:inset 2px 0 var(--primary);background:#f0edfb;font-weight:600}.nav-group-tools{border-bottom:0}.main{min-height:100vh;margin-left:304px}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:saturate(180%)blur(8px);backdrop-filter:saturate(180%)blur(8px);background:#fffffff5;height:54px;padding:0 22px}.topbar-title{color:#a1a1aa;align-items:center;gap:9px;min-width:0;display:flex}.topbar-title a{color:#71717a}.topbar-title a:hover{color:#27272a}.topbar-title strong{color:#27272a;margin:0;font-weight:600}.topbar-actions{align-items:center;gap:9px;display:flex}.topbar-person{border:1px solid var(--border);border-radius:var(--radius);color:#71717a;background:#fff;align-items:center;gap:7px;height:34px;padding:0 8px;display:flex}.topbar-person select{max-width:180px;height:32px;box-shadow:none;background:0 0;border:0;padding:0}.language-select{border:1px solid var(--border);color:#52525b;border-radius:var(--radius);white-space:nowrap;background:#fff;align-items:center;gap:6px;height:34px;padding:0 8px;display:flex}.language-select>svg{color:#71717a;flex:none}.language-select select{max-width:118px;height:30px;box-shadow:none;color:#27272a;cursor:pointer;background:0 0;border:0;padding:0 18px 0 0;font-size:12px}.language-select select:focus{outline:0}.topbar-home{border:1px solid var(--border);border-radius:var(--radius);color:#3f3f46;background:#fff;align-items:center;gap:7px;height:34px;padding:0 10px;font-weight:500;display:inline-flex}.topbar-home:hover{color:var(--primary);background:#faf9ff;border-color:#c4b5e8}.page{max-width:1260px;padding:20px 22px 36px}.page-title{border-bottom:1px solid var(--border);align-items:flex-start;margin-bottom:16px;padding:0 0 14px}.page-title h1{color:#18181b;margin:0 0 5px;font-weight:650}.page-title p{color:#71717a;line-height:1.65}.panel{border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin-bottom:14px;padding:17px}.panel-head{margin-bottom:14px}.panel-head h2{color:#27272a;font-weight:650}.panel-head .eyebrow,.page-title .eyebrow{display:none}.primary,.secondary,.icon,input,select,textarea{border-radius:var(--radius)}.primary{background:var(--primary);color:var(--primary-foreground);box-shadow:none;border:1px solid var(--primary)}.primary:hover{filter:none;background:#5f3fc3}.secondary{border:1px solid var(--border);color:#3f3f46;background:#fff}.secondary:hover{background:var(--accent);color:#27272a;border-color:#d4d4d8}input,select,textarea{border-color:var(--input)}input:focus,select:focus,textarea:focus{border-color:#9f8bd9;box-shadow:0 0 0 3px #6d4bd114}.natal-home{border:0;grid-template-columns:minmax(0,1fr) 352px;grid-template-areas:"reading chart";align-items:start;gap:16px;padding:0 0 20px;display:grid}.natal-home-reading{border:1px solid var(--border);border-radius:var(--radius);background:#fff;grid-area:reading;padding:20px 22px}.natal-home-reading>.eyebrow{color:var(--primary);letter-spacing:.08em}.natal-home-reading h1{color:#18181b;margin:8px 0 10px;font-weight:650}.natal-lede{border-bottom:1px solid var(--border);color:#52525b;max-width:760px;margin:0 0 15px;padding-bottom:15px;line-height:1.78}.natal-overview{color:#3f3f46;margin:0 0 15px;line-height:1.82}.natal-reading-section{border-top:1px solid var(--border);padding:14px 0}.natal-reading-section h2{color:#27272a;margin:0 0 8px;font-weight:650}.natal-reading-section p{color:#52525b;line-height:1.82}.natal-home-reading>.text-link{border:1px solid var(--border);border-radius:var(--radius);color:var(--primary);align-items:center;margin-top:8px;padding:8px 10px;display:inline-flex}.natal-home-reading>.text-link:hover{background:#faf9ff;border-color:#d8cff2}.ad-slot{color:#a1a1aa;background:#fafafa;border:1px dashed #d4d4d8;justify-content:center;align-items:center;min-height:74px;display:flex}.ad-slot span{letter-spacing:.08em;font-size:12px}.ad-slot-sidebar{background:0 0;border:0;min-height:50px;margin:14px 4px 0;overflow:hidden}.ad-slot-reading-top{background:0 0;border:0;min-height:90px;margin:0;overflow:hidden}.ad-slot-reading-bottom{margin:18px 0 0}.analysis-ad-row{max-width:1260px;margin:0 auto;padding:12px 22px 0}.ad-frame-stage{width:100%;position:relative;overflow:visible}.ad-frame{transform-origin:top;background:0 0;border:0;display:block;position:absolute;top:0;left:50%;translate:-50%}.natal-home-chart{border:1px solid var(--border);border-radius:var(--radius);background:#fff;grid-area:chart;align-self:start;padding:15px;position:sticky;top:70px}.chart-summary-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding-bottom:12px;display:flex}.chart-summary-head span,.chart-summary-head b{display:block}.chart-summary-head span{color:#71717a}.chart-summary-head b{color:#27272a;margin-top:3px}.chart-summary-head a{color:var(--primary)}.natal-home-chart .zodiac{max-width:322px;margin:10px auto}.compact-placements{border-top:1px solid var(--border);margin-top:6px}.compact-placements-title{justify-content:space-between;align-items:center;padding:12px 2px 8px;display:flex}.compact-placements-title b{color:#27272a}.compact-placements-title span{color:#a1a1aa}.compact-placements>div:not(.compact-placements-title){border-top:1px solid #f0f0f1;grid-template-columns:62px minmax(0,1fr) 52px;align-items:center;gap:8px;min-height:31px;padding:5px 2px;display:grid}.compact-placements>div b{color:#3f3f46;font-weight:600}.compact-placements>div span{color:#71717a;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.compact-placements>div small{color:#a1a1aa;text-align:right}.section-heading{border-top:1px solid var(--border);margin:6px 0 10px;padding-top:16px}.section-heading h2{color:#27272a;font-weight:650}.section-heading p{color:#71717a}.query-bar{border:1px solid var(--border);border-radius:var(--radius);box-shadow:none;background:#fff;margin-bottom:14px;padding:8px}.segmented{background:var(--muted-surface);border-radius:5px;gap:2px;padding:3px}.segmented button{color:#71717a;border:0;border-radius:4px;padding:7px 11px}.segmented button.active{color:#27272a;border:1px solid var(--border);background:#fff;box-shadow:0 1px 2px #0000000a}.date-box{border-radius:var(--radius);background:#fff;height:36px;padding:0;position:relative;overflow:visible}.query-date-picker{min-width:220px;position:relative}.date-trigger{color:#27272a;text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;height:34px;padding:0 9px;display:flex}.date-trigger span{white-space:nowrap;font-variant-numeric:tabular-nums;flex:1}.date-trigger svg:last-child{color:#8b8b94}.date-popover{z-index:70;border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:340px;padding:12px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 34px #18181b24}.picker-nav{grid-template-columns:72px 1fr 72px;align-items:center;margin-bottom:10px;display:grid}.picker-nav strong{text-align:center;color:#27272a;font-size:13px}.picker-nav button{color:#6d4bd1;background:0 0;border:0;border-radius:4px;padding:7px 4px;font-size:12px}.picker-nav button:hover{background:#f4f1fb}.picker-jump{grid-template-columns:1.2fr auto .8fr;align-items:center;gap:5px;display:grid}.picker-jump>span{color:#a1a1aa;text-align:center}.picker-jump select{border-radius:4px;width:100%;min-width:0;padding:6px 7px;font-size:12px}.day-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.day-grid>span{text-align:center;color:#8b8b94;padding:5px 0;font-size:12px}.day-grid>i{display:block}.day-grid>button,.month-grid>button,.year-grid>button{color:#3f3f46;background:#fff;border:1px solid #0000;border-radius:4px;min-height:35px;padding:5px}.day-grid>button:hover,.month-grid>button:hover,.year-grid>button:hover,.week-grid>button:hover{background:#f4f1fb}.day-grid>button.selected,.month-grid>button.selected,.year-grid>button.selected,.week-grid>button.selected{color:#fff;background:#6d4bd1;border-color:#6d4bd1}.month-grid,.year-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.week-grid{grid-template-columns:repeat(3,1fr);gap:5px;max-height:310px;padding-right:3px;display:grid;overflow-y:auto}.week-grid>button{border:1px solid var(--border);color:#3f3f46;text-align:left;background:#fff;border-radius:4px;min-height:52px;padding:6px}.week-grid>button b,.week-grid>button span{display:block}.week-grid>button b{font-size:12px}.week-grid>button span{color:#8b8b94;margin-top:3px;font-size:12px}.week-grid>button.selected span{color:#eeeafd}.range-field{color:#697286;flex-direction:column;gap:5px;display:flex}.period-range .range-field>.query-date-picker{border:1px solid var(--border);border-radius:var(--radius);background:#fff;min-width:190px}.hero-summary{color:#18181b;border:1px solid var(--border);border-radius:var(--radius);background:#fff;grid-template-columns:1fr 260px;gap:20px;margin-bottom:14px;padding:18px}.hero-summary .eyebrow{color:var(--primary)}.hero-summary h2{color:#27272a;margin:6px 0 8px}.hero-summary p{color:#52525b}.period-card{border-left:1px solid var(--border);padding-left:18px}.period-card span,.period-card small{color:#71717a}.period-card strong{color:#27272a}.prose{color:#3f3f46;line-height:1.9}.advice{border-left:2px solid var(--primary);background:#faf9ff;padding:9px 12px}.score-details{border:1px solid var(--border);border-radius:var(--radius);background:#fff}.score{border-bottom:1px solid var(--border);padding:10px}.meter,.detail-meter{border-radius:999px}.loading{border-radius:var(--radius);background:#faf9ff;border:1px solid #e5def5}.error-box,.success-box{border-radius:var(--radius)}.chart-layout,.two-col{gap:14px}.placement-list,.aspect-grid,.lord-grid,.people-grid,.method-grid,.major-list,.model-grid{border-color:var(--border)}.person-card,.major-period,.sub-period,.model-option,.modal,.chat-window,.chat-input,.empty-state{border-radius:var(--radius)}.person-card:hover,.major-header:hover,.model-option:hover{background:var(--accent)}.avatar,.major-symbol{border-radius:var(--radius);color:var(--primary);background:#f0edfb}.tags span{border-color:var(--border);background:#fafafa;border-radius:4px}.birth-fields{border:1px solid var(--border);border-radius:var(--radius);grid-column:1/-1;margin:0;padding:12px}.birth-fields legend{color:#52525b;padding:0 5px;font-size:12px}.birth-fields>.birth-picker-row{grid-template-columns:minmax(260px,1.45fr) minmax(230px,1fr);gap:12px;display:grid}.birth-date-control,.birth-time-control{color:#52525b;flex-direction:column;gap:6px;font-size:12px;display:flex}.birth-date-editor{gap:7px;display:grid}.birth-date-numbers{border:1px solid var(--border);border-radius:var(--radius);background:#fff;grid-template-columns:1.5fr auto 1fr auto 1fr;align-items:center;display:grid;overflow:hidden}.birth-date-numbers label{color:#52525b;padding:0 8px;margin:0!important;display:block!important}.birth-date-numbers input{text-align:center;font-variant-numeric:tabular-nums;width:100%;min-width:0;font-size:14px;box-shadow:none!important;border:0!important;border-radius:0!important;margin:0!important;padding:9px 2px!important}.birth-date-numbers>span{color:#a1a1aa;font-size:14px}.birth-calendar-row{color:#71717a;align-items:center;gap:8px;display:flex}.birth-calendar-row>span{white-space:nowrap}.birth-calendar-row>.query-date-picker{border:1px solid var(--border);border-radius:var(--radius);background:#fff;flex:1;min-width:0}.birth-time-control>div{grid-template-columns:1fr 14px 1fr;align-items:center;gap:5px;display:grid}.birth-time-control select{font-variant-numeric:tabular-nums;width:100%;margin:0;padding:8px 9px}.birth-time-control b{text-align:center;color:#71717a}.birth-fields small,.location-field small,.form-grid label>small{color:#71717a;margin-top:7px;font-size:12px;line-height:1.5;display:block}.location-field{position:relative}.location-options{border:1px solid var(--border);border-radius:var(--radius);background:var(--border);gap:1px;margin-top:7px;display:grid;overflow:hidden}.location-options button{text-align:left;color:#3f3f46;background:#fff;border:0;justify-content:space-between;gap:14px;padding:9px 11px;display:flex}.location-options button:hover{background:#faf9ff}.location-options b{font-size:12px;font-weight:600}.location-options span{color:#71717a;font-size:12px}.reading-columns{border-color:var(--border)}.reading-evidence p{border-left-color:var(--border)}.period-range{border:1px solid var(--border);border-radius:var(--radius);box-shadow:none;background:#fff;padding:10px}.period-overview,.model-status,.synastry-hero{border:1px solid var(--border);border-radius:var(--radius);color:#27272a;background:#fff}.period-overview>div,.model-status>div,.synastry-hero>div,.synastry-hero>p{border-right:1px solid var(--border);color:#27272a;background:#fff}.period-overview span,.period-overview small,.model-status span,.model-status small,.synastry-hero span,.synastry-hero p{color:#71717a}.major-period{background:#fff}.major-period.current{box-shadow:inset 2px 0 var(--primary);border-color:#cbbfeb}.major-body,.sub-period>.period-assessment{background:#fff}.sub-period.current{background:#faf9ff}.node-note,.method-note{background:#fafafa}.timeline time:after{box-shadow:0 0 0 3px var(--background)}@media (width<=1180px){.natal-home{grid-template-columns:minmax(0,1fr) 310px}.natal-home-reading{padding:22px}}@media (width<=1050px){.app-rail{display:none}.sidebar{width:260px;box-shadow:none;left:0;transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:16px 0 40px #18181b1f}.main{margin-left:0}.natal-home{grid-template-columns:1fr;grid-template-areas:"reading""chart"}.natal-home-chart{position:static}.natal-home-chart .zodiac{max-width:420px}}@media (width<=720px){.topbar{height:54px;padding:0 12px}.topbar-title>a,.topbar-title>span,.topbar-person{display:none}.topbar-actions{margin-left:auto}.language-select{padding:0 5px}.language-select select{max-width:92px}.topbar-home{padding:0 8px}.page{padding:14px 12px 28px}.natal-home-reading{padding:18px 16px}.natal-home-chart{padding:13px}.query-bar{align-items:stretch}.segmented{width:100%;overflow-x:auto}.segmented button{flex:1;min-width:58px}.date-box{flex:1;min-width:220px}.query-date-picker{width:100%;min-width:0}.date-popover{width:auto;max-height:calc(100vh - 130px);position:fixed;top:112px;left:12px;right:12px;overflow:auto}.period-card{border-left:0;border-top:1px solid var(--border);padding:14px 0 0}.compact-placements>div:not(.compact-placements-title){grid-template-columns:54px minmax(0,1fr) 48px}.birth-fields>.birth-picker-row{grid-template-columns:1fr}.birth-calendar-row{flex-direction:column;align-items:stretch;gap:5px}.location-options button{display:block}.location-options span{margin-top:3px;display:block}.ad-slot-sidebar{min-height:84px}}.provider-tabs{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(6,minmax(112px,1fr));display:grid}.provider-tabs button{text-align:left;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:58px;color:var(--foreground);background:#fff;padding:10px 12px}.provider-tabs button:hover{background:#fafafa}.provider-tabs button.active{color:var(--primary);box-shadow:inset 0 -2px var(--primary);background:#f4f1fb}.provider-tabs strong,.provider-tabs small{display:block}.provider-tabs strong{font-size:14px}.provider-tabs small{color:var(--muted);margin-top:4px;font-size:12px}.ai-connection-form{grid-template-columns:1fr 1fr;gap:14px 18px;display:grid}.ai-connection-form label{color:#3f4655;flex-direction:column;gap:6px;font-weight:600;display:flex}.ai-connection-form label:nth-child(3){grid-column:1/-1}.ai-connection-form small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}.provider-links{gap:18px;margin-top:14px;display:flex}.provider-links a{color:var(--primary);border-bottom:1px solid #cfc5ed;padding-bottom:2px}.legal-grid{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.legal-grid section{padding:16px 18px 16px 0}.legal-grid section+section{border-left:1px solid var(--border);padding-left:18px}.legal-grid h3{color:#27272a;margin:0 0 8px;font-size:14px;line-height:1.45}.legal-grid p,.legal-note{color:#52525b;margin:0;font-size:12px;line-height:1.75}.legal-note{margin-top:14px}.legal-links{flex-wrap:wrap;gap:18px;margin-top:12px;display:flex}.legal-links a{color:var(--primary);border-bottom:1px solid #cfc5ed;padding-bottom:2px;font-size:12px}@media (width<=900px){.provider-tabs{grid-template-columns:repeat(3,1fr)}.legal-grid{grid-template-columns:1fr}.legal-grid section{padding:14px 0}.legal-grid section+section{border-left:0;border-top:1px solid var(--border);padding-left:0}}@media (width<=720px){.provider-tabs{grid-template-columns:repeat(2,1fr)}.ai-connection-form{grid-template-columns:1fr}.ai-connection-form label:nth-child(3){grid-column:auto}}.mobile-nav-backdrop{display:none}@media (width<=1050px){.sidebar{z-index:42;width:min(86vw,320px);height:100dvh;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));overscroll-behavior:contain;transition:transform .2s;overflow-y:auto}.sidebar.open{box-shadow:18px 0 48px #18181b33}.mobile-nav-backdrop{z-index:41;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#18181b61;border:0;padding:0;display:block;position:fixed;inset:0}.sidebar .brand{z-index:2;background:#fff;position:sticky;top:0}.sidebar nav a{min-height:44px}.sidebar-person select{min-height:42px}}@media (width<=720px){html{scroll-padding-top:64px;font-size:13px}body{-webkit-text-size-adjust:100%;min-width:0;overflow-x:hidden}.app-shell,.main{width:100%;min-width:0}.topbar{height:56px;padding:env(safe-area-inset-top) max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left));gap:7px}.mobile-menu-button{flex:0 0 40px;place-items:center;width:40px;height:40px;padding:0;display:grid}.topbar-title{flex:1;min-width:0;display:block}.topbar-title>a,.topbar-title>span{display:none}.topbar-title strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:14px;line-height:1.3;display:block;overflow:hidden}.topbar-actions{flex:none;gap:6px;margin:0}.topbar-person{display:none}.language-select{border-color:var(--border);justify-content:center;width:40px;min-width:40px;height:40px;padding:0;position:relative}.language-select>svg{width:18px;height:18px}.language-select select{opacity:0;cursor:pointer;width:100%;max-width:none;height:100%;padding:0;position:absolute;inset:0}.topbar-home{white-space:nowrap;justify-content:center;gap:0;width:40px;min-width:40px;height:40px;padding:0;overflow:hidden;font-size:0!important}.topbar-home svg{width:18px;height:18px}.page{width:100%;padding:14px max(12px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.page-title{align-items:stretch;gap:12px;margin-bottom:14px;padding-bottom:13px;display:flex}.page-title h1,.natal-home-reading h1{letter-spacing:0;font-size:16px;line-height:1.4}.page-title p,.section-heading p{font-size:12px;line-height:1.65}.page-title>.primary,.page-title>.secondary{width:100%}.section-heading{padding-top:12px}.section-heading h2,.panel-head h2,.chat-empty h2{font-size:16px;line-height:1.4}input,select,textarea,.primary,.secondary{min-height:44px;font-size:13px}.icon{place-items:center;min-width:40px;min-height:40px;display:inline-grid}.primary,.secondary{padding:10px 13px}textarea{min-height:96px}.panel{margin-bottom:12px;padding:14px 12px}.panel-head{gap:10px;margin-bottom:12px}.panel-head h2{margin:0}.prose,.message.assistant>div{font-size:13px;line-height:1.78}.prose h3,.message.assistant h2,.message.assistant h3{font-size:15px}.hero-summary{padding:15px 13px;display:block}.hero-summary h2{font-size:16px;line-height:1.55}.hero-summary p{font-size:13px;line-height:1.7}.period-card strong{font-size:16px}.natal-home{padding-bottom:12px;display:block}.natal-home-reading,.natal-home-chart{margin-bottom:12px;padding:14px 12px}.natal-lede,.natal-overview,.natal-reading-section p{font-size:13px;line-height:1.75}.natal-home-chart .zodiac,.zodiac{width:100%;max-width:min(100%,390px)}.chart-summary-head{gap:10px}.compact-placements>div:not(.compact-placements-title){grid-template-columns:54px minmax(0,1fr) 48px;min-height:38px}.query-bar{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:9px;margin-bottom:12px;padding:9px;display:grid}.query-bar>select{width:100%;min-width:0}.query-bar>svg{display:none}.segmented{overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:x proximity;width:100%;display:flex;overflow-x:auto}.segmented::-webkit-scrollbar{display:none}.segmented button{scroll-snap-align:start;flex:none;min-width:64px;min-height:40px;padding:8px 11px}.date-box{border:1px solid var(--border);width:100%;min-width:0;height:44px;margin:0}.date-trigger{height:42px;padding:0 11px}.query-bar>.primary{width:100%}.date-popover{z-index:80;width:auto;max-height:calc(100dvh - 76px);padding:10px;position:fixed;inset:64px 8px auto;overflow:auto;box-shadow:0 18px 50px #18181b33}.picker-nav{grid-template-columns:64px minmax(0,1fr) 64px}.picker-nav button,.picker-jump select{min-height:40px}.day-grid>button,.month-grid>button,.year-grid>button{min-height:42px}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(100dvh - 156px)}.week-grid>button{min-height:58px}.timeline:before,.timeline time:after{display:none}.timeline article{padding:0 0 18px;display:block}.timeline time{color:var(--primary);background:#faf9ff;border:1px solid #ddd6f1;margin-bottom:8px;padding:4px 7px;display:inline-block}.timeline h3{font-size:14px;line-height:1.5}.timeline p,.timeline li{font-size:12px;line-height:1.65}.timeline-advice{padding:8px 0 8px 10px}.score-details summary{min-height:48px;padding:12px 14px}.score-grid{grid-template-columns:1fr;padding:0 12px 12px}.score strong{font-size:16px}.action-row,.model-actions,.modal-actions{grid-template-columns:1fr;gap:8px;width:100%;display:grid}.action-row>button,.model-actions>button,.modal-actions>button{width:100%}.modal-actions{grid-template-columns:1fr 1fr}.people-grid{width:100%}.person-card{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:13px 2px}.person-card h3{font-size:14px}.person-card p{overflow-wrap:anywhere;line-height:1.55}.person-actions{gap:0}.person-actions .icon{min-width:38px}.modal-backdrop{background:#18181b6b;place-items:end center;padding:0}.modal{width:100%;max-width:none;max-height:92dvh;padding:14px 12px max(12px,env(safe-area-inset-bottom));overscroll-behavior:contain;border-radius:12px 12px 0 0}.modal>.panel-head{z-index:3;border-bottom:1px solid var(--border);background:#fff;margin:-14px -12px 12px;padding:13px 12px 10px;position:sticky;top:-14px}.modal-actions{bottom:calc(-1 * max(12px,env(safe-area-inset-bottom)));z-index:3;padding:10px 12px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fff;margin:14px -12px 0;position:sticky}.form-grid,.event-form{grid-template-columns:1fr;gap:12px}.full{grid-column:auto}.birth-fields{padding:10px}.birth-fields>.birth-picker-row{grid-template-columns:minmax(0,1fr)}.birth-date-numbers{grid-template-columns:1.35fr auto 1fr auto 1fr}.birth-date-numbers label{padding:0 6px}.birth-calendar-row{display:block}.birth-calendar-row>span{margin-bottom:5px;display:block}.location-options button{min-height:52px}.placement-list,.aspect-grid,.lord-grid{grid-template-columns:1fr}.placement-list>div{min-width:0}.aspect-grid>div{align-items:flex-start;line-height:1.55}.aspect-grid>div span{overflow-wrap:anywhere;min-width:0}.lord-grid article{padding:12px 4px}.period-range{grid-template-columns:1fr;gap:9px;padding:10px 0;display:grid}.period-range>span{display:none}.period-range .range-field>.query-date-picker{width:100%;min-width:0}.period-range>.primary,.period-range>.secondary{width:100%}.period-overview,.model-status,.synastry-hero{grid-template-columns:1fr}.period-overview>div,.model-status>div,.synastry-hero>div,.synastry-hero>p{border-right:0;border-bottom:1px solid var(--border);padding:12px}.synastry-hero strong,.metric-row strong{font-size:16px}.major-header{min-height:58px;padding:12px 4px}.major-body{padding:14px 0}.period-columns{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-row>div:nth-child(2n){border-right:0}.backtest-table{overflow:visible}.backtest-table>div{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;min-width:0;padding:12px 2px}.backtest-table>div b{grid-column:1/-1;font-size:13px}.backtest-table>div time,.backtest-table>div span,.backtest-table>div em{font-size:12px}.event-list article{grid-template-columns:72px minmax(0,1fr) 40px;gap:8px}.provider-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-tabs button{min-height:68px;padding:10px}.provider-tabs strong{overflow-wrap:anywhere;font-size:13px}.ai-connection-form{grid-template-columns:1fr;gap:12px}.ai-connection-form label:nth-child(3){grid-column:auto}.provider-links,.legal-links{grid-template-columns:1fr;gap:8px;display:grid}.provider-links a,.legal-links a{border:1px solid var(--border);border-radius:var(--radius);align-items:center;min-height:40px;padding:8px 10px;display:flex}.legal-grid{grid-template-columns:1fr}.chat-page{height:calc(100dvh - 56px);min-height:0;padding-top:10px;padding-bottom:0}.chat-window{min-height:0;padding:14px 10px}.chat-empty{padding:24px 4px}.chat-empty div{text-align:left;grid-template-columns:1fr;gap:7px;display:grid}.chat-empty button{text-align:left;min-height:42px}.message{width:100%;max-width:100%;margin-bottom:15px}.message.user{width:90%;max-width:90%}.message>div{padding:10px 11px}.chat-input{padding:9px max(8px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fff;gap:8px;position:sticky;bottom:0}.chat-input textarea{min-height:48px;max-height:128px}.chat-input button{min-width:48px;padding-inline:12px}.empty-state{padding:38px 16px}.ad-slot-reading-top,.ad-slot-reading-bottom{min-height:62px}}@media (width<=359px){.topbar{gap:4px;padding-left:8px;padding-right:8px}.mobile-menu-button,.language-select,.topbar-home{width:38px;min-width:38px;height:38px}.topbar-title strong{font-size:13px}.page{padding-left:10px;padding-right:10px}.provider-tabs strong,.provider-tabs small{font-size:12px}.picker-nav{grid-template-columns:58px minmax(0,1fr) 58px}.picker-nav button{padding-inline:2px;font-size:12px}}@media (width<=720px) and (orientation:landscape){.modal{max-height:96dvh}.date-popover{max-height:calc(100dvh - 66px);top:58px}.sidebar{width:min(72vw,320px)}}.error-box{white-space:pre-wrap;line-height:1.65}.connection-check{border:1px solid var(--border);border-radius:var(--radius);color:#52525b;background:#fafafa;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;margin-top:14px;padding:12px 14px;display:grid}.connection-check svg{color:#71717a;margin-top:1px}.connection-check strong,.connection-check p,.connection-check small{display:block}.connection-check p{margin:3px 0 0;line-height:1.6}.connection-check small{color:#71717a;margin-top:5px}.connection-check.verified{color:#226442;background:#f3faf6;border-color:#bbdbc8}.connection-check.verified svg{color:#2f855a}.connection-check.error{color:#953842;background:#fff6f6;border-color:#efc4c7}.connection-check.error svg{color:#b54650}
