:root{--bg:#0b0e14;--surface:#151a23;--surface-alt:#1c2330;--text:#e8eaf0;--text-dim:#8b94a5;--green:#16c784;--red:#ea3943}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;overflow-x:clip}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem clamp(1rem,4vw,2.5rem);display:flex}.brand{letter-spacing:.06em;color:var(--text);font-size:1.55rem;font-weight:800;text-decoration:none}.brand span{color:var(--accent)}.share-wrap{position:relative}#share-btn{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:1px solid #2a3342;border-radius:8px;padding:.4rem .85rem;font-size:.9rem;font-weight:600;transition:border-color .15s,color .15s}#share-btn:hover{border-color:var(--accent);color:var(--accent)}#share-panel{min-width:140px;left:auto;right:0}main{max-width:760px;margin:0 auto;padding:2rem clamp(1rem,4vw,2rem) 4rem}h1{letter-spacing:.01em;white-space:nowrap;margin-bottom:.75rem;font-size:clamp(1.15rem,4.2vw,1.9rem);font-weight:800;line-height:1.25}.punchline{color:var(--text-dim);margin-bottom:2rem;font-size:clamp(.95rem,2.5vw,1.15rem)}.prices{border-collapse:collapse;width:100%;font-size:clamp(.9rem,2.5vw,1.05rem)}.prices th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;padding:.6rem .9rem;font-size:.75rem}.prices th:nth-child(2),.prices td:nth-child(2),.prices th:nth-child(3),.prices td:nth-child(3){text-align:right}.prices td{padding:.85rem .9rem}.prices tbody tr{background:var(--surface)}.prices tbody tr:nth-child(2n){background:var(--surface-alt)}.prices tbody tr:first-child td:first-child{border-radius:10px 0 0}.prices tbody tr:first-child td:last-child{border-radius:0 10px 0 0}.prices tbody tr:last-child td:first-child{border-radius:0 0 0 10px}.prices tbody tr:last-child td:last-child{border-radius:0 0 10px}.price{font-variant-numeric:tabular-nums;font-weight:650}.change{font-variant-numeric:tabular-nums;font-weight:600}.change.up{color:var(--red)}.change.down{color:var(--green)}footer{color:var(--text-dim);text-align:center;margin-top:2.5rem;font-size:.8rem}.title-btn{font:inherit;color:var(--accent);border:none;border-bottom:3px dotted color-mix(in srgb, var(--accent) 55%, transparent);cursor:pointer;background:0 0;border-radius:4px;padding:0 .1em;transition:background .15s}.title-btn:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.title-btn .chev{vertical-align:.35em;margin-left:.3em;font-size:.5em}.h1-wrap{position:relative}.panel{z-index:50;background:var(--surface);border:1px solid #2a3342;border-radius:12px;padding:.5rem;position:absolute;top:calc(100% + .6rem);left:0;box-shadow:0 16px 48px #0000008c}.panel[hidden]{display:none!important}.panel-item{width:100%;font:inherit;text-align:left;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:.5rem .75rem;font-size:.95rem;display:block}.panel-item:hover{background:var(--surface-alt)}.panel-item.selected{color:var(--accent);font-weight:700}#city-panel{grid-template-columns:1fr 1fr;gap:2px;min-width:min(320px,80vw);max-height:60vh;display:grid;overflow-y:auto}#date-panel{gap:.9rem;padding:.75rem;display:flex}.months-grid{grid-template-columns:repeat(3,1fr);align-content:start;gap:2px;display:grid}@media (width<=560px){#date-panel{flex-direction:column;gap:.5rem}.months-grid{grid-template-columns:repeat(4,1fr)}.months-grid .panel-item{text-align:center;padding:.5rem .3rem}}#days-grid{grid-template-columns:repeat(7,minmax(2rem,1fr));align-content:start;gap:2px;display:grid}#days-grid .panel-item{text-align:center;font-variant-numeric:tabular-nums;padding:.45rem .2rem}.feb29-note{color:var(--text-dim);text-align:center;margin-top:1rem;font-size:.8rem}.brand .overlap-r{background:linear-gradient(135deg, var(--text) 0%, var(--text) 45%, var(--accent) 55%, var(--accent) 100%);-webkit-text-fill-color:transparent;background-clip:text}.forecast-badge{letter-spacing:.1em;color:var(--accent);vertical-align:.15em;align-items:center;gap:.35em;margin-right:.6em;font-size:.62em;font-weight:800;display:inline-flex}.unit-btn{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:1px solid #2a3342;border-radius:8px;padding:.4rem .85rem;font-size:.9rem;font-weight:600;transition:border-color .15s,color .15s}.unit-btn:hover{border-color:var(--accent);color:var(--accent)}
