.greeting{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.greeting h1{margin:0;font-size:clamp(1.6rem,5cqi,2.8rem);font-weight:600;letter-spacing:-.02em;line-height:1.1}.greeting-date{margin:.2rem 0 0;font-size:clamp(.95rem,2.2cqi,1.25rem);color:var(--text-muted)}.greeting-time{font-size:clamp(1.8rem,6cqi,3.2rem);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.weather{display:flex;flex-direction:column;gap:.6rem;height:100%}.weather-now{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.weather-icon{font-size:clamp(2.2rem,12cqi,3.4rem);line-height:1}.weather-temp{font-size:clamp(2rem,12cqi,3.2rem);font-weight:600;line-height:1}.weather-range{margin-left:auto;text-align:right}.weather-rain{color:var(--accent);font-weight:600}.weather-hours{list-style:none;margin:auto 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(3.5rem,1fr));gap:.25rem;text-align:center}.weather-hours li{display:flex;flex-direction:column;gap:.05rem;padding:.25rem 0;line-height:1.2;font-size:.9rem;border-radius:var(--radius-sm);background:var(--surface-2)}@container (max-width: 260px){.weather-hours li:nth-child(n+4){display:none}.weather-range{margin-left:0;text-align:left}}.calendar{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.calendar-event{display:flex;gap:.85rem;padding:.6rem .75rem;border-radius:var(--radius-sm);background:var(--surface-2);border-left:4px solid var(--accent)}.calendar-event.is-now{background:var(--accent-soft)}.calendar-event.is-past{opacity:.5}.calendar-time{display:flex;flex-direction:column;min-width:3.2rem;font-variant-numeric:tabular-nums;font-weight:600}.calendar-info{min-width:0}.calendar-title{font-weight:600;overflow-wrap:anywhere}.list{display:flex;flex-direction:column;height:100%;gap:.5rem}.list-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.list-items li{display:flex;align-items:center;gap:.5rem;border-radius:var(--radius-sm)}.list-items label{flex:1;display:flex;align-items:center;gap:.7rem;padding:.45rem .25rem;cursor:pointer;min-width:0;overflow-wrap:anywhere}.list-items input[type=checkbox]{width:1.4rem;height:1.4rem;flex-shrink:0;accent-color:var(--accent)}.list-items li.is-done span{text-decoration:line-through;color:var(--text-muted)}.list-badge{font-size:.75rem;padding:.1rem .45rem;border-radius:999px;background:var(--accent-soft);color:var(--text-muted);white-space:nowrap}.list-delete{border:0;background:none;color:var(--text-muted);font-size:1.4rem;line-height:1;padding:.3rem .6rem;cursor:pointer;opacity:.6}.list-delete:hover{opacity:1}.list-add{margin-top:auto;display:flex;gap:.5rem;align-items:center}.list-add input:not([type]){flex:1;min-width:0;font:inherit;padding:.55rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.list-add button{font:inherit;font-weight:600;padding:.55rem 1rem;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);cursor:pointer}.list-add button:disabled{opacity:.4;cursor:default}.list-daily{display:flex;align-items:center;gap:.3rem;font-size:.85rem;color:var(--text-muted);white-space:nowrap}.buses{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}@container (min-width: 560px){.buses{grid-template-columns:repeat(2,minmax(0,1fr))}}.bus-stop h3{margin:0 0 .4rem;font-size:1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bus-badge{margin-left:.4rem;padding:.05rem .45rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:.7rem;font-weight:600;vertical-align:middle}.bus-stop ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.bus-stop li{display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem;border-radius:var(--radius-sm);background:var(--surface-2)}.bus-line{min-width:2.6rem;text-align:center;font-weight:700;padding:.15rem .4rem;border-radius:6px;background:var(--accent);color:var(--on-accent)}.bus-dest{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted)}.bus-eta{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.bus-eta.is-soon{color:var(--warn)}:root{--bg: #f4f1ec;--surface: #fffdf9;--surface-2: #f3eee6;--border: #e3dcd0;--text: #2b2724;--text-muted: #7a716a;--accent: #c2603b;--accent-soft: #f6e1d6;--on-accent: #ffffff;--warn: #c0392b;--radius: 18px;--radius-sm: 10px;--gap: clamp(.6rem, 1.4vw, 1rem);color-scheme:light}:root[data-theme=dark]{--bg: #16171b;--surface: #202228;--surface-2: #2a2d34;--border: #363a42;--text: #ecebe8;--text-muted: #a09d98;--accent: #e9875f;--accent-soft: #3c2c26;--on-accent: #1a1310;--warn: #ff7b6b;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:clamp(15px,1.25vw,19px);line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;transition:background-color .6s ease}.muted{color:var(--text-muted)}.small{font-size:.85em}.empty{margin:0;padding:.5rem 0}.grid{display:grid;gap:var(--gap);padding:var(--gap);grid-template-columns:1fr}.grid-cell{min-width:0}.grid-cell--greeting{min-height:6.5rem}@media(orientation:portrait)and (min-width:600px){.grid{height:100dvh;grid-template-columns:repeat(var(--p-cols),minmax(0,1fr));grid-template-rows:repeat(var(--p-rows),minmax(0,1fr))}.grid-cell{grid-column:var(--px) / span var(--pw);grid-row:var(--py) / span var(--ph)}}@media(orientation:landscape)and (min-width:900px)and (min-height:500px){.grid{height:100dvh;grid-template-columns:repeat(var(--l-cols),minmax(0,1fr));grid-template-rows:repeat(var(--l-rows),minmax(0,1fr))}.grid-cell{grid-column:var(--lx) / span var(--lw);grid-row:var(--ly) / span var(--lh)}}@media(max-width:599px){.grid-cell:not(.grid-cell--buses) .widget-body{max-height:60vh}}.widget{container-type:inline-size;height:100%;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(.85rem,1.6vw,1.25rem);overflow:hidden}.widget-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.widget-head h2{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.widget-meta{font-size:.75rem;color:var(--text-muted)}.widget-body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.grid-cell--greeting .widget-body{overflow:hidden}.widget-error{margin:0 0 .75rem;padding:.5rem .75rem;border-radius:var(--radius-sm);background:var(--surface-2);border-left:3px solid var(--warn);font-size:.85rem}.pin-gate{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1rem;text-align:center}.pin-gate h1{margin:0}.pin-gate input{font:inherit;font-size:1.5rem;text-align:center;letter-spacing:.3em;width:min(14rem,100%);padding:.6rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text)}.pin-gate button{font:inherit;font-weight:600;padding:.6rem 2rem;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);cursor:pointer}.pin-gate button:disabled{opacity:.4}
