:root{--bg: #f1eadb;--panel: #fffaf0;--panel-muted: #f8f0df;--line: #d5c29d;--line-strong: #b29356;--ink: #253246;--muted: #6f6252;--accent: #8f6425;color:var(--ink);background:var(--bg);font-family:"Source Sans 3",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(90deg,rgba(143,100,37,.05) 1px,transparent 1px),linear-gradient(rgba(143,100,37,.05) 1px,transparent 1px),var(--bg);background-size:40px 40px}select,input,button{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:flex;flex-direction:column;--current-bg: var(--bg);--current-panel: var(--panel);--current-panel-muted: var(--panel-muted);--current-line: var(--line);--current-line-strong: var(--line-strong);--current-ink: var(--ink);--current-muted: var(--muted);--current-accent: var(--accent);min-height:100vh;position:relative;padding:14px;color:var(--current-ink);background:linear-gradient(90deg,rgba(143,100,37,.05) 1px,transparent 1px),linear-gradient(rgba(143,100,37,.05) 1px,transparent 1px),var(--current-bg);background-size:40px 40px}.app-shell.dark-mode{--current-bg: #141923;--current-panel: #1d2633;--current-panel-muted: #263141;--current-line: #526176;--current-line-strong: #b29356;--current-ink: #f7efdf;--current-muted: #c6b99f;--current-accent: #d7b46e}.app-header{order:1;border:1px solid var(--current-line);border-bottom:0;background:color-mix(in srgb,var(--current-panel) 92%,transparent);padding:16px 16px 15px;text-align:center}.eyebrow{margin:0 0 6px;color:var(--current-accent);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.brand-logo{display:block;width:min(220px,59vw);height:auto;margin:0 auto 8px}.dark-mode .brand-logo{filter:invert(1) brightness(1.35)}h1,h2{margin:0;font-family:Cormorant Garamond,Georgia,serif;line-height:.95;letter-spacing:0}h1{font-size:clamp(1.95rem,4vw,3.2rem)}h2{font-size:clamp(1.65rem,3.2vw,2.35rem)}.count,.birth-line{margin:6px 0 0;color:var(--current-muted);font-size:.82rem}.chart-select{position:relative;display:block}.chart-select label{display:block;margin-bottom:8px;color:var(--current-muted);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.chart-combobox{display:flex;border:1px solid var(--current-line);background:var(--current-panel)}.chart-combobox:focus-within{border-color:var(--current-line-strong);box-shadow:0 0 0 3px #8f642524}.chart-combobox input{width:100%;min-width:0;border:0;background:transparent;color:var(--current-ink);outline:none;padding:13px 14px;font-size:1rem}.chart-clear{border:0;border-left:1px solid var(--current-line);background:transparent;color:var(--current-muted);padding:0 12px;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.chart-suggestions{position:absolute;z-index:20;right:0;left:0;max-height:min(32rem,calc(100vh - 10rem));overflow-y:auto;overscroll-behavior:contain;margin-top:6px;border:1px solid var(--current-line-strong);background:var(--current-panel);box-shadow:0 16px 28px #2532462e}.chart-suggestions button{display:block;width:100%;border:0;border-bottom:1px solid color-mix(in srgb,var(--current-line) 62%,transparent);background:transparent;color:var(--current-ink);padding:10px 12px;text-align:left}.chart-query-summary{border-bottom:1px solid var(--current-line);background:var(--current-panel-muted);padding:10px 12px}.chart-query-summary strong,.chart-query-summary span{display:block}.chart-query-summary strong{font-size:.84rem}.chart-query-summary span{margin-top:2px;color:var(--current-muted);font-size:.8rem;line-height:1.3}.chart-suggestions button:hover,.chart-suggestions button[aria-selected=true]{background:var(--current-panel-muted)}.chart-suggestions strong,.chart-suggestions span,.chart-suggestions em{display:block}.chart-suggestions strong{font-size:.98rem}.chart-suggestions span{margin-top:2px;color:var(--current-muted);font-size:.8rem;line-height:1.3}.chart-suggestions em{margin-top:2px;color:color-mix(in srgb,var(--current-muted) 76%,transparent);font-size:.72rem;font-style:normal;line-height:1.25}.chart-suggestions p{margin:0;color:var(--current-muted);padding:12px;font-size:.92rem}.mode-toggle{position:fixed;top:8px;right:8px;z-index:40;display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-ink);padding:0;font-size:1rem;font-weight:700;line-height:1;box-shadow:0 10px 18px #2532461f;opacity:.9}.mode-toggle:hover{border-color:var(--current-line-strong);opacity:1}.detail{order:4;min-width:0;border:0;background:transparent;padding:14px 16px}.chart-loader{order:2;position:relative;border:1px solid var(--current-line);border-top:0;background:color-mix(in srgb,var(--current-panel) 86%,transparent);padding:14px 16px}.filter-builder{order:3;border:1px solid var(--current-line);border-top:0;background:color-mix(in srgb,var(--current-panel) 86%,transparent);padding:10px 12px}.filter-builder-head{display:none}.filter-builder-head .eyebrow{margin:0}.filter-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.open-filter-panel{min-height:34px;border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-ink);padding:0 10px;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.open-filter-panel:hover{border-color:var(--current-line-strong)}.tag-filter-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:8px}.tag-filter-group{display:grid;gap:5px;border:1px solid color-mix(in srgb,var(--current-line) 60%,transparent);background:color-mix(in srgb,var(--current-panel) 90%,transparent);padding:8px}.tag-filter-group>span{color:var(--current-muted);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.compact-tag-filters{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.tag-filter-group summary{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--current-muted);cursor:pointer;font-size:.64rem;font-weight:700;letter-spacing:.14em;list-style:none;text-transform:uppercase}.tag-filter-group summary::-webkit-details-marker{display:none}.tag-filter-group summary:after{content:"⌄";font-size:.9rem;letter-spacing:0}.tag-filter-group[open] summary:after{content:"⌃"}.tag-filter-group summary strong{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;border-radius:999px;background:var(--current-ink);color:var(--current-panel);font-family:"Source Sans 3",system-ui,sans-serif;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;font-size:.68rem;letter-spacing:0}.compact-tag-filters .tag-filter-options{display:grid;grid-template-columns:1fr;gap:6px;padding-top:8px}.tag-filter-options{display:flex;flex-wrap:wrap;gap:6px}.filter-option-label{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-width:0}.filter-option-label>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.filter-option-stat{display:inline-block;font-family:"Source Sans 3",system-ui,sans-serif;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;font-size:.78rem;color:var(--current-muted);letter-spacing:.02em;white-space:nowrap;margin-left:.85rem;padding-left:.35rem;flex:0 0 auto}.research-stat-option.is-highest-option{border-color:var(--current-accent);background:color-mix(in srgb,var(--current-accent) 12%,transparent)}.research-stat-option.is-highest-option .filter-option-stat{color:var(--current-accent);font-weight:700}.research-stat-option.is-lowest-option:not(.is-highest-option){opacity:.62}.tag-check{display:flex;align-items:center;gap:8px;color:var(--current-ink);font-size:.82rem;line-height:1.2;cursor:pointer}.tag-check input{width:14px;height:14px;accent-color:var(--current-ink)}.tag-check:has(input:disabled){opacity:.38;cursor:not-allowed}.tag-check input:disabled{cursor:not-allowed}.tag-check span{min-width:0}.tag-filter-options button{border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-ink);padding:6px 8px;font-size:.76rem;line-height:1.2}.tag-filter-options button.is-selected{border-color:var(--current-ink);background:var(--current-ink);color:var(--current-panel)}.astrology-filter-bar{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:end;margin-top:8px}.filter-controls{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:8px;align-items:end;margin-top:0}.filter-builder label{display:block;min-width:0}.filter-builder label span{display:block;margin-bottom:6px;color:var(--current-muted);font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.filter-builder select{width:100%;border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-ink);outline:none;padding:9px 10px;font-size:.9rem}.filter-builder select:focus{border-color:var(--current-line-strong);box-shadow:0 0 0 3px #8f642524}.custom-chart-panel{margin-top:0;padding:0}.custom-chart-head{display:flex;justify-content:flex-end;margin-bottom:8px}.custom-chart-fields{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(120px,.55fr) minmax(420px,2fr) minmax(132px,.55fr);gap:8px;align-items:end;margin-top:10px}.custom-chart-fields label>span{display:none}.custom-chart-name{grid-column:1 / -1;padding-right:58px}.custom-chart-date{grid-column:1 / 2}.custom-chart-time{grid-column:2 / 3}.custom-chart-place{grid-column:3 / 4}.custom-chart-submit{grid-column:4 / 5;min-width:132px;height:50px}.custom-chart-submit.clear-state{background:#050505;border-color:#050505;color:#fff}.dark-mode .custom-chart-submit.clear-state{background:#f7efdf;border-color:#f7efdf;color:#141923}.app-shell.dark-mode .custom-chart-submit{background:#0d121a;border-color:#526176;color:#f7efdf}.app-shell.dark-mode .custom-chart-submit.clear-state{background:#050505;border-color:#526176;color:#f7efdf}.custom-chart-fields input{width:100%;height:50px;border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-ink);outline:none;padding:0 14px;font-size:1rem}.custom-chart-fields input:focus{border-color:var(--current-line-strong);box-shadow:0 0 0 3px #8f642524}.custom-chart-select{width:100%}.chart-loader-actions{position:absolute;top:24px;right:16px;z-index:12;display:flex;justify-content:flex-end;margin-top:0}.filter-toggle{position:relative;width:50px;height:50px;border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-muted);padding:0;font-size:0;letter-spacing:0;white-space:nowrap}.filter-toggle:before{content:"";position:absolute;top:16px;left:13px;width:24px;height:16px;background:linear-gradient(currentColor,currentColor) 0 0/24px 2px no-repeat,linear-gradient(currentColor,currentColor) 0 7px/17px 2px no-repeat,linear-gradient(currentColor,currentColor) 0 14px/10px 2px no-repeat}.filter-toggle:hover{border-color:var(--current-line-strong);color:var(--current-ink)}.clear-custom-chart{border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-accent);padding:10px 12px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.clear-custom-chart:hover{border-color:var(--current-line-strong)}.validated-input{position:relative}.validated-input input{padding-right:38px}.validated-check{position:absolute;top:50%;right:12px;transform:translateY(-50%);color:#2f8a3d;font-size:1rem;font-weight:700;line-height:1;pointer-events:none}.place-suggestions{position:absolute;z-index:30;top:calc(100% + 6px);right:0;left:0;max-height:14rem;overflow:auto;border:1px solid var(--current-line-strong);background:var(--current-panel);box-shadow:0 14px 24px #25324624}.place-suggestions button{display:block;width:100%;border:0;border-bottom:1px solid color-mix(in srgb,var(--current-line) 62%,transparent);background:transparent;color:var(--current-ink);padding:10px 12px;text-align:left}.place-suggestions button:hover{background:var(--current-panel-muted)}.custom-chart-error{margin:10px 0 0;color:#a33a2d;font-size:.92rem}.match-toggle{display:inline-grid;grid-template-columns:1fr 1fr;border:1px solid var(--current-line);background:var(--current-panel);margin-top:0;width:fit-content}.match-toggle button,.add-filter,.clear-filters{border:0;background:transparent;color:var(--current-ink);padding:9px 10px;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.match-toggle button+button{border-left:1px solid var(--current-line)}.match-toggle button.active,.add-filter{background:var(--current-ink);color:var(--current-panel)}.add-filter{min-height:50px;border:1px solid var(--current-ink)}.active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.active-filters button{display:inline-flex;max-width:100%;align-items:center;gap:8px;border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-ink);padding:6px 8px;text-align:left}.active-filters button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-filters button strong{color:var(--current-muted);font-size:.9rem;line-height:1;letter-spacing:.1em;text-transform:none}.open-filter-panel.clear-inline{border-color:var(--current-line-strong);color:var(--current-accent)}.pattern-hint,.pattern-count{margin:8px 0 0;color:var(--current-muted);font-size:.92rem;line-height:1.45}.pattern-results{margin-top:8px}.match-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;max-height:18rem;overflow:auto;margin-top:10px;padding-right:4px}.match-list button{border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-ink);padding:10px 12px;text-align:left}.match-list button:hover{border-color:var(--current-line-strong);background:var(--current-panel-muted)}.match-list strong,.match-list span{display:block}.match-list strong{font-size:.96rem}.match-list span,.match-list small{margin-top:3px;color:var(--current-muted);font-size:.84rem;line-height:1.35}.match-list small,.match-list em{display:block;font-style:normal}.match-list em{margin-top:8px}.match-list b{display:inline-block;margin:0 5px 5px 0;border:1px solid color-mix(in srgb,var(--current-line) 74%,transparent);padding:2px 6px;color:var(--current-muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.match-list b.matched{border-color:var(--current-line-strong);color:var(--current-accent)}.person-header{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--current-line);padding-bottom:18px}.person-meta{max-width:54rem;margin-top:16px}.person-meta p{margin:0;color:var(--current-ink);font-size:1.02rem;line-height:1.55}.meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.meta-row span,.meta-row a,.meta-row button{border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-muted);padding:4px 8px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.meta-row button{cursor:pointer}.meta-row button.is-selected{border-color:var(--current-ink);background:var(--current-ink);color:var(--current-panel)}.meta-row a{border-color:var(--current-line-strong);color:var(--current-accent)}.table-wrap{overflow:auto;margin-top:14px;border:1px solid var(--current-line);background:var(--current-panel)}.chart-panel{margin-top:14px}.chart-panel h3{margin:0 0 10px;color:var(--current-muted);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.chart-frame{display:flex;justify-content:center;overflow:hidden;border:0;background:transparent;padding:0}.chart-frame svg{display:block;width:100%;max-width:none;color:var(--current-ink)}.chart-frame.compact{border:0;background:transparent;padding:0}.chart-frame.compact svg{max-width:none}.chart-frame rect,.chart-frame line,.chart-frame path{fill:transparent;stroke:currentColor;stroke-width:1.2;vector-effect:non-scaling-stroke}.chart-frame .outer-frame{fill:color-mix(in srgb,var(--current-panel) 88%,transparent)}.edge-label{fill:var(--current-muted);font-family:Cormorant Garamond,Georgia,serif;font-size:25px;font-weight:700}.planet-label{fill:var(--current-ink);font-size:34px;font-weight:800}.house-1 .planet-label,.house-7 .planet-label{font-size:36px}.house.lines-2 .planet-label,.house.lines-3 .planet-label{font-size:32px}.house-1.lines-2 .planet-label,.house-7.lines-2 .planet-label,.house-1.lines-3 .planet-label,.house-7.lines-3 .planet-label{font-size:34px}.chart-frame.compact .edge-label{display:none}.chart-frame.compact .planet-label{font-size:55px}.chart-frame.compact .house-1 .planet-label,.chart-frame.compact .house-7 .planet-label{font-size:56px}.chart-frame.compact .house.lines-2 .planet-label{font-size:49px}.chart-frame.compact .house.lines-3 .planet-label{font-size:42px}.chart-frame.compact .house.lines-4 .planet-label{font-size:35px}.chart-frame.compact .house-1.lines-2 .planet-label,.chart-frame.compact .house-7.lines-2 .planet-label{font-size:51px}.chart-frame.compact .house-1.lines-3 .planet-label,.chart-frame.compact .house-7.lines-3 .planet-label{font-size:44px}.chart-frame.compact .house-1.lines-4 .planet-label,.chart-frame.compact .house-7.lines-4 .planet-label{font-size:37px}.south-sign-label{fill:var(--current-muted);font-family:Cormorant Garamond,Georgia,serif;font-size:28px;font-weight:700}.south-planet-label{fill:var(--current-ink);font-size:42px;font-weight:800}.chart-frame.compact .south-sign-label{font-size:32px}.chart-frame.compact .south-planet-label{font-size:56px}.tag-gallery{margin-top:14px}.tag-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.tag-gallery-head h3{margin:0;color:var(--current-muted);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.tag-gallery-head p{margin:4px 0 0;color:var(--current-muted);font-size:.92rem}.close-tag-gallery{border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-muted);padding:8px 10px;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.tag-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.tag-gallery-grid button{border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-ink);padding:10px;text-align:left}.tag-gallery-grid button.is-selected{border-color:var(--current-line-strong);box-shadow:0 0 0 2px color-mix(in srgb,var(--current-accent) 30%,transparent)}.tag-gallery-grid strong{display:block;margin-bottom:8px;font-size:1rem}table{width:100%;min-width:520px;border-collapse:collapse;text-align:left}th{background:var(--current-panel-muted);color:var(--current-muted);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}th,td{border-bottom:1px solid color-mix(in srgb,var(--current-line) 64%,transparent);padding:12px 14px}td{font-size:.98rem}.table-point{display:inline-flex;align-items:center;gap:6px}.table-point b{border:1px solid var(--current-line-strong);color:var(--current-accent);padding:1px 5px;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}tbody tr:hover{background:color-mix(in srgb,var(--current-panel-muted) 64%,transparent)}.filter-builder .tag-check{display:flex;align-items:center;gap:8px;color:var(--current-ink);font-size:.82rem;font-weight:400;line-height:1.2;letter-spacing:0;text-transform:none;cursor:pointer}.filter-builder .tag-check input{width:14px;height:14px;accent-color:var(--current-ink)}.filter-builder .tag-check span{display:inline;margin:0;color:var(--current-ink);font-size:.82rem;font-weight:400;letter-spacing:0;text-transform:none}@media(max-width:1050px){.custom-chart-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.custom-chart-name,.custom-chart-place,.custom-chart-submit{grid-column:1 / -1;min-width:0}.custom-chart-name{padding-right:58px}.custom-chart-date{grid-column:1 / 2}.custom-chart-time{grid-column:2 / 3}.custom-chart-fields>*{min-width:0}.custom-chart-submit{width:100%}}@media(max-width:800px){.app-shell{padding:12px}.app-header,.chart-loader,.detail,.filter-builder{padding:16px}.filter-builder-head{display:none}.filter-actions{justify-content:stretch;margin-top:8px}.filter-actions button{flex:1 1 14rem}.astrology-filter-bar{grid-template-columns:1fr}.match-toggle{width:100%}.custom-chart-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.custom-chart-name,.custom-chart-place,.custom-chart-submit{grid-column:1 / -1;min-width:0;height:50px}.custom-chart-name{padding-right:58px}.custom-chart-date{grid-column:1 / 2}.custom-chart-time{grid-column:2 / 3}.custom-chart-head{display:block}.clear-custom-chart{margin-top:12px;width:100%}.filter-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.add-filter{grid-column:1 / -1}.person-header{display:block}}@media(max-width:520px){.app-shell{padding:8px}.app-header,.chart-loader,.detail,.filter-builder{padding:12px}.chart-loader{padding:10px}.custom-chart-fields{gap:6px}.custom-chart-fields input{height:44px;padding:0 10px;font-size:.92rem}.filter-controls{grid-template-columns:1fr}.filter-actions button{width:100%}.tag-filter-options button{width:100%;text-align:left}.active-filters button{width:100%;justify-content:space-between}.match-list{grid-template-columns:1fr;max-height:16rem}h1{font-size:2.2rem}h2{font-size:1.95rem}.mode-toggle{top:8px;right:8px;width:1.75rem;height:1.75rem}table{min-width:0}th,td{padding:10px 8px;font-size:.88rem}th{font-size:.62rem;letter-spacing:.1em}}
.filter-builder{overflow:visible}.compact-tag-filters{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;margin-top:0}.tag-filter-panel{position:relative;z-index:25}.tag-filter-group{position:relative;display:block;min-width:0}.tag-filter-group[open]{z-index:80}.tag-filter-group summary{min-height:34px}.compact-tag-filters .tag-filter-options{position:absolute;top:calc(100% + 6px);left:0;z-index:90;width:min(260px,calc(100vw - 32px));max-height:18rem;overflow:auto;border:1px solid var(--current-line-strong);background:var(--current-panel);box-shadow:0 14px 24px #25324624;padding:8px}.tag-filter-group:nth-child(n+3) .tag-filter-options{right:0;left:auto}.filter-toggle:before{left:50%;transform:translateX(-50%);background:linear-gradient(currentColor,currentColor) center 0/24px 2px no-repeat,linear-gradient(currentColor,currentColor) center 7px/17px 2px no-repeat,linear-gradient(currentColor,currentColor) center 14px/10px 2px no-repeat}@media(max-width:800px){.compact-tag-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tag-filter-group:nth-child(odd) .tag-filter-options{left:0;right:auto}.tag-filter-group:nth-child(even) .tag-filter-options{right:0;left:auto}}@media(max-width:520px){.chart-loader-actions{top:20px;right:10px}.filter-toggle{width:44px;height:44px}.filter-toggle:before{top:14px}.custom-chart-name{padding-right:50px}.compact-tag-filters .tag-filter-options{width:min(230px,calc(100vw - 28px));max-height:16rem}}.filter-toggle:before{top:50%;transform:translate(-50%,-50%)}@media(max-width:1050px) and (min-width:521px){.chart-loader-actions{top:29px}.filter-toggle{width:52px;height:52px}.custom-chart-name{padding-right:60px}}@media(max-width:520px){.filter-toggle:before{top:50%;transform:translate(-50%,-50%)}}.tag-match-toggle{width:100%;border:1px solid var(--current-line);background:var(--current-panel-muted);color:var(--current-ink);padding:7px 8px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-align:left;text-transform:uppercase}.tag-match-toggle:hover{border-color:var(--current-line-strong)}.tag-filter-group summary:after{content:"▼";display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-ink);font-size:.72rem;line-height:1;letter-spacing:0}.tag-filter-group[open] summary:after{content:"▲";border-color:var(--current-line-strong);background:var(--current-panel-muted);color:var(--current-accent)}.chart-frame .south-bg{fill:color-mix(in srgb,var(--current-panel) 88%,transparent);stroke:none}.chart-combobox{position:relative}.name-clear{position:absolute;top:50%;right:10px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--current-line);background:var(--current-panel-muted);color:var(--current-muted);padding:0;font-size:1rem;font-weight:700;line-height:1}.name-clear:hover{border-color:var(--current-line-strong);color:var(--current-ink)}.custom-chart-name:has(.name-clear){padding-right:92px}.custom-chart-name:has(.name-clear) .chart-combobox input{padding-right:48px}@media(max-width:1050px){.custom-chart-name:has(.name-clear){padding-right:94px}}@media(max-width:520px){.custom-chart-name:has(.name-clear){padding-right:82px}.name-clear{right:8px;width:26px;height:26px}}.compact-tag-filters{display:flex;flex-wrap:wrap;grid-template-columns:none;align-items:flex-start;gap:8px}.compact-tag-filters .tag-filter-group{display:block;flex:0 0 auto;width:auto;min-width:0}.compact-tag-filters .tag-filter-group summary{width:max-content;max-width:calc(100vw - 32px);padding-right:8px}.compact-tag-filters .tag-filter-options{min-width:220px}@media(max-width:800px){.compact-tag-filters{display:flex;grid-template-columns:none}.compact-tag-filters .tag-filter-group summary{max-width:calc(50vw - 20px)}}@media(max-width:520px){.compact-tag-filters .tag-filter-group summary{max-width:calc(100vw - 42px)}}
.astro-filter-panel{margin-top:8px}.astro-filter-options{min-width:240px}.astro-select-row{display:grid!important;gap:4px;margin:0 0 6px!important}.astro-select-row span{display:block!important;margin:0!important;color:var(--current-muted)!important;font-size:.62rem!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important}.astro-select-row select{width:100%;height:auto;border:1px solid var(--current-line);background:var(--current-panel);color:var(--current-ink);outline:none;padding:7px 8px;font-size:.82rem}.astro-select-row select:focus{border-color:var(--current-line-strong);box-shadow:0 0 0 3px #8f642524}.astro-filter-options .tag-check{padding:2px 0}.astro-filter-group summary{white-space:nowrap}.match-toggle,.filter-controls .add-filter{display:none}
.filter-panel-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;margin:0 0 8px}.filter-clear-all,.filter-hide-all{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:100%;height:44px;box-sizing:border-box;margin:0;border:1px solid var(--current-line);background:var(--current-panel);padding:0 10px;font-size:.68rem;font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase;vertical-align:top}.filter-clear-all{color:var(--current-accent)}.filter-hide-all{color:var(--current-muted)}.filter-clear-all:hover,.filter-hide-all:hover{border-color:var(--current-line-strong);background:var(--current-panel-muted)}.filter-hide-all:hover{color:var(--current-ink)}
.filter-builder{position:relative;z-index:60;overflow:visible}.tag-filter-panel{z-index:40}.tag-filter-panel:has(.tag-filter-group[open]){z-index:220}.tag-filter-group[open]{z-index:300}.compact-tag-filters .tag-filter-options{z-index:420;max-width:calc(100vw - 28px)}.astro-filter-options{display:grid!important;grid-template-columns:1fr!important;gap:6px}.astro-filter-options .tag-check{white-space:normal}.astro-filter-options .tag-check span{line-height:1.2}
.match-placeholder-overlay{position:absolute;inset:0 14px;display:flex;align-items:center;min-width:0;color:var(--current-muted);font-size:1rem;line-height:1.2;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-placeholder-overlay strong{flex:0 0 auto;color:var(--current-ink);font-weight:800}.match-placeholder-overlay span{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:400}.chart-combobox.has-filter-matches input{position:relative;z-index:1;background:transparent}.chart-combobox.has-filter-matches input:not(:placeholder-shown)+.match-placeholder-overlay{display:none}@media(max-width:520px){.match-placeholder-overlay{inset:0 10px;font-size:.92rem}}
.chart-loader{z-index:500;overflow:visible}.chart-select:focus-within{z-index:900}.chart-suggestions{z-index:1000}.chart-combobox.has-filter-matches input::placeholder{color:var(--current-ink);opacity:1;font-weight:650}.chart-combobox.has-filter-matches{border-color:var(--current-line-strong);background:color-mix(in srgb,var(--current-panel) 96%,var(--current-panel-muted))}
.chart-suggestions .compare-all-suggestion{background:var(--current-ink);color:var(--current-panel);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.chart-suggestions .compare-all-suggestion:hover{background:color-mix(in srgb,var(--current-ink) 88%,var(--current-accent))}.compare-gallery{padding-top:14px}.compare-gallery .tag-gallery-head{margin-bottom:10px}.compare-gallery-grid button{display:grid;gap:8px}.compare-gallery-grid strong{margin:0;text-align:left}.compare-gallery-grid .chart-frame{aspect-ratio:1.315/1}.compare-gallery-grid .chart-frame svg{height:100%;width:100%}
.filter-toggle.is-open:before{width:22px;height:2px;top:50%;left:50%;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}.filter-toggle.is-open:after{content:"";position:absolute;top:50%;left:50%;width:22px;height:2px;background:currentColor;transform:translate(-50%,-50%) rotate(-45deg)}
@media(max-width:1050px) and (min-width:801px){.chart-loader-actions{top:24px}.filter-toggle{width:50px;height:50px}.custom-chart-name{padding-right:58px}}@media(max-width:800px) and (min-width:521px){.chart-loader-actions{top:26px}.filter-toggle{width:50px;height:50px}.custom-chart-name{padding-right:58px}}

.filter-hide-all{color:var(--current-accent)}
.tag-filter-group summary{position:relative;padding-right:1.05rem}
.tag-filter-group summary::marker{content:""}
.tag-filter-group summary:after{content:"⌄";display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;margin-left:auto;border:0;background:transparent;color:var(--current-muted);font-size:.72rem;font-weight:700;line-height:1;opacity:.45}
.tag-filter-group[open] summary:after{content:"⌃";color:var(--current-accent);font-size:1rem;font-weight:900;opacity:1}
.astro-select-row select{appearance:none;-webkit-appearance:none;background-color:var(--current-panel);background-image:linear-gradient(45deg,transparent 50%,var(--current-muted) 50%),linear-gradient(135deg,var(--current-muted) 50%,transparent 50%);background-position:calc(100% - 13px) 50%,calc(100% - 8px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:26px}

.filter-clear-all,.filter-hide-all{color:var(--current-accent)}
.filter-hide-all:hover{color:var(--current-accent)}
.compact-tag-filters .tag-filter-group{border:0!important;background:transparent!important;padding:0!important}
.compact-tag-filters .tag-filter-group summary{border:0!important;background:transparent!important;padding:0 .95rem 0 0!important;box-shadow:none!important}
.tag-filter-group summary:after{content:"⌄"!important;display:inline-flex!important;width:auto!important;height:auto!important;min-width:0!important;border:0!important;background:transparent!important;color:var(--current-muted)!important;font-size:.72rem!important;font-weight:700!important;line-height:1!important;opacity:.42!important;box-shadow:none!important}
.tag-filter-group[open] summary:after{content:"▲"!important;border:0!important;background:transparent!important;color:var(--current-accent)!important;font-size:.82rem!important;font-weight:900!important;opacity:1!important;box-shadow:none!important}

/* Filter action/button cleanup */
.filter-panel-actions .filter-clear-all,
.filter-panel-actions .filter-hide-all{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:1px solid var(--current-line)!important;
  background:var(--current-panel)!important;
  color:var(--current-accent)!important;
  box-shadow:none!important;
  border-radius:0!important;
  font-family:inherit!important;
  font-size:.68rem!important;
  font-weight:700!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
.filter-panel-actions .filter-clear-all:hover,
.filter-panel-actions .filter-hide-all:hover{
  border-color:var(--current-line-strong)!important;
  background:var(--current-panel-muted)!important;
  color:var(--current-accent)!important;
}
/* Filter dropdown trigger cleanup */
.compact-tag-filters .tag-filter-group{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
}
.compact-tag-filters .tag-filter-group summary{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0 .95rem 0 0!important;
}
.compact-tag-filters .tag-filter-group summary:after,
.tag-filter-group summary:after{
  content:"⌄"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--current-muted)!important;
  box-shadow:none!important;
  font-size:.72rem!important;
  font-weight:700!important;
  line-height:1!important;
  opacity:.42!important;
}
.compact-tag-filters .tag-filter-group[open] summary:after,
.tag-filter-group[open] summary:after{
  content:"▲"!important;
  border:0!important;
  background:transparent!important;
  color:var(--current-accent)!important;
  box-shadow:none!important;
  font-size:.82rem!important;
  font-weight:900!important;
  opacity:1!important;
}

/* Premium compact filter presentation */
.filter-builder{
  padding:14px 18px 18px!important;
  background:color-mix(in srgb,var(--current-panel) 78%,transparent)!important;
}
.filter-panel-actions{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 14px!important;
}
.filter-panel-actions .filter-clear-all,
.filter-panel-actions .filter-hide-all{
  min-height:32px!important;
  border:1px solid color-mix(in srgb,var(--current-line) 78%,transparent)!important;
  background:transparent!important;
  color:var(--current-accent)!important;
  padding:6px 10px!important;
  box-shadow:none!important;
  font-size:.62rem!important;
  letter-spacing:.12em!important;
}
.filter-panel-actions .filter-clear-all:hover,
.filter-panel-actions .filter-hide-all:hover{
  border-color:var(--current-line-strong)!important;
  background:color-mix(in srgb,var(--current-panel-muted) 58%,transparent)!important;
}
.tag-filter-panel.compact-tag-filters,
.compact-tag-filters.astro-filter-panel{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:12px 26px!important;
  margin:0!important;
  padding:0!important;
}
.compact-tag-filters.astro-filter-panel{
  margin-top:14px!important;
}
.compact-tag-filters .tag-filter-group{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
}
.compact-tag-filters .tag-filter-group summary{
  min-height:28px!important;
  width:max-content!important;
  max-width:calc(100vw - 32px)!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  border:0!important;
  border-bottom:1px solid transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  color:color-mix(in srgb,var(--current-ink) 72%,var(--current-muted))!important;
  padding:0 0 4px!important;
  font-size:.64rem!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
  line-height:1!important;
}
.compact-tag-filters .tag-filter-group summary:hover{
  border-bottom-color:color-mix(in srgb,var(--current-line-strong) 50%,transparent)!important;
  color:var(--current-ink)!important;
}
.compact-tag-filters .tag-filter-group[open] summary{
  border-bottom-color:var(--current-line-strong)!important;
  color:var(--current-ink)!important;
}
.filter-builder .tag-filter-group summary:after,
.filter-builder .compact-tag-filters .tag-filter-group summary:after{
  content:"▾"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  margin-left:2px!important;
  border:0!important;
  background:transparent!important;
  color:var(--current-muted)!important;
  box-shadow:none!important;
  font-size:.64rem!important;
  font-weight:700!important;
  line-height:1!important;
  opacity:.5!important;
}
.filter-builder .tag-filter-group[open] summary:after,
.filter-builder .compact-tag-filters .tag-filter-group[open] summary:after{
  content:"▴"!important;
  color:var(--current-accent)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  opacity:1!important;
}
.filter-builder .tag-filter-group summary strong{
  min-width:1.05rem!important;
  height:1.05rem!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--current-accent) 84%,var(--current-ink))!important;
  color:var(--current-panel)!important;
  font-size:.58rem!important;
}
.compact-tag-filters .tag-filter-options{
  top:calc(100% + 8px)!important;
  border:1px solid var(--current-line-strong)!important;
  background:var(--current-panel)!important;
  box-shadow:0 18px 36px color-mix(in srgb,var(--current-ink) 18%,transparent)!important;
}
@media(max-width:800px){
  .filter-panel-actions{justify-content:stretch!important}
  .filter-panel-actions .filter-clear-all,
  .filter-panel-actions .filter-hide-all{flex:1 1 auto!important;width:auto!important}
  .tag-filter-panel.compact-tag-filters,
  .compact-tag-filters.astro-filter-panel{gap:10px 18px!important}
}
@media(max-width:520px){
  .filter-builder{padding:12px!important}
  .filter-panel-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .compact-tag-filters .tag-filter-group summary{font-size:.61rem!important;letter-spacing:.12em!important}
}

select.tag-match-toggle{
  appearance:auto!important;
  -webkit-appearance:menulist!important;
  cursor:pointer!important;
  text-align:left!important;
}
select.tag-match-toggle:focus{
  outline:none!important;
  border-color:var(--current-line-strong)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--current-accent) 18%,transparent)!important;
}

.match-placeholder-overlay>span{margin-left:.35rem}

.yoga-trait-trigger{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:var(--current-ink);font-size:.9rem;font-weight:800;line-height:1.2;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--current-accent) 45%,transparent);cursor:pointer}
.yoga-trait-trigger:hover,.yoga-trait-trigger:focus{color:var(--current-accent);outline:none}
.yoga-popover{position:fixed;z-index:99999;width:min(22rem,calc(100vw - 24px));border-left:2px solid var(--current-line-strong,#b29356);background:var(--current-panel,#fffaf0);box-shadow:0 18px 42px color-mix(in srgb,var(--current-ink,#253246) 22%,transparent);color:var(--current-muted,#6f6252);padding:10px 12px;font-size:.8rem;line-height:1.38;text-align:left}
.yoga-popover strong{display:inline;color:var(--current-ink,#253246)}
/* Keep filter action buttons aligned as one row. */
.filter-panel-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  gap:8px!important;
}
.filter-panel-actions .filter-clear-all,
.filter-panel-actions .filter-hide-all{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:stretch!important;
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0 10px!important;
  line-height:1!important;
  vertical-align:top!important;
  transform:none!important;
  position:relative!important;
  top:0!important;
}

/* Put Rating first in the main tag filters. */
.tag-filter-panel.compact-tag-filters:not(.astro-filter-panel)>.tag-filter-group:nth-child(4){order:-1!important}

.similar-charts{
  border:1px solid var(--current-line);
  background:color-mix(in srgb,var(--current-panel) 94%,transparent);
  padding:14px;
  margin:14px 0;
}
.similar-charts summary{
  cursor:pointer;
  list-style:none;
  font-family:"Source Sans 3",system-ui,sans-serif;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--current-accent);
}
.similar-charts summary::-webkit-details-marker{
  display:none;
}
.similar-charts summary::after{
  content:" +";
  color:var(--current-muted);
}
.similar-charts[open] summary{
  margin-bottom:10px;
}
.similar-charts[open] summary::after{
  content:" -";
}
.similar-charts-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.similar-charts h3{
  margin:0;
  font-family:"Source Sans 3",system-ui,sans-serif;
  font-size:.82rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--current-accent);
}
.similar-charts p{
  margin:3px 0 0;
  color:var(--current-muted);
  font-size:.9rem;
}
.similar-charts-note{
  margin:0 0 10px!important;
  color:var(--current-muted)!important;
  font-size:.9rem!important;
  line-height:1.35!important;
}
.similar-chart-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px;
}
.similar-chart-list button{
  border:1px solid var(--current-line);
  background:var(--current-panel);
  color:var(--current-ink);
  padding:10px;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
}
.similar-chart-list button:hover{
  border-color:var(--current-line-strong);
  background:var(--current-panel-muted);
}
.similar-chart-list strong{
  display:block;
  font-size:1rem;
  line-height:1.1;
}
.similar-chart-list em{
  display:block;
  margin-top:2px;
  color:var(--current-muted);
  font-style:normal;
  font-size:.78rem;
  line-height:1.1;
}
.similar-chart-list b{
  color:var(--current-accent);
  font-size:1.05rem;
  white-space:nowrap;
}

.chart-compare-detail{
  border:1px solid var(--current-line);
  background:var(--current-panel);
  margin:14px 0;
  padding:14px;
}
.chart-compare-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.chart-compare-head h3{
  margin:0;
  color:var(--current-accent);
  font-family:"Source Sans 3",system-ui,sans-serif;
  font-size:.82rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.chart-compare-head p{
  margin:4px 0 0;
  color:var(--current-muted);
  font-size:.92rem;
}
.chart-compare-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.chart-compare-actions button{
  border:1px solid var(--current-line);
  background:var(--current-panel);
  color:var(--current-muted);
  padding:7px 9px;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.chart-compare-actions button:hover{
  border-color:var(--current-line-strong);
  color:var(--current-ink);
}
.chart-compare-names{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:8px;
}
.chart-compare-names strong{
  display:block;
  border:1px solid color-mix(in srgb,var(--current-line) 70%,transparent);
  background:color-mix(in srgb,var(--current-panel-muted) 72%,transparent);
  padding:8px 10px;
  color:var(--current-ink);
  font-size:.96rem;
  line-height:1.2;
}
.chart-compare-names em{
  display:block;
  margin-top:2px;
  color:var(--current-muted);
  font-size:.72rem;
  font-style:normal;
  font-weight:600;
  line-height:1.2;
}
.chart-compare-table-wrap{
  overflow:auto;
  border:1px solid var(--current-line);
}
.chart-compare-table{
  min-width:620px;
}
.chart-compare-table th,
.chart-compare-table td{
  vertical-align:top;
}
.chart-compare-table td:first-child{
  width:8rem;
  color:var(--current-ink);
  font-weight:800;
}
.compare-stack{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
}
.compare-value{
  min-width:0;
  border:1px solid color-mix(in srgb,var(--current-line) 70%,transparent);
  padding:4px 6px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--current-muted);
  font-size:.8rem;
  line-height:1.15;
}
.compare-value.is-same{
  border-color:color-mix(in srgb,var(--current-line-strong) 70%,transparent);
  background:color-mix(in srgb,var(--current-accent) 14%,transparent);
  color:var(--current-ink);
  font-weight:800;
}
.compare-value.is-different{
  background:color-mix(in srgb,var(--current-panel-muted) 40%,transparent);
}
@media(max-width:700px){
  .chart-compare-head,
  .chart-compare-names{
    display:block;
  }
  .chart-compare-actions{
    justify-content:flex-start;
    margin-top:10px;
  }
  .chart-compare-names strong+strong{
    margin-top:6px;
  }
  .compare-stack{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.voice-search-button{
  position:absolute!important;
  top:0!important;
  right:0!important;
  z-index:14!important;
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  border:1px solid var(--current-line)!important;
  background:var(--current-panel)!important;
  color:var(--current-muted)!important;
  padding:0!important;
  font-size:1.15rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.voice-search-button:hover,
.voice-search-button.is-listening{
  border-color:var(--current-line-strong)!important;
  color:var(--current-accent)!important;
  background:var(--current-panel-muted)!important;
}
.voice-search-button.is-listening{
  animation:voicePulse 1s ease-in-out infinite;
}
.custom-chart-name{
  position:relative!important;
  padding-right:116px!important;
}
@media(max-width:1050px){
  .custom-chart-name{
    padding-right:116px!important;
  }
}
@media(max-width:520px){
  .voice-search-button{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
  }
  .custom-chart-name{
    padding-right:102px!important;
  }
}
@keyframes voicePulse{
  0%,100%{opacity:1}
  50%{opacity:.55}
}

.filter-option-stat{
  font-family:"Cormorant Garamond",Georgia,serif!important;
  font-size:.92rem!important;
  font-style:italic!important;
  font-weight:800!important;
  color:var(--current-accent)!important;
  letter-spacing:.02em!important;
}
.filter-option-label em{
  color:var(--current-muted);
  font-size:.78rem;
  font-style:italic;
  font-weight:600;
}
.filter-section-divider{
  display:flex;
  align-items:center;
  gap:8px;
  margin:7px 0 2px;
  color:var(--current-accent);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.filter-section-divider:after{
  content:"";
  height:1px;
  flex:1;
  background:color-mix(in srgb,var(--current-line) 72%,transparent);
}

/* Name row: input, mic button, filter button. */
.custom-chart-name{
  position:relative!important;
  padding-right:116px!important;
}
.voice-search-button{
  position:absolute!important;
  top:0!important;
  right:58px!important;
  z-index:14!important;
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  border:1px solid var(--current-line)!important;
  background:var(--current-panel)!important;
  color:var(--current-muted)!important;
  padding:0!important;
  font-size:0!important;
}
.voice-search-button:before{
  content:"";
  position:absolute;
  top:11px;
  left:50%;
  width:11px;
  height:18px;
  border:2px solid currentColor;
  border-radius:8px;
  transform:translateX(-50%);
}
.voice-search-button:after{
  content:"";
  position:absolute;
  left:50%;
  top:29px;
  width:18px;
  height:10px;
  border-bottom:2px solid currentColor;
  border-left:2px solid transparent;
  border-right:2px solid transparent;
  transform:translateX(-50%);
  box-shadow:0 8px 0 -6px currentColor;
}
.voice-search-button:hover,
.voice-search-button.is-listening{
  border-color:var(--current-line-strong)!important;
  color:var(--current-accent)!important;
  background:var(--current-panel-muted)!important;
}
.chart-loader-actions{
  right:16px!important;
}
@media(max-width:1050px){
  .custom-chart-name{
    padding-right:116px!important;
  }
}
@media(max-width:520px){
  .custom-chart-name{
    padding-right:102px!important;
  }
  .voice-search-button{
    right:50px!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
  }
  .voice-search-button:before{
    top:9px;
    height:16px;
  }
.voice-search-button:after{
  top:25px;
  }
}

/* Final mic layout: MIC is part of the name input group; no empty slot. */
.custom-chart-name{
  padding-right:58px!important;
}
.voice-search-button{
  position:static!important;
  top:auto!important;
  right:auto!important;
  z-index:auto!important;
  width:64px!important;
  height:auto!important;
  min-width:64px!important;
  border:0!important;
  border-left:1px solid var(--current-line)!important;
  background:transparent!important;
  color:var(--current-muted)!important;
  padding:0 10px!important;
  font-size:.66rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.voice-search-button:before,
.voice-search-button:after{
  content:none!important;
  display:none!important;
}
.voice-search-button:hover,
.voice-search-button.is-listening{
  border-color:var(--current-line)!important;
  background:var(--current-panel-muted)!important;
  color:var(--current-accent)!important;
}
@media(max-width:1050px){
  .custom-chart-name{
    padding-right:58px!important;
  }
}
@media(max-width:520px){
  .custom-chart-name{
    padding-right:52px!important;
  }
  .voice-search-button{
    width:54px!important;
    min-width:54px!important;
  }
}

/* Keep selected-chart X inline after MIC instead of over MIC. */
.name-clear{
  position:static!important;
  top:auto!important;
  right:auto!important;
  transform:none!important;
  flex:0 0 50px!important;
  width:50px!important;
  height:auto!important;
  align-self:stretch!important;
  border:0!important;
  border-left:1px solid var(--current-line)!important;
  background:transparent!important;
  color:var(--current-muted)!important;
}
.name-clear:hover{
  background:var(--current-panel-muted)!important;
  color:var(--current-ink)!important;
}
.custom-chart-name:has(.name-clear){
  padding-right:58px!important;
}
.custom-chart-name:has(.name-clear) .chart-combobox input{
  padding-right:14px!important;
}
@media(max-width:520px){
  .name-clear{
    flex-basis:44px!important;
    width:44px!important;
  }
.custom-chart-name:has(.name-clear){
    padding-right:52px!important;
  }
}

/* Compare-all chart cards: centered title, minimal title-to-chart gap. */
.compare-gallery-grid button{
  padding:8px!important;
  gap:2px!important;
  text-align:center!important;
  align-content:start!important;
}
.compare-gallery-grid strong{
  display:block!important;
  margin:0!important;
  padding:0 0 2px!important;
  text-align:center!important;
  font-size:1rem!important;
  line-height:1.05!important;
}
.compare-gallery-grid .chart-frame{
  width:100%!important;
  margin-top:0!important;
}
@media(max-width:520px){
  .compare-gallery-grid button{
    padding:6px!important;
    gap:1px!important;
  }
  .compare-gallery-grid strong{
    padding-bottom:1px!important;
  }
}

/* Mobile chart comparison: compact abbreviations and no forced overflow. */
@media(max-width:700px){
  .chart-compare-detail{
    padding:10px!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .chart-compare-table-wrap{
    overflow-x:hidden!important;
  }
  .chart-compare-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
  }
  .chart-compare-table th,
  .chart-compare-table td{
    padding:7px 4px!important;
    font-size:.74rem!important;
  }
  .chart-compare-table td:first-child,
  .chart-compare-table th:first-child{
    width:2.5rem!important;
  }
  .compare-stack{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:3px!important;
  }
  .compare-value{
    padding:3px 2px!important;
    font-size:.68rem!important;
    text-align:center!important;
  }
}

.filter-stats-loading,
.filter-stats-loading *{
  cursor:progress!important;
}
.filter-stats-loading .filter-option-stat{
  opacity:.72;
}

/* Compact chart-gallery cards: use the same centered title treatment everywhere. */
.tag-gallery-grid button,
.compare-gallery-grid button{
  display:grid!important;
  gap:0!important;
  align-content:start!important;
  text-align:center!important;
}
.tag-gallery-grid strong,
.compare-gallery-grid strong{
  display:block!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  line-height:1.05!important;
}
.tag-gallery-grid .chart-frame,
.compare-gallery-grid .chart-frame{
  margin-top:0!important;
}
