:root{--dashbo-feed-width: 34rem;--dashbo-accent-base: 0 113 227;--dashbo-card-padding: 16px 24px}@media(max-width:400px){:root{--dashbo-card-padding: 16px}}html{scroll-padding-top:105.015625px}body{margin:0;background:var(--factory-color-background);color:var(--factory-color-text-primary)}.dashbo-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--factory-color-background) 85%,transparent);border-bottom:1px solid var(--factory-color-border)}@supports (backdrop-filter: blur(1px)){.dashbo-header{backdrop-filter:saturate(180%) blur(20px)}}.dashbo-header__row{max-width:var(--dashbo-feed-width);margin-inline:auto;display:flex;height:48px;align-items:center;justify-content:space-between;padding-inline:calc(16px + env(safe-area-inset-left)) calc(16px + env(safe-area-inset-right))}.dashbo-header__actions{display:flex;align-items:center;gap:4px}.dashbo-header__row .factory-button{white-space:nowrap}.dashbo-header__row h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashbo-main{max-width:var(--dashbo-feed-width);margin-inline:auto;padding-inline:calc(16px + env(safe-area-inset-left)) calc(16px + env(safe-area-inset-right));padding-top:16px;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.dashbo-app-rail__row{max-width:var(--dashbo-feed-width);margin-inline:auto;display:flex;gap:4px;overflow-x:auto;padding-inline:calc(16px + env(safe-area-inset-left)) calc(16px + env(safe-area-inset-right));padding-block:8px;scrollbar-width:none}.dashbo-app-rail__row::-webkit-scrollbar{display:none}.dashbo-app-rail__icon{display:block;flex:none}.dashbo-app-rail__item{--app-accent: var(--dashbo-accent-base);--app-ink: color-mix(in srgb, rgb(var(--app-accent)), var(--factory-color-text-primary) 55%);display:inline-flex;flex:none;align-items:center;gap:var(--factory-space-xs);padding:6px 12px;border-radius:var(--factory-radius-pill);text-decoration:none;white-space:nowrap;color:var(--app-ink);background:transparent;transition:background-color var(--factory-duration-fast) ease}.dashbo-app-rail__item:hover{background:rgb(var(--app-accent) / .08)}.dashbo-app-rail__item.is-active{background:rgb(var(--app-accent) / .12);font-weight:600}.dashbo-app-rail__item:focus-visible{outline:2px solid var(--app-ink);outline-offset:2px}@media(max-width:600px){.dashbo-header__row{height:44px}.dashbo-app-rail__row{padding-block:6px}html{scroll-padding-top:97.015625px}}.dashbo-theme-toggle__icon{display:block;width:20px;height:20px}.dashbo-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.dashbo-skip-link{position:absolute;left:-9999px;top:0;z-index:20;padding:8px 16px;background:var(--factory-color-background);color:var(--factory-color-text-primary);border:1px solid var(--factory-color-border);border-radius:var(--factory-radius-standard);text-decoration:none}.dashbo-skip-link:focus{left:8px;top:8px;outline:2px solid var(--factory-color-focus);outline-offset:2px}.dashbo-main:focus:not(:focus-visible){outline:none}.dashbo-glyph,.dashbo-app-icon{display:block;flex:none}.dashbo-card-shell{--accent: var(--dashbo-accent-base);--app-ink: color-mix(in srgb, rgb(var(--accent)), var(--factory-color-text-primary) 55%);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:var(--factory-space-base);transition:box-shadow var(--factory-duration-normal) ease}.dashbo-card-shell:before{content:"";position:absolute;inset-block:0;left:0;width:3px;background:rgb(var(--accent))}.dashbo-card-shell:hover{box-shadow:var(--factory-shadow-deep)}.dashbo-card-shell.is-urgent{border-color:rgb(var(--accent) / .55);box-shadow:0 0 0 1px rgb(var(--accent) / .25)}.dashbo-card-shell.is-urgent:hover{box-shadow:0 0 0 1px rgb(var(--accent) / .25),var(--factory-shadow-deep)}.dashbo-card-shell__header{display:flex;align-items:center;gap:var(--factory-space-md);color:var(--factory-color-text-secondary)}.dashbo-card-shell__icon{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:var(--factory-radius-circle);background:rgb(var(--accent) / .12);color:var(--app-ink)}.dashbo-card-shell__name{color:var(--factory-color-text-primary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashbo-card-shell__time{margin-left:auto;flex:none;font-variant-numeric:tabular-nums}.dashbo-card-shell .dashbo-card-shell__chrome{--fb-padding: 0;width:28px;height:28px}.dashbo-card-shell .dashbo-card-shell__chrome,.dashbo-card-actions__action{position:relative}@media(max-width:600px){.dashbo-card-shell .dashbo-card-shell__chrome:after{content:"";position:absolute;inset:-8px}.dashbo-card-shell__chrome+.dashbo-card-shell__chrome{margin-left:var(--factory-space-md)}.dashbo-card-actions__action:after{content:"";position:absolute;inset-block:-6px;inset-inline:0}}.dashbo-card-shell__body{display:flex;flex-direction:column;gap:var(--factory-space-md)}.dashbo-card-actions{margin-top:2px}.dashbo-card-actions__row{display:flex;flex-wrap:wrap;gap:var(--factory-space-md)}@media(max-width:600px){.dashbo-card-actions__row{gap:var(--factory-space-base)}}.dashbo-card-actions__action{display:inline-flex;align-items:center;padding:6px var(--factory-space-lg);border:1px solid var(--factory-color-link);border-radius:var(--factory-radius-pill);background:transparent;color:var(--factory-color-link);text-decoration:none;transition:background-color var(--factory-duration-fast) ease;cursor:pointer}.dashbo-card-actions__action:hover,.dashbo-card-actions__action:focus-visible{text-decoration:underline}.dashbo-card-actions__action:disabled{opacity:.5;cursor:default}.dashbo-card-actions__status{margin-top:var(--factory-space-sm);color:var(--factory-color-text-secondary);font-size:var(--factory-type-caption-size)}.dashbo-card-actions__status.is-empty{margin:0}.dashbo-presentation{display:flex;flex-direction:column;gap:var(--factory-space-md)}.dashbo-presentation__head{display:flex;align-items:flex-start;gap:var(--factory-space-md)}.dashbo-presentation__glyph{margin-top:2px;color:var(--app-ink)}.dashbo-presentation__titles{display:flex;min-width:0;flex-direction:column;gap:var(--factory-space-sm)}.dashbo-presentation__subtitle{color:var(--factory-color-text-muted)}.dashbo-presentation__image{max-height:240px;width:100%;border:1px solid var(--factory-color-border);border-radius:var(--factory-radius-comfortable);object-fit:cover}.dashbo-presentation__body{color:var(--factory-color-text-secondary);overflow-wrap:anywhere}.dashbo-presentation__facts{margin-top:2px;display:flex;flex-wrap:wrap;gap:6px}.dashbo-presentation__fact{display:flex;align-items:baseline;gap:var(--factory-space-sm);padding:var(--factory-space-sm) var(--factory-space-md);background:var(--factory-color-background-alt);border-radius:var(--factory-radius-standard)}.dashbo-presentation__fact-label{color:var(--factory-color-text-muted)}.dashbo-presentation__fact-value{font-weight:600;font-variant-numeric:tabular-nums}.dashbo-weather-card__header{display:flex;align-items:center;gap:var(--factory-space-base)}.dashbo-weather-card__glyph{color:var(--app-ink)}.dashbo-weather-card__temp{display:flex;flex-direction:column}.dashbo-weather-card__temp-value{font-variant-numeric:tabular-nums}.dashbo-weather-card__range{color:var(--factory-color-text-muted);font-variant-numeric:tabular-nums}.dashbo-weather-card__location{margin-left:auto;display:flex;min-width:0;flex-direction:column;align-items:flex-end;text-align:right}.dashbo-weather-card__location .dashbo-weather-card__location-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.dashbo-weather-card__rain{color:var(--factory-color-text-muted);font-variant-numeric:tabular-nums}.dashbo-weather-card__summary{color:var(--factory-color-text-secondary);overflow-wrap:anywhere}.dashbo-weather-card__curve{position:relative;margin-top:var(--factory-space-xs)}.dashbo-weather-card__curve-svg{display:block;height:56px;width:100%;overflow:visible}.dashbo-weather-card__curve-svg:focus-visible{outline:2px solid var(--app-ink);outline-offset:2px}.dashbo-weather-card__curve-area{fill:rgb(var(--accent) / .14);stroke:none}.dashbo-weather-card__curve-line{fill:none;stroke:var(--app-ink, rgb(var(--accent)));stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.dashbo-weather-card__ticks{position:relative;height:20px;padding-top:var(--factory-space-sm);color:var(--factory-color-text-muted);font-variant-numeric:tabular-nums}.dashbo-weather-card__tick{position:absolute;transform:translate(-50%);white-space:nowrap}.dashbo-weather-card__marker{position:absolute;z-index:1;width:6px;height:6px;transform:translate(-50%,-50%);border-radius:var(--factory-radius-circle);background:var(--app-ink, rgb(var(--accent)));box-shadow:0 0 0 1.5px var(--factory-color-surface);pointer-events:none}.dashbo-weather-card__tip{position:absolute;z-index:2;transform:translate(-50%,calc(-100% - var(--factory-space-md)));display:flex;align-items:center;gap:var(--factory-space-xs);padding:var(--factory-space-xs) var(--factory-space-sm);border-radius:var(--factory-radius-standard);background:var(--factory-color-surface-elevated);box-shadow:var(--factory-shadow-card);color:var(--factory-color-text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.dashbo-weather-card__tip-glyph{flex:none;color:var(--app-ink, rgb(var(--accent)))}.dashbo-weather-card__tip-temp{font-weight:600}.dashbo-weather-card__tip-text,.dashbo-weather-card__observed{color:var(--factory-color-text-muted)}.dashbo-alert-card{display:flex;flex-direction:column;gap:10px}.dashbo-alert-card__band{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--factory-radius-standard);background:transparent;color:var(--factory-color-warning);box-shadow:inset 0 0 0 1px currentcolor}.dashbo-alert-card__band-glyph{display:inline-flex;flex:none}.dashbo-alert-card__tier{font-weight:700;letter-spacing:.06em;text-transform:uppercase}.dashbo-alert-card__level{margin-left:auto;white-space:nowrap}.dashbo-alert-card[data-severity=emergency] .dashbo-alert-card__band{background:var(--factory-color-error);color:var(--factory-color-background);box-shadow:none}.dashbo-alert-card__head{display:flex;align-items:flex-start;gap:10px}.dashbo-alert-card__glyph{display:inline-flex;flex:none;color:var(--app-ink)}.dashbo-alert-card__where{margin:2px 0 0;color:var(--factory-color-text-secondary)}.dashbo-alert-card__meta{color:var(--factory-color-text-muted)}.dashbo-card-shell:has(.dashbo-alert-card[data-severity=emergency]):before{background:var(--factory-color-error)}.dashbo-card-shell:has(.dashbo-alert-card[data-severity=warning]):before{background:var(--factory-color-warning)}.dashbo-transit{display:flex;flex-direction:column;gap:10px}.dashbo-transit__band{display:flex;align-items:center;gap:8px}.dashbo-transit__band-glyph{display:inline-flex;flex:none}.dashbo-transit__tier{font-weight:700;letter-spacing:.06em;text-transform:uppercase}.dashbo-transit__status{margin-left:auto;white-space:nowrap;color:var(--factory-color-text-secondary)}.dashbo-transit__head{display:flex;align-items:flex-start;gap:10px}.dashbo-transit__glyph{display:inline-flex;flex:none;color:var(--app-ink)}.dashbo-transit__direction{margin:2px 0 0;color:var(--factory-color-text-secondary)}.dashbo-transit__meta{color:var(--factory-color-text-muted)}.dashbo-dismissed-strip{display:flex;align-items:center;justify-content:space-between;gap:var(--factory-space-base)}.dashbo-dismissed-strip .factory-button{position:relative}@media(max-width:600px){.dashbo-dismissed-strip .factory-button:after{content:"";position:absolute;inset-block:-6px;inset-inline:0}}.dashbo-app-surface{display:flex;flex-direction:column;gap:var(--factory-space-lg);--app-accent: var(--dashbo-accent-base);--app-ink: color-mix(in srgb, rgb(var(--app-accent)), var(--factory-color-text-primary) 55%)}.dashbo-app-surface__header{display:flex;align-items:center;gap:var(--factory-space-base)}.dashbo-app-surface__mark{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:var(--factory-radius-circle);background:rgb(var(--app-accent) / .12);color:var(--app-ink)}.dashbo-app-surface__loading,.dashbo-surface-sections,.dashbo-surface-cards{display:flex;flex-direction:column;gap:14px}.dashbo-notice{display:flex;flex-direction:column;align-items:center;gap:var(--factory-space-base);text-align:center}.dashbo-surface-section{display:flex;flex-direction:column;gap:var(--factory-space-md)}.dashbo-facts-grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:var(--factory-space-xl);row-gap:var(--factory-space-lg)}@media(min-width:640px){.dashbo-facts-grid{grid-template-columns:repeat(3,1fr)}}.dashbo-fact{display:flex;flex-direction:column;gap:var(--factory-space-xs)}.dashbo-text-dim{color:var(--factory-color-text-muted)}.dashbo-text-soft{color:var(--factory-color-text-secondary)}.dashbo-tabular-nums{font-variant-numeric:tabular-nums}.dashbo-wrap-anywhere{overflow-wrap:anywhere}.dashbo-feed{display:flex;flex-direction:column;gap:var(--factory-space-base)}.dashbo-feed-sentinel{display:grid;min-height:3rem;place-items:center}.dashbo-feed-end{padding-top:var(--factory-space-sm);text-align:center}.dashbo-text-faint{color:var(--factory-color-text-muted)}.dashbo-feed-empty-hint code{background:var(--factory-color-background-alt);border-radius:var(--factory-radius-micro);padding:1px 4px}[x-cloak]{display:none!important}.dashbo-push-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--factory-space-base);margin-bottom:var(--factory-space-lg);padding:var(--factory-space-base) var(--factory-space-lg);border:1px solid var(--factory-color-border);border-radius:var(--factory-radius-comfortable);background:var(--factory-color-background-alt)}.dashbo-push-banner__actions{display:flex;align-items:center;flex-shrink:0;gap:var(--factory-space-sm)}.dashbo-saved{display:flex;flex-direction:column;gap:var(--factory-space-base)}.dashbo-saved-sentinel{display:grid;min-height:3rem;place-items:center}.dashbo-saved-end{padding-top:var(--factory-space-sm);text-align:center}.dashbo-weather-surface{display:flex;flex-direction:column;gap:var(--factory-space-lg)}.dashbo-weather-locations{display:flex;flex-direction:column;gap:var(--factory-space-md)}.dashbo-weather-locations__toolbar{display:flex;align-items:center;justify-content:space-between}.dashbo-weather-locations__loading{display:flex;align-items:center;justify-content:center;gap:var(--factory-space-md);padding:var(--factory-space-md) 0}.dashbo-weather-locations__retry{display:flex;flex-direction:column;align-items:center;gap:var(--factory-space-base);padding:var(--factory-space-md) 0;text-align:center}.dashbo-weather-locations__retry--refresh{padding:var(--factory-space-base) 0 0}.dashbo-weather-locations__list{display:flex;flex-direction:column}.dashbo-weather-locations__row{display:flex;align-items:center;gap:var(--factory-space-base);padding:var(--factory-space-md) 0}.dashbo-weather-locations__label{min-width:0;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashbo-weather-locations__temp{min-width:2.5rem}.dashbo-weather-locations__chart,.dashbo-weather-locations__chart-slot{height:1.5rem;width:6rem;flex:none}.dashbo-weather-locations__chart{display:block;overflow:visible}.dashbo-weather-locations__line{fill:none;stroke:var(--app-ink, rgb(var(--app-accent, var(--dashbo-accent-base))));stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.dashbo-weather-add-form{display:flex;flex-direction:column;gap:var(--factory-space-base)}.dashbo-weather-add-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--factory-space-base)}.dashbo-weather-add-form__actions{display:flex;justify-content:flex-end;gap:var(--factory-space-md)}.dashbo-weather-add-form__error{color:var(--factory-color-error)}.dashbo-place-search .factory-text-field:has(.htmx-request){opacity:.6}.dashbo-place-search{position:relative}.dashbo-place-search__list{position:absolute;inset-inline:0;top:calc(100% + var(--factory-space-md));z-index:10;margin:0;padding:var(--factory-space-xs) 0;max-height:280px;overflow-y:auto;box-sizing:border-box;list-style:none;border:1px solid var(--factory-color-border-control);border-radius:var(--factory-radius-micro);background:var(--factory-color-surface);box-shadow:var(--factory-shadow-deep)}.dashbo-place-search__list:empty{display:none}.dashbo-place-search__option{padding:var(--factory-space-md) var(--factory-space-base);cursor:pointer;color:var(--factory-color-text-primary);font-family:var(--factory-font-family);font-size:var(--factory-type-body-medium-size);font-weight:var(--factory-type-body-medium-weight);line-height:var(--factory-type-body-medium-leading)}.dashbo-place-search__option:hover{background:var(--factory-color-background-alt)}.dashbo-place-search__option[aria-selected=true]{background:var(--factory-color-background-alt);font-weight:600;outline:2px solid var(--factory-color-focus);outline-offset:-2px}.dashbo-place-search__message{padding:var(--factory-space-md) var(--factory-space-base);color:var(--factory-color-text-muted)}.dashbo-transit-surface{display:flex;flex-direction:column;gap:var(--factory-space-lg)}.dashbo-transit-lines{display:flex;flex-direction:column;gap:var(--factory-space-md)}.dashbo-transit-lines__toolbar{display:flex;align-items:center;justify-content:space-between}.dashbo-transit-lines__loading{display:flex;align-items:center;justify-content:center;gap:var(--factory-space-md);padding:var(--factory-space-md) 0}.dashbo-transit-lines__retry{display:flex;flex-direction:column;align-items:center;gap:var(--factory-space-base);padding:var(--factory-space-md) 0;text-align:center}.dashbo-transit-lines__list{display:flex;flex-direction:column}.dashbo-transit-lines__row{display:flex;align-items:center;gap:var(--factory-space-base);padding:var(--factory-space-md) 0}.dashbo-transit-lines__label{min-width:0;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashbo-transit-lines__timezone{flex:none;color:var(--factory-color-text-muted)}.dashbo-transit-add-form{display:flex;flex-direction:column;gap:var(--factory-space-base)}.dashbo-transit-add-form__actions{display:flex;justify-content:flex-end;gap:var(--factory-space-md)}.dashbo-transit-railway-search__list{margin:var(--factory-space-md) 0 0;padding:var(--factory-space-xs) 0;list-style:none;border:1px solid var(--factory-color-border-control);border-radius:var(--factory-radius-micro);background:var(--factory-color-surface)}.dashbo-transit-railway-search__list:empty{display:none}.dashbo-transit-railway-search__option{display:block;width:100%;padding:var(--factory-space-md) var(--factory-space-base);border:none;background:none;text-align:left;cursor:pointer;color:var(--factory-color-text-primary);font:inherit}.dashbo-transit-railway-search__option:hover,.dashbo-transit-railway-search__option:focus-visible{background:var(--factory-color-background-alt)}.dashbo-transit-railway-search__message{padding:var(--factory-space-md) var(--factory-space-base);color:var(--factory-color-text-muted)}.dashbo-transit-railway-search__message--catalogue-empty,.dashbo-transit-railway-search__message--unavailable{display:flex;flex-direction:column;gap:var(--factory-space-xs);color:var(--factory-color-text-primary)}.dashbo-status{display:grid;min-height:100dvh;place-items:center;padding:var(--factory-space-xl)}.dashbo-status__panel{display:flex;flex-direction:column;align-items:center;gap:var(--factory-space-lg);max-width:var(--dashbo-feed-width);text-align:center}.dashbo-status__code{color:var(--factory-color-text-muted)}.dashbo-status__action{display:inline-flex;align-items:center;padding:6px var(--factory-space-lg);border:1px solid var(--factory-color-link);border-radius:var(--factory-radius-pill);color:var(--factory-color-link);text-decoration:none}.dashbo-status__action:hover,.dashbo-status__action:focus-visible{text-decoration:underline}@media(prefers-color-scheme:dark){.dashbo-status--offline{--factory-color-background: #22201c;--factory-color-text-primary: #f2eee6;--factory-color-text-muted: #99948d;--factory-color-link: #779c90;--factory-color-info: #779c90;--factory-color-badge-text: #779c90;--factory-color-control-track: rgba(255, 255, 255, .8);background:var(--factory-color-background);color:var(--factory-color-text-primary)}}.dashbo-settings{display:flex;flex-direction:column;gap:var(--factory-space-xl)}.dashbo-settings-saved{color:var(--factory-color-success)}.dashbo-settings-section .factory-form-group+.factory-form-group{margin-top:var(--factory-space-lg)}.dashbo-settings-section-title{margin-bottom:var(--factory-space-base)}.dashbo-settings-quiet-hours{display:flex;flex-wrap:wrap;align-items:center;gap:var(--factory-space-lg)}.dashbo-settings-quiet-hours__range{display:flex;flex-wrap:wrap;align-items:center;gap:var(--factory-space-sm)}.dashbo-settings-quiet-hours:not(:has(#quietHoursOn:checked)) .dashbo-settings-quiet-hours__range{display:none}.dashbo-settings-quiet-hours__field-label{color:var(--factory-color-text-secondary)}.dashbo-settings-notify-row{display:flex;align-items:center;justify-content:space-between;gap:var(--factory-space-base)}.dashbo-settings-notify-row+.dashbo-settings-notify-row{margin-top:var(--factory-space-base)}.dashbo-settings-notify-row__field{flex:1;min-width:0}.dashbo-settings-notify-row__submit{flex-shrink:0}.dashbo-settings-notify-row__submit[hidden]{display:none}.dashbo-settings-notify-row__status{color:var(--factory-color-text-muted);min-width:5em;text-align:right}.dashbo-settings-push-control{margin-top:var(--factory-space-base)}.dashbo-settings-push-control__prompt{display:flex;align-items:center;justify-content:space-between;gap:var(--factory-space-base)}.dashbo-settings-danger-link{margin-top:var(--factory-space-base)}.dashbo-delete-account{display:flex;flex-direction:column;gap:var(--factory-space-xl)}.dashbo-delete-account-list{display:flex;flex-direction:column;gap:var(--factory-space-xs);margin:0;padding-left:var(--factory-space-lg)}.dashbo-delete-account-warning{color:var(--factory-color-error)}.dashbo-delete-account-form{display:flex;flex-direction:column;gap:var(--factory-space-lg);margin-top:var(--factory-space-lg)}.dashbo-delete-account-actions{display:flex;align-items:center;gap:var(--factory-space-base)}.dashbo-delete-account-cancel{color:var(--factory-color-link)}.dashbo-weather-app>*+*{margin-top:var(--factory-space-lg)}.dashbo-weather-app__skeleton{display:grid;place-items:center;min-height:200px}.dashbo-weather-app__empty,.dashbo-weather-app__error{padding:var(--factory-space-xl) 0;text-align:center}.dashbo-weather-app__error{color:var(--factory-color-error)}.dashbo-weather-app__chips{display:flex;gap:var(--factory-space-sm);overflow-x:auto;scrollbar-width:none}.dashbo-weather-app__chips::-webkit-scrollbar{display:none}.dashbo-weather-app__chip{flex:none;white-space:nowrap}.dashbo-weather-app__chip.is-selected{--fb-bg: var(--factory-color-primary);--fb-fg: var(--factory-color-on-primary);--fb-border: var(--factory-color-primary);cursor:default}.dashbo-weather-app__alert-banner{display:flex;flex-direction:column;gap:var(--factory-space-sm)}.dashbo-weather-app__alert{display:flex;align-items:center;gap:var(--factory-space-md);padding:var(--factory-space-sm) var(--factory-space-md);border-radius:var(--factory-radius-standard);background:transparent;color:var(--factory-color-warning);box-shadow:inset 0 0 0 1px currentcolor}.dashbo-weather-app__alert-glyph{display:inline-flex;flex:none}.dashbo-weather-app__hero{display:flex;align-items:center;gap:var(--factory-space-lg)}.dashbo-weather-app__hero-glyph{flex:none;color:var(--factory-color-primary)}.dashbo-weather-app__hero-readings{display:flex;min-width:0;flex-direction:column;gap:var(--factory-space-sm)}.dashbo-weather-app__hero-temp{font-variant-numeric:tabular-nums}.dashbo-weather-app__hero-feels,.dashbo-weather-app__hero-range{color:var(--factory-color-text-muted)}.dashbo-weather-app__hero-range{font-variant-numeric:tabular-nums}@media(max-width:400px){.dashbo-weather-app__hero{flex-direction:column;text-align:center}}.dashbo-weather-app__strip{margin-top:var(--factory-space-md);scroll-snap-type:x proximity;scrollbar-width:none;contain:inline-size}.dashbo-weather-app__strip::-webkit-scrollbar{display:none}.dashbo-weather-app__strip-list{display:flex;gap:var(--factory-space-lg);margin:0;padding:0;list-style:none}.dashbo-weather-app__hour{display:flex;flex:none;flex-direction:column;align-items:center;gap:var(--factory-space-xs);scroll-snap-align:center}.dashbo-weather-app__hour-label,.dashbo-weather-app__hour-temp,.dashbo-weather-app__hour-precip{font-size:var(--factory-type-caption-size);line-height:var(--factory-type-caption-leading)}.dashbo-weather-app__hour-label,.dashbo-weather-app__hour-precip{color:var(--factory-color-text-muted)}.dashbo-weather-app__hour-temp{font-weight:600;font-variant-numeric:tabular-nums}.dashbo-weather-app__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--factory-space-md);margin:0;padding:0;list-style:none}@media(max-width:400px){.dashbo-weather-app__tiles{grid-template-columns:repeat(2,1fr)}}.dashbo-weather-app__tile{display:flex;flex-direction:column;gap:var(--factory-space-xs);padding:var(--factory-space-md) var(--factory-space-lg);background:var(--factory-color-background-alt);border-radius:var(--factory-radius-standard)}.dashbo-weather-app__tile-label{color:var(--factory-color-text-muted)}.dashbo-weather-app__tile-value{font-variant-numeric:tabular-nums}.dashbo-weather-app__daily-list{margin:0;margin-top:var(--factory-space-md);display:flex;flex-direction:column;gap:var(--factory-space-sm);padding:0;list-style:none}.dashbo-weather-app__day{position:relative;display:grid;grid-template-columns:48px 24px 36px 1fr 36px;align-items:center;gap:var(--factory-space-md)}.dashbo-weather-app__day-name{grid-column:1}.dashbo-weather-app__day>.dashbo-glyph{grid-column:2;justify-self:center}.dashbo-weather-app__day-low{grid-column:3}.dashbo-weather-app__day-high{grid-column:5;color:var(--factory-color-text-primary)}.dashbo-weather-app__day-name,.dashbo-weather-app__day-low,.dashbo-weather-app__day-high{font-size:var(--factory-type-caption-size)}.dashbo-weather-app__day-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashbo-weather-app__day-low,.dashbo-weather-app__day-high{font-variant-numeric:tabular-nums}.dashbo-weather-app__day-low{color:var(--factory-color-text-muted);text-align:right}.dashbo-weather-app__day-high{font-weight:600}.dashbo-weather-app__day:before{content:"";grid-row:1;grid-column:4 / 5;height:4px;border-radius:var(--factory-radius-pill);background:var(--factory-color-border)}.dashbo-weather-app__day-bar{position:absolute;grid-row:1;grid-column:4 / 5;top:50%;height:4px;transform:translateY(-50%);border-radius:var(--factory-radius-pill);background:var(--factory-color-primary)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dashbo-app-rail__item,.dashbo-card-shell,.dashbo-card-actions__action{transition:none}}
