:root{--color-mist:#eef1ec;--color-surface:#f7f8f5;--color-ink:#1f2a24;--color-sage:#6b8f71;--color-moss:#3d5a45;--color-stone:#d4dad4;--color-clay:#a8896a;--color-muted:#5a6b60;--color-danger:#8b3a3a;--color-on-sage:#f7f8f5;--radius:.4rem;--font-ui:"DM Sans", system-ui, sans-serif;--font-display:Fraunces, Georgia, serif;--ease-quiet:.18s ease;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-ink);background:var(--color-mist);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.45}[data-theme=dark]{--color-mist:#141a16;--color-surface:#1e2621;--color-ink:#e6ebe6;--color-sage:#7fa386;--color-moss:#a8c4b0;--color-stone:#2f3a33;--color-clay:#c4a882;--color-muted:#9aab9e;--color-danger:#d08080;--color-on-sage:#141a16;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--color-mist);min-width:320px;min-height:100vh;color:var(--color-ink);margin:0}#root{min-height:100vh}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}a{color:var(--color-sage);transition:color var(--ease-quiet)}a:hover{color:var(--color-moss)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--color-stone);background:var(--color-surface);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1rem;display:flex}.app-nav{flex-wrap:wrap;justify-content:flex-end;gap:.15rem;min-width:0;margin-left:auto;display:flex;overflow-x:auto}.nav-link{font:inherit;color:var(--color-muted);white-space:nowrap;border-radius:var(--radius);transition:color var(--ease-quiet), background var(--ease-quiet);padding:.4rem .65rem;text-decoration:none}.nav-link:hover{color:var(--color-ink);background:var(--color-mist)}.nav-link-active{color:var(--color-moss);text-underline-offset:.2em;font-weight:600;text-decoration:underline}.nav-signout{font:inherit;border:1px solid var(--color-stone);border-radius:var(--radius);color:var(--color-ink);cursor:pointer;background:0 0;align-self:center;margin-left:auto;padding:.35rem .55rem}.brand-logo-link{min-width:0;color:inherit;border-radius:var(--radius);transition:opacity var(--ease-quiet);align-items:center;text-decoration:none;display:flex}.brand-logo-link:hover{opacity:.85}.brand-logo{align-items:center;gap:.65rem;min-width:0;margin:0;display:flex}.brand-logo-stacked{text-align:center;flex-direction:column;gap:.5rem}.brand-logo-mark{object-fit:contain;flex-shrink:0;display:block}.brand-logo-wordmark{font-family:var(--font-display);letter-spacing:.01em;color:var(--color-ink);white-space:nowrap;font-size:1.2rem;font-weight:600;line-height:1.15}.brand-logo-primary .brand-logo-mark{width:2rem;height:2rem}.brand-logo-primary .brand-logo-wordmark{font-size:1.05rem}@media (width<=40rem){.brand-logo-primary .brand-logo-wordmark{display:none}}.brand-logo-stacked .brand-logo-mark{width:5.5rem;height:5.5rem}.brand-logo-stacked .brand-logo-wordmark{font-size:1.55rem}.brand-logo-signin{align-self:center;margin-bottom:.5rem}.header-meta{color:var(--color-muted);margin:0;font-size:.95rem}.app-main{flex:1;width:100%;max-width:40rem;margin:0 auto;padding:1.25rem}.stack{flex-direction:column;gap:.75rem;display:flex}.stack h1,.section-title{font-family:var(--font-display);color:var(--color-ink);font-weight:600}.stack h1{margin:0;font-size:1.75rem}.section-title{margin:0;font-size:1.1rem}.muted{color:var(--color-muted);margin:0}.error{color:var(--color-danger);margin:0}.banner{padding:.6rem 1.25rem;font-size:.95rem}.banner-offline{background:color-mix(in srgb, var(--color-clay) 28%, var(--color-mist));color:color-mix(in srgb, var(--color-clay) 55%, var(--color-ink))}.pwa-update-banner{left:.75rem;right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));z-index:40;background:var(--color-surface);border:1px solid var(--color-sage);border-radius:var(--radius);max-width:28rem;box-shadow:0 8px 28px color-mix(in srgb, var(--color-ink) 12%, transparent);flex-direction:column;gap:.65rem;margin:0 auto;padding:.85rem 1rem;display:flex;position:fixed}.pwa-update-banner-text{margin:0;font-size:.95rem}.field{flex-direction:column;gap:.35rem;display:flex}.field span{font-size:.95rem}.field input,.field select{font:inherit;border:1px solid var(--color-stone);background:var(--color-surface);border-radius:var(--radius);color:var(--color-ink);transition:border-color var(--ease-quiet), outline-color var(--ease-quiet);padding:.65rem .75rem}.field input:focus,.field select:focus{outline:2px solid var(--color-sage);outline-offset:1px;border-color:var(--color-sage)}.typeahead{position:relative}.typeahead-list{z-index:20;border:1px solid var(--color-stone);border-radius:var(--radius);background:var(--color-surface);max-height:14rem;box-shadow:0 8px 24px color-mix(in srgb, var(--color-ink) 12%, transparent);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .2rem);left:0;right:0;overflow:auto}.typeahead-option{text-align:left;width:100%;font:inherit;border-radius:calc(var(--radius) - 2px);color:var(--color-ink);cursor:pointer;background:0 0;border:0;padding:.45rem .6rem;display:block}.typeahead-option.is-active,.typeahead-option:hover{background:color-mix(in srgb, var(--color-sage) 22%, transparent)}.fieldset{border:1px solid var(--color-stone);border-radius:var(--radius);background:var(--color-surface);flex-direction:column;gap:.75rem;margin:0;padding:.85rem;display:flex}.fieldset legend{padding:0 .25rem;font-weight:600}.radio{align-items:center;gap:.35rem;display:inline-flex}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:.5rem 0 0;display:grid}.stat-grid div{background:var(--color-surface);border:1px solid var(--color-stone);border-radius:var(--radius);padding:.75rem}.stat-grid dt{color:var(--color-muted);margin:0;font-size:.85rem}.stat-grid dd{font-size:1.4rem;font-weight:600;font-family:var(--font-display);margin:.2rem 0 0}.plain-list{margin:0;padding-left:1.1rem}.item-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.item-list>li{border:1px solid var(--color-stone);background:var(--color-surface);border-radius:var(--radius);transition:border-color var(--ease-quiet);padding:.75rem}.item-list.item-list-flush>li{background:0 0;border:none;border-radius:0;padding:0}.item-list>li.item-nav{padding:0}.item-list>li.item-nav .item-link{border-radius:inherit;width:100%;padding:.75rem}.item-list>li.item-nav:hover{border-color:var(--color-sage)}.item-nav-row{align-items:stretch;display:flex}.item-list>li.item-nav-row{padding:0}.item-nav-row .item-link{border-radius:inherit;flex:1;min-width:0;padding:.75rem}.item-nav-row .item-row-actions{flex-shrink:0;align-items:center;gap:.35rem;padding:.35rem .5rem .35rem 0;display:flex}.item-list>li.item-nav-row:hover,.item-surface:hover{border-color:var(--color-sage)}.item-surface{border:1px solid var(--color-stone);background:var(--color-surface);border-radius:var(--radius);transition:border-color var(--ease-quiet)}a.item-title{color:inherit;text-decoration:none}a.item-title:hover{color:var(--color-moss)}.item-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.item-link{color:inherit;flex-direction:column;gap:.2rem;text-decoration:none;display:flex}.item-link:hover .item-title{color:var(--color-moss)}.item-title{transition:color var(--ease-quiet);font-weight:600}.item-meta{color:var(--color-muted);font-size:.95rem}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.view-toggle{border:1px solid var(--color-stone);border-radius:var(--radius);background:var(--color-surface);gap:.15rem;width:fit-content;padding:.2rem;display:inline-flex}.view-toggle-btn{font:inherit;border-radius:calc(var(--radius) - 2px);color:var(--color-muted);cursor:pointer;transition:background var(--ease-quiet), color var(--ease-quiet);background:0 0;border:0;padding:.4rem .85rem;font-size:.95rem}.view-toggle-btn:hover{color:var(--color-ink)}.view-toggle-btn.is-active{background:var(--color-sage);color:var(--color-on-sage)}.row.spread{justify-content:space-between}.text-link{color:var(--color-sage)}button.text-link{color:var(--color-sage);cursor:pointer;background:0 0;border:none;border-radius:0;align-self:auto;padding:0}button.text-link:hover:not(:disabled){color:var(--color-moss);background:0 0;border:none;text-decoration:underline}.button-link{font:inherit;border:1px solid var(--color-sage);border-radius:var(--radius);background:var(--color-sage);color:var(--color-on-sage);transition:background var(--ease-quiet), border-color var(--ease-quiet);padding:.55rem .9rem;text-decoration:none;display:inline-block}.button-link:hover{background:var(--color-moss);border-color:var(--color-moss);color:var(--color-on-sage)}a.button-link.button-secondary,button.button-link.button-secondary{color:var(--color-ink);border-color:var(--color-stone);background:0 0}a.button-link.button-secondary:hover,button.button-link.button-secondary:hover:not(:disabled){background:var(--color-mist);border-color:var(--color-sage);color:var(--color-moss)}button{font:inherit;border:1px solid var(--color-sage);border-radius:var(--radius);background:var(--color-sage);color:var(--color-on-sage);cursor:pointer;transition:background var(--ease-quiet), border-color var(--ease-quiet), opacity var(--ease-quiet);align-self:flex-start;padding:.55rem .9rem}button:hover:not(:disabled){background:var(--color-moss);border-color:var(--color-moss)}button:disabled{opacity:.6;cursor:not-allowed}.button-secondary{color:var(--color-ink);border-color:var(--color-stone);background:0 0}.button-secondary:hover:not(:disabled){background:var(--color-mist);border-color:var(--color-sage);color:var(--color-moss)}.button-icon{justify-content:center;align-items:center;min-width:2.4rem;padding:.45rem;display:inline-flex}.button-danger-quiet{color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 35%, var(--color-stone));background:0 0}.button-danger-quiet:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 10%, var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.share-url{background:var(--color-surface);border:1px solid var(--color-stone);border-radius:var(--radius);word-break:break-all;padding:.45rem .55rem;font-size:.9rem}.edit-panel{border-top:1px solid var(--color-stone);margin-top:.75rem;padding-top:.75rem}.kit-select{min-width:7rem;margin:0}.kit-select select{padding:.35rem .45rem;font-size:.85rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.report-preview{white-space:pre-wrap;background:var(--color-surface);border:1px solid var(--color-stone);border-radius:var(--radius);max-height:28rem;color:var(--color-ink);margin:0;padding:1rem;font-size:.8rem;line-height:1.45;overflow:auto}.mm-picker-selected{border-top:1px solid var(--color-stone);flex-direction:column;gap:.5rem;padding:.65rem 0;display:flex}.mm-picker-sources{margin:.15rem 0 0;font-size:.85rem}.mm-picker-results{border:1px solid var(--color-stone);border-radius:var(--radius);background:var(--color-surface);max-height:14rem;margin:0;padding:0;list-style:none;overflow:auto}.mm-picker-results li{border-bottom:1px solid var(--color-stone);margin:0}.mm-picker-results li:last-child{border-bottom:none}.mm-picker-result{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.55rem .7rem;display:flex}.mm-picker-result:hover:not(:disabled){background:color-mix(in srgb, var(--color-sage) 12%, var(--color-surface))}.mm-source-toggle{border:1px solid var(--color-stone);border-radius:var(--radius);gap:0;width:fit-content;max-width:100%;display:flex;overflow:hidden}.mm-source-toggle-btn{background:var(--color-surface);color:var(--color-muted);font:inherit;cursor:pointer;border:none;border-radius:0;margin:0;padding:.4rem .85rem;font-size:.9rem}.mm-source-toggle-btn+.mm-source-toggle-btn{border-left:1px solid var(--color-stone)}.mm-source-toggle-btn.is-active{background:var(--color-sage);color:var(--color-on-sage)}.mm-section-title{font-family:var(--font-display);margin:.75rem 0 .25rem;font-size:1.05rem;font-weight:600}.mm-section-body{margin:0;font-size:.92rem;line-height:1.5}.mm-attribution,.mm-disclaimer{font-size:.8rem}.mm-panel{border-top:1px solid var(--color-stone);padding-top:.25rem}@media (width<=480px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}
