/* Reading, navigation and small-screen refinements. */
:root{--header-height:86px;--bottom-nav-height:0px;--report-rail:0px}
html{scroll-padding-top:calc(var(--header-height) + 18px);scroll-padding-bottom:calc(var(--bottom-nav-height) + 16px)}
#app [id]{scroll-margin-top:calc(var(--header-height) + 18px)}
#app :is(section,article,div,fieldset){min-width:0}
.ui-arrow{font-family:Arial,'DejaVu Sans',sans-serif!important;white-space:nowrap;font-style:normal}
.reading-toc{display:none}.reading-to-top{position:fixed;right:20px;bottom:calc(var(--bottom-nav-height) + 16px);z-index:25;min-width:48px;min-height:48px;border:1px solid #d7b88475;border-radius:12px;background:#282230;color:var(--gold);padding:10px 15px;box-shadow:0 6px 22px #0004}
.reading-to-top[hidden]{display:none}.reading-to-top:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.report-fold{border:1px solid var(--line);border-radius:12px;margin:22px 0;background:#ffffff03;overflow:clip}
.report-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;cursor:pointer;list-style:none;color:var(--ink);font:500 clamp(23px,2.2vw,31px)/1.2 var(--serif)}
.report-fold>summary::-webkit-details-marker{display:none}.report-fold>summary::after{content:'+';font:24px var(--sans);color:var(--gold);flex:none}.report-fold[open]>summary::after{content:'−'}
.report-fold>section,.report-fold>div{margin:0!important;padding:8px 20px 22px!important}.report-fold>section>h2,.report-fold>div>h2,.report-fold>section>h3{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.report-fold>summary:focus-visible,.diagram-tools button:focus-visible,.matrix-position-list button:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}
.diagram-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}.diagram-tools p{font-size:14px!important;line-height:1.5!important;color:var(--muted);margin:0!important}.diagram-tools button{min-height:46px}
.matrix-position-list{margin:18px 0 0;border-top:1px solid var(--line);padding-top:12px}.matrix-position-list>summary{cursor:pointer;color:var(--gold);padding:12px 0;font-size:16px}.matrix-position-list>div{display:grid;gap:7px;margin-top:10px}.matrix-position-list button{display:flex;gap:12px;align-items:center;text-align:left;min-height:48px;background:#ffffff05;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;line-height:1.5}.matrix-position-list b{flex:none;display:grid;place-items:center;border-radius:50%;background:#d7b88420;color:var(--gold);width:32px;height:32px}.matrix-position-list button[aria-pressed=true]{border-color:var(--gold)}
.diagram-viewer{position:fixed;inset:12px;margin:auto;width:min(1120px,calc(100% - 24px));max-width:calc(100% - 24px);height:min(900px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #d7b88480;border-radius:16px;background:#17141f;color:var(--ink);overflow:hidden}
.diagram-viewer[open]{display:flex;flex-direction:column}.diagram-viewer::backdrop{background:#090812d9;backdrop-filter:blur(6px)}
.diagram-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;flex:none;border-bottom:1px solid var(--line)}.diagram-viewer-head h2{font-size:27px;line-height:1.15}.diagram-viewer-close{min-width:48px;min-height:48px;background:#d7b88415;border:1px solid #d7b88466;border-radius:9px;color:var(--ink);font-size:24px}
.diagram-viewer-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 16px;flex:none}.diagram-viewer-toolbar button{width:46px;height:46px;font-size:22px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--gold)}.diagram-viewer-toolbar p{flex:1;min-width:150px;font-size:14px;line-height:1.5;color:var(--muted)}
.diagram-viewer-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px;touch-action:pan-x pan-y}.diagram-viewer-content{width:var(--diagram-width,760px);margin:auto;max-width:none!important}.diagram-viewer-content>.natal-wheel{width:100%;max-width:none!important;height:auto;display:block}.diagram-viewer-content>.matrix-diagram{width:100%;max-width:none!important;margin:0}.diagram-viewer .matrix-node{width:46px!important;height:46px!important;font-size:18px!important}.diagram-viewer .matrix-node-center{width:56px!important;height:56px!important}
.field-error{color:#f5c5bb;font-size:15px;line-height:1.5;margin:8px 0 12px}.field-error[hidden]{display:none}[aria-invalid=true]{border-color:#e5a99b!important}.garden-selected{display:block;margin-top:6px;color:var(--gold);font-size:14px;line-height:1.45;overflow-wrap:break-word}
.chakra-cards{display:none}.chakra-card{border:1px solid var(--line);border-radius:10px;margin:12px 0;overflow:hidden}.chakra-card>summary{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:15px;list-style:none;cursor:pointer;color:var(--gold);font-size:18px}.chakra-card>summary::-webkit-details-marker{display:none}.chakra-card>summary::after{content:'+';font-size:24px}.chakra-card[open]>summary::after{content:'−'}.chakra-card small{display:block;font-size:14px;line-height:1.4;color:var(--muted);margin-top:5px}.chakra-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0 12px 14px}.chakra-values div{text-align:center;padding:8px 2px;background:#d7b88409;border-radius:7px}.chakra-values dt{font-size:13px;color:var(--muted);white-space:nowrap}.chakra-values dd{margin:4px 0 0;color:var(--gold);font-size:22px}.chakra-card-body{padding:0 15px 18px}.chakra-card-body dl{margin:0}.chakra-card-body dl>div{padding:15px 0;border-top:1px solid var(--line)}.chakra-card-body dt{color:var(--gold);font-size:16px}.chakra-card-body dd{margin:7px 0 0;font-size:17px;line-height:1.65}.chakra-card-body p{font-size:16px!important}
#card-dialog>.dialog-close{position:sticky;top:8px;right:auto;display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;margin:0 0 0 auto;z-index:8;background:#211c2bf5;border:1px solid #d7b88475;border-radius:10px;font-size:26px;line-height:1;box-shadow:0 3px 15px #0004}
.natal-table-scroll{scrollbar-width:thin;scrollbar-color:#d7b88480 transparent}.natal-table-scroll tr>th{position:sticky;left:0;background:var(--bg);z-index:1}.natal-table-scroll thead th{background:var(--panel)}
.natal-save-panel .pdf-format-choice{display:block;width:100%;padding:12px;border:1px solid var(--line);background:var(--bg);border-radius:8px;margin-bottom:12px;color:var(--ink)}
@media(min-width:1280px){body.has-reading-toc{--report-rail:230px}body.has-reading-toc #app{margin-right:var(--report-rail)}.reading-toc:not([hidden]){display:block;position:fixed;top:calc(var(--header-height) + 24px);right:18px;width:205px;max-height:calc(100dvh - var(--header-height) - 50px);overflow:auto;padding:17px 12px;border:1px solid var(--line);border-radius:12px;background:#211c2bf5;z-index:20}.reading-toc p{font-size:13px;color:var(--gold);margin:0 9px 10px}.reading-toc button{display:block;min-height:42px;width:100%;text-align:left;background:transparent;color:var(--muted);border-left:2px solid transparent;padding:9px 10px;font:500 14px/1.45 var(--sans);overflow-wrap:break-word}.reading-toc button[aria-current=true]{background:#d7b88410;border-color:var(--gold);color:var(--ink)}.reading-toc button:hover{color:var(--gold)}.reading-toc button:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}}
@media(max-width:1100px){body.mobile-nav-ready{padding-bottom:var(--bottom-nav-height)!important}.mobile-nav-ready .site-header{min-height:68px;padding:10px 18px}.mobile-nav-ready .mobile-bottom-nav{left:0;right:0;bottom:0;margin:0;width:100%;max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 max(4px,env(safe-area-inset-right)) env(safe-area-inset-bottom,0px) max(4px,env(safe-area-inset-left));border-radius:0;min-height:52px}.mobile-bottom-nav a,.mobile-bottom-nav button{margin:0;min-height:52px;line-height:1.2;font-size:clamp(12px,3.3vw,14px);padding:8px 1px;border-radius:0;white-space:nowrap}.mobile-nav-ready #toast{bottom:calc(var(--bottom-nav-height) + 12px)}body.mobile-keyboard-open .mobile-bottom-nav{display:none}.reading-to-top{right:12px;padding:8px 12px;min-height:44px}.natal-chart-grid{grid-template-columns:minmax(0,1fr)}.natal-chart-panel{min-width:0}.report-fold>summary{padding:17px}.report-fold>section,.report-fold>div{padding:6px 15px 18px!important}}
@media(max-width:700px){.hero{padding-top:24px!important;padding-bottom:28px!important;gap:22px!important;min-height:0!important}.hero h1{font-size:clamp(38px,10.5vw,58px)!important;line-height:1.02!important;margin-top:14px!important;letter-spacing:-.8px!important}.hero p{font-size:16px!important;line-height:1.65!important;margin-top:18px!important}.hero p br{display:none}.hero-actions{margin-top:22px!important;gap:12px!important}.hero-actions .button{padding:13px 18px!important;min-height:48px}.hero-meta{margin-top:20px!important;font-size:11px!important}.hero-art{min-width:0;max-width:100%;overflow:hidden;overflow:clip}.hero-cards{max-width:100%}.hero-card{max-width:48%}.hero-card.right{right:5%!important}.hero-card.left{left:5%!important}.hero-art{height:330px!important}.hero-art .hero-orbit{max-width:100%}.compatibility-pair{grid-template-columns:minmax(0,1fr)!important}.compat-person{min-width:0}.compat-person :is(h3,h4,p){overflow-wrap:normal;word-break:normal;hyphens:auto}.compat-person h3{white-space:nowrap}.chakra-cards{display:block}.matrix-chakras>.matrix-table-wrap{display:none}.matrix-chakras>.matrix-chakra-guide .matrix-chakra-row{display:none}.matrix-chakras>.matrix-chakra-guide .matrix-chakra-row:last-of-type{display:block}.matrix-chakras .matrix-section-guide{font-size:16px}.matrix-chart{padding-inline:14px!important}.natal-table-scroll{overflow:visible}.natal-positions{min-width:0!important;width:100%!important}.natal-positions thead{display:none}.natal-positions,.natal-positions tbody,.natal-positions tr,.natal-positions th,.natal-positions td{display:block!important;width:auto!important}.natal-positions tr{padding:14px;border:1px solid var(--line);border-radius:10px;margin:12px 0;background:var(--panel)}.natal-positions tr>th{position:static;background:transparent;border:0;padding:0 0 10px!important}.natal-positions tr>th button{min-height:44px;padding:5px 0;font-size:19px;color:var(--gold)}.natal-positions td{padding:8px 0!important;border-top:1px solid var(--line);border-bottom:0!important;font-size:17px!important}.natal-positions td::before{content:attr(data-label);display:block;font-size:13px;color:var(--muted);margin-bottom:4px}.natal-positions small{display:block}.source-controls select{min-height:44px;font-size:15px!important}.source-controls,.source-help{font-size:14px!important}.source-plan .plan-heading>span{font-size:13px}.source-legend strong{font-size:16px!important}.source-legend button{min-height:48px}.lunar-day small{display:none}.lunar-grid{gap:3px!important}.lunar-day{min-height:64px!important;padding:7px 2px!important}.lunar-day .lunar-day-moon{width:24px!important;height:24px!important}.lunar-day .lunar-day-tag,.lunar-day .lunar-day-rating{font-size:10px!important}.lunar-day [class*=status]{display:none}.diagram-viewer{inset:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding-bottom:env(safe-area-inset-bottom,0px)}.diagram-viewer-head{padding-top:max(10px,env(safe-area-inset-top,0px))}.diagram-viewer-scroll{padding:12px}.diagram-viewer-toolbar{padding:8px 12px}.diagram-viewer-toolbar p{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.source-position,.hero-card{transition:none!important}}
@media print{.reading-toc,.reading-to-top,.diagram-tools,.matrix-position-list{display:none!important}body.has-reading-toc #app{margin:0}.report-fold>section,.report-fold>div{display:block!important}.report-fold>summary{display:none}}
@media(max-width:700px){.hero-art{margin:0!important;transform:none!important;height:340px!important;overflow:clip}.hero-card.left{left:auto!important;transform:translate(-78px,12px) rotate(-13deg)!important}.hero-card.right{right:auto!important;transform:translate(78px,12px) rotate(13deg)!important}.hero-card.center{width:165px!important;max-width:58%!important}.hero-note{gap:8px!important;flex-wrap:wrap;font-size:10px!important;margin-top:20px!important}.lunar-cell-status{font-size:0!important}.lunar-cell-status::first-letter{font-size:15px}.lunar-day svg{width:25px;height:25px}.lunar-day-number i{display:none}.lunar-cell-sign{font-size:15px!important}.lunar-day .lunar-cell-status{display:block!important}.compat-person h3{white-space:normal}.hero-actions{flex-wrap:wrap}}
#app :is(h1,h2,h3,h4,summary){overflow-wrap:anywhere;hyphens:auto}
@media(max-width:700px){.compatibility-page h1{hyphens:manual}.chakra-values dt{font-size:13px!important}.report-fold>summary{font-size:26px!important}.reading-to-top{font-size:13px;min-height:40px;opacity:.94}.hero-actions a{overflow-wrap:normal}}
@media(max-width:700px){html[data-reading-size="130"] .lunar-theme-grid,html[data-reading-size="150"] .lunar-theme-grid{grid-template-columns:minmax(0,1fr)}.lunar-theme-card{min-width:0}.lunar-theme-card :is(strong,small){overflow-wrap:anywhere}#app .lunar-day .lunar-cell-status{font-size:0!important;line-height:1}#app .lunar-day .lunar-cell-status::first-letter{font-size:0}#app .lunar-day .lunar-cell-status::before{content:attr(data-symbol);font:15px/1 Arial,sans-serif}#app .lunar-day-number{font-size:15px!important}#app .lunar-day .lunar-cell-sign{font-size:15px!important}}
@media(max-width:700px){#app .lunar-day .lunar-cell-status{font:15px/1 Arial,sans-serif!important}#app .lunar-day .lunar-cell-status::first-letter{font-size:inherit}#app .lunar-day .lunar-cell-status::before{content:none}}

.hero h1{overflow-wrap:normal!important;hyphens:none!important}
/* Long card names must wrap within their own position at larger text sizes. */
.plan-position{min-width:0}
.plan-position strong{display:block;width:100%;min-width:0;overflow-wrap:anywhere;hyphens:auto}
/* Section artwork: fixed geometry, centered independently of text scaling. */
.tool-discovery-icon{align-self:center;flex:none;width:60px!important;height:60px!important;box-sizing:border-box;display:grid!important;place-items:center;padding:0!important;border-color:#d7b88470;background:radial-gradient(circle,#d7b88412,transparent 75%);line-height:1!important}
.section-icon-art{display:block!important;width:30px!important;height:30px!important;max-width:none!important;object-fit:contain;margin:0!important;flex:none}
.category-symbol{display:grid;place-items:center;align-self:center;width:38px;min-height:44px;line-height:1}
.lunar-theme-card>span{padding:0;display:grid;place-items:center;flex:none;box-sizing:border-box}
.lunar-theme-card .section-icon-art{width:22px!important;height:22px!important}
@media(max-width:700px){.tool-discovery-icon{width:56px!important;height:56px!important;margin:0 auto 22px!important}.lunar-theme-card>span{align-self:center;width:42px;height:42px;margin:0 auto 10px}.lunar-theme-card .section-icon-art{width:24px!important;height:24px!important}}

/* Keep hero actions readable when three entry points share a row. */
.hero-copy{min-width:0}.hero-actions{flex-wrap:wrap;gap:16px 24px}.hero-actions>a{flex-shrink:0;max-width:100%}.hero-actions>.button{white-space:nowrap}.hero-actions>a:last-child{flex-basis:100%}

.hero-copy>p br{display:none}

/* Composition: keep the task ahead of repeated chrome and decoration. */
.matrix-modes a{grid-template-rows:auto auto 1fr;align-content:start}
.oracle-mode-hint{display:none}
@media(min-width:1101px){#app .reader-inline{display:none}}
@media(max-width:700px){
 :is(.natal-page,.matrix-page,.tool-page,.personal-page)>.page-heading{padding-top:28px;padding-bottom:24px}
 .natal-tags{margin-top:18px;gap:8px}.natal-tags span:not(:first-child){display:none}
 .natal-form{padding-top:24px}.natal-form h2{margin-top:12px}
 .today-card{display:grid;grid-template-columns:80px minmax(0,1fr);gap:18px;align-items:start}
 .today-card-art{width:80px;flex-basis:auto;margin:0}.today-card h2{font-size:28px;margin-top:12px;margin-bottom:12px}
 .today-card .eyebrow{font-size:11px;letter-spacing:.6px}.today-card p{margin:10px 0;font-size:16px;line-height:1.65}
 .today-card .button{width:100%;font-size:14px;gap:10px;padding:12px 10px;min-height:48px}
 .today-card-back>span{font-size:36px}.today-card-back>small{font-size:16px}.today-card-back{gap:10px}
 .oracle-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
 .oracle-modes label{padding:14px 12px;gap:9px;min-height:68px;margin:0!important}
 .oracle-modes strong{font-size:16px;line-height:1.5}.oracle-modes small{display:none}
 .oracle-mode-hint{display:block;font-size:16px;line-height:1.7;color:var(--muted);padding:0 0 18px;margin:0}
}
@media(max-width:360px){.today-card{grid-template-columns:64px minmax(0,1fr);gap:12px}.today-card-art{width:64px}.today-card-back>small{font-size:13px}}
.personal-page .page-heading h1{hyphens:manual;text-wrap:balance}
.page-heading p a{color:var(--gold);text-decoration:underline;text-underline-offset:4px}
