/* Visual layer only: existing controls, routes, and saved preferences stay in charge. */
html[data-theme]{--town-bg:#081e33;--town-surface:#102b43;--town-text:#fff4e0;--town-muted:#c7d4df;--town-gold:#efc36f;--town-edge:#a78750;--town-soft:#19364f;--privacy-surface:var(--town-surface);--privacy-text:var(--town-text);--privacy-muted:var(--town-muted);--privacy-accent:var(--town-gold);--privacy-border:var(--town-edge);--glass-tint:16,43,67;--glass-edge:#a78750;--glass-shine:transparent;--glass-shadow:#020e1e40;color-scheme:dark;background:var(--town-bg);color:var(--town-text)}
html[data-theme=pink]{--town-bg:#281b2e;--town-surface:#38263e;--town-soft:#49324c;--town-muted:#e6cddc;--town-gold:#f0c785;--town-edge:#b38b73;--glass-tint:56,38,62}
html[data-theme][data-appearance=day]{--town-bg:#f5f0e6;--town-surface:#fffcf5;--town-soft:#e9e0cf;--town-text:#172e43;--town-muted:#46576a;--town-gold:#75501e;--town-edge:#967449;--glass-tint:255,252,245;color-scheme:light}
html[data-theme=pink][data-appearance=day]{--town-bg:#fff4f3;--town-surface:#fffbf8;--town-soft:#f0e2e3;--town-text:#442b3d;--town-muted:#6b4d61;--town-gold:#80512a;--town-edge:#a27864;--glass-tint:255,251,248}
html[data-theme] body{color:var(--town-text);background:radial-gradient(ellipse at 50% 0,var(--town-soft),var(--town-bg) 65%)}
html[data-theme] body :is(header h1,a,.text-button,.eyebrow,.symbol){color:var(--town-gold)!important}
html[data-theme] body :is(h2,h3,.quick-card strong){font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:0}
html[data-theme] body :is(.hint,.muted,.plan-intro,.hero p,.quick-card small,.cal-page-heading p){color:var(--town-muted)}
html[data-theme] body :is(.card,.dash-panel,.quick-card,.place-tile,.plan-card,.gift-card,.album-card,.movie-dialog,.theme-dialog,.privacy-center,.privacy-dialog,.cookie-banner,.partner-notifications-panel,.vote-mode,.vote-choice,.vote-preview,.swipe-activity){background:var(--town-surface)!important;background-image:none!important;border:1px solid var(--town-edge)!important;border-radius:12px;box-shadow:0 7px 20px var(--glass-shadow);color:var(--town-text)!important;backdrop-filter:none;-webkit-backdrop-filter:none}
html[data-theme] body :is(input,select,textarea){background:var(--town-bg);color:var(--town-text);border-color:var(--town-edge)}
html[data-theme] body :is(input,textarea)::placeholder{color:var(--town-muted);opacity:1}
html[data-theme] body button:not(.quick-card):not(.home-stat):not(.cal-day):not(.text-button):not(.vote-mode):not(.vote-choice):not(.book-text):not(.book-sticker-choice){background:var(--town-gold);color:var(--town-bg);border-color:var(--town-edge);background-image:none;box-shadow:none}
html[data-theme] body button.secondary{background:var(--town-soft)!important;color:var(--town-text)!important;border:1px solid var(--town-edge)}
html[data-theme] body button:focus-visible,html[data-theme] body a:focus-visible{outline:3px solid var(--town-gold);outline-offset:4px}
html[data-theme] body #home .hero-seat{margin-top:14px}
html[data-theme] body #home .hero-seat .hero{position:relative;isolation:isolate;min-height:285px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:130px 26px 26px;overflow:hidden;border-radius:14px;border:1px solid var(--town-edge);background:linear-gradient(0deg,#05182ef5 0%,#05182ec7 32%,#05182e08 75%),url('assets/jericho-town.webp') center 42%/cover;color:#fff4e0}
html[data-theme] body #home .hero :is(h2,p){position:relative;max-width:520px;color:#fff4e0;margin:8px 0}
html[data-theme] body #home .hero h2{font-size:clamp(26px,5vw,38px);line-height:1.15}
html[data-theme] body #home .hero p{font-size:14px;line-height:1.6;color:#e7eaf0}
html[data-theme] body #home .hero .eyebrow{color:#efc36f!important}
html[data-theme] body #home .hero button{margin-top:16px;border:1px solid #efc36f;background:#0b243cf2!important;color:#ffe3ab!important;border-radius:999px;padding:12px 24px;font-family:Georgia,serif;font-size:18px}
html[data-theme] body #home .tiny-spark{display:none}
html[data-theme] body #home .dash-title{display:flex;align-items:center;gap:18px;font-size:clamp(24px,5vw,32px);margin:26px 0 16px}
html[data-theme] body #home .dash-title::after{content:'';height:1px;background:var(--town-edge);flex:1}
html[data-theme] body #home .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
html[data-theme] body #home .quick-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;padding:22px 18px;min-height:158px;white-space:normal}
html[data-theme] body #home .quick-card .symbol{background:none;border:0;box-shadow:none;border-radius:0;font-size:34px;line-height:1.2;height:auto;width:auto;min-width:0;order:2}
html[data-theme] body #home .quick-card strong{font-size:22px;line-height:1.2;order:1}
html[data-theme] body #home .quick-card small{font-size:12px;line-height:1.5;order:3}
html[data-theme] body #home .quick-card::after{content:'›';position:absolute;right:15px;top:18px;color:var(--town-gold);font-size:24px}
html[data-theme] body #home .home-stat{background:var(--town-surface);color:var(--town-text);border:1px solid var(--town-edge);border-radius:12px}
html[data-theme] body nav{background:color-mix(in srgb,var(--town-bg) 96%,transparent);border-color:var(--town-edge);box-shadow:0 -4px 25px var(--glass-shadow)}
html[data-theme] body #nav button{position:relative;background:transparent!important;background-image:none!important;color:var(--town-muted)!important;border:0!important;box-shadow:none!important;border-radius:0;padding:12px 6px 16px;min-width:0}
html[data-theme] body #nav button>span{background:none!important;box-shadow:none!important;border:0!important;color:inherit!important}
html[data-theme] body #nav button[aria-current=page]{color:var(--town-gold)!important;background:transparent!important;box-shadow:none!important}
html[data-theme] body #nav button[aria-current=page]::after{content:'';position:absolute;bottom:5px;left:20%;right:20%;height:2px;background:var(--town-gold)}
html[data-theme] body .cal-month-heading button,html[data-theme] body .cal-day{background:transparent;color:var(--town-text)}
html[data-theme] body .cal-month-card{background:var(--town-surface);border-color:var(--town-edge);border-radius:14px}
html[data-theme] body .world-sky{opacity:.3}
@media(max-width:600px){html[data-theme] body #home .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}html[data-theme] body #home .quick-card{padding:18px 14px;min-height:156px}html[data-theme] body #home .quick-card strong{font-size:20px;padding-right:12px}html[data-theme] body #home .hero-seat .hero{min-height:310px;padding:145px 20px 22px}html[data-theme] body #home .quick-card small{grid-column:auto}}
@media(prefers-reduced-motion:no-preference){html[data-theme] body .quick-card{transition:transform .16s ease}html[data-theme] body .quick-card:active{transform:scale(.98)}}
/* Keep village artwork crisp: no full-image tint or color blending. */
html[data-theme=pink] body #home .hero-seat .hero{
 background:linear-gradient(0deg,#301c32f5 0%,#301c32b8 27%,#301c3233 46%,transparent 65%),url('assets/jericho-town-golden-hour.webp') center 42%/cover;
 background-blend-mode:normal;
 border-color:#b78b9e;
 box-shadow:0 10px 28px #1c0c2426;
}
html[data-theme=pink] body #home .hero .eyebrow{color:#f4cce0!important}
html[data-theme=pink] body #home .hero p{color:#f4e3ed}
html[data-theme=pink] body #home .hero button{background:#452c46f5!important;color:#ffe5f0!important;border-color:#d9a6c1}
html[data-theme=pink][data-appearance=day] body #home .hero-seat .hero{
 background:linear-gradient(0deg,#40273ef5 0%,#40273eb8 27%,#40273e33 46%,transparent 65%),url('assets/jericho-town-golden-hour.webp') center 42%/cover;
 background-blend-mode:normal;
 border-color:#c696a8;
 box-shadow:0 8px 24px #85516b1c;
}
