:root{--color-bg:#fff;--color-text:#111;--color-text-muted:#555;--color-border:#e0e0e0;--color-surface:#f3f4f1;--color-green:#2d6a4f;--color-green-light:#52b788;--color-green-pale:#d8f3dc;--color-error:#c0392b;--color-overlay:#00000073;--font-serif:"Playfair Display", Georgia, serif;--font-sans:"Inter", system-ui, sans-serif;--text-h1:2.25rem;--text-h2:1.75rem;--text-h3:1.375rem;--text-body:1.125rem;--text-small:1rem;--text-button:1.125rem;--text-nav:1rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--max-width:720px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--touch-target:48px;--nav-height:64px;--bottom-nav-height:72px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--color-text);line-height:1.2}h1{font-size:var(--text-h1);font-weight:700}h2{font-size:var(--text-h2);font-weight:700}h3,h2.h3{font-size:var(--text-h3);font-weight:600}p{font-size:var(--text-body);line-height:1.6}a{color:var(--color-green);text-decoration:underline}a:hover{color:var(--color-green-light)}button{font-family:var(--font-sans);font-size:var(--text-button);cursor:pointer;border-radius:var(--radius-md);min-height:var(--touch-target);padding:var(--space-sm) var(--space-lg);border:none;font-weight:600;transition:background .15s,color .15s,opacity .15s}button:focus-visible{outline:3px solid var(--color-green);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-green);color:#fff}.btn-primary:hover:not(:disabled){background:#245a41}.btn-secondary{color:var(--color-green);border:2px solid var(--color-green);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--color-green-pale)}.btn-ghost{color:var(--color-text);border:2px solid var(--color-border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-green-pale);border-color:var(--color-green-light)}input,textarea{font-family:var(--font-sans);font-size:var(--text-body);color:var(--color-text);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);min-height:var(--touch-target);width:100%;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--color-green);outline:none}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}label{font-family:var(--font-sans);font-size:var(--text-small);color:var(--color-text);margin-bottom:var(--space-xs);font-weight:600;display:block}.card{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg)}.page{max-width:var(--max-width);padding:var(--space-lg) var(--space-md);padding-bottom:calc(var(--bottom-nav-height) + var(--space-lg));margin:0 auto}@media (width>=768px){.page{padding-top:calc(var(--nav-height) + var(--space-lg));padding-bottom:var(--space-2xl)}}.tag{font-family:var(--font-sans);font-size:var(--text-small);background:var(--color-green-pale);color:var(--color-green);padding:2px var(--space-sm);border-radius:100px;font-weight:500;display:inline-block}.divider{border:none;border-top:1.5px solid var(--color-border);margin:var(--space-lg) 0}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-up{animation:.3s forwards fadeUp}.animate-pulse{animation:2s infinite pulse}.animate-spin{animation:.8s linear infinite spin}.bottom-nav{display:flex}.top-nav{display:none}@media (width>=768px){.bottom-nav{display:none}.top-nav{display:flex}}@media (width<=767px){.tab-row>button{flex:1 0 auto;padding-left:var(--space-xs)!important;padding-right:var(--space-xs)!important}.hide-on-phone{display:none}}.fact-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;margin:0;display:grid}.fact-grid dt{font-size:var(--text-small);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-weight:600}.fact-grid dd{font-size:var(--text-body);margin:0;font-weight:500}@media (width>=768px){.fact-grid{grid-template-columns:repeat(3,1fr)}}.disclosure{align-items:center;gap:var(--space-xs);margin-top:var(--space-md);min-height:var(--touch-target);color:var(--color-green);font-size:var(--text-small);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;display:inline-flex}.disclosure:after{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;margin:0 4px 4px;transition:transform .2s;transform:rotate(45deg)}.disclosure[aria-expanded=true]:after{transform:translateY(4px)rotate(-135deg)}.disclosure--heading{width:100%;font:inherit;color:inherit;text-align:left;justify-content:space-between;margin-top:0;display:flex}.check-list{margin:var(--space-md) 0 0;gap:var(--space-md);flex-direction:column;padding:0;list-style:none;display:flex}.check-list li{gap:var(--space-md);font-size:var(--text-body);line-height:1.6;display:flex}.check-list li:before{content:"✓";color:var(--color-green);flex-shrink:0;font-weight:700}@media (prefers-reduced-motion:reduce){.disclosure:after{transition:none}}.task-list{gap:var(--space-sm);flex-direction:column;display:flex}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.zone-group+.zone-group{margin-top:var(--space-lg)}.zone-group__title{align-items:baseline;gap:var(--space-sm);margin:0 0 var(--space-sm);font-family:var(--font-sans);font-size:var(--text-body);font-weight:700;display:flex}.zone-group__count{font-size:var(--text-small);color:var(--color-text-muted);font-weight:600}.section-label{margin:0 0 var(--space-md);font-family:var(--font-sans);font-size:var(--text-nav);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.stale-group{border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}.stale-group+.stale-group{margin-top:var(--space-sm)}.stale-group__bar{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.stale-group__toggle{color:var(--color-text);font-size:var(--text-body);text-align:left;background:0 0;margin-top:0;padding:0}.stale-group__clear{min-height:40px;padding:0 var(--space-md);font-size:var(--text-small)}.chat{flex-direction:column;display:flex}.chat-messages{gap:var(--space-md);padding-bottom:var(--space-lg);flex-direction:column;display:flex}.chat-row{gap:var(--space-xs);flex-direction:column;display:flex}.chat-row--user{align-items:flex-end}.chat-row--assistant{align-items:flex-start}.chat-bubble{max-width:85%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--text-body);line-height:1.6}.chat-bubble p{margin:0}.chat-bubble--user{background:var(--color-green);color:#fff;border-bottom-right-radius:var(--space-xs)}.chat-bubble--assistant{background:var(--color-surface);color:var(--color-text);border-bottom-left-radius:var(--space-xs)}.chat-bubble--failed{color:var(--color-error)}.chat-md :where(p,ul,ol){margin:0}.chat-md>*+*{margin-top:.75rem}.chat-md>p+ul,.chat-md>p+ol{margin-top:.25rem}.chat-md>:first-child{margin-top:0}.chat-md ul,.chat-md ol{padding-left:1.25em}.chat-md li+li{margin-top:2px}.chat-md h1,.chat-md h2,.chat-md h3,.chat-md h4{font-family:var(--font-sans);font-size:var(--text-body);margin:var(--space-md) 0 0;font-weight:700}.chat-md a{color:var(--color-green);text-decoration:underline}.chat-md code{background:var(--color-bg);border-radius:4px;padding:0 4px;font-size:.9em}.chat-sources{align-items:center;gap:var(--space-xs);max-width:85%;font-size:var(--text-small);flex-wrap:wrap;display:flex}.chat-sources__label{color:var(--color-text-muted);margin-right:var(--space-xs)}.chat-source{color:var(--color-green);border:1px solid var(--color-border);padding:0 var(--space-sm);white-space:nowrap;border-radius:100px;text-decoration:none}.chat-source:hover{border-color:var(--color-green)}.chat-thinking{align-items:center;gap:var(--space-sm);color:var(--color-text-muted);display:flex}.typing-dots{gap:4px;display:inline-flex}.typing-dots span{background:var(--color-text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typingDot}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typingDot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-composer{bottom:var(--bottom-nav-height);gap:var(--space-sm);padding:var(--space-md) 0;background:var(--color-bg);border-top:1.5px solid var(--color-border);display:flex;position:sticky}.chat-composer input{flex:1;min-width:0}.chat-end{scroll-margin-bottom:calc(var(--bottom-nav-height) + 100px)}.chat-composer button{flex-shrink:0}@media (width>=768px){.chat-composer{padding-bottom:var(--space-lg);bottom:0}.chat-end{scroll-margin-bottom:110px}}@media (prefers-reduced-motion:reduce){.typing-dots span{opacity:.7;animation:none}}::-webkit-scrollbar{background:var(--color-bg);width:6px}::-webkit-scrollbar-thumb{background:var(--color-green-light);border-radius:3px}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-control:8px;--radius-card:12px;--radius-sheet:16px;--radius-pill:999px;--line:1px;--line-color:#e4e6e1;--line-strong:#c9cdc5;--color-green-hover:#245a41;--color-green-press:#1c4733;--color-green-tint:#eef6f0;--color-error-tint:#fbeeec;--color-text-subtle:#6b6f68;--focus-ring:0 0 0 3px #2d6a4f59;--shadow-raised:0 1px 2px #1111110f, 0 4px 12px #1111110f;--type-display:1.75rem;--type-title:1.25rem;--type-subtitle:1.0625rem;--type-body:1rem;--type-small:.875rem;--type-label:.75rem;--control-h:44px;--control-h-sm:36px;--control-px:var(--space-4);--card-pad:var(--space-4);--gutter:var(--space-4);--stack:var(--space-4);--width-reading:720px;--width-wide:1200px;--app-header-h:56px;--tabbar-h:64px;--ease:cubic-bezier(.2, 0, 0, 1);--dur-fast:.12s;--dur:.2s}@media (width>=1024px){:root{--type-display:2rem;--type-title:1.25rem;--type-subtitle:1rem;--type-body:.9375rem;--type-small:.8125rem;--type-label:.6875rem;--control-h:36px;--control-h-sm:30px;--control-px:var(--space-3);--card-pad:var(--space-5);--gutter:var(--space-8);--stack:var(--space-5)}}.ui-display{font-family:var(--font-serif);font-size:var(--type-display);letter-spacing:-.01em;font-weight:600;line-height:1.15}.ui-title{font-family:var(--font-sans);font-size:var(--type-title);letter-spacing:-.01em;font-weight:600;line-height:1.3}.ui-subtitle{font-family:var(--font-sans);font-size:var(--type-subtitle);font-weight:600;line-height:1.35}.ui-body{font-size:var(--type-body);line-height:1.5}.ui-small{font-size:var(--type-small);color:var(--color-text-subtle);line-height:1.45;display:block}.ui-subtitle{display:block}.ui-label{font-family:var(--font-sans);font-size:var(--type-label);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-subtle);font-weight:600}.ui-page{width:100%;max-width:var(--width-wide);padding:var(--space-4) var(--gutter) calc(var(--tabbar-h) + var(--space-8));font-size:var(--type-body);margin:0 auto}.ui-page--reading{max-width:var(--width-reading)}.ui-page--with-actions{padding-bottom:calc(var(--tabbar-h) + var(--control-h) + var(--space-12))}@media (width>=768px){.ui-page{padding-top:calc(var(--nav-height) + var(--space-6));padding-bottom:var(--space-12)}.ui-page--with-actions{padding-bottom:calc(var(--control-h) + var(--space-12) * 2)}}.ui-stack{gap:var(--stack);flex-direction:column;display:flex}.ui-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-split{gap:var(--stack);display:grid}@media (width>=1024px){.ui-split{grid-template-columns:260px minmax(0,1fr);align-items:start}}.ui-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.ui-page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--stack);flex-wrap:wrap;display:flex}.ui-app-header{z-index:40;align-items:center;gap:var(--space-3);height:var(--app-header-h);padding:0 var(--gutter);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:var(--line) solid var(--line-color);transition:transform var(--dur) var(--ease);background:#fffffff0;display:flex;position:sticky;top:0}.ui-app-header--hidden{transform:translateY(-100%)}.ui-action-bar{left:0;right:0;bottom:var(--tabbar-h);z-index:30;gap:var(--space-2);padding:var(--space-3) var(--gutter);background:var(--color-bg);border-top:var(--line) solid var(--line-color);display:flex;position:fixed}.ui-action-bar>*{flex:1}@media (width>=768px){.ui-action-bar{padding:var(--space-4) 0 0;background:0 0;justify-content:flex-end;position:static}.ui-action-bar>*{flex:none}}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--control-px);border:var(--line) solid transparent;border-radius:var(--radius-control);font-family:var(--font-sans);font-size:var(--type-body);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.ui-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-btn:active:not(:disabled){transform:scale(.98)}.ui-btn:disabled{opacity:.45;cursor:not-allowed}.ui-btn svg{flex-shrink:0;width:1.1em;height:1.1em}.ui-btn--primary{background:var(--color-green);color:#fff}.ui-btn--primary:hover:not(:disabled){background:var(--color-green-hover)}.ui-btn--primary:active:not(:disabled){background:var(--color-green-press)}.ui-btn--secondary{background:var(--color-bg);color:var(--color-text);border-color:var(--line-strong)}.ui-btn--secondary:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-text-subtle)}.ui-btn--secondary:active:not(:disabled){background:var(--line-color)}.ui-btn--ghost{color:var(--color-green);background:0 0}.ui-btn--ghost:hover:not(:disabled){background:var(--color-green-tint)}.ui-btn--ghost:active:not(:disabled){background:var(--color-green-pale)}.ui-btn--danger{background:var(--color-bg);color:var(--color-error);border-color:var(--line-strong)}.ui-btn--danger:hover:not(:disabled){background:var(--color-error-tint);border-color:var(--color-error)}.ui-btn--sm{min-height:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--type-small)}.ui-btn--icon{width:var(--control-h);padding:0}.ui-btn--icon.ui-btn--sm{width:var(--control-h-sm)}.ui-btn--block{width:100%}.ui-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite spin}.ui-card{background:var(--color-bg);border:var(--line) solid var(--line-color);border-radius:var(--radius-card);padding:var(--card-pad)}.ui-card--flush{padding:0;overflow:hidden}.ui-card--muted{background:var(--color-surface);border-color:#0000}.ui-card--interactive{text-align:left;width:100%;color:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);text-decoration:none;display:block}.ui-card--interactive:hover{border-color:var(--line-strong);box-shadow:var(--shadow-raised)}.ui-card--interactive:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-card__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.ui-list{margin:0;padding:0;list-style:none}.ui-list>li+li{border-top:var(--line) solid var(--line-color)}.ui-list-row{align-items:center;gap:var(--space-3);min-height:var(--control-h);padding:var(--space-3) var(--card-pad);display:flex}.ui-list-row--link{color:inherit;transition:background var(--dur-fast) var(--ease);text-decoration:none}.ui-list-row--link:hover{background:var(--color-surface);color:inherit}.ui-list-row--link:focus-visible{box-shadow:inset var(--focus-ring);outline:none}.ui-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ui-field{gap:var(--space-1);flex-direction:column;display:flex}.ui-field__label{font-size:var(--type-small);color:var(--color-text);margin:0;font-weight:600}.ui-field__hint{font-size:var(--type-small);color:var(--color-text-subtle)}.ui-field__error{font-size:var(--type-small);color:var(--color-error)}.ui-input,.ui-select,.ui-textarea{width:100%;min-height:var(--control-h);padding:0 var(--control-px);font-family:var(--font-sans);font-size:var(--type-body);color:var(--color-text);background:var(--color-bg);border:var(--line) solid var(--line-strong);border-radius:var(--radius-control);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.ui-textarea{padding:var(--space-2) var(--control-px);min-height:calc(var(--control-h) * 2.5);resize:vertical;line-height:1.5}.ui-input:hover,.ui-select:hover,.ui-textarea:hover{border-color:var(--color-text-subtle)}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:var(--color-green);box-shadow:var(--focus-ring);outline:none}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--color-text-subtle)}.ui-input[aria-invalid=true]{border-color:var(--color-error)}.ui-input:disabled,.ui-select:disabled{background:var(--color-surface);cursor:not-allowed}.ui-select{appearance:none;padding-right:calc(var(--control-px) + 20px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b6f68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--control-px) center;cursor:pointer}.ui-search{flex:1;min-width:0;position:relative}.ui-search svg{left:var(--control-px);width:16px;height:16px;color:var(--color-text-subtle);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.ui-search .ui-input{padding-left:calc(var(--control-px) + 24px)}.ui-check{align-items:center;gap:var(--space-2);font-size:var(--type-body);cursor:pointer;margin:0;font-weight:400;display:inline-flex}.ui-check input{width:18px;height:18px;min-height:0;accent-color:var(--color-green)}.ui-tag{align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--type-label);background:var(--color-surface);color:var(--color-text-subtle);white-space:nowrap;font-weight:600;display:inline-flex}.ui-tag--green{background:var(--color-green-tint);color:var(--color-green)}.ui-tag--warn{color:#8a4b0f;background:#fdf3e7}.ui-tag--error{background:var(--color-error-tint);color:var(--color-error)}.ui-chip{align-items:center;gap:var(--space-1);min-height:var(--control-h-sm);padding:0 var(--space-1) 0 var(--space-3);border:var(--line) solid var(--line-strong);border-radius:var(--radius-pill);background:var(--color-bg);font-size:var(--type-small);color:var(--color-text);display:inline-flex}.ui-chip button{width:24px;height:24px;min-height:0;color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-chip button:hover{background:var(--color-surface);color:var(--color-text)}.ui-chip button:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-chip svg{width:14px;height:14px}.ui-segmented{border-radius:var(--radius-control);background:var(--color-surface);padding:2px;display:inline-flex}.ui-segmented button{min-height:calc(var(--control-h-sm) - 4px);padding:0 var(--space-3);border-radius:calc(var(--radius-control) - 2px);font-size:var(--type-small);color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;font-weight:600}.ui-segmented button[aria-pressed=true]{background:var(--color-bg);color:var(--color-text);box-shadow:0 1px 2px #11111114}.ui-segmented button:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-sheet-backdrop{z-index:100;background:var(--color-overlay);animation:uiFade var(--dur) var(--ease);align-items:flex-end;display:flex;position:fixed;inset:0}.ui-sheet{background:var(--color-bg);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;width:100%;max-height:88vh;animation:uiSlideUp var(--dur) var(--ease);outline:none;flex-direction:column;display:flex}.ui-sheet__header{padding:var(--space-4) var(--gutter) var(--space-2);justify-content:space-between;align-items:center;display:flex}.ui-sheet__body{padding:var(--space-2) var(--gutter) var(--space-4);gap:var(--space-6);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ui-sheet__footer{gap:var(--space-2);padding:var(--space-3) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:var(--line) solid var(--line-color);display:flex}.ui-sheet__footer>*{flex:1}@media (width>=768px){.ui-sheet-backdrop{justify-content:flex-end;align-items:stretch}.ui-sheet{border-radius:0;width:400px;max-height:none;animation-name:uiSlideIn}.ui-sheet__header,.ui-sheet__body,.ui-sheet__footer{padding-left:var(--space-6);padding-right:var(--space-6)}}@keyframes uiFade{0%{opacity:0}}@keyframes uiSlideUp{0%{opacity:0;transform:translateY(24px)}}@keyframes uiSlideIn{0%{opacity:0;transform:translate(24px)}}.ui-option-group{gap:var(--space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.ui-option{align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);padding:0 var(--space-3);border:var(--line) solid var(--line-strong);border-radius:var(--radius-pill);background:var(--color-bg);font-size:var(--type-small);color:var(--color-text);cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);font-weight:500;display:inline-flex}.ui-option:hover{border-color:var(--color-text-subtle)}.ui-option[aria-pressed=true]{background:var(--color-green-tint);border-color:var(--color-green);color:var(--color-green)}.ui-option:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:inset 0 0 0 1px #0000001f}.ui-toolbar{z-index:20;gap:var(--space-3);margin:0 calc(-1 * var(--gutter)) var(--stack);padding:var(--space-3) var(--gutter);background:var(--color-bg);border-bottom:var(--line) solid var(--line-color);transition:transform var(--dur) var(--ease);flex-direction:column;display:flex;position:sticky;top:0}.ui-toolbar--hidden{transform:translateY(-110%)}@media (width>=768px){.ui-toolbar{top:var(--nav-height)}.ui-toolbar--hidden{transform:none}}.ui-toolbar__grid{gap:var(--space-3) var(--space-2);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"search filter""end end""chips chips";align-items:center;display:grid}.ui-toolbar__search{grid-area:search}.ui-toolbar__filter{grid-area:filter}.ui-toolbar__chips{grid-area:chips}.ui-toolbar__end{grid-area:end;justify-self:end}@media (width>=768px){.ui-toolbar__grid{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"search filter end""chips chips chips"}}.ui-count{margin-left:var(--space-1);font-family:var(--font-sans);font-size:var(--type-small);color:var(--color-text-subtle);font-weight:500;display:inline-block}.ui-group-header{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--control-h);padding:var(--space-2) var(--card-pad);font-family:var(--font-sans);font-size:var(--type-body);background:var(--color-surface);border-bottom:var(--line) solid var(--line-color);margin:0;font-weight:600;display:flex}.ui-group-header__title{font:inherit;margin:0}.ui-group-footer{padding:var(--space-1) var(--card-pad);border-top:var(--line) solid var(--line-color)}.ui-disclosure{align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;display:inline-flex}.ui-disclosure svg{color:var(--color-text-subtle);transition:transform var(--dur) var(--ease)}.ui-disclosure[aria-expanded=true] svg{transform:rotate(180deg)}.ui-disclosure:focus-visible{box-shadow:var(--focus-ring);border-radius:4px;outline:none}.ui-task{align-items:flex-start}.ui-task>.ui-tag{margin-top:2px}.ui-task__body{min-width:0;color:inherit;flex-direction:column;flex:1;gap:2px;text-decoration:none;display:flex}.ui-task__body:hover .ui-task__name{text-decoration:underline}.ui-task__body:hover{color:inherit}.ui-task__body>.ui-small{max-width:72ch}.ui-task__body:focus-visible{box-shadow:var(--focus-ring);border-radius:4px;outline:none}.ui-check-circle{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;min-height:0;margin:-4px 0 -4px -6px;padding:0;display:inline-flex}.ui-check-circle>span{border:1.5px solid var(--line-strong);color:#fff;width:22px;height:22px;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.ui-check-circle:hover>span{border-color:var(--color-green)}.ui-check-circle[aria-checked=true]>span{background:var(--color-green);border-color:var(--color-green)}.ui-check-circle:focus-visible{outline:none}.ui-check-circle:focus-visible>span{box-shadow:var(--focus-ring)}@media (width<=767px){.ui-check-circle{width:44px;height:44px;margin:-10px -6px -10px -12px}}.ui-task--done .ui-task__name,.ui-task--completing .ui-task__name{color:var(--color-text-subtle);text-decoration:line-through}.ui-task--completing{animation:uiTaskOut .4s var(--ease) .8s forwards;pointer-events:none}@keyframes uiTaskOut{to{opacity:0}}:root{--cal-sow:#f2cc5b;--cal-sow-text:#5c4300;--cal-transplant:#3f8f5a;--cal-growing:#d6ebdc;--cal-growing-text:#2f6b43;--cal-harvest:#c8553d;--cal-name:120px;--cal-bar:16px}@media (width>=768px){:root{--cal-name:240px;--cal-bar:20px}}.ui-cal-row{grid-template-columns:var(--cal-name) repeat(12, minmax(0, 1fr));padding:var(--space-2) var(--card-pad);align-items:center;gap:2px;display:grid}.ui-cal-head{padding:0 calc(var(--card-pad) + var(--line));font-size:var(--type-label);color:var(--color-text-subtle);text-align:center;font-weight:600}.ui-cal-head .ui-cal-now{color:var(--color-green)}.ui-cal-name{min-width:0;padding-right:var(--space-2);color:inherit;flex-direction:column;text-decoration:none;display:flex}.ui-cal-name__title{font-size:var(--type-small);font-weight:600;line-height:1.3}.ui-cal-name:hover{color:inherit}.ui-cal-name:hover .ui-cal-name__title{text-decoration:underline}.ui-cal-name:focus-visible{box-shadow:var(--focus-ring);border-radius:4px;outline:none}@media (width>=768px){.ui-cal-name__title{font-size:var(--type-body);font-weight:500}}.ui-cal-cell{height:var(--cal-bar);background:var(--color-surface);border-radius:3px;flex-direction:column;display:flex;overflow:hidden}.ui-cal-cell>span{color:#fff;flex:1;justify-content:center;align-items:center;min-height:0;font-size:10px;font-weight:700;line-height:1;display:flex}@media (width>=768px){.ui-cal-cell>span{font-size:11px}}.ui-cal-cell--now{box-shadow:0 0 0 1.5px var(--color-green)}.ui-cal--sow{background:var(--cal-sow);color:var(--cal-sow-text)!important}.ui-cal--transplant{background:var(--cal-transplant)}.ui-cal--growing{background:var(--cal-growing);color:var(--cal-growing-text)!important}.ui-cal--harvest{background:var(--cal-harvest)}.ui-cal-legend{gap:var(--space-1) var(--space-4);font-size:var(--type-small);color:var(--color-text-subtle);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ui-cal-legend li{align-items:center;gap:var(--space-2);display:inline-flex}.ui-cal-swatch{color:#fff;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:inline-flex}.ui-cal-swatch--now{width:14px;height:14px;box-shadow:inset 0 0 0 1.5px var(--color-green)}.ui-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}.ui-swatch{gap:var(--space-1);font-size:var(--type-small);flex-direction:column;display:flex}.ui-swatch span:first-child{border-radius:var(--radius-control);border:var(--line) solid var(--line-color);height:40px}.ui-space-bar{background:var(--color-green-pale);border-radius:2px;height:12px}@media (prefers-reduced-motion:reduce){.ui-app-header,.ui-btn,.ui-card--interactive,.ui-toolbar{transition:none}.ui-sheet,.ui-sheet-backdrop,.ui-task--completing{animation:none}.ui-disclosure svg{transition:none}.ui-btn:active:not(:disabled){transform:none}}@media (width>=768px){.hide-on-desktop{display:none!important}}@media (width<=767px){.hide-on-phone{display:none!important}}
