:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.screen{display:grid;grid-auto-flow:column;grid-auto-columns:4fr 7fr;width:100vw;height:100vh;font-variant-numeric:tabular-nums;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.section0{display:grid;grid-auto-flow:row;grid-auto-rows:1fr auto;font-weight:700;color:#fff;background:#40ba8d;overflow:hidden;position:relative;background-image:var(--section0-bg, none);background-position:var(--section0-bg-position, center);background-size:cover}.clock{margin-top:4rem}.weather{justify-self:center;margin-bottom:.5rem}.section1{display:grid;flex-direction:column;color:#fff;height:100%}.clock{font-variant-numeric:tabular-nums;text-align:center;font-family:"M PLUS Rounded 1c",monospace;font-weight:500;line-height:5.5rem;text-shadow:#0000002a 1px 0 10px,#0000002a 0 1px 10px,#0000002a -1px 0 10px,#0000002a 0 -1px 10px}.date{font-size:2.5rem;margin:0;opacity:.9}.time{font-size:10rem;margin:0;opacity:.95}.timetable-field{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;width:100%;height:100vh;overflow:hidden;font-family:"M PLUS 1p",monospace}.table1,.table2{display:flex;flex-direction:column;height:100%;min-height:0}.timetable1{transition:opacity .8s ease-in-out}.label1,.label2{font-family:"M PLUS Rounded 1c",monospace;font-weight:500;color:#fff;width:100%;text-align:center;box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:2rem;padding:.5rem 0;flex:0 0 auto;position:sticky;top:0;z-index:10}.label1{background:tomato}.label2{background:#4788ff}.page-indicator{position:absolute;right:.5rem;bottom:0;font-size:1.5rem}.timetable1,.timetable2{flex:1 1 auto;height:100%;min-height:0;display:grid;grid-auto-rows:1fr}.timetable1 .departures{flex:1;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden}.loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:5rem}.bus{display:flex;flex-direction:column;padding:.75rem 1rem;border-left:.1rem solid #555;border-right:.1rem solid #555;min-height:0}.bus-info{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.busname{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;border-bottom:2px solid;padding-bottom:.25rem}.destination{font-size:1rem;font-weight:400;margin-left:.5rem;opacity:.8}.small-destination{font-size:.8rem}.timetable1 .departures,.timetable2 .departures{flex:1 1 auto;min-height:0;overflow:hidden}.departures{display:flex;flex-direction:column;flex-shrink:0;flex:1 1 auto;min-height:0;overflow:hidden;font-size:1.75rem;font-weight:700;height:100%}.departure-item{flex-shrink:0;height:2.5rem;display:flex;align-items:center;gap:.75rem;padding-left:.5rem}.hidden{visibility:hidden;position:absolute}.departure-time{color:#f1c40f}.departure-note,.if-temporary{color:#fff;padding:.1rem .5rem;border-radius:5px}.departure-note{background-color:#e74c3c;font-size:1.1rem;font-weight:500}.if-temporary{position:absolute;right:.5rem;top:.5rem;font-size:1.3rem;font-weight:700}.rinji{background-color:#e74c3c}.other{background-color:#ffbf47;color:#000}.departure-item.highlight{background-color:#f1c40f26}.overlay-display{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0009;display:flex;align-items:center;justify-content:center;color:#000}.overlay-display.hidden{visibility:hidden;opacity:0;pointer-events:none}.overlay-display.visible{visibility:visible;opacity:1}.overlay{display:flex;background-color:#fff;position:relative;border-radius:1rem}.close{position:absolute;top:.5rem;right:.5rem}.close img{width:3rem;height:3rem}.content{display:flex;flex-direction:column;padding:2rem}.weather-container{display:flex;padding:1rem}.forecast-frame{background:#fff;border-radius:1.2rem;padding:.8rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;background:#1f140bb3}.title{font-size:1.5rem;padding-left:.2rem}.no-data{color:#666;text-align:center;padding:1rem}.forecast-list{display:flex;justify-content:space-between;gap:1rem;overflow-x:auto}.forecast-card{flex-shrink:1;padding:1rem;text-align:center}.forecast-card .time{font-size:.9rem;font-weight:600;margin-bottom:.8rem}.forecast-card .desc{font-size:1.2rem;font-weight:700;margin-top:.5rem}.forecast-card .temp{font-size:.85rem;color:#ababab;margin-top:.25rem}.forecast-card .humidity,.forecast-card .rain{font-size:.75rem;color:#bbb}.icon{width:3rem;height:3rem}.icon.white{color:#fff}.icon.gray{color:#d3d3d3}.icon.yellowgray{color:#9acd32}.icon.yellow{color:#facc15}.icon.blue{color:#3b82f6}.icon.lightblue{color:#60a5fa}.icon.skyblue{color:#38bdf8}.icon.orange{color:#f97316}.icon.red{color:#ef4444}.icon.purple{color:purple}.icon.lightpurple{color:#a865c9}.overlay{display:flex;position:fixed;align-items:center;justify-content:center;width:calc(100% / 11 * 7);height:100%;top:0;left:calc(100% / 11 * 4);border-radius:0;background-color:#0009;z-index:1000}.popup{display:flex;position:absolute;flex-direction:row;align-items:center;border-radius:1rem;padding:2rem;background-color:#2c3e50;color:#fff;z-index:1000}.spinner{width:5rem;height:5rem;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.1) 200deg,white 300deg,white 360deg);mask:radial-gradient(farthest-side,transparent calc(100% - 1rem),black 0);animation:spin 1s linear infinite}.message{font-size:5rem;padding-left:1rem}@keyframes spin{to{transform:rotate(360deg)}}
