/* FearCast RC17 cinematic presentation.
   RC15/16 viewport, safe areas, top-edge guard and scrolling remain in style.css.
   No filter, backdrop blur, opacity or transform is applied to the app header. */
:root {
  --bg:#0d0717; --panel:#1a1027; --text:#faf5ff; --muted:#c6b7d5;
  --line:#b48ac533; --acid:#d7afff; --rose:#ffabbc; --orange:#ffb5a3;
  --glass:linear-gradient(140deg,#46234c42,#24113066);
}
body {background:radial-gradient(ellipse at 0 0,#3a154a70,transparent 52%),#0d0717;}
.app-main {max-width:1040px;padding-bottom:22px;scroll-padding-top:12px;}
.app-shell>.app-header {background:#171320;padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:6px;}
.app-shell>.app-header .brand-word {font-size:22px;letter-spacing:-.8px;font-weight:800;}
.app-shell>.app-header .brand-word>span {color:#dab0f5;font-weight:700;letter-spacing:-.8px;}
.app-shell>.app-header .brand-mark {border-radius:10px;width:34px;height:34px;}
.app-location {font-size:9px;letter-spacing:2.4px;color:#c9afd9;}
.settings-button {border-radius:50%;border-color:#b58ac433;background:#25172f;}
.datebar {border-top:0;gap:8px;padding:8px 0 2px;}
.datebar select {font-weight:600;font-size:15px;}
.datebar>.pill {font-size:10px;}
.datebar #refresh {background:#372044;color:#f0dfff;border:1px solid #9560b14d;border-radius:12px;}
.status-strip {font-size:10px;min-height:32px;line-height:1.4;padding-bottom:4px;}
.status-strip button {font-size:11px;min-height:36px;}
.night-hero {height:240px;position:relative;isolation:isolate;overflow:hidden;border-radius:23px 23px 0 0;background:#21102b;}
.hero-art {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;z-index:-2;}
.night-hero::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#100718d9,transparent 85%),linear-gradient(0deg,#160b20,transparent 58%);z-index:-1;}
.hero-copy {height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:23px 22px 21px;}
.hero-eyebrow {font-size:9px;letter-spacing:1.6px;font-weight:700;color:#ead5f7;}
.night-hero h1 {font-family:Georgia,'Times New Roman',serif;font-size:46px;font-weight:400;line-height:1.02;letter-spacing:-1.8px;margin:12px 0 10px;text-wrap:balance;}
.night-hero h1 span {color:#ff8fa9;}
#heroDate {margin:0;color:#e1cde9;font-size:11px;}
.hero-art-label {position:absolute;right:10px;top:10px;font-size:8px;color:#e7d8ee;background:#10081cc9;padding:4px 6px;border-radius:5px;}
.night-summary {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);position:relative;border:1px solid #87529566;border-top-color:#c897d166;border-radius:21px;background:linear-gradient(120deg,#331636,#21102e);box-shadow:inset 0 1px #f2c9ff14,0 9px 24px #05020b55;margin:-5px 0 0;padding:16px 0 0;}
.summary-cell {min-width:0;color:var(--text);padding:0 15px 13px;display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere;}
.summary-cell+.summary-cell {border-left:1px solid #c7a0da26;}
.summary-cell:hover {text-decoration:none;}
.summary-label {display:flex;align-items:center;gap:6px;font-size:11px;color:#d8bddf;}
.summary-label svg,.summary-weather svg {width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.summary-cell strong {font-size:19px;letter-spacing:-.5px;line-height:1.25;font-weight:650;}
.summary-cell small {font-size:10px;color:#cbb2d6;line-height:1.5;}
.summary-weather {grid-column:1/-1;display:flex;align-items:center;gap:9px;padding:10px 15px;color:#e4d1ed;border-top:1px solid #c99fe026;font-size:11px;min-height:44px;}
.summary-weather>span:first-of-type {flex:1;min-width:0;}
.summary-weather>span:last-child {font-size:20px;line-height:1;}
.admission-brief {font-size:10px;color:#c5afce;line-height:1.5;margin:9px 3px 20px;}
.featured-section {margin:0 0 24px;}
.section-top h2 {font-size:20px;font-weight:700;letter-spacing:-.5px;}
.featured-section .mini {font-size:8px;letter-spacing:1.7px;color:#ba99ca;display:block;margin-bottom:5px;}
.featured-section .textlink {gap:7px;font-size:12px;font-weight:550;}
.featured-context {font-size:10px;margin:4px 0 13px;color:#bba8c9;}
.featured-grid,.queue-grid {display:grid;grid-template-columns:1fr;gap:12px;}
/* Shared artwork-led card: title lives over the image, wait has its own column.
   Flexible height accommodates the full catalog title and large text. */
.house-card {position:relative;border:1px solid #9f64b268;border-radius:19px;background:linear-gradient(125deg,#351641,#20102d);box-shadow:inset 0 1px #eac7ff17,0 7px 20px #03010740;overflow:hidden;min-width:0;}
.house-open {display:grid;grid-template-columns:minmax(0,1fr) 88px;grid-template-rows:minmax(36px,1fr) auto;gap:0;position:relative;width:100%;min-height:155px;height:100%;padding:0;background:transparent;border:0;border-radius:0;overflow:visible;text-align:left;align-items:stretch;}
.house-open>.house-poster {position:absolute;inset:0 88px 0 0;min-width:0;width:auto;height:auto;border-radius:0;max-height:none;}
.house-open .house-poster img {display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 37%;transform:none;}
.house-open .house-poster::after {content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b0512 1%,#100717bf 30%,transparent 80%);}
.house-info {position:relative;grid-column:1;grid-row:2;z-index:1;min-width:0;padding:40px 13px 13px;}
.house-title {font-size:17px;font-weight:700;line-height:1.25;letter-spacing:-.25px;color:#fff;margin:0 0 5px;white-space:normal;overflow:visible;overflow-wrap:anywhere;text-wrap:pretty;display:block;-webkit-line-clamp:unset;max-height:none;}
.house-source {display:block;font-size:9px;font-weight:450;color:#d1bdde;line-height:1.45;overflow-wrap:anywhere;}
.house-meta {position:relative;grid-column:2;grid-row:1/-1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:auto;padding:14px 7px;margin:0;text-align:center;border-left:1px solid #e0a9f11a;background:radial-gradient(ellipse at 100% 0,#6d2b8245,transparent 85%);}
.waitnum {display:block;font-size:36px;line-height:1;letter-spacing:-1.6px;font-weight:650;font-variant-numeric:tabular-nums;color:#fff;}
.waitnum small {display:block;font-size:11px;line-height:1.4;letter-spacing:0;font-weight:500;color:#d4b9e3;margin:6px 0 0;}
.house-state {font-size:10px;line-height:1.35;color:#ddc7e8;white-space:normal;overflow-wrap:anywhere;}
.has-wait .house-state {color:#b4e4d0;}
.is-stale .waitnum {color:#dbc8be;}
.no-wait .waitnum {color:#bb9dca;}
.favorite-button {position:absolute;right:98px;top:8px;left:auto;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #e7c2fa40;background:#120a20e8;border-radius:50%;color:#f4d8ff;font-size:21px;z-index:2;box-shadow:none;}
.favorite-button[aria-pressed=true] {background:#5e2857;color:#ffcedb;}
.house-card:focus-within {border-color:#e3aaff;}
.house-open:focus-visible {outline:3px solid #ffbfda;outline-offset:-4px;}
.unknown-art {display:grid;place-items:center;height:100%;color:#c5a1d2;background:radial-gradient(ellipse at 40% 30%,#51305e,#170c25);font-size:18px;letter-spacing:2px;}
.mode-row {margin:24px 0 13px;gap:8px;}
.mode-row h2 {font-size:18px;}
.mode-row>.mini {font-size:8px;letter-spacing:1px;}
.card,.next-move,.weather-detail {border-color:#ac7cb43b;background:linear-gradient(140deg,#3e22434a,#29172f3d),#1b1028;box-shadow:inset 0 1px #eccbfa0d,0 8px 22px #05020c26;border-radius:20px;}
.card {padding:17px;}
.dashboard {gap:12px;}
.crowd .big,.weather-peek .big {font-weight:500;}
.crowd #modelBadge {line-height:1.5;color:#c7add4;}
.crowd .severity {color:#ffbfae;}
.weather-peek .weather-stats {flex-wrap:wrap;}
.weather-peek .weather-stats small {font-size:8px;letter-spacing:.2px;}
.card h2 {font-size:16px;}
.crowd h2,.weather-peek h2 {font-size:14px;}
.next-move {padding:17px;}
.timeline h2 {font-size:19px;}
.meter {background:#432349;}
.meter i {background:linear-gradient(90deg,#9b68d2,#f185a8);}
#calendar,#queues,#weather {padding-top:12px;}
.section-top h1 {font:500 32px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-1px;margin:4px 0 10px;}
.date-grid {gap:10px;}
.date-tile {background:linear-gradient(135deg,#39203f66,#1c1029);border-color:#a77bb52e;border-radius:16px;padding:16px 12px;}
.date-tile.selected {border-color:#d7a3f4;background:linear-gradient(145deg,#603272,#2f153f);box-shadow:inset 0 1px #edc2ff2a;}
.date-tile .coverage {line-height:1.5;overflow-wrap:anywhere;}
.tile-meter {background:#3a2346;}
.ticket-calendar {align-items:flex-start;}
.ticket-calendar>span {margin-block:0;}
#queueStatus {margin:4px 0 8px;}
.browse-controls {gap:8px;margin:12px 0 16px;}
.searchbox {border-radius:14px;border-color:#ab7abe33;background:#21132e;}
.filter-button,#queueSort,.tabs,.mode-switch {border-color:#b38cc12e;}
.filter-button[aria-pressed=true],.tabs .active,.mode-switch [aria-pressed=true] {background:#58306d;color:#fff;}
.weather-scene {background:radial-gradient(ellipse at 85% 10%,#88639555,transparent 70%),linear-gradient(150deg,#352047,#17152c);border-color:#b78bce45;border-radius:22px;}
.scene-content {min-height:220px;}
.weather-detail strong {font-weight:550;}
.weather-hours {border-color:#d3a3e526;}
.hour {padding-block:14px;border-color:#d7b0ee12;}
/* Opaque surfaces supply depth without introducing header sampling blur. */
.sheet,.house-sheet {background:linear-gradient(145deg,#2b1737,#160d22);border-color:#bc8dd24d;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 24px 90px #000a;}
.sheet {padding:22px;max-height:calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain;}
.sheet::backdrop {background:#08030dc9;backdrop-filter:none;-webkit-backdrop-filter:none;}
.sheet-top {gap:12px;align-items:center;}
.sheet-top h2 {font:500 28px/1.2 Georgia,'Times New Roman',serif;}
.close-sheet {flex:none;background:#3a234a;border-color:#d5b0ec22;border-radius:50%;width:44px;height:44px;}
.sheet h3 {color:#f1d9ff;}
.sheet details>summary {min-height:44px;padding-block:12px;line-height:1.4;}
.sheet p,.sheet pre {overflow-wrap:anywhere;}
.sheet input,.sheet select,#settingsBackupText {background:#1d102a;border-color:#b38ec63d;border-radius:12px;}
.sheet .app-settings {gap:12px;flex-wrap:wrap;}
.feed-health {background:#170e23;border:1px solid #b88dcd2e;border-radius:14px;padding:15px;font-size:12px;}
.diagnostics {white-space:pre-wrap;word-break:break-word;background:#100919;border-radius:12px;max-width:100%;}
.dashboard-controls {gap:8px;}
.dashboard-controls button {border-radius:12px;}
.dashboard-controls [aria-pressed=true] {background:#603175;border-color:#cf9ce25e;}
.order-row {gap:10px;}
.order-row span {min-width:0;}
.house-sheet #houseDetail {gap:22px;}
.house-sheet .house-poster {position:relative;}
.detail-title {overflow-wrap:anywhere;}
.detail-wait {gap:12px;flex-wrap:wrap;border-color:#c69eda33;}
.detail-wait strong {line-height:1.3;}
.detail-actions {flex-wrap:wrap;}
.detail-actions button {min-width:0;}
.install-gate {background:radial-gradient(ellipse at 45% 0,#52236366,transparent 55%),#100918;}
.install-device-steps {border-color:#a56bc14d;background:linear-gradient(140deg,#3a1c4cbb,#21112fcc);}
.install-cta {background:#d5a3ef;}
/* Only presentation changes below. Navigation stays in the third grid row;
   preserve RC15's exact margin and safe-area formula. */
.bottom-tabs {width:min(460px,calc(100% - 20px));padding:5px;gap:3px;border-radius:25px;border:1px solid #9e64b047;background:linear-gradient(115deg,#241331,#170d24);box-shadow:inset 0 1px #e6b7ff14,0 -4px 22px #0c061a3d;backdrop-filter:none;-webkit-backdrop-filter:none;}
.bottom-tabs button {min-height:56px;font-size:10px;font-weight:550;gap:4px;color:#c2aecd;border-radius:19px;}
.bottom-tabs svg {width:21px;height:21px;}
.bottom-tabs button[aria-selected=true] {color:#fff;}
.tab-lens {border-radius:19px;border-color:#cd95ef66;background:linear-gradient(135deg,#78439b,#46215e);box-shadow:inset 0 1px #f3ceff36,0 3px 12px #0004;backdrop-filter:none;-webkit-backdrop-filter:none;}
.no-motion *, .no-motion *::before,.no-motion *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

@media(max-width:359px){
 .night-hero {height:213px;}
 .hero-copy {padding:18px 16px;}
 .night-hero h1 {font-size:41px;}
 .hero-eyebrow {font-size:8px;letter-spacing:1.1px;}
 .summary-cell {padding-inline:12px;}
 .summary-cell strong {font-size:17px;}
 .summary-label {font-size:10px;}
 .summary-cell small {font-size:9px;}
 .house-open {grid-template-columns:minmax(0,1fr) 76px;min-height:150px;}
 .house-open>.house-poster {right:76px;}
 .favorite-button {right:84px;}
 .house-title {font-size:16px;}
 .waitnum {font-size:32px;}
 .house-state {font-size:9px;}
 .house-info {padding-inline:11px;}
 .sheet {padding:16px;}
 .hero-art-label {font-size:7px;}
 .mode-row h2 {font-size:16px;}
}

/* Avoid inherited flex sizing shrinking the title overlay on narrow cards. */
.house-open>.house-info {width:auto;justify-content:flex-end;}

