@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.grid{display:grid}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}*{box-sizing:border-box}html,body{min-height:100%;margin:var(--space-0)}body{background:var(--color-bg-canvas)}.app-shell{min-height:100vh}.placeholder-screen{min-height:calc(100vh - var(--size-app-bar-height));align-content:start;gap:var(--space-5);display:grid}.placeholder-screen h1{margin:var(--space-0);font-size:var(--typography-scale-title1-font-size);line-height:var(--typography-scale-title1-line-height)}.placeholder-screen>p{max-width:calc(var(--space-11) * 10);margin:var(--space-0);color:var(--color-text-secondary)}.placeholder-body{min-height:calc(var(--space-11) * 4);border:calc(var(--space-1) / 2) dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-surface);padding:var(--space-5);color:var(--color-text-secondary)}.dashboard-page{width:min(100%, calc(var(--breakpoint-expanded) + var(--space-8)));margin:var(--space-0) auto;padding:var(--space-6) var(--space-5) var(--space-11)}.dashboard-title{margin:var(--space-0) var(--space-0) var(--space-6);font-size:var(--typography-scale-title1-font-size);line-height:var(--typography-scale-title1-line-height)}.dashboard-solunar{gap:var(--space-5);display:grid}.dashboard-solunar-main,.dashboard-solunar-context{min-width:var(--space-0);gap:var(--space-5);display:grid}.solunar-period-card,.solunar-moon-card,.solunar-sun-card{min-width:var(--space-0)}.solunar-card-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.solunar-card-heading h2,.solunar-moon-card h2,.solunar-sun-card h2,.solunar-moon-card p,.solunar-sun-card p{margin:var(--space-0)}.solunar-card-heading h2,.solunar-moon-card h2,.solunar-sun-card h2{font-size:var(--typography-scale-headline-font-size);line-height:var(--typography-scale-headline-line-height)}.solunar-card-description{margin:var(--space-4) var(--space-0) var(--space-0);color:var(--color-text-secondary);font-size:var(--typography-scale-caption-font-size)}.solunar-period-list{margin:var(--space-5) var(--space-0) var(--space-0);padding:var(--space-0);list-style:none;display:grid}.solunar-period{grid-template-columns:auto minmax(calc(var(--space-11) * 2), 1fr) auto;align-items:center;gap:var(--space-2) var(--space-4);min-height:var(--size-touch-target-field);border-top:calc(var(--space-1) / 2) solid var(--color-border-subtle);padding:var(--space-3) var(--space-0);font-variant-numeric:tabular-nums;display:grid}.solunar-period>.ds-icon{color:var(--color-accent-primary)}.solunar-period-kind{font-weight:var(--typography-scale-headline-font-weight)}.solunar-period-window{color:var(--color-text-primary);text-align:right}.solunar-period-peak{color:var(--color-text-secondary);font-size:var(--typography-scale-caption-font-size);grid-column:2/-1}.solunar-moon-summary{align-items:center;gap:var(--space-4);display:flex}.solunar-moon-summary p{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--typography-scale-caption-font-size)}.solunar-facts{gap:var(--space-3);margin:var(--space-5) var(--space-0) var(--space-0);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.solunar-facts>div{min-width:var(--space-0)}.solunar-facts dt{color:var(--color-text-secondary);font-size:var(--typography-scale-caption-font-size);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.solunar-facts dd{margin:var(--space-1) var(--space-0) var(--space-0);font-weight:var(--typography-scale-headline-font-weight);font-variant-numeric:tabular-nums}.solunar-sun-card .solunar-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.solunar-polar-state{color:var(--color-text-secondary);margin-top:var(--space-5)!important}.dashboard-page{gap:var(--space-5);display:grid}.dashboard-state-banner{min-height:var(--size-touch-target-field);justify-content:center;align-items:center;gap:var(--space-4);border:calc(var(--space-1) / 2) solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-accent-primary-subtle);padding:var(--space-3) var(--space-5);color:var(--color-text-secondary);display:flex}.demo-mode-banner{min-height:var(--size-touch-target-field);justify-content:space-between;align-items:center;gap:var(--space-4);border:calc(var(--space-1) / 2) solid var(--color-border-strong);background:var(--color-accent-primary-subtle);padding:var(--space-3) max(var(--space-5), env(safe-area-inset-right)) var(--space-3) max(var(--space-5), env(safe-area-inset-left));color:var(--color-text-secondary);display:flex}.dashboard-layout,.dashboard-main,.dashboard-context{min-width:var(--space-0);gap:var(--space-5);display:grid}.dashboard-context,.dashboard-days-context{display:none}.dashboard-hero{justify-items:center;gap:var(--space-5);padding-top:var(--space-3);text-align:center;display:grid}.dashboard-gauge{--dashboard-gauge-color:var(--color-score-good);width:var(--size-gauge);height:var(--size-gauge);place-items:center;display:grid;position:relative}.dashboard-gauge-poor{--dashboard-gauge-color:var(--color-score-poor)}.dashboard-gauge-fair{--dashboard-gauge-color:var(--color-score-fair)}.dashboard-gauge-prime{--dashboard-gauge-color:var(--color-score-prime)}.dashboard-gauge-arc{inset:var(--space-0);border-radius:var(--radius-full);background:conic-gradient(from 225deg, var(--dashboard-gauge-color) var(--space-0) var(--dashboard-score), var(--color-border-subtle) var(--dashboard-score) 75%, transparent 75% 100%);-webkit-mask:radial-gradient(circle, transparent 62%, var(--color-text-primary) 63%);-webkit-mask:radial-gradient(circle, transparent 62%, var(--color-text-primary) 63%);-webkit-mask:radial-gradient(circle, transparent 62%, var(--color-text-primary) 63%);mask:radial-gradient(circle, transparent 62%, var(--color-text-primary) 63%);animation:dashboard-gauge-in var(--motion-duration-gauge) var(--motion-easing-standard);position:absolute}.dashboard-gauge-content{place-items:center;display:grid}.dashboard-gauge-content>strong{font-size:var(--typography-scale-score-numeral-font-size);line-height:var(--typography-scale-score-numeral-line-height);font-variant-numeric:tabular-nums}.dashboard-gauge-content>span:not(.dashboard-confidence){color:var(--dashboard-gauge-color);font-size:var(--typography-scale-caption-font-size);font-weight:var(--typography-scale-caption-font-weight);text-transform:uppercase}.dashboard-confidence{align-items:center;gap:var(--space-3);color:var(--color-text-secondary);font-size:var(--typography-scale-caption-font-size);display:flex}.dashboard-confidence-dots{gap:var(--space-2);display:flex}.dashboard-confidence-dots i{width:var(--space-3);height:var(--space-3);border:calc(var(--space-1) / 2) solid var(--color-border-strong);border-radius:var(--radius-full)}.dashboard-confidence-dots i.is-filled{border-color:var(--color-text-secondary);background:var(--color-text-secondary)}.dashboard-recommendation p{margin:var(--space-0)}.dashboard-recommendation a,.dashboard-insight-link,.dashboard-metric-link{color:inherit;text-decoration:none}.dashboard-recommendation a{min-height:var(--size-touch-target-min);color:var(--color-accent-primary);align-items:center;display:inline-flex}.dashboard-quality-row{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.dashboard-quality{position:relative}.dashboard-quality>summary{min-height:var(--size-touch-target-min);cursor:pointer;list-style:none}.dashboard-quality>summary::-webkit-details-marker{display:none}.dashboard-provenance{z-index:var(--z-index-banner);top:var(--size-touch-target-min);width:min(calc(var(--space-11) * 6), 80vw);border:calc(var(--space-1) / 2) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-raised);box-shadow:var(--elevation-overlay);padding:var(--space-5);color:var(--color-text-secondary);text-align:left;position:absolute;left:50%;transform:translate(-50%)}.dashboard-provenance ul,.dashboard-provenance p{margin:var(--space-3) var(--space-0) var(--space-0)}.dashboard-timeline{min-width:var(--space-0)}.dashboard-timeline>header,.dashboard-insight>header,.dashboard-metric>header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.dashboard-timeline h2,.dashboard-insight h2,.dashboard-module-error h2{margin:var(--space-0);font-size:var(--typography-scale-headline-font-size);line-height:var(--typography-scale-headline-line-height)}.dashboard-timeline header>span,.dashboard-insight header>span,.dashboard-metric header>span,.dashboard-metric>span,.dashboard-context-quality>span,.dashboard-moon span{color:var(--color-text-secondary);font-size:var(--typography-scale-caption-font-size)}.dashboard-timeline-scrubber{min-height:calc(var(--space-11) * 3);margin-top:var(--space-4);cursor:crosshair;touch-action:pan-y}.dashboard-timeline-scrubber svg{width:100%;height:calc(var(--space-11) * 3);border-bottom:calc(var(--space-1) / 2) solid var(--color-border-subtle);background:var(--color-bg-sunken);display:block}.dashboard-solunar-band{fill:var(--color-chart-night)}.dashboard-solunar-band-minor{opacity:.5}.dashboard-timeline-area{fill:var(--color-chart-area-top)}.dashboard-timeline-line{fill:none;stroke:var(--color-chart-line);stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--space-1);vector-effect:non-scaling-stroke}.dashboard-timeline-now{stroke:var(--color-chart-now-line);stroke-width:var(--space-1);vector-effect:non-scaling-stroke}.dashboard-timeline-value{min-height:var(--size-touch-target-min);margin:var(--space-2) var(--space-0) var(--space-0);color:var(--color-text-secondary);font-size:var(--typography-scale-caption-font-size)}.dashboard-table>summary{min-height:var(--size-touch-target-min);cursor:pointer;color:var(--color-accent-primary)}.dashboard-table>div{max-height:calc(var(--space-11) * 5);overflow:auto}.dashboard-table table{border-collapse:collapse;width:100%;font-size:var(--typography-scale-caption-font-size)}.dashboard-table th,.dashboard-table td{border-bottom:calc(var(--space-1) / 2) solid var(--color-border-subtle);padding:var(--space-3);text-align:left}.dashboard-metrics,.dashboard-loading-metrics{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-metric-link{min-width:var(--space-0);display:block}.dashboard-metric{min-height:calc(var(--space-11) * 2);gap:var(--space-3);display:grid}.dashboard-metric .dashboard-quality .ds-badge{max-width:calc(var(--space-11) * 2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-metric>strong,.dashboard-context-quality>strong,.dashboard-moon strong{font-size:var(--typography-scale-metric-font-size);line-height:var(--typography-scale-metric-line-height);font-variant-numeric:tabular-nums}.dashboard-module-error{min-height:calc(var(--space-11) * 2)}.dashboard-module-error p{margin:var(--space-3) var(--space-0) var(--space-0);color:var(--color-text-secondary)}.dashboard-insight-link{display:block}.dashboard-insight ol{gap:var(--space-4);margin:var(--space-5) var(--space-0) var(--space-0);padding:var(--space-0);list-style:none;display:grid}.dashboard-insight li{grid-template-columns:auto minmax(0, 1fr) minmax(var(--space-11), 25%);align-items:center;gap:var(--space-3);display:grid}.dashboard-insight li>i{height:var(--space-3);border-radius:var(--radius-full);background:var(--color-border-subtle);align-items:center;display:flex}.dashboard-insight li>i>b{width:var(--dashboard-factor-width);border-radius:inherit;background:var(--color-score-good);height:100%}.dashboard-insight li.is-negative>i{justify-content:flex-end}.dashboard-insight li.is-negative>i>b{background:var(--color-score-poor)}.dashboard-days ol{gap:var(--space-2);margin:var(--space-0);padding:var(--space-0);grid-template-columns:repeat(7,minmax(0,1fr));list-style:none;display:grid}.dashboard-days li{min-height:var(--size-touch-target-min);border:calc(var(--space-1) / 2) solid var(--color-border-subtle);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--typography-scale-caption-font-size);place-items:center;display:grid}.dashboard-days li[aria-current=date]{border-color:var(--color-accent-primary);background:var(--color-accent-primary-subtle);color:var(--color-accent-primary)}.dashboard-moon{align-items:center;gap:var(--space-4);display:flex}.dashboard-moon>div,.dashboard-context-quality{gap:var(--space-2);display:grid}.dashboard-loading-hero{justify-items:center;gap:var(--space-5);display:grid}.dashboard-loading-hero .ds-skeleton-circle{width:var(--size-gauge);height:var(--size-gauge)}.dashboard-loading-chart,.dashboard-loading-gauge{min-height:calc(var(--space-11) * 4)}@keyframes dashboard-gauge-in{0%{opacity:0;transform:rotate(-45deg)}}.app-shell-stage>.ds-offline-banner{border-right:var(--space-0);border-left:var(--space-0);border-radius:var(--space-0)}.shell-icon-link{width:var(--size-touch-target-min);height:var(--size-touch-target-min);border-radius:var(--radius-sm);color:var(--color-text-primary);place-items:center;display:grid}.desktop-refresh,.desktop-only-app-bar{display:none}.map-page{height:100dvh;min-height:calc(var(--space-11) * 6);background:var(--color-bg-sunken);position:relative;overflow:hidden}.map-view,.map-renderer-host{width:100%;height:100%}.map-renderer-host{position:relative}.map-loading,.map-render-error,.map-page-placeholder{place-items:center;display:grid}.map-loading{z-index:var(--z-index-content);inset:var(--space-0);align-content:center;gap:var(--space-4);background:var(--color-bg-sunken);color:var(--color-text-secondary);position:absolute}.map-loading-block{width:calc(var(--space-11) * 3);height:var(--space-8);border-radius:var(--radius-sm);background:var(--color-bg-raised);animation:shimmer var(--motion-duration-gauge) var(--motion-easing-standard) infinite alternate}.map-render-error{z-index:var(--z-index-content);inset:var(--space-0);align-content:center;gap:var(--space-2);background:var(--color-bg-sunken);padding:var(--space-6);text-align:center;position:absolute}.map-render-error span{color:var(--color-text-secondary)}.map-controls{z-index:var(--z-index-app-bar);top:max(var(--space-5), env(safe-area-inset-top));right:max(var(--space-5), env(safe-area-inset-right));border:calc(var(--space-1) / 2) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--elevation-overlay);display:grid;position:absolute;overflow:hidden}.map-controls .ds-icon-button{border-radius:var(--space-0)}.map-coordinate-display,.map-attribution{z-index:var(--z-index-content);bottom:calc(var(--size-tab-bar-height) + var(--space-4) + env(safe-area-inset-bottom));border:calc(var(--space-1) / 2) solid var(--color-border-strong);border-radius:var(--radius-xs);background:var(--color-bg-surface);box-shadow:var(--elevation-card);color:var(--color-text-secondary);font-size:var(--typography-scale-caption-font-size);line-height:var(--typography-scale-caption-line-height);position:absolute}.map-coordinate-display{left:max(var(--space-4), env(safe-area-inset-left));padding:var(--space-2) var(--space-3);font-variant-numeric:tabular-nums}.map-attribution{right:max(var(--space-4), env(safe-area-inset-right));max-width:min(50%, calc(var(--space-11) * 5));padding:var(--space-1) var(--space-2);text-align:right}.map-permission-panel{z-index:var(--z-index-app-bar);top:max(var(--space-5), env(safe-area-inset-top));left:max(var(--space-5), env(safe-area-inset-left));width:min(calc(100% - var(--space-11) * 2), calc(var(--space-11) * 5));max-height:calc(100% - var(--space-10) * 2);border:calc(var(--space-1) / 2) solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--elevation-overlay);padding:var(--space-5);position:absolute;overflow:auto}.map-permission-panel>p{margin:var(--space-3) var(--space-0) var(--space-0);color:var(--color-text-secondary);text-align:center}.map-page-placeholder{padding:var(--space-7);align-content:center}.map-renderer-marker{width:var(--size-touch-target-min);height:var(--size-touch-target-min);border:var(--space-0);background:0 0;place-items:center;display:grid}.map-renderer-marker-default:before{width:var(--space-5);height:var(--space-5);border:var(--space-1) solid var(--color-bg-surface);border-radius:var(--radius-full) var(--radius-full) var(--radius-full) var(--space-0);background:var(--color-accent-primary);box-shadow:var(--elevation-raised);content:"";transform:rotate(-45deg)}.map-renderer-marker-current-location{width:var(--size-touch-target-field);height:var(--size-touch-target-field)}.map-renderer-marker-current-location:before{width:var(--space-5);height:var(--space-5);border:var(--space-1) solid var(--color-bg-surface);border-radius:var(--radius-full);background:var(--color-accent-primary);box-shadow:0 0 0 var(--space-3) var(--color-accent-primary-subtle);content:""}.global-loading-host{z-index:var(--z-index-dialog);inset:var(--space-0);align-content:center;gap:var(--space-5);background:var(--color-bg-canvas);padding:var(--space-7);display:grid;position:fixed}.global-loading-host>*{width:min(100%, calc(var(--space-11) * 8));margin:var(--space-0) auto}.shell-error-boundary details{margin-top:var(--space-4);color:var(--color-text-secondary);font-size:var(--typography-scale-footnote-font-size)}.health-page,.error-page{width:min(100%, calc(var(--breakpoint-expanded) + var(--space-5)));margin:var(--space-0) auto;padding:var(--space-9) var(--space-6) var(--space-11)}.health-heading{margin-bottom:var(--space-8)}.eyebrow{margin:var(--space-0) var(--space-0) var(--space-3);color:var(--color-accent-primary);font-size:var(--typography-scale-caption-font-size);font-weight:var(--typography-scale-headline-font-weight);text-transform:uppercase}.health-heading h1,.error-page h1{margin:var(--space-0);font-size:var(--typography-scale-display-font-size);line-height:var(--typography-scale-display-line-height);letter-spacing:var(--typography-scale-display-letter-spacing)}.health-summary{margin:var(--space-4) var(--space-0) var(--space-0);color:var(--color-text-secondary);font-size:var(--typography-scale-subhead-font-size)}.status-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.status-card{min-height:calc(var(--space-11) * 2);padding:var(--space-6)}.status-card-heading{align-items:center;gap:var(--space-4);display:flex}.status-card h2{margin:var(--space-0);font-size:var(--typography-scale-subhead-font-size);font-weight:var(--typography-scale-caption-font-weight)}.status-card p{margin:var(--space-7) var(--space-0) var(--space-0);color:var(--color-text-secondary);font-size:var(--typography-scale-metric-font-size);font-weight:var(--typography-scale-metric-font-weight)}.status-dot{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-full);background:var(--color-status-offline)}.status-dot-success{background:var(--color-status-success)}.status-dot-danger{background:var(--color-status-danger)}.offline-banner{width:100%}.readiness{margin-top:var(--space-6);color:var(--color-text-secondary);font-size:var(--typography-scale-footnote-font-size)}.readiness-ready{color:var(--color-status-success)}.readiness-not_ready{color:var(--color-status-danger)}.inline-error{margin-top:var(--space-6);border-left:var(--space-1) solid var(--color-status-danger);border-radius:var(--radius-sm);background:var(--color-bg-surface);padding:var(--space-5) var(--space-6)}.inline-error p{margin:var(--space-0) var(--space-0) var(--space-3)}.inline-error small,.error-page small{color:var(--color-text-secondary);display:block}.inline-error button,.error-page button{min-height:var(--size-touch-target-min);margin-top:var(--space-5);border:var(--space-0);border-radius:var(--radius-sm);background:var(--color-accent-primary);padding:var(--space-0) var(--space-5);color:var(--color-text-on-accent);cursor:pointer;font-weight:var(--typography-scale-headline-font-weight)}.skeleton{border-radius:var(--radius-sm);background:var(--color-bg-raised);animation:shimmer var(--motion-duration-gauge) var(--motion-easing-standard) infinite alternate}.skeleton-eyebrow{width:calc(var(--space-11) + var(--space-8));height:var(--typography-scale-axis-label-line-height)}.skeleton-title{width:min(calc(var(--space-11) * 5), 80vw);height:var(--space-9);margin-top:var(--space-4)}.skeleton-card{min-height:calc(var(--space-11) * 2)}.forecast-page{width:min(100%, calc(var(--breakpoint-expanded) + var(--space-8)));margin:var(--space-0) auto;gap:var(--space-6);padding:var(--space-6) var(--space-5) var(--space-11);display:grid}.forecast-segmented{width:min(100%, calc(var(--space-11) * 5));min-height:var(--size-touch-target-min);margin:var(--space-0) auto;border:calc(var(--space-1) / 2) solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-bg-sunken);grid-template-columns:repeat(2,1fr);display:grid;overflow:hidden}.forecast-segmented a{color:var(--color-text-secondary);place-items:center;text-decoration:none;display:grid}.forecast-segmented a[aria-current=page]{background:var(--color-accent-primary-subtle);color:var(--color-accent-primary);font-weight:var(--typography-scale-headline-font-weight)}.forecast-hero{min-height:calc(var(--space-11) * 3);padding:var(--space-7);position:relative}.forecast-hero>.forecast-quality{top:var(--space-5);right:var(--space-5);position:absolute}.forecast-hero h1,.forecast-hero p,.forecast-chart-card h2,.forecast-direction-card h2,.forecast-sun-card h2,.forecast-sun-card p{margin:var(--space-0)}.forecast-hero>p:not(.forecast-metric){max-width:calc(var(--space-11) * 7);margin-top:var(--space-3);color:var(--color-text-secondary)}.forecast-metric{padding-top:var(--space-6);font-size:var(--typography-scale-metric-font-size);font-weight:var(--typography-scale-metric-font-weight);line-height:var(--typography-scale-metric-line-height)}.forecast-chart-grid{gap:var(--space-5);display:grid}.forecast-chart-card{min-width:0;min-height:calc(var(--space-11) * 4);padding:var(--space-5)}.forecast-chart-card>header{justify-content:space-between;align-items:start;gap:var(--space-3);display:flex}.forecast-chart-card h2,.forecast-direction-card h2,.forecast-sun-card h2{font-size:var(--typography-scale-headline-font-size);line-height:var(--typography-scale-headline-line-height)}.forecast-direction-card{min-height:calc(var(--space-11) * 4);padding:var(--space-5);position:relative}.forecast-direction-card>.forecast-quality{top:var(--space-5);right:var(--space-5);position:absolute}.forecast-direction-value{align-items:center;gap:var(--space-4);margin:var(--space-5) var(--space-0) var(--space-0);color:var(--color-text-secondary);display:flex}.forecast-direction-arrow{width:var(--size-touch-target-min);height:var(--size-touch-target-min);border:calc(var(--space-1) / 2) solid var(--color-border-strong);border-radius:var(--radius-full);color:var(--color-accent-primary);font-size:var(--typography-scale-title2-font-size);place-items:center;display:inline-grid}.forecast-quality{flex:none;position:relative}.forecast-quality>summary{min-height:var(--size-touch-target-min);cursor:pointer;list-style:none}.forecast-quality>summary::-webkit-details-marker{display:none}.forecast-provenance{z-index:var(--z-index-app-bar);top:var(--size-touch-target-min);right:var(--space-0);width:min(calc(var(--space-11) * 6), 80vw);border:calc(var(--space-1) / 2) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-raised);box-shadow:var(--elevation-overlay);padding:var(--space-5);color:var(--color-text-secondary);font-size:var(--typography-scale-footnote-font-size);position:absolute}.forecast-provenance ul,.forecast-provenance p{margin:var(--space-3) var(--space-0) var(--space-0);padding-left:var(--space-5)}.forecast-chart-scrubber{min-height:calc(var(--space-11) * 3);margin-top:var(--space-4);cursor:crosshair;touch-action:pan-y}.forecast-chart-scrubber:focus-visible{outline:var(--space-1) solid var(--color-border-focus);outline-offset:var(--space-1)}.forecast-chart{width:100%;height:calc(var(--space-11) * 3);margin-top:var(--space-0);border-bottom:calc(var(--space-1) / 2) solid var(--color-border-subtle);background:var(--color-bg-sunken);display:block}.forecast-crosshair{stroke:var(--color-chart-crosshair);stroke-width:var(--space-1);vector-effect:non-scaling-stroke}.forecast-chart-value{min-height:var(--size-touch-target-min);margin:var(--space-2) var(--space-0) var(--space-0);color:var(--color-text-secondary);font-size:var(--typography-scale-caption-font-size)}.forecast-series{fill:none;stroke:var(--color-chart-line);stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--space-1);vector-effect:non-scaling-stroke}.forecast-series-2{stroke:var(--color-chart-secondary);stroke-dasharray:var(--space-3) var(--space-2)}.forecast-legend{gap:var(--space-4);margin-top:var(--space-3);color:var(--color-text-secondary);font-size:var(--typography-scale-caption-font-size);flex-wrap:wrap;display:flex}.forecast-key{width:var(--space-5);border-top:var(--space-1) solid var(--color-chart-line);vertical-align:middle;display:inline-block}.forecast-key-2{border-top-color:var(--color-chart-secondary);border-top-style:dashed}.forecast-table{margin-top:var(--space-4)}.forecast-table>summary{min-height:var(--size-touch-target-min);cursor:pointer;color:var(--color-accent-primary);font-weight:var(--typography-scale-headline-font-weight)}.forecast-table-scroll{max-height:calc(var(--space-11) * 5);overflow:auto}.forecast-table table{border-collapse:collapse;width:100%;font-size:var(--typography-scale-caption-font-size)}.forecast-table caption{padding:var(--space-3);text-align:left}.forecast-table th,.forecast-table td{border-bottom:calc(var(--space-1) / 2) solid var(--color-border-subtle);padding:var(--space-3);text-align:left;white-space:nowrap}.forecast-sun-card{padding:var(--space-6);position:relative}.forecast-sun-card .forecast-quality{top:var(--space-4);right:var(--space-4);position:absolute}.forecast-sun-card p{margin-top:var(--space-4);color:var(--color-text-secondary)}.forecast-degraded-banner{justify-content:center;align-items:center;gap:var(--space-4);min-height:var(--size-touch-target-field);background:var(--color-accent-primary-subtle);padding:var(--space-3) var(--space-5);color:var(--color-text-primary);display:flex}.forecast-skeleton-hero{min-height:calc(var(--space-11) * 3)}.forecast-skeleton-chart{min-height:calc(var(--space-11) * 4)}@keyframes shimmer{to{background:var(--color-border-subtle)}}@media (max-width:600px){.health-page,.error-page{padding-top:var(--space-8)}.status-grid{grid-template-columns:1fr}}@media (min-width:1024px){.desktop-only-app-bar{display:block}.desktop-refresh{display:inline-flex}.placeholder-screen{min-height:calc(100vh - var(--size-app-bar-height))}.map-page{height:calc(100dvh - var(--size-app-bar-height))}.map-coordinate-display,.map-attribution{bottom:max(var(--space-5), env(safe-area-inset-bottom))}.forecast-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-solunar{grid-template-columns:minmax(0, 8fr) minmax(calc(var(--space-11) * 4), 4fr)}.dashboard-layout{grid-template-columns:minmax(0, 8fr) minmax(calc(var(--space-11) * 4), 4fr);gap:var(--space-7)}.dashboard-context{align-content:start;display:grid}.dashboard-days-main{display:none}.dashboard-days-context{display:block}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-timeline-scrubber svg,.forecast-chart{height:calc(var(--space-11) * 4)}}@media (min-width:600px) and (not (min-width:1024px)){.dashboard-main{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.dashboard-metrics,.dashboard-insight-link,.dashboard-days-main{grid-column:1/-1}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.dashboard-gauge-arc,.map-loading-block,.skeleton{animation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
:root{--typography-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--typography-font-family-mono:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", monospace;--typography-scale-score-numeral-font-size:56px;--typography-scale-score-numeral-line-height:60px;--typography-scale-score-numeral-font-weight:700;--typography-scale-score-numeral-letter-spacing:-.02em;--typography-scale-score-numeral-font-variant-numeric:tabular-nums;--typography-scale-display-font-size:34px;--typography-scale-display-line-height:40px;--typography-scale-display-font-weight:700;--typography-scale-display-letter-spacing:-.015em;--typography-scale-title1-font-size:28px;--typography-scale-title1-line-height:34px;--typography-scale-title1-font-weight:700;--typography-scale-title1-letter-spacing:-.01em;--typography-scale-title2-font-size:22px;--typography-scale-title2-line-height:28px;--typography-scale-title2-font-weight:600;--typography-scale-title3-font-size:20px;--typography-scale-title3-line-height:25px;--typography-scale-title3-font-weight:600;--typography-scale-headline-font-size:17px;--typography-scale-headline-line-height:22px;--typography-scale-headline-font-weight:600;--typography-scale-body-font-size:17px;--typography-scale-body-line-height:24px;--typography-scale-body-font-weight:400;--typography-scale-callout-font-size:16px;--typography-scale-callout-line-height:21px;--typography-scale-callout-font-weight:400;--typography-scale-subhead-font-size:15px;--typography-scale-subhead-line-height:20px;--typography-scale-subhead-font-weight:400;--typography-scale-footnote-font-size:13px;--typography-scale-footnote-line-height:18px;--typography-scale-footnote-font-weight:400;--typography-scale-caption-font-size:12px;--typography-scale-caption-line-height:16px;--typography-scale-caption-font-weight:500;--typography-scale-metric-font-size:22px;--typography-scale-metric-line-height:26px;--typography-scale-metric-font-weight:600;--typography-scale-metric-font-variant-numeric:tabular-nums;--typography-scale-axis-label-font-size:11px;--typography-scale-axis-label-line-height:14px;--typography-scale-axis-label-font-weight:500;--typography-scale-axis-label-font-variant-numeric:tabular-nums;--space-0:0px;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:64px;--radius-xs:6px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-full:999px;--size-touch-target-min:44px;--size-touch-target-field:56px;--size-tab-bar-height:64px;--size-app-bar-height:56px;--size-icon-sm:16px;--size-icon-md:24px;--size-icon-lg:32px;--size-gauge:168px;--size-fab:56px;--motion-duration-instant:80ms;--motion-duration-fast:.14s;--motion-duration-base:.22s;--motion-duration-slow:.32s;--motion-duration-gauge:.7s;--motion-easing-standard:cubic-bezier(.2, 0, 0, 1);--motion-easing-decelerate:cubic-bezier(0, 0, .2, 1);--motion-easing-accelerate:cubic-bezier(.4, 0, 1, 1);--motion-easing-spring:cubic-bezier(.34, 1.3, .64, 1);--breakpoint-compact:0px;--breakpoint-medium:600px;--breakpoint-expanded:1024px;--breakpoint-wide:1440px;--z-index-canvas:0;--z-index-sticky:10;--z-index-app-bar:20;--z-index-fab:30;--z-index-tab-bar:40;--z-index-banner:50;--z-index-sheet:60;--z-index-dialog:70;--z-index-toast:80;--elevation-card:none;--elevation-raised:none;--elevation-overlay:0 12px 32px #00000080}.theme-root,.theme-root[data-theme=dark]{--color-bg-canvas:#0b1220;--color-bg-surface:#121c2e;--color-bg-raised:#1a2740;--color-bg-sunken:#080d18;--color-bg-overlay:#0b1220cc;--color-text-primary:#f2f6fc;--color-text-secondary:#9fb0c7;--color-text-tertiary:#6e7f99;--color-text-inverse:#0b1220;--color-text-on-accent:#06121c;--color-border-subtle:#243450;--color-border-strong:#3b4e70;--color-border-focus:#7dd3fc;--color-accent-primary:#38bdf8;--color-accent-primary-press:#0ea5e9;--color-accent-primary-subtle:#38bdf81f;--color-score-poor:#f87171;--color-score-fair:#fbbf24;--color-score-good:#4ade80;--color-score-prime:#22d3ee;--color-score-poor-text:#fca5a5;--color-score-fair-text:#fcd34d;--color-score-good-text:#86efac;--color-score-prime-text:#67e8f9;--color-quality-fresh:#4ade80;--color-quality-stale:#fbbf24;--color-quality-degraded:#fb923c;--color-quality-missing:#94a3b8;--color-status-success:#4ade80;--color-status-warning:#fbbf24;--color-status-danger:#f87171;--color-status-info:#38bdf8;--color-status-offline:#94a3b8;--color-chart-line:#38bdf8;--color-chart-area-top:#38bdf859;--color-chart-area-bottom:#38bdf800;--color-chart-grid:#243450;--color-chart-crosshair:#7dd3fc;--color-chart-secondary:#a78bfa;--color-chart-tertiary:#f472b6;--color-chart-night:#0f1b3280;--color-chart-now-line:#f2f6fc;--color-map-marker-spot:#38bdf8;--color-map-marker-catch:#4ade80;--color-map-marker-current:#f2f6fc;--color-map-cluster:#1a2740;--elevation-card:none;--elevation-raised:none;--elevation-overlay:0 12px 32px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-root[data-theme=light]{--color-bg-canvas:#f4f7fb;--color-bg-surface:#fff;--color-bg-raised:#fff;--color-bg-sunken:#e9eef5;--color-bg-overlay:#0b122073;--color-text-primary:#0c1524;--color-text-secondary:#44546b;--color-text-tertiary:#64748b;--color-text-inverse:#f2f6fc;--color-text-on-accent:#06121c;--color-border-subtle:#d9e1ec;--color-border-strong:#94a3b8;--color-border-focus:#0369a1;--color-accent-primary:#0284c7;--color-accent-primary-press:#0369a1;--color-accent-primary-subtle:#0284c714;--color-score-poor:#dc2626;--color-score-fair:#d97706;--color-score-good:#16a34a;--color-score-prime:#0891b2;--color-score-poor-text:#b91c1c;--color-score-fair-text:#b45309;--color-score-good-text:#15803d;--color-score-prime-text:#0e7490;--color-quality-fresh:#16a34a;--color-quality-stale:#b45309;--color-quality-degraded:#c2410c;--color-quality-missing:#64748b;--color-status-success:#16a34a;--color-status-warning:#b45309;--color-status-danger:#dc2626;--color-status-info:#0284c7;--color-status-offline:#64748b;--color-chart-line:#0284c7;--color-chart-area-top:#0284c740;--color-chart-area-bottom:#0284c700;--color-chart-grid:#d9e1ec;--color-chart-crosshair:#0369a1;--color-chart-secondary:#7c3aed;--color-chart-tertiary:#db2777;--color-chart-night:#0f1b3214;--color-chart-now-line:#0c1524;--color-map-marker-spot:#0284c7;--color-map-marker-catch:#16a34a;--color-map-marker-current:#0c1524;--color-map-cluster:#fff;--elevation-card:0 1px 3px #0b12201f, 0 1px 2px #0b122014;--elevation-raised:0 4px 12px #0b122029;--elevation-overlay:0 12px 32px #0b122047;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-contrast:more){.theme-root{--color-border-subtle:var(--color-border-strong)}}@media (prefers-reduced-motion:reduce){:root{--motion-duration-fast:var(--motion-duration-instant);--motion-duration-base:var(--motion-duration-instant);--motion-duration-slow:var(--motion-duration-instant);--motion-duration-gauge:var(--motion-duration-instant)}}
.theme-root{background:var(--color-bg-canvas);min-height:100vh;color:var(--color-text-primary);font-family:var(--typography-font-family-sans);font-size:var(--typography-scale-body-font-size);line-height:var(--typography-scale-body-line-height);transition:background-color var(--motion-duration-base) var(--motion-easing-standard)}.theme-root :where(button,input,textarea,select){font:inherit}.theme-root :where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:var(--space-1) solid var(--color-border-focus);outline-offset:var(--space-1)}.ds-icon{flex:none;display:block}.ds-icon-sm{width:var(--size-icon-sm);height:var(--size-icon-sm)}.ds-icon-md{width:var(--size-icon-md);height:var(--size-icon-md)}.ds-icon-lg{width:var(--size-icon-lg);height:var(--size-icon-lg)}.ds-moon-phase{width:var(--ds-moon-phase-size);height:var(--ds-moon-phase-size);flex:none;display:block}.ds-moon-phase-disc{fill:var(--color-bg-sunken)}.ds-moon-phase-light{fill:var(--color-accent-primary)}.ds-moon-phase-outline{fill:none;stroke:var(--color-border-strong);stroke-width:1.5px}.ds-button,.ds-icon-button{justify-content:center;align-items:center;gap:var(--space-3);border:var(--space-1) solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--typography-scale-headline-font-size);font-weight:var(--typography-scale-headline-font-weight);line-height:var(--typography-scale-headline-line-height);transition:background-color var(--motion-duration-fast) var(--motion-easing-standard), border-color var(--motion-duration-fast) var(--motion-easing-standard), color var(--motion-duration-fast) var(--motion-easing-standard);display:inline-flex}.ds-button{min-height:var(--size-touch-target-min);padding:var(--space-3) var(--space-5)}.ds-button-default{min-height:var(--space-10)}.ds-button-field{min-height:var(--size-touch-target-field)}.ds-button-full{width:100%}.ds-button-primary{background:var(--color-accent-primary);color:var(--color-text-on-accent)}.ds-button-primary:hover{background:var(--color-accent-primary-press)}.ds-button-secondary{border-color:var(--color-border-strong);background:var(--color-bg-surface);color:var(--color-text-primary)}.ds-button-secondary:hover{background:var(--color-bg-raised)}.ds-button-tertiary{color:var(--color-accent-primary);background:0 0}.ds-button-tertiary:hover{background:var(--color-accent-primary-subtle)}.ds-button-destructive{background:var(--color-status-danger);color:var(--color-bg-surface)}.ds-button:disabled,.ds-icon-button:disabled{border-color:var(--color-border-subtle);background:var(--color-bg-sunken);color:var(--color-text-tertiary);cursor:not-allowed}.ds-icon-button{width:var(--size-touch-target-min);min-width:var(--size-touch-target-min);height:var(--size-touch-target-min);padding:var(--space-0)}.ds-icon-button-field{width:var(--size-touch-target-field);height:var(--size-touch-target-field)}.ds-surface{color:var(--color-text-primary)}.ds-surface-canvas{background:var(--color-bg-canvas)}.ds-surface-surface{background:var(--color-bg-surface)}.ds-surface-raised{background:var(--color-bg-raised);box-shadow:var(--elevation-raised)}.ds-surface-sunken{background:var(--color-bg-sunken)}.ds-card{border:calc(var(--space-1) / 2) solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--elevation-card);padding:var(--space-5)}.ds-card-metric{font-variant-numeric:tabular-nums}.ds-card-insight{border-left:var(--space-1) solid var(--color-accent-primary)}.ds-card-tappable{cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard)}.ds-card-tappable:hover{background:var(--color-bg-raised)}.ds-badge{min-height:var(--space-7);border:calc(var(--space-1) / 2) solid currentColor;border-radius:var(--radius-xs);padding:var(--space-2) var(--space-3);font-size:var(--typography-scale-caption-font-size);font-weight:var(--typography-scale-caption-font-weight);line-height:var(--typography-scale-caption-line-height);align-items:center;display:inline-flex}.ds-tone-neutral{color:var(--color-text-secondary)}.ds-tone-accent,.ds-tone-info{color:var(--color-accent-primary)}.ds-tone-success{color:var(--color-status-success)}.ds-tone-warning{color:var(--color-status-warning)}.ds-tone-danger{color:var(--color-status-danger)}.ds-chip-wrap{min-height:var(--size-touch-target-min);border:calc(var(--space-1) / 2) solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-bg-surface);align-items:stretch;display:inline-flex;overflow:hidden}.ds-chip-wrap.is-selected{border-color:var(--color-accent-primary);background:var(--color-accent-primary-subtle);color:var(--color-accent-primary)}.ds-chip,.ds-chip-dismiss{border:var(--space-0);color:inherit;cursor:pointer;background:0 0}.ds-chip{min-height:var(--size-touch-target-min);padding:var(--space-2) var(--space-4)}.ds-chip-dismiss{min-width:var(--size-touch-target-min);padding:var(--space-0);place-items:center;display:grid}.ds-divider{height:calc(var(--space-1) / 2);margin:var(--space-5) var(--space-0);border:var(--space-0);background:var(--color-border-subtle)}.ds-field{gap:var(--space-2);color:var(--color-text-secondary);display:grid}.ds-field>label{font-size:var(--typography-scale-footnote-font-size);line-height:var(--typography-scale-footnote-line-height)}.ds-input-wrap{min-height:var(--size-touch-target-field);border:calc(var(--space-1) / 2) solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-sunken);align-items:center;display:flex}.ds-input-wrap:focus-within{border-color:var(--color-border-focus)}.ds-input-wrap input{width:100%;min-width:var(--space-0);min-height:var(--size-touch-target-min);border:var(--space-0);padding:var(--space-3) var(--space-4);color:var(--color-text-primary);background:0 0;outline:none}.ds-input-wrap input::placeholder{color:var(--color-text-secondary)}.ds-input-suffix{padding-right:var(--space-4);color:var(--color-text-secondary)}.ds-field-message{font-size:var(--typography-scale-footnote-font-size);line-height:var(--typography-scale-footnote-line-height)}.ds-field.has-error .ds-input-wrap{border-color:var(--color-status-danger)}.ds-field.has-error .ds-field-message{color:var(--color-status-danger)}.ds-search{align-items:center;display:flex;position:relative}.ds-search>.ds-icon{left:var(--space-4);z-index:1;color:var(--color-text-secondary);position:absolute}.ds-search>.ds-field{width:100%}.ds-search>.ds-field>label{width:calc(var(--space-1) / 2);height:calc(var(--space-1) / 2);clip-path:inset(50%);white-space:nowrap;position:absolute;overflow:hidden}.ds-search input{padding-left:var(--space-9)}.ds-search>.ds-icon-button{right:var(--space-2);position:absolute}.ds-section-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.ds-section-header h2{margin:var(--space-0);font-size:var(--typography-scale-title2-font-size);line-height:var(--typography-scale-title2-line-height);font-weight:var(--typography-scale-title2-font-weight)}.ds-section-header p{margin:var(--space-2) var(--space-0) var(--space-0);color:var(--color-text-secondary);font-size:var(--typography-scale-subhead-font-size);line-height:var(--typography-scale-subhead-line-height)}.ds-tabs{gap:var(--space-4);display:grid}.ds-tab-list{gap:var(--space-2);border-bottom:calc(var(--space-1) / 2) solid var(--color-border-subtle);display:flex;overflow-x:auto}.ds-tab{min-height:var(--size-touch-target-min);border:var(--space-0);border-bottom:var(--space-1) solid transparent;padding:var(--space-3) var(--space-4);color:var(--color-text-secondary);cursor:pointer;background:0 0}.ds-tab[aria-selected=true]{border-bottom-color:var(--color-accent-primary);color:var(--color-accent-primary)}.ds-navigation-bar{align-items:center;gap:var(--space-2);display:flex}.ds-navigation-bar a,.ds-bottom-navigation a,.ds-navigation-rail a{min-width:var(--size-touch-target-min);min-height:var(--size-touch-target-min);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-secondary);text-decoration:none;display:flex}.ds-navigation-bar a{padding:var(--space-3) var(--space-4)}.ds-navigation-bar a[aria-current=page],.ds-bottom-navigation a[aria-current=page],.ds-navigation-rail a[aria-current=page]{background:var(--color-accent-primary-subtle);color:var(--color-accent-primary)}.ds-bottom-navigation{z-index:var(--z-index-tab-bar);right:var(--space-0);bottom:var(--space-0);left:var(--space-0);min-height:calc(var(--size-tab-bar-height) + env(safe-area-inset-bottom));border-top:calc(var(--space-1) / 2) solid var(--color-border-subtle);background:var(--color-bg-surface);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed}.ds-bottom-navigation a{padding:var(--space-2);font-size:var(--typography-scale-caption-font-size);line-height:var(--typography-scale-caption-line-height);flex-direction:column}.ds-bottom-navigation a.is-prominent{transform:translateY(calc(var(--space-4) * -1));width:var(--size-tab-bar-height);height:var(--size-tab-bar-height);border:var(--space-1) solid var(--color-border-subtle);border-radius:var(--radius-full);background:var(--color-bg-raised);box-shadow:var(--elevation-raised);justify-self:center}.ds-navigation-rail{display:none}.ds-top-app-bar{z-index:var(--z-index-app-bar);top:var(--space-0);min-height:calc(var(--size-app-bar-height) + env(safe-area-inset-top));align-items:center;gap:var(--space-3);border-bottom:calc(var(--space-1) / 2) solid var(--color-border-subtle);background:var(--color-bg-canvas);padding:env(safe-area-inset-top) max(var(--space-5), env(safe-area-inset-right)) var(--space-0) max(var(--space-5), env(safe-area-inset-left));display:flex;position:sticky}.ds-top-app-bar-title{min-width:var(--space-0);display:grid}.ds-top-app-bar-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--typography-scale-headline-font-size);line-height:var(--typography-scale-headline-line-height);overflow:hidden}.ds-top-app-bar-title span{color:var(--color-text-secondary);font-size:var(--typography-scale-footnote-font-size);line-height:var(--typography-scale-footnote-line-height)}.ds-top-app-bar-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.brand-mark{width:var(--size-icon-lg);height:var(--size-icon-lg);border:var(--space-1) solid var(--color-accent-primary);border-radius:var(--radius-full);color:var(--color-accent-primary);place-items:center;display:grid}.app-shell{min-height:100vh;display:flex}.app-shell-stage{min-width:var(--space-0);flex:1;min-height:100vh}.ds-overlay{z-index:var(--z-index-dialog);inset:var(--space-0);background:var(--color-bg-overlay);padding:var(--space-5);justify-content:center;align-items:center;display:flex;position:fixed}.ds-overlay-sheet{z-index:var(--z-index-sheet);padding:var(--space-0);align-items:flex-end}.ds-dialog{width:100%;max-width:calc(var(--breakpoint-medium) - (var(--space-11) * 3));max-height:calc(100vh - (var(--space-8) * 2));border:calc(var(--space-1) / 2) solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-raised);box-shadow:var(--elevation-overlay);overflow:auto}.ds-dialog-sheet{max-width:var(--breakpoint-medium);border-bottom-right-radius:var(--space-0);border-bottom-left-radius:var(--space-0);max-height:92vh;padding-bottom:env(safe-area-inset-bottom);animation:ds-sheet-enter var(--motion-duration-slow) var(--motion-easing-spring)}.ds-dialog-sheet-peek{max-height:25vh}.ds-dialog-sheet-half{max-height:50vh}.ds-dialog-sheet-full{max-height:92vh}.ds-sheet-grabber{width:var(--space-9);height:var(--space-2);margin:var(--space-3) auto var(--space-0);border-radius:var(--radius-full);background:var(--color-border-strong);display:block}.ds-dialog-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);display:flex}.ds-dialog-header h2{margin:var(--space-0);font-size:var(--typography-scale-title2-font-size);line-height:var(--typography-scale-title2-line-height)}.ds-dialog-header p{margin:var(--space-2) var(--space-0) var(--space-0);color:var(--color-text-secondary);font-size:var(--typography-scale-subhead-font-size);line-height:var(--typography-scale-subhead-line-height)}.ds-dialog-content{padding:var(--space-0) max(var(--space-5), env(safe-area-inset-right)) max(var(--space-5), env(safe-area-inset-bottom)) max(var(--space-5), env(safe-area-inset-left))}@keyframes ds-sheet-enter{0%{transform:translateY(100%)}}.ds-spinner-wrap{min-width:var(--size-touch-target-min);min-height:var(--size-touch-target-min);place-items:center;display:inline-grid}.ds-spinner{width:var(--size-icon-md);height:var(--size-icon-md);border:var(--space-1) solid var(--color-border-subtle);border-top-color:var(--color-accent-primary);border-radius:var(--radius-full);animation:ds-spin var(--motion-duration-gauge) linear infinite;display:inline-block}.ds-spinner-inline{width:var(--size-icon-sm);height:var(--size-icon-sm)}@keyframes ds-spin{to{transform:rotate(1turn)}}.ds-skeleton{border-radius:var(--radius-xs);background:var(--color-bg-raised);animation:ds-pulse var(--motion-duration-gauge) var(--motion-easing-standard) infinite alternate;display:block}.ds-skeleton-text{width:100%;height:var(--typography-scale-body-line-height)}.ds-skeleton-title{width:60%;height:var(--typography-scale-title1-line-height)}.ds-skeleton-circle{width:var(--size-touch-target-field);height:var(--size-touch-target-field);border-radius:var(--radius-full)}.ds-skeleton-card{width:100%;min-height:calc(var(--space-11) * 2);border-radius:var(--radius-md)}@keyframes ds-pulse{to{background:var(--color-border-subtle)}}.ds-progress{height:var(--space-3);border-radius:var(--radius-full);background:var(--color-border-subtle);overflow:hidden}.ds-progress>span{width:var(--ds-progress-value);border-radius:inherit;background:var(--color-accent-primary);height:100%;transition:width var(--motion-duration-base) var(--motion-easing-standard);display:block}.ds-progress.is-indeterminate>span{width:40%;animation:ds-progress var(--motion-duration-gauge) var(--motion-easing-standard) infinite alternate}@keyframes ds-progress{to{transform:translate(150%)}}.ds-toast,.ds-snackbar{z-index:var(--z-index-toast);right:var(--space-5);bottom:calc(var(--size-tab-bar-height) + var(--space-5) + env(safe-area-inset-bottom));max-width:calc(var(--breakpoint-medium) - (var(--space-11) * 3));min-height:var(--size-touch-target-min);align-items:center;gap:var(--space-4);border:calc(var(--space-1) / 2) solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-raised);box-shadow:var(--elevation-overlay);padding:var(--space-3) var(--space-5);color:var(--color-text-primary);display:flex;position:fixed}.ds-feedback-success{border-left-color:var(--color-status-success)}.ds-feedback-error{border-left-color:var(--color-status-danger)}.ds-feedback-info{border-left-color:var(--color-status-info)}.ds-snackbar{justify-content:space-between}.ds-offline-banner{z-index:var(--z-index-banner);min-height:var(--size-touch-target-min);align-items:center;gap:var(--space-3);border:calc(var(--space-1) / 2) solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-accent-primary-subtle);padding:var(--space-3) max(var(--space-5), env(safe-area-inset-right)) var(--space-3) max(var(--space-5), env(safe-area-inset-left));color:var(--color-text-secondary);display:flex;position:relative}.ds-offline-banner>:last-child:not(:nth-child(2)){margin-left:auto}.ds-state{max-width:calc(var(--breakpoint-medium) - (var(--space-11) * 3));justify-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-5);text-align:center;margin:auto;display:grid}.ds-state-icon{color:var(--color-accent-primary)}.ds-state h2{margin:var(--space-0);font-size:var(--typography-scale-title2-font-size);line-height:var(--typography-scale-title2-line-height)}.ds-state p{margin:var(--space-0);color:var(--color-text-secondary)}.ds-page-container{width:min(100%, calc(var(--breakpoint-expanded) + (var(--space-11) * 4)));margin:var(--space-0) auto;padding:var(--space-7) max(var(--space-5), env(safe-area-inset-right)) calc(var(--size-tab-bar-height) + var(--space-5) + env(safe-area-inset-bottom)) max(var(--space-5), env(safe-area-inset-left))}.ds-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ds-grid-item{min-width:var(--space-0);grid-column:1/-1}@media (min-width:600px){.ds-page-container{padding-right:max(var(--space-7), env(safe-area-inset-right));padding-left:max(var(--space-7), env(safe-area-inset-left))}.ds-grid{gap:var(--space-5);grid-template-columns:repeat(8,minmax(0,1fr))}.ds-grid-span-1{grid-column:span 1}.ds-grid-span-2{grid-column:span 2}.ds-grid-span-3{grid-column:span 3}.ds-grid-span-4{grid-column:span 4}.ds-grid-span-6{grid-column:span 6}.ds-grid-span-8{grid-column:span 8}}@media (min-width:1024px){.ds-grid{gap:var(--space-7);grid-template-columns:repeat(12,minmax(0,1fr))}.ds-grid-span-12{grid-column:span 12}.ds-bottom-navigation{display:none}.ds-navigation-rail{z-index:var(--z-index-app-bar);top:var(--space-0);width:calc(var(--space-11) + var(--space-5));border-right:calc(var(--space-1) / 2) solid var(--color-border-subtle);background:var(--color-bg-surface);height:100vh;padding:max(var(--space-3), env(safe-area-inset-top)) var(--space-2) max(var(--space-3), env(safe-area-inset-bottom)) max(var(--space-2), env(safe-area-inset-left));flex-direction:column;flex:none;display:flex;position:sticky}.ds-navigation-rail-primary,.ds-navigation-rail-secondary{gap:var(--space-2);display:grid}.ds-navigation-rail-secondary{margin-top:auto}.ds-navigation-rail a{min-height:var(--size-touch-target-field);gap:var(--space-1);padding:var(--space-2);font-size:var(--typography-scale-caption-font-size);line-height:var(--typography-scale-caption-line-height);text-align:center;flex-direction:column}.ds-dialog-sheet{height:100%;max-width:calc(var(--space-11) * 6 + var(--space-5));border-radius:var(--radius-lg) var(--space-0) var(--space-0) var(--radius-lg);max-height:100%;margin-left:auto;animation-name:ds-panel-enter}.ds-dialog-sheet-peek,.ds-dialog-sheet-half,.ds-dialog-sheet-full{max-height:100%}.ds-overlay-sheet{align-items:stretch}.ds-toast,.ds-snackbar{bottom:var(--space-5)}}@keyframes ds-panel-enter{0%{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.theme-root *,.theme-root :before,.theme-root :after{scroll-behavior:auto!important}.ds-skeleton,.ds-spinner,.ds-progress.is-indeterminate>span{animation:none}.theme-root{transition:none}}
