:root{--font-display: "Outfit", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--ink: #0b2a3d;--ink-soft: #4f6b7a;--page-bg: #eef7fb;--excellent-1: #0bb7a0;--excellent-2: #067f70;--good-1: #2f8fff;--good-2: #0b5fd6;--fair-1: #ffb020;--fair-2: #e0871a;--poor-1: #ff6b7a;--poor-2: #d63c57}body{margin:0;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 500px at 50% -200px,#d6f2fb 0%,transparent 60%),var(--page-bg)}h1,h2,h3,.score,.spotlight-score{font-family:var(--font-display)}.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#082a45,#0b5fd6 55%,#0bb7a0)}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}.hero:before{width:22rem;height:22rem;background:#22e6c8;top:-10rem;left:-6rem;animation:drift 12s ease-in-out infinite}.hero:after{width:18rem;height:18rem;background:#6ea8ff;bottom:-9rem;right:-4rem;animation:drift 14s ease-in-out infinite reverse}@keyframes drift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(2rem,1.5rem) scale(1.08)}}.hero-content{position:relative;z-index:1}.hero-icon{font-size:2.75rem;animation:bob 3s ease-in-out infinite;filter:drop-shadow(0 6px 14px rgba(0,0,0,.2))}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero h1{font-weight:800;letter-spacing:-.02em}.hero p{opacity:.92;font-weight:500}.spotlight{position:relative;border-radius:1.5rem;padding:1.75rem 2rem;color:#fff;overflow:hidden;box-shadow:0 1.5rem 3rem #0b2a3d38}.spotlight-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600;opacity:.85}.spotlight-score{font-size:3.5rem;font-weight:800;line-height:1;letter-spacing:-.02em}.spotlight-meta{font-weight:500;opacity:.95}.spotlight .sub-scores{justify-content:flex-start}.spotlight .sub-score span,.spotlight .sub-score i{color:#fff}.day-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin}.day-tab{flex:0 0 auto;border:none;border-radius:999px;padding:.55rem 1.1rem;font-weight:600;font-size:.9rem;background:#fff;color:var(--ink-soft);box-shadow:0 .25rem .75rem #0b2a3d14;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;white-space:nowrap}.day-tab:hover{transform:translateY(-1px)}.day-tab.active{color:#fff;background:linear-gradient(135deg,#0b5fd6,#0bb7a0);box-shadow:0 .5rem 1.25rem #0b5fd659}.window-card{min-width:9rem;cursor:pointer;border:none;border-radius:1.1rem;color:#fff;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 .5rem 1.25rem #0b2a3d24}.window-card:hover,.window-card:focus-visible{transform:translateY(-5px) scale(1.02);box-shadow:0 1rem 2rem #0b2a3d40;outline:none}.score-excellent,.spotlight.score-excellent{background:linear-gradient(135deg,var(--excellent-1),var(--excellent-2))}.score-good,.spotlight.score-good{background:linear-gradient(135deg,var(--good-1),var(--good-2))}.score-fair,.spotlight.score-fair{background:linear-gradient(135deg,var(--fair-1),var(--fair-2))}.score-poor,.spotlight.score-poor{background:linear-gradient(135deg,var(--poor-1),var(--poor-2))}.window-card.best-overall{outline:3px solid #ffd60a;outline-offset:2px;box-shadow:0 0 1.25rem #ffd60ab3}.window-card.best-day{outline:2px dashed rgba(255,255,255,.85);outline-offset:2px}.window-card .score{font-size:1.85rem;font-weight:700}.trend-badge{font-size:1rem;vertical-align:middle;opacity:.9}.sub-scores{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.85rem;font-size:.78rem}.sub-score{display:flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border-radius:999px;background:#ffffff2e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sub-score i{font-size:.85rem}.modal-content{border:none;border-radius:1.25rem;overflow:hidden}.modal-header{border-bottom:1px solid #eef2f5}.detail-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem}.detail-row .detail-icon{width:1.5rem;text-align:center;color:var(--ink-soft)}.detail-row .detail-label{width:8rem;flex-shrink:0}.detail-row .progress{flex:1;height:.55rem;border-radius:999px}.detail-row .progress-bar{border-radius:999px}.detail-row .detail-value{width:2.5rem;text-align:right;font-variant-numeric:tabular-nums}.empty-state{border-radius:1.25rem;padding:2.5rem;text-align:center;background:#fff;color:var(--ink-soft);box-shadow:0 .5rem 1.25rem #0b2a3d14}
