:root{font-family:Comfortaa,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:#fff;background:#000;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden;background:#000;color:#fff}#app{position:relative;width:100vw;height:100vh;overflow:hidden;background:#000}.corner-square{position:fixed;z-index:2;padding:10px}.top-left{top:20px;left:-20px;display:flex;justify-content:center;align-items:center}.top-right{top:20px;right:20px}.bottom-left{width:430px;height:400px;bottom:40px;left:20px}.bottom-right{bottom:0;right:20px;width:400px;height:350px;display:flex;justify-content:center;padding:20px}.finance-section-container{position:absolute;top:40px;left:50%;transform:translate(-50%);z-index:10;display:flex;justify-content:center}.finance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 60px;width:fit-content;margin:0 auto 30px}.stock-card{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;min-width:355px}.stock-info{display:flex;flex-direction:column;min-width:160px}.stock-symbol{font-size:2.45rem;font-weight:700;color:#fff;line-height:1;letter-spacing:0}.stock-price-row{margin-top:2px;white-space:nowrap}.stock-price{font-size:1.7rem;font-weight:400;color:#fa9f22}.stock-change{font-size:1.7rem;font-weight:600;margin-left:8px}.up{color:#30d158}.down{color:#ff453a}.stock-chart-container{width:190px;height:65px;margin-left:5px}.sparkline polyline{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;color:#aaa}.clock-container{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;z-index:1}.digital-clock{font-family:Comfortaa,sans-serif;font-weight:900;font-size:clamp(16rem,18.8vw,23.4rem);text-align:center;letter-spacing:0;margin:0;padding:0;display:flex;justify-content:center;line-height:.9}.digital-clock-hours{background:linear-gradient(45deg,#fff,#aaa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.digital-clock-minutes{color:#fa9f22}.current-temp{display:flex;justify-content:center;align-items:center;width:500px;height:400px}.temp-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center}.temp-display{font-size:14rem;font-weight:900;font-family:Comfortaa,sans-serif;letter-spacing:0;background:linear-gradient(45deg,#fff,#aaa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0;line-height:1}.feels-like{font-family:Comfortaa,sans-serif;font-size:5rem;font-weight:900;color:#fa9f22;margin-top:-2rem;letter-spacing:0;white-space:nowrap}.weather-icon-container{width:400px;height:350px;display:flex;justify-content:center;align-items:center}.weather-icon{font-size:15.5rem;font-family:Comfortaa,sans-serif;font-weight:900;line-height:1;background:linear-gradient(45deg,#fff,#aaa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.chart-container{width:430px;height:400px;background:#000;position:relative}.chart-container svg{width:100%;height:100%;overflow:visible}.rain-bars rect{fill:#007aff33}.temperature-line{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.temperature-segments line{stroke-width:5;stroke-linecap:round}.weather-time-markers line{stroke:#ffffff1f;stroke-width:1}.weather-time-markers text{fill:#ffffff61;font-family:Comfortaa,sans-serif;font-size:18px;font-weight:900;text-anchor:end;paint-order:stroke fill;stroke:#000;stroke-width:5px;stroke-linejoin:round}.weather-labels text{fill:#fff;font-family:Comfortaa,sans-serif;font-size:24px;font-weight:900;paint-order:stroke fill;stroke:#000;stroke-width:8px;stroke-linejoin:round}#calendar{display:flex;justify-content:flex-end;width:auto;padding:0}.calendar-date{font-family:Comfortaa,sans-serif;display:flex;flex-direction:column;align-items:center;color:#fff}.day-number{font-size:12rem;font-weight:900;line-height:1;margin-bottom:-10px;display:flex;justify-content:center;width:100%;letter-spacing:0}.day-name{font-size:5rem;font-weight:900;color:#fa9f22;width:100%;text-align:center;margin-top:.5rem}.bus-section-container{position:absolute;bottom:34px;left:50%;transform:translate(-50%);z-index:3}.bus-departures-container{display:flex;flex-direction:row;align-items:flex-start;gap:5rem;font-family:Comfortaa,sans-serif}.bus-stop{display:flex;flex-direction:column;align-items:flex-start}.bus-stop-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.1rem}.bus-stop-name{font-size:2.65rem;font-weight:900;background:linear-gradient(45deg,#fff,#aaa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.bus-route{font-size:2.55rem;font-weight:900;background:#e74c3c;color:#000;padding:.5rem 1.2rem;border-radius:1rem}.bus-departures-list{display:flex;gap:2rem;justify-content:center}.bus-departure{display:flex;flex-direction:column;align-items:flex-start}.departure-time{font-size:2.75rem;font-weight:900;background:linear-gradient(45deg,#fff,#aaa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.departure-countdown{font-size:1.55rem;font-weight:900;color:#fa9f22;align-self:flex-start;margin-top:.2rem;white-space:nowrap}.no-departures,.message{font-size:2rem;font-weight:700;color:#fa9f22}
