@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background-canvas:#0b1c28;--background-page:#071621;--surface-card:#122634;--surface-neutral:#223745;--text-primary:#f4f7fa;--text-secondary:#b1c1cd;--text-on-action:#071621;--action-primary:#f8d93e;--action-accent:#f8d93e;--action-soft:#223745;--navigation-active-surface:#223745;--border-subtle:#365060;--status-warning-surface:#403721;--status-warning-text:#f4ce83;--status-success-surface:#183c33;--status-success-text:#9ee2bd;--status-error-surface:#442936;--status-error-text:#ffb1bf;--overlay-scrim:#020a12b3;font-synthesis:none;letter-spacing:0;background:var(--background-canvas);color:var(--text-primary);caret-color:var(--action-primary);scrollbar-color:var(--border-subtle) var(--background-page);font-family:Inter,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,a,input{scroll-margin-block:1rem 7rem}a{color:inherit;text-underline-offset:.2em}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}input:disabled,select:disabled{opacity:.6;cursor:not-allowed}::selection{background:var(--action-primary);color:var(--text-on-action)}:focus-visible{outline:3px solid var(--action-primary);outline-offset:4px}.app-shell{background:var(--background-page);grid-template-rows:auto minmax(0,1fr) auto;max-width:42rem;height:100dvh;min-height:100svh;margin-inline:auto;display:grid;overflow:clip}.app-shell[hidden]{display:none}.app-header{z-index:1;isolation:isolate;background:var(--background-page);min-height:64px;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex;position:sticky;top:0}.wordmark{align-items:center;gap:10px;font-size:20px;font-weight:700;display:inline-flex}.brand-mark{background:var(--action-primary);width:32px;height:32px;color:var(--text-on-action);border-radius:8px;flex:0 0 32px;place-items:center;font-size:22px;line-height:1;display:grid}.brand-mark:before{content:"Z";font-size:22px;line-height:1}.app-header>.text-button{color:var(--text-secondary);padding-inline:8px;font-size:13px}.offline{color:var(--status-warning-text);background:var(--status-warning-surface);border-radius:20px;padding:4px 10px;font-size:13px}main{overscroll-behavior-y:contain;flex-direction:column;min-width:0;min-height:0;padding:20px;display:flex;overflow-y:auto}h1{overflow-wrap:anywhere;flex-shrink:0;margin:0 0 20px;font-size:28px;line-height:1.4}h2{margin:0 0 8px;font-size:20px;line-height:1.4}p{color:var(--text-secondary);overflow-wrap:anywhere;margin:0}.content-state{min-height:240px;padding-block:28px}.content-state .primary{margin-top:24px}.primary,.secondary{text-align:center;white-space:normal;overflow-wrap:anywhere;border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:100%;min-width:0;min-height:48px;padding:12px 20px;font-size:14px;font-weight:600;display:flex}.primary{background:var(--action-primary);color:var(--text-on-action)}.primary:hover{filter:brightness(1.06)}.primary:active{filter:brightness(.94)}.main-navigation{z-index:1;min-height:59px;padding:0 16px env(safe-area-inset-bottom);background:var(--surface-card);border-top:1px solid var(--border-subtle);grid-template-columns:.75fr .9fr 1.35fr;align-items:stretch;gap:0;display:grid;position:sticky;bottom:0}.main-navigation a{text-align:center;overflow-wrap:anywhere;min-width:0;min-height:44px;color:var(--text-secondary);place-items:center;padding:12px 2px 8px;font-size:13px;font-weight:600;text-decoration:none;display:grid;position:relative}.main-navigation a:hover,.main-navigation a[aria-current=page]{color:var(--text-primary)}.main-navigation-marker{background:var(--action-accent);pointer-events:none;border-radius:0 0 8px 8px;height:6px;position:absolute;top:0;left:0}@media (prefers-reduced-motion:no-preference){.main-navigation-marker{transition:transform .2s cubic-bezier(.16,1,.3,1),width .2s cubic-bezier(.16,1,.3,1)}}.skip-link{z-index:10;padding:12px;position:fixed;top:-100px}.skip-link:focus{background:var(--surface-card);top:8px}.auth-shell{grid-template-rows:auto minmax(0,1fr)}.auth-form{gap:20px;max-width:28rem;display:grid}.auth-form h1{margin-bottom:0}.auth-form>.text-button{text-align:left;justify-self:start;padding-inline:0}.profile-drawer{width:min(354px,100% - 48px);max-width:none;height:100dvh;max-height:none;padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));border:0;border-left:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-primary);overscroll-behavior-y:contain;border-radius:0;margin:0;position:fixed;inset:0 max(0px,50vw - 21rem) 0 auto;overflow-y:auto}.profile-drawer::backdrop{background:var(--overlay-scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.profile-menu{gap:0;min-width:0;display:grid}.profile-menu-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:32px;display:flex}.profile-menu-header h1{flex:1;min-width:0;margin:8px 0 0;font-size:18px;font-weight:600}.profile-menu-close{border-radius:50%;flex:0 0 44px;place-items:center;width:44px;margin-right:-8px;padding:0;display:grid}.profile-account{gap:4px;min-width:0;margin-bottom:24px;display:grid}.profile-account p{font-size:13px}.profile-account strong{overflow-wrap:anywhere;font-size:18px;font-weight:600}.profile-menu-actions{border-block:1px solid var(--border-subtle);gap:8px;padding-block:20px;display:grid}.profile-menu-actions .text-button{text-align:left;border-radius:8px;justify-content:flex-start;gap:14px;width:100%;min-height:48px;padding:14px 24px;font-size:14px;font-weight:600}.profile-menu-settings{gap:8px;padding-top:20px;display:grid}.profile-menu-settings .text-button{text-align:left;width:100%;padding-inline:0;font-size:14px;font-weight:600}.profile-menu>.status-notice,.profile-menu>.form-error{margin-bottom:20px}.profile-drawer .auth-form,.profile-menu .auth-form{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);min-width:0}.household-members{overflow-wrap:anywhere;gap:12px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.household-deletion{border-radius:0;margin-bottom:20px}.household-deletion p{margin-bottom:12px}@media (width<=359px){.profile-menu-actions .text-button{padding-inline:16px}}.status-notice,.status-warning{border-radius:14px;padding:12px 14px;font-size:14px}.status-notice{color:var(--status-success-text);background:var(--status-success-surface)}.status-warning{color:var(--status-warning-text);background:var(--status-warning-surface)}.auth-form label{overflow-wrap:anywhere;gap:8px;display:grid}.auth-form input:not([type=checkbox]){border:1px solid var(--text-secondary);background:var(--surface-card);width:100%;min-width:0;min-height:48px;color:var(--text-primary);border-radius:8px;padding:12px}.auth-form input:not([type=checkbox]):hover,.need-form input:not([type=checkbox]):hover,.need-form select:hover,.auth-form input:not([type=checkbox]):focus-visible,.need-form input:not([type=checkbox]):focus-visible,.need-form select:focus-visible{border-color:var(--action-accent)}.checkbox-label,.auth-form .checkbox-label,.need-form .checkbox-label{cursor:pointer;border-radius:8px;align-items:center;gap:12px;min-width:0;min-height:44px;display:flex}.checkbox-control{flex:0 0 20px;width:20px;height:20px;position:relative}.checkbox-control input{opacity:0;width:20px;height:20px;min-height:0;cursor:inherit;margin:0;padding:0;position:absolute;inset:0}.checkbox-mark{pointer-events:none;border:1px solid var(--text-secondary);background:var(--surface-card);border-radius:4px;place-items:center;width:20px;height:20px;display:grid}.checkbox-control input:checked+.checkbox-mark{border-color:var(--action-primary);background:var(--action-primary)}.checkbox-control input:checked+.checkbox-mark:after{content:"";border:solid var(--text-on-action);border-width:0 2px 2px 0;width:7px;height:12px;margin-top:-3px;transform:rotate(45deg)}.checkbox-content{overflow-wrap:anywhere;flex:1 1 0;min-width:0}.checkbox-label:has(input:focus-visible){outline:3px solid var(--action-primary);outline-offset:3px}.checkbox-label:has(input:disabled){opacity:.6;cursor:not-allowed}.checkbox-label:not(:has(input:disabled)):hover .checkbox-mark{border-color:var(--action-primary)}.checkbox-list{border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:14px;min-height:52px;padding:14px}.checkbox-list:has(input:checked){border-color:var(--action-primary);background:var(--surface-neutral)}.checkbox-list:not(:has(input:disabled)):hover{background:var(--surface-neutral);border-color:var(--text-secondary)}.checkbox-list:has(input:checked):not(:has(input:disabled)):hover{border-color:var(--action-primary)}.checkbox-label:not(:has(input:disabled)):active .checkbox-mark{filter:brightness(.9)}.checkbox-sort-handle{width:16px;height:14px;color:var(--text-secondary);flex:0 0 16px;position:relative}.checkbox-sort-handle:before,.checkbox-sort-handle:after{content:"";position:absolute;inset-inline:0}.checkbox-sort-handle:before{border-block:2px solid;inset-block:0}.checkbox-sort-handle:after{border-top:2px solid;top:6px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sortable-needs .sortable-entry{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px;min-width:0;display:grid}.sortable-entry>.sort-grip{touch-action:none;cursor:grab;background:0 0;border-radius:8px}.sortable-entry.is-dragging{z-index:2;opacity:.8;position:relative}.sortable-entry.is-dragging .sort-grip{cursor:grabbing}.needs-toolbar,.opportunity-details-heading,.page-heading{align-items:center;gap:12px;min-width:0;display:flex}.needs-toolbar>.need-tabs,.opportunity-details-heading>h1,.page-heading>h1{flex:1;min-width:0}.page-heading>h1{margin:0}.opportunity-details-heading{margin-bottom:16px}.opportunity-details-heading>h1{margin:0}.opportunity-detail-date{margin-bottom:16px}.icon-button.back-button{color:var(--action-accent);background:0 0}.list-share:disabled{opacity:.6;cursor:not-allowed}.list-menu{flex:0 0 44px;align-self:start;position:relative}.list-menu>summary{cursor:pointer;list-style:none}.list-menu>summary::-webkit-details-marker{display:none}.list-menu>summary[aria-disabled=true]{opacity:.6;cursor:not-allowed}.list-menu-content{z-index:4;background:var(--surface-card);width:12rem;max-width:calc(100vw - 48px);box-shadow:0 4px 16px var(--overlay-scrim);border-radius:8px;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.list-menu-content>button{text-align:left;justify-content:flex-start;width:100%}.share-dialog textarea{resize:vertical;border:1px solid var(--text-secondary);background:var(--background-page);width:100%;min-width:0;color:var(--text-primary);font:inherit;border-radius:8px;padding:12px}.copy-status{min-height:1.5em;margin:0}@media (prefers-reduced-motion:reduce){.sortable-entry{transition:none!important}}.field-hint{margin-top:-12px;font-size:14px}.form-error{color:var(--status-error-text);background:var(--status-error-surface);border-radius:14px;padding:12px 14px}.secondary{border-color:var(--action-accent);color:var(--action-accent);background:0 0}.secondary:hover{background:var(--action-soft)}.secondary:active{filter:brightness(.94)}.text-button{color:var(--action-accent);overflow-wrap:anywhere;background:0 0;border:0;min-height:44px;padding:8px 12px}.text-button:hover{background:var(--action-soft)}.text-button:active{background:var(--surface-neutral)}.icon{flex:none}.with-icon{justify-content:center;align-items:center;gap:10px;display:flex}.with-icon>span{overflow-wrap:anywhere;min-width:0}.icon-button{background:var(--surface-neutral);width:44px;height:44px;color:var(--text-primary);border:0;border-radius:999px;flex:0 0 44px;place-items:center;padding:0;display:grid}.icon-button:hover{color:var(--action-accent)}.icon-button:active{filter:brightness(.94)}.icon-button.secondary{border:1.5px solid var(--action-accent);min-height:44px;color:var(--action-accent);background:0 0}.icon-button.secondary:hover{background:var(--action-soft)}.needs-area{flex:1;grid-template-rows:auto auto 1fr auto;gap:16px;display:grid}.needs-area[hidden]{display:none}.needs-content{min-height:240px}.need-tabs{background:var(--surface-card);border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.need-tabs button{min-width:0;min-height:48px;color:var(--text-secondary);overflow-wrap:anywhere;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:10px;padding:10px}.need-tabs button:hover{background:var(--action-soft)}.need-tabs button[aria-selected=true]{color:var(--action-accent);border-bottom-color:var(--action-accent);background:var(--navigation-active-surface)}.area-actions{z-index:1;background:var(--background-page);gap:16px;padding:8px 0;display:grid;position:sticky;bottom:0}.need-summary{flex:10rem;gap:4px;min-width:0;display:grid}.need-history-meta{color:var(--text-secondary);overflow-wrap:anywhere;font-size:13px}.object-corrections{border-top:1px solid var(--border-subtle);margin-top:28px;padding-top:20px}.object-corrections h3{overflow-wrap:anywhere;margin:0 0 16px;font-size:18px}.object-corrections label{gap:8px;min-width:0;display:grid}.object-sources{margin:0;padding:0;list-style:none}.object-sources li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.object-sources span{overflow-wrap:anywhere;flex:8rem;min-width:0}.needs-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.needs-list li{border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:16px;display:flex}.needs-list .text-button{border-radius:14px}.needs-list>li>.secondary{align-self:center;width:auto}.rhythm-list{margin-bottom:24px}.rhythm-list>li{gap:12px;display:grid}.rhythm-summary{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.rhythm-reason{color:var(--text-secondary);margin:0}.status-suggestion{color:var(--action-accent);background:var(--action-soft)}.rhythm-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.rhythm-actions button{white-space:normal;overflow-wrap:anywhere}.suggestion-notice:empty{display:none}@media (width<=480px){.rhythm-actions{grid-template-columns:minmax(0,1fr)}}.need-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.need-quantity{color:var(--text-secondary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:13px}.need-dialog{width:min(28rem,100%);max-width:100%;max-height:calc(100dvh - 16px);padding:20px 20px calc(24px + env(safe-area-inset-bottom));background:var(--surface-card);color:var(--text-primary);overscroll-behavior:contain;border:0;border-radius:20px 20px 0 0;margin:auto auto 0;overflow-y:auto}.need-dialog::backdrop{background:var(--overlay-scrim)}.need-dialog h2{overflow-wrap:anywhere;margin-bottom:20px;font-size:22px}.sheet-heading{align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.sheet-heading h2{flex:1;min-width:0;margin:0}.need-form{gap:16px;display:grid}.need-form>.text-button{text-align:left;justify-self:start}.need-form hr{border:0;border-top:1px solid var(--border-subtle);width:100%;margin:0}.need-form label,.need-field{overflow-wrap:anywhere;gap:8px;min-width:0;display:grid}.need-form input:not([type=checkbox]),.need-form select{border:1px solid var(--text-secondary);background:var(--background-page);width:100%;min-width:0;min-height:48px;color:var(--text-primary);border-radius:8px;padding:12px}.dropdown{min-width:0;position:relative}.need-form .dropdown select{appearance:none;padding-inline-end:52px}.dropdown>.icon{pointer-events:none;color:var(--text-secondary);position:absolute;top:50%;right:16px;transform:translateY(-50%)rotate(90deg)}.dropdown:has(select:disabled)>.icon{opacity:.6}.need-amount{grid-template-columns:repeat(auto-fit,minmax(min(100%,9em),1fr));gap:12px;display:grid}.recognized-text{background:var(--surface-neutral);color:var(--text-primary);border-radius:14px;padding:14px;font-size:14px}.suggestion-label{color:var(--action-accent);background:var(--action-soft);border-radius:20px;justify-self:start;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.25}.status-label{overflow-wrap:anywhere;border-radius:999px;justify-self:start;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.25;display:inline-block}.status-neutral{color:var(--text-secondary);background:var(--surface-neutral)}.status-confirmed{color:var(--status-success-text);background:var(--status-success-surface)}.status-open{color:var(--status-error-text);background:var(--status-error-surface)}.opportunities-area{flex-direction:column;flex:1;gap:16px;display:flex}.opportunities-area[hidden]{display:none}.opportunities-content{flex:1}.opportunities-content[hidden]{display:none}.now-group+.now-group,.now-suggestions{margin-top:24px}.now-suggestions .suggestion-reason{margin-left:0}.needs-list .opportunity-card{grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:12px;display:grid}.opportunity-card-heading{grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:12px;display:grid}.opportunity-open{text-align:left;max-width:100%;color:var(--text-primary);justify-content:space-between;justify-self:stretch;align-items:center;gap:12px;padding-inline:0;font-weight:700;display:flex}.opportunity-open>span{overflow-wrap:anywhere;min-width:0}.opportunity-open .icon{color:var(--action-accent)}.opportunity-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.opportunity-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.opportunity-card-actions .secondary{flex:8em;min-height:44px}.opportunity-details{flex-direction:column;flex:1;gap:20px;display:flex}.opportunity-details>.text-button{align-self:flex-start}.opportunity-details>.primary{margin-top:auto}.opportunity-details h2{margin:0}.opportunity-horizon{grid-template-columns:repeat(3,minmax(0,1fr))}.opportunity-horizon button{font-size:14px}@media (width<=480px){.opportunity-horizon{grid-template-columns:1fr}.opportunity-horizon button{overflow-wrap:normal}}.weekday-picker{flex-wrap:wrap;gap:6px;padding-block:4px;display:flex}.weekday-option{border:1px solid var(--text-secondary);background:var(--background-page);min-width:44px;min-height:44px;color:var(--text-primary);border-radius:999px;flex:none;padding:8px 10px}.weekday-option[aria-checked=true]{border-color:var(--action-accent);color:var(--text-on-action);background:var(--action-primary)}.weekday-option:not(:disabled):hover{border-color:var(--action-accent)}.weekday-option:disabled{opacity:.4;cursor:not-allowed}.assignment-section{gap:12px;display:grid}.assignment-section h3{overflow-wrap:anywhere;margin:0;font-size:18px}.assignment-accordion>summary{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-size:18px;font-weight:600;list-style:none;display:flex}.assignment-accordion>summary::-webkit-details-marker{display:none}.assignment-accordion>summary>span{overflow-wrap:anywhere;flex:1;min-width:0}.assignment-accordion>summary>.icon{transform:rotate(-90deg)}.assignment-accordion>summary:hover{color:var(--action-accent)}.assignment-accordion[open]>summary>.icon{transform:rotate(90deg)}.assignment-accordion>.assignment-section{margin-top:12px}.assignment-actions{flex-wrap:wrap;gap:8px;display:flex}.learning-values{margin:0;padding:0;list-style:none}.learning-values>li{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:12px;padding-block:12px;display:flex}.learning-values .need-summary{flex:9rem}.learning-actions{flex:none;gap:8px;margin-left:auto;display:flex}.assignment-candidates{gap:8px;margin:0;padding:0;list-style:none;display:grid}.assignment-candidates .need-summary{gap:2px;display:grid}.suggestion-row{grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:8px;display:grid}.suggestion-row>div{min-width:0}.suggestion-reason{color:var(--text-secondary);overflow-wrap:anywhere;margin:4px 0 0 44px;font-size:14px;line-height:1.5}@media (prefers-reduced-motion:no-preference){.wordmark{animation:.28s ease-out arrive}@keyframes arrive{0%{transform:translateY(3px)}to{transform:translateY(0)}}}
