/* Shared semantic components. Tenant-specific values live in curated templates. */
html[data-site-theme]{--ink:var(--text-color);--muted:var(--muted-color);--bg:var(--page-bg);--card:var(--card-bg);--line:var(--border-color);--violet:var(--accent-primary);--violet2:var(--accent-secondary);--mint:var(--accent-secondary);--shadow:var(--card-shadow);color-scheme:light;scroll-behavior:smooth}
@media(prefers-color-scheme:dark){html[data-site-theme]:not([data-color-mode=light]){color-scheme:dark}}
html[data-color-mode=dark]{color-scheme:dark}html[data-color-mode=light]{color-scheme:light}
html[data-site-theme] body{background:var(--page-bg);color:var(--text-color);font-family:var(--body-font);background-image:var(--hero-glow);background-repeat:no-repeat;min-width:0}
html[data-site-theme] h1,html[data-site-theme] h2,html[data-site-theme] h3,html[data-site-theme] h4,html[data-site-theme] legend{font-family:var(--heading-font);color:var(--text-color);text-wrap:balance}
html[data-site-theme] a{color:var(--link-color);text-underline-offset:.18em}
html[data-site-theme] .topbar{background:var(--header-bg);border-color:var(--border-color);min-height:var(--header-height);height:auto;position:relative;gap:16px;flex-wrap:wrap;padding-block:14px}
html[data-site-theme] .brand,html[data-site-theme] .brand small,html[data-site-theme] .brand-attribution,html[data-site-theme] nav a,html[data-site-theme] .link-button{color:var(--text-color)}
html[data-site-theme] .brand-attribution{opacity:.85}
html[data-site-theme] .tenant-switcher label{color:var(--text-color)}
html[data-site-theme] .site-nav{gap:12px 20px;justify-content:flex-end;font-size:14px}
html[data-site-theme] .site-nav a{display:inline;padding-block:5px}
html[data-site-theme] .container{max-width:1240px;padding-block:var(--hero-spacing);min-width:0}
html[data-site-theme] .hero,html[data-site-theme] .public-hero{min-height:min(680px,72vh);grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:clamp(24px,5vw,72px);align-items:center}
html[data-site-theme] .public-copy{max-width:var(--hero-width);min-width:0}
html[data-site-theme] .public-copy h1,html[data-site-theme] .hero h1{font-size:clamp(2.15rem,4.6vw,4.3rem);line-height:1.1;letter-spacing:-.035em;margin:18px 0 26px;overflow-wrap:normal}
html[data-site-theme] .public-copy>p{font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.8;color:var(--muted-color);max-width:62ch}
html[data-site-theme] .public-title-row{display:block}
.location-heading{display:block;font-size:.76em;line-height:1.3;margin-top:.25em;letter-spacing:-.02em}.location-place,.location-age{white-space:nowrap;display:inline-block}
html[data-site-theme] .card,html[data-site-theme] .showcase-card,html[data-site-theme] .stat{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--card-shadow);color:var(--text-color)}
html[data-site-theme] .showcase-page{--card:var(--card-bg);--line:var(--border-color);--ink:var(--text-color);--muted:var(--muted-color);--violet:var(--accent-primary);color:var(--text-color)}
html[data-site-theme] .role-card{padding:clamp(20px,3vw,30px)}
html[data-site-theme] .public-panel{padding:30px;border-top:2px solid var(--accent-secondary);order:initial}
html[data-site-theme] .public-panel>span,html[data-site-theme] .public-panel strong,html[data-site-theme] .eyebrow,html[data-site-theme] details summary{color:var(--accent-primary)}
html[data-site-theme] .public-panel li{padding:12px 0;border-color:var(--border-color)}
html[data-site-theme] .button.primary,html[data-site-theme] .showcase-visit{background:var(--button-bg);color:var(--button-text);border-color:transparent;box-shadow:none;border-radius:var(--button-radius);font-weight:700;min-height:44px}
html[data-site-theme] .button.secondary,html[data-site-theme] .button.small{background:var(--section-bg);border-color:var(--border-color);color:var(--text-color);border-radius:var(--button-radius);min-height:44px}
html[data-site-theme] .button:hover{filter:brightness(.95)}
html[data-site-theme] .button.danger{background:var(--card-bg);border-color:var(--error-text);color:var(--error-text);border-radius:var(--button-radius)}
html[data-site-theme]{--error-bg:#fde7e9;--error-text:#8e2536;--success-bg:#e0f8f0;--success-text:#14644e;--warning-bg:#fff0db;--warning-text:#764715}
@media(prefers-color-scheme:dark){html[data-site-theme]:not([data-color-mode=light]){--error-bg:#4b1f31;--error-text:#ffcad5;--success-bg:#153b36;--success-text:#b3f2da;--warning-bg:#463021;--warning-text:#ffdbad}}
html[data-site-theme][data-color-mode=dark]{--error-bg:#4b1f31;--error-text:#ffcad5;--success-bg:#153b36;--success-text:#b3f2da;--warning-bg:#463021;--warning-text:#ffdbad}
html[data-site-theme] input,html[data-site-theme] textarea,html[data-site-theme] select{background:var(--field-bg);color:var(--text-color);border:1px solid var(--field-border);border-radius:var(--field-radius);min-width:0;max-width:100%;padding:12px;font-family:var(--body-font)}
html[data-site-theme] input::placeholder,html[data-site-theme] textarea::placeholder{color:var(--muted-color);opacity:1}
html[data-site-theme] input:focus,html[data-site-theme] textarea:focus,html[data-site-theme] select:focus{border-color:var(--focus-color);box-shadow:none}
html[data-site-theme] :focus-visible{outline:3px solid var(--focus-color);outline-offset:3px}
html[data-site-theme] input[type=checkbox],html[data-site-theme] input[type=radio]{accent-color:var(--accent-primary);width:auto}
html[data-site-theme] .question-row,html[data-site-theme] .compact-form,html[data-site-theme] .tabs,html[data-site-theme] .page-item>summary{background:var(--section-bg);border-color:var(--border-color);border-radius:var(--radius)}
html[data-site-theme] .tabs a:hover{background:var(--card-bg);color:var(--text-color)}
html[data-site-theme] .program-icon{background:var(--section-bg);color:var(--accent-primary);border:1px solid var(--border-color);border-radius:var(--button-radius)}
html[data-site-theme] .pill,html[data-site-theme] .status{background:var(--section-bg);color:var(--muted-color)}
html[data-site-theme] .status.active,html[data-site-theme] .alert.success{background:var(--success-bg);color:var(--success-text)}
html[data-site-theme] .status.draft,html[data-site-theme] .alert.warning{background:var(--warning-bg);color:var(--warning-text)}
html[data-site-theme] .alert.danger{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-text)}
html[data-site-theme] .alert.danger::before{content:'Error: ';font-weight:800}
html[data-site-theme] .match-card.ineligible{opacity:1;border-style:dashed}
html[data-site-theme] .score-ring{background:radial-gradient(closest-side,var(--card-bg) 75%,transparent 76% 99%),conic-gradient(var(--accent-primary) calc(var(--score)*1%),var(--border-color) 0)}
html[data-site-theme] .product-attribution{background:var(--section-bg);color:var(--muted-color);border-color:var(--border-color)}
html[data-site-theme] .product-attribution a{color:var(--link-color)}
html[data-site-theme] .orb{background:radial-gradient(circle at 35% 30%,var(--card-bg),var(--highlight-color));box-shadow:var(--card-shadow);color:var(--text-color)}
html[data-site-theme] .light-artwork{background:var(--logo-surface);padding:8px;border:0}
html[data-site-theme] .tenant-title-logo{max-width:clamp(190px,24vw,310px);max-height:70px;width:auto;height:auto;object-fit:contain}
html[data-site-theme=match-night-romance] .tenant-title-logo{background:transparent;padding:0}
html[data-site-theme] .appearance-control{display:flex;align-items:center;justify-content:flex-end;gap:10px;max-width:1240px;margin:auto;padding:12px 28px 0;color:var(--muted-color)}
.appearance-control label{font-size:12px;font-weight:500}.appearance-control select{width:auto!important;font-size:12px!important;padding:7px 10px!important}
.theme-preview-banner{background:var(--section-bg);border-bottom:1px solid var(--border-color);padding:16px 28px;color:var(--text-color)}.theme-preview-banner nav{flex-wrap:wrap;gap:12px;margin-top:10px;font-size:13px}
.theme-selector{padding:24px}.theme-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.theme-option{display:block;cursor:pointer;border:2px solid transparent;border-radius:12px;padding:4px;font-weight:400;min-width:0}.theme-option:has(input:checked){border-color:var(--focus-color)}.theme-option>input{margin:6px 8px}.theme-option-name{font-weight:700;color:var(--text-color)}
.theme-swatch{display:block;padding:18px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--page-bg);color:var(--text-color);font-family:var(--body-font);box-shadow:var(--card-shadow);min-height:195px}.theme-swatch strong{display:block;font:700 22px/1.2 var(--heading-font);color:var(--text-color);margin-bottom:10px}.swatch-card{display:block;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--card-bg);padding:12px;margin:12px 0}.swatch-button{display:inline-block;padding:8px 13px;background:var(--button-bg);color:var(--button-text);border-radius:var(--button-radius);font-size:12px;font-weight:700}.color-swatches{display:flex;gap:7px;margin-top:14px}.color-swatches i{width:17px;height:17px;border-radius:50%;border:1px solid var(--border-color)}.color-swatches i:nth-child(1){background:var(--accent-primary)}.color-swatches i:nth-child(2){background:var(--accent-secondary)}.color-swatches i:nth-child(3){background:var(--card-bg)}
.theme-tools{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.theme-tools label{flex-direction:row;align-items:center}.theme-tools select{width:auto!important}.advanced-colors{padding:16px;border:1px solid var(--border-color);border-radius:var(--radius)}.advanced-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.advanced-color-grid input[type=text]{font-family:ui-monospace,monospace}.advanced-color-grid .check{margin-bottom:8px}.theme-help{color:var(--muted-color);font-size:13px;line-height:1.7}.theme-selection-status{font-weight:600;min-height:24px}
html[data-site-theme] .auth-card{padding:clamp(20px,5vw,34px);margin:clamp(24px,6vh,70px) auto}
html[data-site-theme] .form-card,html[data-site-theme] fieldset{min-width:0}
html[data-site-theme] .actions,html[data-site-theme] .button-row{flex-wrap:wrap}
html[data-site-theme] .page-head h1,html[data-site-theme] .narrow h1{font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.2;letter-spacing:-.025em}
html[data-site-theme] .public-content h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.15}
html[data-site-theme] .explanations li{gap:12px;flex-wrap:wrap}.match-main{min-width:0}.match-main h3{overflow-wrap:anywhere}
@media(max-width:950px){html[data-site-theme] .public-hero,html[data-site-theme] .hero{grid-template-columns:minmax(0,1fr);min-height:0}html[data-site-theme] .public-panel{order:initial;max-width:650px}.theme-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){html[data-site-theme] .topbar{align-items:center;justify-content:flex-start;padding-inline:16px}html[data-site-theme] .site-nav{justify-content:flex-start;width:100%;gap:8px 16px}html[data-site-theme] .site-nav a{display:inline;min-height:34px}html[data-site-theme] .tenant-title-logo{max-width:240px;max-height:64px}html[data-site-theme] .public-copy h1{font-size:clamp(2.05rem,7.8vw,3.2rem)}html[data-site-theme] .hero h1{font-size:clamp(2.1rem,8vw,3.2rem)}.theme-template-grid,.advanced-color-grid{grid-template-columns:minmax(0,1fr)}.theme-selector{padding:18px}html[data-site-theme] .container{padding-inline:16px}html[data-site-theme] .appearance-control{padding-inline:16px}.theme-preview-banner{padding-inline:16px}html[data-site-theme] .match-card{gap:12px;flex-wrap:wrap}html[data-site-theme] .program-card{grid-template-columns:auto minmax(0,1fr);gap:12px}html[data-site-theme] .program-card .arrow{display:none}.theme-tools .button{max-width:100%;white-space:normal}}
@media(prefers-reduced-motion:reduce){html[data-site-theme]{scroll-behavior:auto}html[data-site-theme] *,html[data-site-theme] *::before,html[data-site-theme] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-site-theme] .program-card:hover{transform:none}}

.maya-branded:has(.showcase-page){background:var(--page-bg)}

html[data-site-theme] .profile-logo-fallback,html[data-site-theme] .brand-mark:not(.brand-mark-image){color:var(--button-text)}
