
:root{--bg:#f8f5f0;--surface:#fffdf9;--surface2:#efe8df;--ink:#241d2b;--muted:#675d6d;--brand:#5b2d6f;--brand2:#8d5a9d;--accent:#c79245;--line:#ded4c9;--danger:#9b2f3d;--shadow:0 12px 35px rgba(42,25,45,.10);--radius:18px;--max:1160px}
[data-theme="dark"]{--bg:#18131c;--surface:#241d2a;--surface2:#302638;--ink:#f8f0fa;--muted:#c7b9ca;--brand:#c58bd7;--brand2:#9c67ad;--accent:#e0b56d;--line:#4b3d52;--shadow:0 16px 38px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{max-width:100%;overflow-x:clip;scroll-behavior:smooth}body{margin:0;max-width:100%;overflow-x:clip;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65} @supports not (overflow-x:clip){body{overflow-x:hidden}}a{color:var(--brand);text-underline-offset:3px}img,canvas,svg,video,table,pre{max-width:100%}.skip-link{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--bg);padding:10px 14px;z-index:999}.skip-link:focus{left:8px}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{max-width:var(--max);margin:auto;display:flex;align-items:center;gap:18px;padding:12px 20px}.brand{font-weight:850;color:var(--ink);text-decoration:none;letter-spacing:-.03em}.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--brand);color:white;margin-right:8px}.nav{display:flex;gap:16px;align-items:center;margin-left:auto}.nav a{color:var(--muted);text-decoration:none;font-weight:650}.nav a:hover{color:var(--brand)}.nav a.btn-primary{color:white}.icon-btn,.menu-btn{min-width:44px;min-height:44px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;cursor:pointer}.menu-btn{display:none}.container{width:min(var(--max),calc(100% - 32px));margin:auto}.hero{padding:72px 0 34px}.eyebrow{color:var(--brand);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.hero h1,.page-head h1{font-size:clamp(2.25rem,6vw,4.8rem);line-height:1.03;letter-spacing:-.055em;margin:.3em 0}.answer-block{font-size:1.16rem;color:var(--muted);max-width:820px}.page-head{padding:50px 0 24px}.breadcrumbs{font-size:.9rem;color:var(--muted);padding-top:20px}.breadcrumbs a{color:var(--muted)}main section{margin:28px 0;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.2;letter-spacing:-.03em}h3{line-height:1.25}.hero-actions,.actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:12px;font-weight:800;text-decoration:none;border:1px solid transparent;cursor:pointer;font:inherit}.btn-primary{background:var(--brand);color:white}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-danger{background:var(--danger);color:white}.grid{display:grid;gap:18px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.cards article,.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);padding:20px;border-radius:16px}.cards .btn,.card .btn{margin-top:auto}table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}th,td{border:1px solid var(--line);padding:11px;text-align:left}th{background:var(--surface2)}details{border-bottom:1px solid var(--line);padding:14px 0}summary{font-weight:800;cursor:pointer}.site-footer{border-top:1px solid var(--line);margin-top:60px;padding:42px 0}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:28px}.footer-grid a{display:block;margin:8px 0;color:var(--muted)}label{display:grid;gap:6px;font-weight:700;margin:14px 0}input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px}.hp{position:absolute;left:-9999px}.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:920px;margin:auto;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:18px}.cookie-banner[hidden]{display:none}.cookie-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:100;display:grid;place-items:center;padding:20px}.cookie-modal[hidden]{display:none}.cookie-panel{width:min(620px,100%);background:var(--surface);border-radius:18px;padding:24px}.app-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:24px;align-items:start}.app-panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}.result-panel{position:sticky;top:86px;max-height:calc(100vh - 102px);max-height:calc(100dvh - 102px);overflow:auto}.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.tab{white-space:nowrap}.tab[aria-selected="true"]{background:var(--brand);color:#fff}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.number-card{border:1px solid var(--line);background:var(--surface2);border-radius:15px;padding:15px}.number-card strong{display:block;font-size:2rem;color:var(--brand)}.trace{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem;white-space:pre-wrap}.timeline{display:grid;gap:10px}.timeline-item{border-left:5px solid var(--accent);padding:12px 14px;background:var(--surface2);border-radius:0 12px 12px 0}.notice{background:var(--surface2);border-left:5px solid var(--accent);padding:14px;border-radius:8px}.gate{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:110;display:grid;place-items:center;padding:20px}.gate[hidden]{display:none}.gate-card{width:min(560px,100%);background:var(--surface);padding:26px;border-radius:18px}.az-list{columns:3;column-gap:24px}.az-list a{display:block;padding:6px}.status{min-height:1.5em;color:var(--muted)}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{grid-template-columns:1fr}.result-panel{position:sticky;top:70px;max-height:44vh;z-index:20}.footer-grid{grid-template-columns:1fr 1fr}.nav{display:none;position:absolute;top:64px;left:16px;right:16px;background:var(--surface);padding:16px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.open{display:flex}.menu-btn{display:inline-grid;place-items:center;margin-left:auto}.nav+.icon-btn{margin-left:0}}
@media(max-width:600px){.container{width:min(100% - 22px,var(--max))}.hero{padding-top:42px}.cards,.result-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.az-list{columns:1}main section{padding:20px}.app-panel{padding:16px}.hero h1,.page-head h1{font-size:clamp(2.15rem,12vw,3.3rem)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.cookie-banner,.cookie-modal,.no-print,.app-panel:first-child{display:none!important}.app-shell{display:block}.result-panel{position:static;max-height:none;overflow:visible;border:0}.container{width:100%}body{background:white;color:black}}

.modal-close{position:absolute;right:1rem;top:.75rem;border:0;background:transparent;font-size:2rem;line-height:1;cursor:pointer;color:inherit}.gate-card{position:relative}.form-note{min-height:1.4em;font-size:.9rem}.nav button{font:inherit}.status-badge{font-weight:700}.status-VERIFIED{color:#18723b}.status-PENDING{color:#9a5a00}.danger{border-color:#9d1c1c;color:#9d1c1c}.admin-actions{display:flex;gap:.5rem;flex-wrap:wrap}


/* Premium visual system — Version 4 */
body{background:radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 28rem),radial-gradient(circle at 92% 12%,color-mix(in srgb,var(--brand) 10%,transparent),transparent 32rem),var(--bg)}
.site-header{box-shadow:0 8px 30px rgba(35,19,40,.05)}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:1.08rem}.brand-mark{box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 8px 20px rgba(91,45,111,.22)}
.hero h1,.page-head h1,h2{font-family:Georgia,"Times New Roman",serif}.page-head{position:relative;padding-bottom:34px}.page-head:after{content:"";display:block;width:78px;height:3px;margin-top:24px;background:linear-gradient(90deg,var(--accent),transparent);border-radius:99px}
main section{box-shadow:0 18px 50px rgba(42,25,45,.075);border-color:color-mix(in srgb,var(--line) 78%,var(--accent))}
.cards article,.card,.number-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.cards article:hover,.card:hover,.number-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(42,25,45,.12);border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.number-card{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--surface),var(--surface2));padding:20px}.number-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand),var(--accent))}.number-card .result-label{margin:0 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:1.22rem;font-weight:800}.number-card strong{font-family:Georgia,"Times New Roman",serif;font-size:2.65rem;line-height:1;margin-bottom:14px}.number-card>p:not(.result-label){min-height:4.8em;margin:0 0 14px;color:var(--muted)}
.number-directory{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.number-link{display:grid;place-items:center;gap:4px;min-height:105px;padding:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--surface),var(--surface2));text-decoration:none}.number-link strong{font-family:Georgia,"Times New Roman",serif;font-size:2rem}.number-link span{font-size:.82rem;color:var(--muted)}
.site-footer{position:relative;background:#1b1320;color:#f7eff9;border-top:1px solid rgba(255,255,255,.12);padding:54px 0 24px}.site-footer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 10%,rgba(199,146,69,.12),transparent 28rem);pointer-events:none}.site-footer a{color:#dbcce0}.footer-brand{position:relative;display:grid;grid-template-columns:2fr 1fr;gap:30px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.13)}.footer-brand p{color:#bfb0c4;max-width:620px}.footer-logo{display:inline-flex;align-items:center;color:#fff!important;text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-weight:800;font-size:1.25rem}.footer-kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:#d5aa67!important;font-weight:800}.footer-directory{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 28px;padding:34px 0}.footer-directory details{border:0;padding:0}.footer-directory summary{list-style:none;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:1.04rem;margin-bottom:12px;cursor:default}.footer-directory summary::-webkit-details-marker{display:none}.footer-directory a{display:block;margin:7px 0;text-decoration:none;font-size:.91rem}.footer-directory a:hover{color:#fff;text-decoration:underline}.footer-bottom{position:relative;display:flex;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13);color:#9f91a5;font-size:.82rem}
@media(max-width:900px){.footer-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.number-directory{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.footer-brand{grid-template-columns:1fr}.footer-directory{grid-template-columns:1fr}.footer-directory details{border-bottom:1px solid rgba(255,255,255,.12);padding:10px 0}.footer-directory summary{cursor:pointer}.footer-bottom{flex-direction:column}.number-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.number-card>p:not(.result-label){min-height:auto}}

/* Immersive calculator dashboard — Version 5 */
.app-shell{grid-template-columns:330px minmax(0,1fr);gap:28px}.app-shell>.app-panel:first-child{position:sticky;top:88px;background:linear-gradient(160deg,var(--surface),color-mix(in srgb,var(--surface2) 72%,var(--brand) 5%));box-shadow:0 24px 70px rgba(43,21,50,.12)}.result-panel{position:static;max-height:none;overflow:visible;padding:0;background:transparent;border:0;box-shadow:none}.chart-hero{margin:0!important;padding:42px!important;overflow:hidden;position:relative;background:linear-gradient(135deg,#3b1647,#79236d 58%,#a73783);color:#fff;border:0!important}.chart-hero:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-90px;top:-120px;box-shadow:0 0 0 38px rgba(255,255,255,.035),0 0 0 78px rgba(255,255,255,.025)}.chart-hero h2{font-size:clamp(2rem,4.5vw,3.7rem);max-width:850px;margin:.2em 0;position:relative;z-index:1}.chart-hero>p{max-width:800px;color:#f4eaf5;position:relative;z-index:1}.dashboard-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:900;color:var(--accent)}.chart-hero .dashboard-kicker{color:#f5cf75}.life-path-stage{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;position:relative;z-index:1}.date-math{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.date-math>i{font-style:normal;font-size:1.4rem;color:#f6d77f}.math-tile{min-width:105px;padding:14px 16px;border:1px solid rgba(255,255,255,.24);border-radius:16px;background:rgba(255,255,255,.11);backdrop-filter:blur(8px);text-align:center}.math-tile span,.math-tile small{display:block}.math-tile span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.math-tile b{font-size:1.6rem}.math-tile small{color:#eadcea}.life-orb{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 35% 30%,#fff6b1,#f4cf55 62%,#d49c21);color:#5b185c;box-shadow:0 18px 45px rgba(0,0,0,.25),inset 0 0 0 8px rgba(255,255,255,.28)}.life-orb span{font:800 4.2rem/1 Georgia,serif}.life-orb small{text-transform:uppercase;letter-spacing:.13em;font-weight:900}.hero-meaning{font-weight:700}.dashboard-tabs{position:sticky;top:70px;z-index:15;display:flex;gap:8px;overflow:auto;padding:12px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:16px;margin:18px 0}.dashboard-tabs a{white-space:nowrap;text-decoration:none;padding:9px 13px;border-radius:10px;color:var(--ink);font-weight:800}.dashboard-tabs a:hover{background:var(--surface2);color:var(--brand)}.dashboard-section,.insight-panel,.timeline-panel{margin:18px 0!important}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-heading h2{margin:0}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.number-card{min-height:250px;border-radius:20px;padding:22px;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface2) 82%,var(--brand) 3%))}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.number-chip{display:grid;place-items:center;min-width:55px;height:55px;padding:0 12px;border-radius:16px;background:linear-gradient(135deg,var(--brand),#a62a82);color:#fff;font:800 1.8rem Georgia,serif;box-shadow:0 10px 22px rgba(91,45,111,.22)}.number-card h3{font-size:1.08rem;margin:18px 0 8px}.number-card>p{min-height:auto!important}.timing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.timing-section .number-card{min-height:220px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,#ffeab2),var(--surface2))}.insight-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center}.frequency-chart{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:32px 1fr 24px;align-items:center;gap:10px;font-weight:800}.bar-track{height:13px;border-radius:99px;background:var(--surface2);overflow:hidden}.bar-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--accent));box-shadow:0 0 18px color-mix(in srgb,var(--accent) 35%,transparent)}.phase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.phase-grid article{padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,var(--surface),var(--surface2))}.phase-grid span,.phase-grid small{display:block;color:var(--muted)}.phase-grid strong{font:800 2.7rem Georgia,serif;color:var(--brand)}.empty-dashboard{min-height:460px;display:grid;place-items:center;align-content:center;text-align:center;padding:40px;border:1px dashed var(--line);border-radius:22px;background:linear-gradient(145deg,var(--surface),var(--surface2))}.empty-dashboard span{font-size:3.5rem;color:var(--accent)}
@media(max-width:1100px){.app-shell{grid-template-columns:290px minmax(0,1fr)}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.life-path-stage{align-items:flex-end}.life-orb{width:125px;height:125px}.life-orb span{font-size:3.5rem}.phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.app-shell>.app-panel:first-child{position:static}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-panel{grid-template-columns:1fr}.dashboard-tabs{top:64px}.life-path-stage{align-items:center}.timing-grid{grid-template-columns:1fr}}
@media(max-width:650px){.chart-hero{padding:26px!important}.life-path-stage{flex-direction:column;align-items:stretch}.date-math{justify-content:center}.life-orb{align-self:center}.result-grid,.phase-grid{grid-template-columns:1fr}.dashboard-tabs{margin-left:-4px;margin-right:-4px}.math-tile{min-width:82px;padding:12px 8px}.date-math>i{font-size:1rem}}
/* Version 6: clearer calculations, audio, compact footer, astrology tools and responsive polish */
.footer-brand{padding-bottom:20px;gap:20px}.footer-directory{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 22px;padding:24px 0}.footer-directory summary{font-size:.94rem;margin-bottom:8px}.footer-directory a{font-size:.78rem;line-height:1.35;margin:4px 0}.site-footer{padding:38px 0 18px}.footer-bottom{padding-top:14px}.footer-brand p{font-size:.86rem;margin:.45rem 0}.footer-brand>div:last-child{align-self:end;text-align:right;font-size:.82rem}
.hero-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;position:relative;z-index:2}.audio-btn{border:1px solid color-mix(in srgb,var(--brand) 30%,var(--line));background:var(--surface);color:var(--brand);border-radius:999px;padding:8px 12px;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;white-space:nowrap}.chart-hero .audio-btn{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.35)}.audio-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(42,18,50,.14)}.card-actions{margin:14px 0}.mini-equations{min-height:38px;margin-top:4px}.math-tile small{font-size:.72rem;line-height:1.35}.math-tile em{display:block;margin-top:7px;font-style:normal;font-size:.72rem;font-weight:900;color:#ffe99a}.final-equation{position:relative;z-index:1;margin:20px 0;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.12);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.final-equation strong,.final-equation span{padding:5px 9px;border-radius:8px;background:rgba(255,255,255,.1)}.final-equation b{display:block;width:100%;font-size:1.05rem;color:#ffe982}.phase-head{display:flex;justify-content:space-between;align-items:center}.phase-grid article{display:flex;flex-direction:column;min-height:430px}.phase-grid h3{margin:.8rem 0 .4rem}.phase-grid dl{margin:.6rem 0 1rem}.phase-grid dl>div{margin:.55rem 0}.phase-grid dt{font-weight:900;color:var(--brand)}.phase-grid dd{margin:.15rem 0 0}.phase-grid .audio-btn{margin-top:auto;align-self:flex-start}
.astrology-tool{max-width:1040px}.astro-calculator-card{background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface2) 78%,#7b2a87 6%));border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:clamp(22px,4vw,44px);margin-bottom:28px}.astro-calculator-card form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.astro-calculator-card .compat-form{grid-template-columns:1fr 1fr auto}.astro-result{margin-top:24px}.astro-sign-card{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:center;padding:24px;border-radius:22px;background:linear-gradient(135deg,#351442,#8e287c);color:#fff}.astro-sign-card a{color:#ffe986}.astro-symbol{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff4b8,#efc950);color:#571957;font-size:3.6rem;box-shadow:inset 0 0 0 7px rgba(255,255,255,.3)}.compat-result-grid,.combined-result{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compat-result-grid .astro-sign-card{grid-template-columns:74px 1fr}.compat-result-grid .astro-symbol{width:68px;height:68px;font-size:2.2rem}.compat-summary{margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.combined-number{padding:24px;border-radius:22px;background:linear-gradient(145deg,var(--surface),var(--surface2));border:1px solid var(--line)}.combined-number>span{display:grid;place-items:center;width:105px;height:105px;border-radius:50%;background:linear-gradient(135deg,var(--brand),#a52b82);color:#fff;font:800 3.6rem Georgia,serif}.zodiac-link-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.zodiac-link-grid a{padding:12px;border:1px solid var(--line);border-radius:12px;text-align:center;text-decoration:none;background:var(--surface)}.zodiac-profile{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:center}.zodiac-symbol{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),#a52b82);color:white;font:800 2.7rem Georgia,serif}
@media(max-width:1100px){.footer-directory{grid-template-columns:repeat(4,minmax(0,1fr))}.astro-calculator-card .compat-form{grid-template-columns:1fr 1fr}.astro-calculator-card .compat-form button{grid-column:1/-1}.zodiac-link-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.footer-directory{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-title-row{flex-direction:column}.astro-calculator-card form{grid-template-columns:1fr}.compat-result-grid,.combined-result{grid-template-columns:1fr}.zodiac-link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.site-footer{padding-top:28px}.footer-brand>div:last-child{text-align:left}.footer-directory{display:block;padding:16px 0}.footer-directory details{padding:7px 0}.footer-directory details:not([open]) div{display:none}.footer-directory summary{font-size:.9rem}.footer-directory a{font-size:.8rem}.hero-title-row .audio-btn{width:100%;white-space:normal}.date-math{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch}.date-math .math-tile:nth-of-type(3){grid-column:1/4}.date-math>i:nth-of-type(2){display:none}.date-math>i:last-child{grid-column:1/4;text-align:center}.math-tile{min-width:0}.final-equation{display:grid}.final-equation>*{width:100%}.phase-grid article{min-height:0}.astro-sign-card{grid-template-columns:1fr;text-align:center}.astro-symbol{margin:auto}.astro-calculator-card{padding:20px 16px}.zodiac-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zodiac-profile{grid-template-columns:1fr;text-align:center}.zodiac-symbol{margin:auto}.chart-hero h2{font-size:clamp(1.8rem,10vw,2.7rem)}.dashboard-tabs{font-size:.85rem}.number-card{padding:18px}}
@media(max-width:380px){.date-math{grid-template-columns:1fr}.date-math .math-tile:nth-of-type(3),.date-math>i:last-child{grid-column:auto}.date-math>i{display:none!important}.zodiac-link-grid{grid-template-columns:1fr}.brand{font-size:.86rem}.brand-mark{width:30px;height:30px}}

/* Version 7: compact mobile landing hero and always-visible primary actions */
@media (max-width:650px){
  .site-header .header-inner{padding:9px 12px;gap:8px;min-height:64px}
  .brand{display:flex;align-items:center;min-width:0;font-size:clamp(.92rem,4.1vw,1.08rem);white-space:nowrap}
  .brand-mark{width:36px;height:36px;flex:0 0 36px;margin-right:7px}
  .menu-btn,.icon-btn{min-width:42px;min-height:42px;border-radius:12px}
  main[data-page-slug="index"] .page-head{padding:24px 0 10px}
  main[data-page-slug="index"] .page-head .eyebrow{margin:0 0 10px;font-size:.7rem}
  main[data-page-slug="index"] .page-head h1{font-size:clamp(2.35rem,11.5vw,3.15rem);line-height:.98;letter-spacing:-.055em;margin:0 0 18px;max-width:12ch}
  main[data-page-slug="index"] .page-head .answer-block{font-size:1rem;line-height:1.52;margin:0;max-width:36rem}
  main[data-page-slug="index"] .page-head:after{margin-top:18px;width:64px}
  main[data-page-slug="index"] .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin:14px 0 22px;padding:0;background:transparent;border:0;box-shadow:none}
  main[data-page-slug="index"] .hero-actions .btn{width:100%;min-height:50px;padding:12px 14px;font-size:.98rem}
  main[data-page-slug="index"] section.grid.cards{margin-top:18px}
  .btn{max-width:100%;white-space:normal;text-align:center}
}
@media (max-width:380px){
  main[data-page-slug="index"] .page-head h1{font-size:2.2rem}
  main[data-page-slug="index"] .page-head .answer-block{font-size:.96rem}
  .brand{font-size:.84rem}
  .brand-mark{width:32px;height:32px;flex-basis:32px}
}

/* Version 8: eliminate mobile horizontal clipping across the chart dashboard */
@media (max-width:650px){
  html,body{width:100%;max-width:100%;overflow-x:clip}
  .container{width:calc(100% - 20px);max-width:100%;padding-left:0;padding-right:0}
  main[data-page-slug="app"]{width:calc(100% - 16px)}
  .app-shell,
  .app-shell>*,
  .result-panel,
  #results,
  .chart-hero,
  .dashboard-tabs,
  .dashboard-section,
  .timing-section,
  .insight-panel,
  .timeline-panel,
  .section-heading,
  .result-grid,
  .timing-grid,
  .phase-grid,
  .number-card,
  .phase-grid article{
    min-width:0!important;
    width:100%;
    max-width:100%;
  }
  .app-shell{display:block}
  .result-panel{overflow:visible}
  .chart-hero{padding:22px 14px!important;border-radius:18px;overflow:hidden}
  .hero-title-row{display:block}
  .hero-title-row .audio-btn{margin-top:12px}
  .chart-hero h2{font-size:clamp(2rem,10vw,2.65rem);line-height:1.03;max-width:100%;overflow-wrap:anywhere;word-break:normal}
  .chart-hero>p{font-size:1rem;line-height:1.55;max-width:100%;overflow-wrap:anywhere}
  .life-path-stage{width:100%;gap:16px}
  .date-math{display:grid!important;grid-template-columns:1fr!important;width:100%;gap:8px}
  .date-math .math-tile,
  .date-math .math-tile:nth-of-type(3){grid-column:auto!important;width:100%;min-width:0}
  .date-math>i,
  .date-math>i:nth-of-type(2),
  .date-math>i:last-child{display:block!important;grid-column:auto!important;text-align:center;width:100%}
  .math-tile{padding:13px 10px}
  .life-orb{width:118px;height:118px}
  .life-orb span{font-size:3.25rem}
  .final-equation{width:100%;padding:14px;overflow-wrap:anywhere}
  .dashboard-tabs{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;padding:10px;margin:14px 0}
  .dashboard-tabs a{min-width:0;white-space:normal;text-align:center;padding:10px 6px;font-size:.82rem;line-height:1.25}
  .dashboard-section,.timing-section,.insight-panel,.timeline-panel{padding:18px 14px!important;overflow:hidden}
  .section-heading{display:block;margin-bottom:14px}
  .section-heading h2{font-size:1.65rem;overflow-wrap:anywhere}
  .result-grid,.timing-grid,.phase-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .number-card{padding:18px 14px;overflow:hidden}
  .card-top{align-items:flex-start;min-width:0}
  .card-top>*{min-width:0}
  .number-card h3,
  .number-card p,
  .number-card summary,
  .phase-grid h3,
  .phase-grid p,
  .phase-grid dd{overflow-wrap:anywhere;word-break:normal}
  .number-chip{flex:0 0 auto;min-width:48px;height:48px;font-size:1.55rem}
  .frequency-chart,.bar-row{min-width:0;width:100%}
  .bar-row{grid-template-columns:26px minmax(0,1fr) 22px;gap:7px}
}
@media (max-width:380px){
  main[data-page-slug="app"]{width:calc(100% - 12px)}
  .chart-hero{padding:20px 12px!important}
  .dashboard-section,.timing-section,.insight-panel,.timeline-panel{padding:16px 12px!important}
  .chart-hero h2{font-size:2rem}
}
/* Version 9: integrated astrology, comparison dashboard and compact seven-part footer */
.integrated-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.integrated-badges article{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid rgba(255,255,255,.24);border-radius:18px;background:rgba(255,255,255,.09)}.integrated-badges small,.integrated-badges strong{display:block}.integrated-badges small{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.life-mini,.zodiac-mini{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:#ffe678;color:#5a175f;font-size:1.8rem;font-weight:900}.zodiac-mini{background:rgba(255,255,255,.94)}.combined-reflection{margin-top:20px;padding:18px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}.combined-reflection h3{margin:.2rem 0}.combined-reflection a{color:#ffe678}.astro-dashboard-card{display:grid;grid-template-columns:90px 1fr;gap:20px;align-items:center}.astro-dashboard-card>span{display:grid;place-items:center;width:82px;height:82px;border-radius:50%;font-size:2.7rem;background:linear-gradient(145deg,#6b2779,#a8358d);color:#fff;box-shadow:var(--shadow)}.compatibility-panel{overflow:hidden}.dashboard-compat-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.dashboard-compat-form label{margin:0}.dashboard-compat-form button{grid-column:1/-1}.dashboard-compat-result{margin-top:20px}.score-summary{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;padding:20px;background:var(--surface2);border-radius:18px}.score-ring{--score:0;position:relative;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) calc(var(--score)*1%),var(--line) 0)}.score-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--surface)}.score-ring strong,.score-ring span{position:relative;z-index:1}.score-ring strong{font-size:2.1rem;color:var(--brand);line-height:1}.score-ring span{font-size:.72rem;display:block}.score-breakdown{display:grid;gap:8px;margin-top:12px}.score-breakdown div{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;background:var(--surface2);border-radius:10px}.footer-directory{grid-template-columns:repeat(7,minmax(0,1fr));gap:18px}.footer-brand{grid-template-columns:2fr auto;align-items:center}.footer-brand .btn{color:#fff!important}.footer-directory summary{font-size:.86rem}.footer-directory a{font-size:.74rem;line-height:1.3;margin:3px 0}
@media(max-width:1200px){.footer-directory{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.integrated-badges{grid-template-columns:1fr}.dashboard-compat-form{grid-template-columns:1fr}.dashboard-compat-form button{grid-column:auto}.score-summary{grid-template-columns:1fr;text-align:center}.score-ring{margin:auto}.footer-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.chart-hero,.dashboard-section,.insight-panel,.timeline-panel,.compatibility-panel{max-width:100%;overflow:hidden}.chart-hero{padding:22px 14px}.chart-hero h2{font-size:clamp(1.75rem,9vw,2.45rem);overflow-wrap:anywhere}.integrated-badges article{padding:12px}.life-mini,.zodiac-mini{flex-basis:50px;width:50px;height:50px}.astro-dashboard-card{grid-template-columns:1fr;text-align:center}.astro-dashboard-card>span{margin:auto}.score-summary{padding:15px}.dashboard-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.dashboard-tabs a{text-align:center;white-space:normal;padding:9px 6px}.footer-brand{grid-template-columns:1fr}.footer-directory{display:block}.footer-directory details{padding:6px 0}.footer-directory summary{font-size:.84rem}.footer-directory a{font-size:.76rem}.footer-brand .btn{width:100%}}


/* V10 mobile-first preview, share and download experience */
.result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.result-actions .btn{width:100%;min-width:0;white-space:normal;line-height:1.25}.action-help{font-size:.82rem;color:var(--muted);margin:.65rem 0 0}.share-preview-dialog,.saved-charts-dialog{width:min(94vw,760px);max-height:92dvh;border:0;border-radius:24px;padding:0;background:var(--surface);color:var(--text);box-shadow:0 30px 90px rgba(20,5,30,.42)}.share-preview-dialog::backdrop,.saved-charts-dialog::backdrop{background:rgba(24,8,31,.76);backdrop-filter:blur(5px)}.preview-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 12px}.preview-dialog-head h2{margin:.15rem 0}.share-preview-stage{display:grid;place-items:center;padding:8px 18px 18px;background:var(--surface2);max-height:62dvh;overflow:auto}.share-preview-stage img{display:block;width:min(100%,480px);height:auto;border-radius:18px;box-shadow:var(--shadow)}.preview-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 22px}.preview-actions .btn{width:100%;white-space:normal}.share-preview-dialog>.notice{margin:0 22px 22px}.saved-chart-list{padding:8px 22px 24px;display:grid;gap:10px;max-height:65dvh;overflow:auto}.saved-chart-list article{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}.saved-chart-list strong,.saved-chart-list small{display:block}.saved-chart-list small{margin-top:4px;color:var(--muted)}.saved-chart-list article>div:last-child{display:flex;gap:8px}.saved-chart-list .btn{padding:.65rem .8rem}.app-panel{min-width:0}.app-shell>*{min-width:0}
@media(max-width:700px){.result-actions{grid-template-columns:1fr 1fr}.preview-actions{grid-template-columns:1fr}.share-preview-dialog,.saved-charts-dialog{width:calc(100vw - 16px);max-height:94dvh;border-radius:18px}.preview-dialog-head{padding:16px 16px 10px}.share-preview-stage{padding:8px 10px 12px;max-height:58dvh}.share-preview-dialog>.notice{margin:0 16px 16px}.preview-actions{padding:12px 16px}.saved-chart-list{padding:6px 14px 18px}.saved-chart-list article{align-items:flex-start;flex-direction:column}.saved-chart-list article>div:last-child{width:100%}.saved-chart-list article>div:last-child .btn{flex:1}.result-actions .btn{font-size:.86rem;padding:.78rem .55rem}}
@media(max-width:390px){.result-actions{grid-template-columns:1fr}.result-actions .btn{font-size:.9rem}.page-head{padding-inline:0}.app-panel{padding:16px 12px}.share-preview-stage img{border-radius:12px}}
@media print{.site-header,.breadcrumbs,.page-head,.app-panel:first-child,.dashboard-tabs,.audio-btn,.compatibility-panel,.site-footer,.cookie-banner,.signup-modal,.share-preview-dialog,.saved-charts-dialog{display:none!important}.app-shell{display:block}.result-panel{box-shadow:none;border:0;padding:0}.dashboard-section,.chart-hero,.insight-panel,.timeline-panel{break-inside:avoid}}

/* V11 comprehensive report and mobile-first refinements */
.app-shell{align-items:start}.report-actions-panel{grid-column:1/-1;margin-top:0}.report-actions-panel[hidden]{display:none}.report-actions-panel .result-actions{max-width:900px;grid-template-columns:repeat(4,minmax(0,1fr))}.inline-note{font-weight:750;color:var(--muted)}
.depth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.depth-grid article{border:1px solid var(--line);border-radius:18px;padding:20px;background:linear-gradient(145deg,var(--surface),var(--surface2))}.depth-grid h3{margin-top:0;color:var(--brand)}.depth-grid ul{margin:0;padding-left:1.25rem}.astro-details{margin-top:18px;border:0}.astro-details summary{border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:var(--surface2)}
.palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.palette-grid article{border:1px solid var(--line);border-radius:18px;padding:20px}.colour-chips,.lucky-days,.lucky-numbers{display:flex;flex-wrap:wrap;gap:10px}.colour-chip,.lucky-days strong,.lucky-numbers strong{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:99px;border:1px solid var(--line);background:var(--surface2)}.colour-chip:before{content:"";width:18px;height:18px;border-radius:50%;margin-right:8px;background:linear-gradient(135deg,var(--brand),var(--accent))}
.daily-insight{background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface2) 80%,#f5cf75 10%))}.daily-hero{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}.daily-score{width:135px;height:135px;border-radius:50%;display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,#f9e27a,#e8b53a);color:#4d194f;box-shadow:var(--shadow)}.daily-score strong{font:850 3.4rem/1 Georgia,serif}.daily-score span{text-align:center;font-size:.75rem;font-weight:850;text-transform:uppercase}.daily-areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}.daily-areas article{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--surface)}.daily-areas h3{margin:0}.daily-areas b{color:#c58b24;letter-spacing:.08em}.daily-symbols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.daily-symbols span{display:grid;padding:14px;border-radius:14px;background:var(--surface2);border:1px solid var(--line)}.daily-symbols small{color:var(--muted)}
.trait-bars{display:grid;gap:12px}.trait-bars>div{display:grid;grid-template-columns:minmax(100px,150px) 1fr 36px;align-items:center;gap:10px}.trait-note{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
@media(max-width:900px){.report-actions-panel .result-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.depth-grid,.palette-grid{grid-template-columns:1fr 1fr}.daily-areas{grid-template-columns:1fr 1fr}.daily-symbols{grid-template-columns:1fr}.report-actions-panel{padding:20px}}
@media(max-width:620px){.chart-hero{padding:22px 16px!important}.chart-hero h2{font-size:clamp(2rem,11vw,3rem)!important;overflow-wrap:anywhere}.hero-title-row{display:block}.hero-title-row .audio-btn{width:100%;margin-top:12px}.depth-grid,.palette-grid,.daily-areas{grid-template-columns:1fr}.daily-hero{grid-template-columns:1fr}.daily-score{width:112px;height:112px;margin:auto}.dashboard-section,.insight-panel,.timeline-panel{padding:18px 14px!important}.section-heading{align-items:flex-start;flex-direction:column}.section-heading .audio-btn{width:100%}.trait-bars>div{grid-template-columns:92px 1fr 28px;font-size:.86rem}.result-grid{grid-template-columns:1fr!important}.report-actions-panel .result-actions{grid-template-columns:1fr 1fr}.dashboard-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.dashboard-tabs a{text-align:center;white-space:normal;font-size:.84rem}.astro-dashboard-card{align-items:flex-start}.palette-grid article,.depth-grid article{padding:16px}}
@media(max-width:390px){.report-actions-panel .result-actions{grid-template-columns:1fr}.daily-score strong{font-size:2.8rem}}
@media print{body{color:#111!important;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.chart-hero{background:#fff!important;color:#111!important;border:2px solid #5b2d6f!important}.chart-hero *{color:#111!important;text-shadow:none!important}.dashboard-section,.insight-panel,.timeline-panel,.number-card,.depth-grid article,.palette-grid article,.daily-areas article{background:#fff!important;color:#111!important;box-shadow:none!important;border-color:#888!important}.dashboard-kicker,.number-chip,.daily-areas b,.final-equation b{color:#4d194f!important}.number-chip{background:#eee!important;border:1px solid #4d194f!important}.daily-score{background:#f5d86b!important;color:#111!important}.bar-track{background:#ddd!important}.bar-track i{background:#5b2d6f!important}.notice{color:#111!important;background:#f3f3f3!important}.report-actions-panel{display:none!important}a{color:#111!important;text-decoration:none!important}p,li,dd,small,span{opacity:1!important;color:#222!important}.dashboard-section,.number-card,.depth-grid article,.palette-grid article,.daily-areas article{break-inside:avoid;page-break-inside:avoid}}

/* V12 brand, report flow, accessibility and disclaimer refinements */
.brand-mark{display:inline-block;width:38px;height:38px;object-fit:contain;background:none;border-radius:0;margin-right:9px;vertical-align:middle}.footer-logo .brand-mark{width:42px;height:42px}.footer-disclaimer{margin-top:22px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--line) 75%,var(--accent));border-radius:12px;background:color-mix(in srgb,var(--surface2) 88%,var(--accent) 4%);font-size:.78rem;line-height:1.55;color:var(--muted)}.footer-disclaimer strong{color:var(--ink)}.footer-disclaimer a{margin-left:4px}.report-disclaimer{font-size:.82rem;line-height:1.55;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}.chart-hero .inline-note{color:#fff!important;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:8px 12px;border-radius:10px;display:inline-block}.plain-guide{background:var(--surface2);border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:18px}.plain-guide h3{margin-top:0}.trait-bars b{display:flex;align-items:baseline;justify-content:flex-end;gap:2px}.trait-bars b small{font-size:.62em;color:var(--muted)}.chart-reading-steps{padding-left:1.25rem}.chart-reading-steps li{margin:.4rem 0}.frequency-chart .bar-row{grid-template-columns:42px minmax(90px,1fr) 74px}.frequency-chart .bar-row b{font-size:.88rem;text-align:right}.frequency-chart .bar-row b small{font-weight:650;color:var(--muted)}.frequency-number{display:grid;place-items:center;min-width:36px;min-height:36px;border-radius:10px;background:var(--surface2);border:1px solid var(--line);font-size:1.05rem}.context-note{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:9px}.app-shell.report-ready{display:block}.app-shell.report-ready>.app-panel:first-child{position:static;max-width:760px;margin:0 auto 24px}.app-shell.report-ready>.result-panel,.app-shell.report-ready>.report-actions-panel{width:100%}.app-shell.report-ready .dashboard-tabs{position:static}.app-shell.report-ready .report-actions-panel{margin-top:24px}.app-shell.report-ready .result-actions{max-width:none}.footer-bottom{align-items:flex-start}
@media(max-width:620px){.brand-mark{width:32px;height:32px}.footer-disclaimer{font-size:.74rem;padding:12px}.frequency-chart .bar-row{grid-template-columns:38px minmax(70px,1fr) 66px;gap:8px}.trait-bars>div{grid-template-columns:86px minmax(70px,1fr) 52px}.app-shell.report-ready>.app-panel:first-child{margin-bottom:18px}.app-shell.report-ready .report-actions-panel .result-actions{grid-template-columns:1fr}.chart-hero .inline-note{font-size:.86rem}}
@media print{.footer-disclaimer{display:none!important}.report-disclaimer{display:block!important;color:#111!important;border-top:1px solid #777!important}.plain-guide,.context-note{color:#111!important;background:#fff!important}.chart-hero .inline-note{color:#111!important;background:#fff!important;border-color:#777!important}}


/* V14 mobile overflow and table safeguards */
html,body{max-width:100%;overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%;box-sizing:border-box}
input[type="date"]{width:100%;min-width:0}
.table-wrap,.comparison-table-wrap,[class*="table-wrap"]{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{max-width:100%}
@media(max-width:640px){
  form,.card,.panel,.calculator-card,.astro-calculator-card{min-width:0;max-width:100%}
  .compat-form,.calculator-form{grid-template-columns:minmax(0,1fr)!important}
  table{min-width:620px}
  .comparison-grid{grid-template-columns:minmax(0,1fr)!important}
}

/* V14 full-release responsive, accessibility and action hierarchy fixes */
*,*::before,*::after{box-sizing:border-box}
input,select,textarea,button{width:auto;max-width:100%;box-sizing:border-box}
form input,form select,form textarea{width:100%;min-width:0}
.table-wrap,.comparison-table-wrap,.responsive-table,main table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
main table{display:table;width:100%}
.footer-disclaimer{grid-column:1/-1;margin-top:18px;font-size:.84rem;color:var(--muted)}
.daily-score span{max-width:10rem}
@media(max-width:600px){
  main table{display:block;width:100%;overflow-x:auto;white-space:normal}
  main table th,main table td{min-width:130px}
  main table th:first-child,main table td:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}
  #chartForm .btn-primary,[data-chart-form] .btn-primary,.app-panel form>.btn-primary{width:100%;display:flex}
  #chartForm .btn-secondary,[data-chart-form] .btn-secondary,.app-panel form>.btn-secondary{width:auto;display:flex;margin-inline:auto;background:transparent;border-color:transparent;text-decoration:underline;box-shadow:none}
  input,select,textarea{font-size:16px}
  button,.btn,a.btn{min-height:46px}
}

/* v15.1 mobile: dense hub link grids + long-word safety */
.cards.link-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.cards.link-cards article{min-height:0;padding:13px 15px}
.cards.link-cards h3{margin:0;font-size:1rem;line-height:1.3}
.cards.link-cards a{overflow-wrap:anywhere}
@media(max-width:600px){.cards.link-cards{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.cards.link-cards{grid-template-columns:1fr}}

/* v16: trait radar + mobile sticky results preview */
.trait-radar{margin:0 0 8px;text-align:center}
.trait-radar svg{width:100%;max-width:420px;height:auto}
.trait-radar figcaption{color:var(--muted);font-size:.86rem;max-width:520px;margin:6px auto 0}
@media(min-width:901px){.trait-section .trait-radar{float:right;width:44%;max-width:440px;margin:0 0 12px 22px}}

/* v17: moon & rising cards */
.astro-body-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:12px 0}
.astro-body-card{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line,#e7d9ea);border-radius:14px;background:var(--surface,#fff)}
.astro-body-card .zodiac-mini{font-size:30px;line-height:1;color:#7b2a87}
.astro-body-card small{display:block;color:var(--muted,#8a6a92);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.astro-body-card strong{font-size:1.15rem}

/* v19 a11y: darken section eyebrow on light backgrounds for AA contrast */
.dashboard-kicker{color:#6f4a12}
.chart-hero .dashboard-kicker{color:var(--accent)}

/* v20: horizontal legal bar + bottom report actions */
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;padding:22px 0 6px;border-top:1px solid rgba(255,255,255,.12);margin-top:16px}
.footer-legal a{color:#cdbcd3;font-size:.85rem}
.report-actions-panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding-top:8px}

/* v22: inline SVG logo cleanup */
svg.brand-mark{display:inline-block;background:none;box-shadow:none;vertical-align:middle;border-radius:0}

/* ==== Account / signed-in state (v25) ==== */
.account{position:relative;display:inline-flex}
.account-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:none;border-radius:50%;cursor:pointer;font:inherit;font-weight:800;font-size:1rem;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 4px 14px rgba(42,25,45,.28),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .15s ease,box-shadow .15s ease}
.account-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(42,25,45,.34),inset 0 1px 0 rgba(255,255,255,.3)}
.account-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.account-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:248px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow),0 2px 8px rgba(42,25,45,.06);padding:14px;z-index:60;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transition:opacity .16s ease,transform .16s ease}
.account.open .account-menu{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.account-menu .acc-email{display:block;font-weight:700;color:var(--text,#241d2a);word-break:break-all;font-size:.92rem;line-height:1.3}
.account-menu .acc-note{display:block;margin:.35rem 0 .8rem;color:var(--muted);font-size:.82rem}
.account-menu .acc-divider{height:1px;background:var(--line);margin:.2rem 0 .7rem;border:0}
.account-menu .acc-signout{width:100%;padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--brand);font:inherit;font-weight:700;cursor:pointer;transition:background .14s ease}
.account-menu .acc-signout:hover{background:color-mix(in srgb,var(--brand) 12%,var(--surface2))}

/* --- v27 mobile table fix -------------------------------------------------
   Earlier releases stacked several conflicting table{} rules; the surviving
   one left min-width:620px on the table while the table was ALSO the scroll
   container. An element cannot scroll itself when its own min-width forces it
   wider than its parent, so the table overflowed its section and was clipped:
   at 390px the third column was unreachable.

   Fix: a .table-scroll wrapper is the scroll viewport. The table returns to
   display:table inside it, so header and body columns stay aligned and the
   section heading no longer scrolls away with the table.
   ------------------------------------------------------------------------ */
.table-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.table-scroll:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.table-scroll > table{display:table;width:100%;min-width:560px;max-width:none;overflow-x:visible;border-collapse:collapse;margin:0}
@media (max-width:820px){
  .table-scroll{
    background:
      linear-gradient(to right,var(--surface) 30%,transparent),
      linear-gradient(to left,var(--surface) 30%,transparent) 100% 0,
      radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.14),transparent),
      radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.14),transparent) 100% 0;
    background-repeat:no-repeat;background-size:34px 100%,34px 100%,14px 100%,14px 100%;
    background-attachment:local,local,scroll,scroll;
  }
  .table-scroll > table{font-size:.94rem}
  .table-scroll > table th,.table-scroll > table td{padding:9px 10px}
}

/* --- v33: WebKit / iOS Safari hardening -----------------------------------
   Four issues that only show on Safari and cannot be caught in Chromium.

   1. backdrop-filter needs the -webkit- prefix on iOS. Without it the rule is
      dropped silently, so the sticky header and the dashboard tab bar lose
      their blur and sit as a flat semi-transparent panel over scrolling text.
      Safari added the unprefixed property late; the prefix is still required
      for older iOS versions still in use.

   2. Safari inflates text when a phone is rotated to landscape unless
      text-size-adjust is pinned. Headings jump size mid-session.

   3. 100vh on iOS includes the area behind the URL bar, so any element sized
      from it is taller than the visible viewport and its bottom is unreachable
      until the bar collapses. dvh is the correct unit, with vh kept first as
      the fallback for browsers that do not support it.

   4. On notched iPhones in landscape, a full-bleed sticky header runs under
      the sensor housing. env(safe-area-inset-*) pads it clear. The fallback
      value of 0 means nothing changes on devices without a notch.
   ------------------------------------------------------------------------ */

/* 1. prefixed backdrop-filter, paired with every unprefixed use */
.site-header{-webkit-backdrop-filter:blur(14px)}
.math-tile{-webkit-backdrop-filter:blur(8px)}
.dashboard-tabs{-webkit-backdrop-filter:blur(14px)}

/* 2. stop Safari inflating text on rotation */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* 3. dynamic viewport height is applied IN PLACE on the original rule further
      up this file, not appended here. Appending it overrode the site's own
      later resets that set .result-panel back to max-height:none, which
      capped the results container on app.html and pushed the footer up the
      page with the chart overflowing below it. */

/* 4. keep the sticky header and footer clear of the notch and home indicator */
.site-header{
  padding-left:env(safe-area-inset-left,0px);
  padding-right:env(safe-area-inset-right,0px);
}
body{padding-bottom:env(safe-area-inset-bottom,0px)}

/* 5. Safari applies momentum scrolling by default, but an explicit
      overscroll-behavior stops a horizontal table swipe chaining into a
      browser back-navigation gesture, which is a real iOS annoyance. */
.table-scroll{overscroll-behavior-x:contain}

/* --- v34: palm diagram ---------------------------------------------------
   One SVG serves all palmistry pages. The wrapper carries data-hl with the id
   of the element that page is about; everything else is drawn muted so the
   subject reads at a glance without losing its context. Colours come from the
   theme variables, so the diagram follows light and dark mode. */
.palm-figure{margin:20px 0;text-align:center}
.palm-figure .palm-svg{
  width:100%;max-width:320px;height:auto;aspect-ratio:300/400;display:block;margin:0 auto;
}
.palm-svg .p-outline{fill:var(--surface);stroke:var(--line);stroke-width:2.5;stroke-linejoin:round}
.palm-svg .p-mount{fill:var(--line);opacity:.28;stroke:none}
.palm-svg .p-line{fill:none;stroke:var(--muted);stroke-width:2.4;stroke-linecap:round;opacity:.5}
.palm-svg .p-fine{stroke-width:1.8}
.palm-svg .p-hair{stroke-width:1.1}
.palm-figure figcaption{
  margin-top:10px;font-size:.92rem;color:var(--muted);max-width:34rem;
  margin-left:auto;margin-right:auto;text-align:left;
}
/* the highlighted subject */
.palm-figure[data-hl] [data-active]{opacity:1}
.palm-svg .is-active{stroke:var(--brand);opacity:1;stroke-width:4}
.palm-svg .is-active.p-fine{stroke-width:2.6}
.palm-svg .is-active.p-hair{stroke-width:1.8}
.palm-svg ellipse.is-active{fill:var(--brand);opacity:.42;stroke:var(--brand);stroke-width:2}
.palm-svg g.is-active .p-line{stroke:var(--brand);opacity:1}
@media (max-width:520px){
  .palm-figure .palm-svg{max-width:240px}
  .palm-figure figcaption{font-size:.88rem}
}
@media (prefers-reduced-motion:no-preference){
  .palm-svg .is-active{transition:stroke .2s ease}
}

/* --- v34: responsive tables, stacked card layout on mobile ----------------
   Below 640px a table reflows into one block per row, each cell prefixed with
   its column heading from data-label. Nothing is hidden and nothing needs
   swiping, which the scroll approach could not guarantee: iOS Safari hides
   scrollbars, so a scrollable table gives no visible sign it can be scrolled.
   The markup stays a real table, so desktop and screen readers are unchanged. */
@media (max-width:640px){
  .table-scroll{overflow-x:visible}
  .table-scroll > table,
  .table-scroll > table > tbody,
  .table-scroll > table > tbody > tr,
  .table-scroll > table > tbody > tr > td{display:block;width:100%;min-width:0}
  .table-scroll > table{min-width:0}
  .table-scroll > table > thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .table-scroll > table > tbody > tr{
    border:1px solid var(--line);border-radius:14px;padding:6px 2px;margin:0 0 14px;background:var(--surface);
  }
  .table-scroll > table > tbody > tr > td{
    border:0;border-bottom:1px solid var(--line);padding:10px 14px;
  }
  .table-scroll > table > tbody > tr > td:last-child{border-bottom:0}
  .table-scroll > table > tbody > tr > td[data-label]::before{
    content:attr(data-label);display:block;font-weight:700;font-size:.78rem;
    letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;
  }
  /* first cell of each row reads as the row heading */
  .table-scroll > table > tbody > tr > td:first-child{
    font-weight:700;background:color-mix(in srgb,var(--line) 22%,transparent);
    border-radius:10px 10px 0 0;
  }
  .table-scroll > table > tbody > tr > td:first-child[data-label]::before{content:none}
}

/* v35: A to Z directory index */
.az-nav{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 22px}
.az-nav a{
  display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;
  padding:0 8px;border:1px solid var(--line);border-radius:10px;font-weight:700;text-decoration:none;
}
.az-nav a:hover,.az-nav a:focus-visible{background:var(--brand);color:var(--btn-ink,#fff)}
.az-group{margin:22px 0;scroll-margin-top:84px}
.az-group h3{margin:0 0 8px;font-size:1.15rem}
.az-list{list-style:none;padding:0;margin:0;columns:2;column-gap:26px}
.az-list li{break-inside:avoid;margin:0 0 7px;font-size:.95rem}
@media (max-width:640px){
  .az-list{columns:1}
  .az-list li{margin-bottom:11px}
  .az-list li a{display:inline-block;min-height:30px;line-height:1.45}
}

/* v36: zodiac diagrams */
.zodiac-figure{margin:20px 0}
.zodiac-figure .zodiac-svg{width:100%;max-width:340px;height:auto;aspect-ratio:240/150;display:block;margin:0 auto}
.zodiac-svg .z-bg{fill:var(--surface2);opacity:.5}
.zodiac-svg .z-glyph{fill:none;stroke:var(--brand);stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round}
.zodiac-svg .z-lines{fill:none;stroke:var(--muted);stroke-width:1.2;opacity:.55}
.zodiac-svg .z-star{fill:var(--accent,#c9a227)}
.zodiac-figure figcaption{margin-top:9px;font-size:.9rem;color:var(--muted);text-align:center}
.zodiac-pair{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.zodiac-pair .zodiac-figure{flex:1 1 260px;margin:0}
@media (max-width:520px){.zodiac-figure .zodiac-svg{max-width:280px}}

/* v38: zodiac glyph rendered as a character rather than a hand-drawn path */
.zodiac-svg .z-glyph{
  font-family:"Segoe UI Symbol","Apple Symbols","Noto Sans Symbols2",Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:62px;fill:var(--brand);stroke:none;font-variant-emoji:text;
}
/* v38: finger creases on the palm diagram */
.palm-svg .p-crease{fill:none;stroke:var(--line);stroke-width:1.4;stroke-linecap:round;opacity:.85}
/* v38: the at-a-glance avatar carries the sign glyph */
.sign-avatar .sa-glyph{
  font-family:"Segoe UI Symbol","Apple Symbols","Noto Sans Symbols2",Inter,ui-sans-serif,system-ui,sans-serif;
  font-variant-emoji:text;line-height:1;
}
