:root{--bg: #F7F5EF;--surface: #FFFDF8;--surface-sunken: #EAE5D9;--line: #E3DDCF;--line-strong: #8F8877;--ink: #292923;--ink-muted: #5E5D53;--brand: #465747;--brand-soft: #E4E8DD;--on-brand: #FFFDF8;--accent: #B66F54;--on-accent: #FFFDF8;--focus-ring: var(--brand);--p1: #B66F54;--p1-ink: #8E4E36;--p1-soft: #F2E2DA;--on-p1: #7A3F2B;--p2: #A8B19A;--p2-ink: #4E5E4A;--p2-soft: #E2E7DA;--on-p2: #3A4A3B;--unassigned: #8F8877;--unassigned-soft: #EFEBE1;--danger: #9B3B2A;--danger-soft: #F5E0DA;--on-danger: #FFFDF8;--today-wash: #F3EFE0;--arrival: #E8EBD8;--link: var(--brand);--clay-ink: #8E4E36;--sage-ink: #5F6955;--tape: rgba(168, 177, 154, .5);--shadow-1: 0 1px 0 rgba(41, 41, 35, .05);--shadow-2: 0 18px 40px -26px rgba(41, 41, 35, .4), 0 2px 6px -2px rgba(41, 41, 35, .08);--shadow-lift: 0 14px 30px -14px rgba(70, 87, 71, .45);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--radius-pill: 999px;--radius-sheet: 3px 16px 5px 12px;--radius-press: 9px 13px 10px 8px;--dur-instant: 90ms;--dur-quick: .16s;--dur-base: .24s;--dur-slow: .36s;--dur-linger: 1.2s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-enter: cubic-bezier(0, 0, 0, 1);--ease-exit: cubic-bezier(.3, 0, 1, 1);--ease-pop: cubic-bezier(.16, 1, .3, 1);--font-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--font-sans: "Instrument Sans", "Segoe UI", system-ui, sans-serif}[data-theme=dark]{color-scheme:dark;--bg: #1C201B;--surface: #252A24;--surface-sunken: #171A16;--line: #343A32;--line-strong: #7B8275;--ink: #ECE7DB;--ink-muted: #B4AFA1;--brand: #B5BEA6;--brand-soft: #2D352C;--on-brand: #1C201B;--accent: #D2917A;--on-accent: #1C201B;--p1: #D2917A;--p1-ink: #E6AE97;--p1-soft: #3A2A23;--on-p1: #F6DCD0;--p2: #A8B19A;--p2-ink: #C6CEB8;--p2-soft: #2B3329;--on-p2: #DDE4D2;--unassigned: #7B8275;--unassigned-soft: #262A24;--danger: #E8907E;--danger-soft: #3B2320;--on-danger: #1C201B;--today-wash: #262A20;--arrival: #333A2B;--clay-ink: #E6AE97;--sage-ink: #C6CEB8;--tape: rgba(168, 177, 154, .22);--shadow-1: 0 1px 0 rgba(0, 0, 0, .35);--shadow-2: 0 18px 40px -20px rgba(0, 0, 0, .7), 0 2px 6px -2px rgba(0, 0, 0, .4);--shadow-lift: 0 14px 30px -12px rgba(0, 0, 0, .7)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #1C201B;--surface: #252A24;--surface-sunken: #171A16;--line: #343A32;--line-strong: #7B8275;--ink: #ECE7DB;--ink-muted: #B4AFA1;--brand: #B5BEA6;--brand-soft: #2D352C;--on-brand: #1C201B;--accent: #D2917A;--on-accent: #1C201B;--p1: #D2917A;--p1-ink: #E6AE97;--p1-soft: #3A2A23;--on-p1: #F6DCD0;--p2: #A8B19A;--p2-ink: #C6CEB8;--p2-soft: #2B3329;--on-p2: #DDE4D2;--unassigned: #7B8275;--unassigned-soft: #262A24;--danger: #E8907E;--danger-soft: #3B2320;--on-danger: #1C201B;--today-wash: #262A20;--arrival: #333A2B;--clay-ink: #E6AE97;--sage-ink: #C6CEB8;--tape: rgba(168, 177, 154, .22);--shadow-1: 0 1px 0 rgba(0, 0, 0, .35);--shadow-2: 0 18px 40px -20px rgba(0, 0, 0, .7), 0 2px 6px -2px rgba(0, 0, 0, .4);--shadow-lift: 0 14px 30px -12px rgba(0, 0, 0, .7)}}.display{font-family:var(--font-display);font-size:52px;line-height:54px;font-weight:700;letter-spacing:-.03em}.heading-1{font-family:var(--font-display);font-size:32px;line-height:38px;font-weight:700;letter-spacing:-.02em}.heading-2{font-family:var(--font-display);font-size:22px;line-height:28px;font-weight:700;letter-spacing:-.01em}.body{font-family:var(--font-sans);font-size:15px;line-height:23px;font-weight:400}.body-strong{font-family:var(--font-sans);font-size:15px;line-height:23px;font-weight:600}.label{font-family:var(--font-sans);font-size:13px;line-height:18px;font-weight:500}.caption{font-family:var(--font-sans);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.02em}.event{font-family:var(--font-sans);font-size:12px;line-height:18px;font-weight:600}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/fonts/instrument-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/fonts/instrument-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Symbols Rounded;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/material-symbols-rounded.woff2) format("woff2")}.icon{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20;-webkit-user-select:none;user-select:none}.icon--filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 20}.duo-num{font-variant-numeric:tabular-nums}.duo-btn{text-decoration:none;font:inherit;font-size:14px;font-weight:600;min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-press);border:1px solid transparent;background:var(--surface-sunken);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);transition:transform var(--dur-instant) var(--ease-standard),background-color var(--dur-quick) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),color var(--dur-quick) var(--ease-standard)}.duo-btn:hover{background:color-mix(in srgb,var(--surface-sunken) 82%,var(--ink))}.duo-btn:active{transform:translateY(1px)}.duo-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.duo-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.duo-btn .icon{font-size:18px}.duo-btn--primary{background:var(--brand);color:var(--on-brand);box-shadow:0 1px color-mix(in srgb,var(--brand) 60%,#000),var(--shadow-1)}.duo-btn--primary:hover{background:color-mix(in srgb,var(--brand) 88%,#000);box-shadow:0 1px color-mix(in srgb,var(--brand) 60%,#000),var(--shadow-lift)}.duo-btn--ghost{background:transparent;color:var(--brand);padding:0 var(--space-3)}.duo-btn--ghost:hover{background:var(--brand-soft)}.duo-btn--danger{background:var(--danger);color:var(--on-danger)}.duo-btn--danger:hover{background:color-mix(in srgb,var(--danger) 88%,#000)}[data-who=p1]{--who: var(--p1);--who-ink: var(--p1-ink);--who-soft: var(--p1-soft);--on-who: var(--on-p1)}[data-who=p2]{--who: var(--p2);--who-ink: var(--p2-ink);--who-soft: var(--p2-soft);--on-who: var(--on-p2)}[data-who=both]{--who: var(--brand);--who-ink: var(--ink);--who-soft: var(--surface-sunken);--on-who: var(--ink)}[data-who=none]{--who: var(--unassigned);--who-ink: var(--ink-muted);--who-soft: var(--unassigned-soft);--on-who: var(--ink-muted)}.duo-avatar{width:26px;height:26px;flex:none;border-radius:50%;display:inline-grid;place-items:center;font-size:12px;line-height:1;font-weight:600;background:var(--who-soft);color:var(--on-who);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--who) 45%,transparent);box-sizing:border-box}.duo-avatar[data-who=none]{background:transparent;box-shadow:none;border:1px dashed var(--unassigned)}.duo-pair{display:inline-flex;flex:none}.duo-pair .duo-avatar+.duo-avatar{margin-left:-7px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--who) 45%,transparent),0 0 0 2px var(--surface)}.duo-badge{font-family:inherit;display:inline-flex;align-items:center;gap:var(--space-2);height:30px;padding:0 var(--space-3) 0 2px;border-radius:var(--radius-pill);background:var(--who-soft);color:var(--ink);font-size:13px;font-weight:500;transition:background-color var(--dur-base) var(--ease-standard)}.duo-land{animation:duo-land var(--dur-base) var(--ease-enter) both}@keyframes duo-land{0%{transform:translateY(-4px) scale(.8);opacity:0}to{transform:none;opacity:1}}.duo-list{background:transparent}.duo-sheet{position:relative;background:var(--surface);border-radius:var(--radius-sheet);box-shadow:var(--shadow-2);padding:var(--space-2) var(--space-5) var(--space-3)}.duo-sheet:before{content:"";position:absolute;top:-9px;left:32px;width:76px;height:20px;background:var(--tape);transform:rotate(-3deg);border-radius:1px;pointer-events:none}.duo-row-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--dur-slow) var(--ease-exit),opacity var(--dur-slow) var(--ease-exit)}.duo-row-wrap+.duo-row-wrap>.duo-task{border-top:1px solid var(--line)}.duo-row-wrap.is-settled{grid-template-rows:0fr;opacity:0}.duo-task{min-height:0;overflow:hidden;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-1);background-color:transparent;transition:background-color var(--dur-quick) var(--ease-standard)}.duo-task:hover{background-color:color-mix(in srgb,var(--surface-sunken) 45%,transparent)}.duo-task__body{flex:1;min-width:0;display:grid;gap:2px}.duo-task__title{justify-self:start;font-size:16px;line-height:22px;font-weight:500;color:var(--ink);background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 58%;background-size:0% 1px;transition:background-size var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard);overflow-wrap:anywhere}.duo-task__meta{font-size:13px;line-height:18px;font-weight:400;color:var(--ink-muted);font-variant-numeric:tabular-nums}.duo-task__meta .is-overdue{color:var(--danger);font-weight:600}.duo-task__meta .is-high{color:var(--clay-ink);font-weight:600}.duo-lock{display:inline-block;margin-left:5px;font-size:14px;line-height:1;vertical-align:-2px;color:var(--ink-muted)}.duo-task.is-done .duo-task__title{color:var(--sage-ink);background-size:100% 1px}.duo-task.is-arrival{animation:duo-rise var(--dur-slow) var(--ease-enter) both,duo-wash var(--dur-linger) var(--ease-standard) both}@keyframes duo-rise{0%{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}@keyframes duo-wash{0%{background-color:var(--arrival)}to{background-color:transparent}}.duo-label{flex:0 1 auto;display:grid;gap:2px;justify-items:end;max-width:min(34%,120px);min-width:0;font-size:12.5px;line-height:17px;color:var(--ink-muted);text-align:right;font-variant-numeric:tabular-nums}.duo-label__who{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.duo-label__name{display:none}.duo-label__when{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px var(--space-2)}.duo-label .duo-chip .icon{display:none}.duo-label .is-overdue{color:var(--danger);font-weight:600}.duo-label .is-pressed{color:var(--sage-ink)}@media(min-width:720px){.duo-label:not(.is-compact){width:176px;max-width:none;justify-items:stretch;text-align:left;gap:0;padding:6px 10px;border:1px solid var(--line);border-radius:2px;background:color-mix(in srgb,var(--surface-sunken) 30%,transparent)}.duo-label:not(.is-compact) .duo-label__name{display:inline;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-weight:500}.duo-label:not(.is-compact) .duo-label__when{justify-content:flex-start;margin-top:5px;padding-top:4px;border-top:1px solid var(--line)}.duo-label:not(.is-compact) .duo-chip .icon{display:inline}}.duo-check{width:22px;height:22px;flex:none;padding:0;border-radius:50%;border:1.5px solid var(--brand);background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--on-brand);transition:background-color var(--dur-quick) var(--ease-standard),border-color var(--dur-quick) var(--ease-standard),transform var(--dur-quick) var(--ease-enter)}.duo-check:hover{background:var(--brand-soft)}.duo-check:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.duo-check svg{width:13px;height:13px}.duo-check path{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset var(--dur-quick) var(--ease-standard) var(--dur-instant)}.duo-check[aria-checked=true]{background:var(--brand);border-color:var(--brand);transform:scale(.94)}.duo-check[aria-checked=true] path{stroke-dashoffset:0}.duo-task.is-done .duo-check[aria-checked=true]:not(.is-gathering){background:transparent;border-color:var(--sage-ink);color:var(--sage-ink);transform:none}.duo-event{font-family:inherit;display:flex;align-items:center;gap:var(--space-1);min-width:0;padding:0 var(--space-2);height:22px;border-radius:var(--radius-sm);font-size:12px;line-height:18px;font-weight:600;background:var(--who-soft);color:var(--on-who);border:1px solid color-mix(in srgb,var(--who) 40%,transparent);box-sizing:border-box;cursor:pointer;transition:transform var(--dur-instant) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}.duo-event:hover{box-shadow:var(--shadow-2)}.duo-event:active{transform:translateY(1px)}.duo-event:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.duo-event>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duo-event>.icon{overflow:visible;flex:none}.duo-event time{font-variant-numeric:tabular-nums;font-weight:500}.duo-event[data-who=none]{border-style:dashed;border-color:var(--unassigned)}.duo-event--reminder{background:var(--surface);color:var(--ink);border-color:var(--who)}.duo-event--reminder[data-who=none]{border-style:dashed}.duo-event--reminder svg{width:12px;height:12px;flex:none;fill:var(--who-ink);transform-origin:50% 10%}.duo-event--done{background:transparent;color:var(--sage-ink);text-decoration:line-through;text-decoration-thickness:1px;border-color:var(--line)}.duo-ring{animation:duo-ring var(--dur-slow) var(--ease-standard) 2}@keyframes duo-ring{0%,to{transform:rotate(0)}25%{transform:rotate(12deg)}75%{transform:rotate(-12deg)}}.duo-qa{position:absolute;right:var(--space-4);bottom:var(--space-4);width:58px;height:58px;border-radius:var(--radius-press);background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-lift);overflow:hidden;transition:width var(--dur-slow) var(--ease-standard),height var(--dur-slow) var(--ease-standard),border-radius var(--dur-slow) var(--ease-standard),background-color var(--dur-slow) var(--ease-standard)}.duo-qa__fab{position:absolute;inset:0;border:0;background:transparent;color:inherit;cursor:pointer;display:grid;place-items:center;transition:opacity var(--dur-quick) var(--ease-exit)}.duo-qa__fab:hover{background:color-mix(in srgb,#000 10%,transparent)}.duo-qa__fab svg{width:24px;height:24px;fill:currentColor}.duo-qa__fab:focus-visible{outline:2px solid var(--on-brand);outline-offset:-6px;border-radius:var(--radius-press)}.duo-qa__sheet{position:absolute;inset:0;padding:var(--space-5) var(--space-5) var(--space-4);display:grid;gap:var(--space-4);align-content:start;opacity:0;pointer-events:none;color:var(--ink);transition:opacity var(--dur-quick) var(--ease-enter)}.duo-qa.is-open{width:calc(100% - 2 * var(--space-4));height:196px;border-radius:var(--radius-sheet);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-2)}.duo-qa.is-open .duo-qa__fab{opacity:0;pointer-events:none}.duo-qa.is-open .duo-qa__sheet{opacity:1;pointer-events:auto;transition-delay:var(--dur-quick)}.duo-input{font:inherit;height:42px;padding:0 var(--space-3);border-radius:var(--radius-sm) var(--radius-sm) 0 0;border:0;border-bottom:1.5px solid var(--line-strong);background:color-mix(in srgb,var(--surface-sunken) 55%,transparent);color:var(--ink);width:100%;box-sizing:border-box;transition:border-color var(--dur-quick) var(--ease-standard),background-color var(--dur-quick) var(--ease-standard)}.duo-input::placeholder{color:var(--ink-muted)}.duo-input:hover{background:var(--surface-sunken)}.duo-input:focus-visible{outline:none;border-bottom-color:var(--brand);background:var(--surface-sunken);box-shadow:0 1.5px 0 var(--brand)}@media(prefers-reduced-motion:reduce){.duo-land,.duo-ring{animation:duo-fade var(--dur-quick) linear both}.duo-task.is-arrival{animation:duo-wash var(--dur-linger) var(--ease-standard) both}.duo-btn:active,.duo-event:active,.duo-check[aria-checked=true]{transform:none}.duo-qa{transition:opacity var(--dur-quick) linear}}@keyframes duo-fade{0%{opacity:0}to{opacity:1}}.duo-chip{display:inline-flex;align-items:center;gap:3px;color:var(--ink-muted);font-size:13px;line-height:18px;font-weight:500;font-variant-numeric:tabular-nums;vertical-align:0}.duo-chip .icon{font-size:15px;color:var(--sage-ink)}.duo-chip.is-complete{color:var(--sage-ink)}.duo-parent{display:inline-flex;align-items:center;gap:3px}.duo-parent .icon{font-size:15px}.duo-check.is-pulse{animation:duo-pulse var(--dur-quick) var(--ease-enter) both;animation-delay:calc(var(--pulse-index, 0) * 80ms)}.duo-chip.is-gathering{animation:duo-chip-flash var(--dur-slow) var(--ease-standard) both}.duo-check.is-gathering{background:var(--brand);border-color:var(--brand);animation:duo-gather-pop var(--dur-slow) var(--ease-enter) both,duo-gather-ring var(--dur-slow) var(--ease-enter) both}.duo-check.is-gathering path{stroke-dashoffset:0}@keyframes duo-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes duo-chip-flash{0%{color:var(--ink-muted)}40%{color:var(--brand);transform:translateY(-1px)}to{color:var(--sage-ink);transform:none}}@keyframes duo-gather-pop{0%{transform:scale(.85)}60%{transform:scale(1.12)}to{transform:scale(.94)}}@keyframes duo-gather-ring{0%{box-shadow:0 0 0 0 var(--brand-soft)}to{box-shadow:0 0 0 12px transparent}}@media(prefers-reduced-motion:reduce){.duo-check.is-pulse,.duo-chip.is-gathering{animation:none}.duo-check.is-gathering{animation:duo-fade var(--dur-quick) linear both}}.duo-row-wrap+.duo-row-wrap>.stackable{border-top:1px solid var(--line)}.duo-stagger{animation:duo-rise var(--dur-quick) var(--ease-enter) both;animation-delay:calc(var(--stagger-index, 0) * 24ms)}::view-transition-old(duo-calendar){animation:duo-zoom-out var(--dur-slow) var(--ease-standard) both;transform-origin:var(--zoom-origin, 50% 50%)}::view-transition-new(duo-calendar){animation:duo-zoom-in var(--dur-slow) var(--ease-standard) both;transform-origin:var(--zoom-origin, 50% 50%)}@keyframes duo-zoom-out{to{opacity:0;transform:scale(1.08)}}@keyframes duo-zoom-in{0%{opacity:0;transform:scale(.92)}}@media(prefers-reduced-motion:reduce){.duo-stagger{animation:duo-fade var(--dur-quick) linear both;animation-delay:0ms}.duo-row-wrap{transition:opacity var(--dur-quick) linear}::view-transition-old(duo-calendar),::view-transition-new(duo-calendar){animation:duo-fade var(--dur-quick) linear both}::view-transition-old(duo-calendar){animation-direction:reverse}}.auth-page{min-height:100%;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,440px);align-content:center;justify-content:center;justify-items:center;gap:var(--space-6);padding-block:var(--space-7);padding-left:max(var(--space-4),env(safe-area-inset-left,0px));padding-right:max(var(--space-4),env(safe-area-inset-right,0px))}.auth-brand{margin:0;font-family:var(--font-display);font-size:44px;line-height:44px;font-weight:700;letter-spacing:-.04em;color:var(--brand)}.auth-card{position:relative;width:100%;max-width:440px;box-sizing:border-box;display:grid;gap:var(--space-4);padding:var(--space-6) var(--space-5) var(--space-5);background:var(--surface);border-radius:var(--radius-sheet);box-shadow:var(--shadow-2);animation:duo-rise var(--dur-slow) var(--ease-enter) both}.auth-card:before{content:"";position:absolute;top:-9px;left:32px;width:76px;height:20px;background:var(--tape);transform:rotate(-3deg);border-radius:1px;pointer-events:none}.auth-card h1,.auth-card p{margin:0}.auth-card h1{text-wrap:balance}.auth-lead{color:var(--ink-muted)}.auth-foot{font-size:13px;line-height:18px;color:var(--ink-muted);text-align:center}.auth-foot a,.text-link{color:var(--link);font-weight:600;text-underline-offset:3px}.form{display:grid;gap:var(--space-1)}.form mat-form-field{width:100%}.form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;flex-wrap:wrap;margin-top:var(--space-2)}.form-actions .duo-btn--primary{min-width:140px;justify-content:center}.form-error{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 25%,transparent);font-size:13px;line-height:18px;font-weight:500}.form-note{margin:0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--ink);font-size:13px;line-height:18px}@media(prefers-reduced-motion:reduce){.auth-card{animation:duo-fade var(--dur-quick) linear both}}.account-menu .account{display:grid;padding:var(--space-3) var(--space-4) var(--space-2);border-bottom:1px solid var(--line);margin-bottom:var(--space-1)}.account-menu .account__name{font-weight:600;color:var(--ink)}.account-menu .account__email{font-size:13px;line-height:18px;color:var(--ink-muted)}.account-menu .mat-mdc-menu-item .icon{margin-right:var(--space-3);color:var(--ink-muted)}html{--mat-sys-background: light-dark(#f9faf3, #121410);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f1f1eb, #2f312d);--mat-sys-inverse-primary: light-dark(#02e600, #026e00);--mat-sys-inverse-surface: light-dark(#2f312d, #e2e3dc);--mat-sys-on-background: light-dark(#1a1c18, #e2e3dc);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #013a00);--mat-sys-on-primary-container: light-dark(#015300, #77ff61);--mat-sys-on-primary-fixed: light-dark(#002200, #002200);--mat-sys-on-primary-fixed-variant: light-dark(#015300, #015300);--mat-sys-on-secondary: light-dark(#ffffff, #263422);--mat-sys-on-secondary-container: light-dark(#3c4b37, #d7e8cd);--mat-sys-on-secondary-fixed: light-dark(#121f0e, #121f0e);--mat-sys-on-secondary-fixed-variant: light-dark(#3c4b37, #3c4b37);--mat-sys-on-surface: light-dark(#1a1c18, #e2e3dc);--mat-sys-on-surface-variant: light-dark(#43483f, #dfe4d7);--mat-sys-on-tertiary: light-dark(#ffffff, #502400);--mat-sys-on-tertiary-container: light-dark(#723600, #ffdcc7);--mat-sys-on-tertiary-fixed: light-dark(#311300, #311300);--mat-sys-on-tertiary-fixed-variant: light-dark(#723600, #723600);--mat-sys-outline: light-dark(#73796e, #8d9387);--mat-sys-outline-variant: light-dark(#c3c8bc, #43483f);--mat-sys-primary: light-dark(#026e00, #02e600);--mat-sys-primary-container: light-dark(#77ff61, #015300);--mat-sys-primary-fixed: light-dark(#77ff61, #77ff61);--mat-sys-primary-fixed-dim: light-dark(#02e600, #02e600);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#54634d, #bbcbb2);--mat-sys-secondary-container: light-dark(#d7e8cd, #3c4b37);--mat-sys-secondary-fixed: light-dark(#d7e8cd, #d7e8cd);--mat-sys-secondary-fixed-dim: light-dark(#bbcbb2, #bbcbb2);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#f9faf3, #121410);--mat-sys-surface-bright: light-dark(#f9faf3, #383a35);--mat-sys-surface-container: light-dark(#eeeee7, #1e201c);--mat-sys-surface-container-high: light-dark(#e8e9e1, #282b26);--mat-sys-surface-container-highest: light-dark(#e2e3dc, #333531);--mat-sys-surface-container-low: light-dark(#f3f4ed, #1a1c18);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0c0f0b);--mat-sys-surface-dim: light-dark(#dadbd3, #121410);--mat-sys-surface-tint: light-dark(#026e00, #02e600);--mat-sys-surface-variant: light-dark(#dfe4d7, #43483f);--mat-sys-tertiary: light-dark(#964900, #ffb787);--mat-sys-tertiary-container: light-dark(#ffdcc7, #723600);--mat-sys-tertiary-fixed: light-dark(#ffdcc7, #ffdcc7);--mat-sys-tertiary-fixed-dim: light-dark(#ffb787, #ffb787);--mat-sys-neutral-variant20: #2c3229;--mat-sys-neutral10: #1a1c18;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem var(--font-sans);--mat-sys-body-large-font: var(--font-sans);--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem var(--font-sans);--mat-sys-body-medium-font: var(--font-sans);--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem var(--font-sans);--mat-sys-body-small-font: var(--font-sans);--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem var(--font-display);--mat-sys-display-large-font: var(--font-display);--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem var(--font-display);--mat-sys-display-medium-font: var(--font-display);--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem var(--font-display);--mat-sys-display-small-font: var(--font-display);--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem var(--font-display);--mat-sys-headline-large-font: var(--font-display);--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem var(--font-display);--mat-sys-headline-medium-font: var(--font-display);--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem var(--font-display);--mat-sys-headline-small-font: var(--font-display);--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem var(--font-sans);--mat-sys-label-large-font: var(--font-sans);--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 600;--mat-sys-label-medium: 500 .75rem / 1rem var(--font-sans);--mat-sys-label-medium-font: var(--font-sans);--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 600;--mat-sys-label-small: 500 .688rem / 1rem var(--font-sans);--mat-sys-label-small-font: var(--font-sans);--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem var(--font-display);--mat-sys-title-large-font: var(--font-display);--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem var(--font-sans);--mat-sys-title-medium-font: var(--font-sans);--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem var(--font-sans);--mat-sys-title-small-font: var(--font-sans);--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--mat-sys-primary: var(--brand);--mat-sys-on-primary: var(--on-brand);--mat-sys-primary-container: var(--brand-soft);--mat-sys-on-primary-container: var(--ink);--mat-sys-secondary: var(--brand);--mat-sys-on-secondary: var(--on-brand);--mat-sys-secondary-container: var(--brand-soft);--mat-sys-on-secondary-container: var(--ink);--mat-sys-tertiary: var(--accent);--mat-sys-on-tertiary: var(--on-accent);--mat-sys-error: var(--danger);--mat-sys-on-error: var(--on-danger);--mat-sys-error-container: var(--danger-soft);--mat-sys-on-error-container: var(--danger);--mat-sys-background: var(--bg);--mat-sys-on-background: var(--ink);--mat-sys-surface: var(--surface);--mat-sys-on-surface: var(--ink);--mat-sys-on-surface-variant: var(--ink-muted);--mat-sys-surface-container-lowest: var(--surface);--mat-sys-surface-container-low: var(--surface);--mat-sys-surface-container: var(--surface);--mat-sys-surface-container-high: var(--surface);--mat-sys-surface-container-highest: var(--surface-sunken);--mat-sys-surface-variant: var(--surface-sunken);--mat-sys-outline: var(--line-strong);--mat-sys-outline-variant: var(--line);--mat-sys-inverse-surface: var(--ink);--mat-sys-inverse-on-surface: var(--bg);--mat-sys-corner-extra-small: var(--radius-sm);--mat-sys-corner-small: var(--radius-sm);--mat-sys-corner-medium: var(--radius-md);--mat-sys-corner-large: var(--radius-lg);--mat-sys-corner-extra-large: var(--radius-lg);--mat-sys-corner-full: var(--radius-pill)}html,body{height:100%}html{color-scheme:light dark;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:23px;-webkit-font-smoothing:antialiased;font-kerning:normal;caret-color:var(--brand);scrollbar-color:var(--line-strong) transparent}::selection{background:var(--p2-soft);color:var(--ink)}a{text-underline-offset:3px;text-decoration-thickness:1px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--radius-pill);border:3px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}time,.duo-num{font-variant-numeric:tabular-nums}.mat-mdc-form-field{--mat-form-field-outlined-outline-color: var(--line-strong);--mdc-outlined-text-field-outline-color: var(--line-strong)}.mat-mdc-dialog-surface{border-radius:var(--radius-sheet)!important;background:var(--surface)!important;box-shadow:var(--shadow-2)!important}.mat-mdc-menu-panel{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-2)!important}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}html{--mat-form-field-filled-container-color: color-mix(in srgb, var(--surface-sunken) 55%, transparent);--mat-form-field-filled-disabled-container-color: color-mix(in srgb, var(--surface-sunken) 30%, transparent);--mat-form-field-filled-container-shape: var(--radius-sm);--mat-form-field-filled-active-indicator-color: var(--line-strong);--mat-form-field-filled-hover-active-indicator-color: var(--ink-muted);--mat-form-field-filled-focus-active-indicator-color: var(--brand);--mat-form-field-filled-label-text-color: var(--ink-muted);--mat-form-field-filled-hover-label-text-color: var(--ink-muted);--mat-form-field-filled-focus-label-text-color: var(--brand);--mat-form-field-filled-input-text-color: var(--ink);--mat-form-field-filled-caret-color: var(--brand);--mat-form-field-filled-error-active-indicator-color: var(--danger);--mat-form-field-filled-error-focus-active-indicator-color: var(--danger);--mat-form-field-filled-error-label-text-color: var(--danger);--mat-form-field-state-layer-color: transparent;--mat-slide-toggle-selected-track-color: var(--brand);--mat-slide-toggle-selected-hover-track-color: var(--brand);--mat-slide-toggle-selected-focus-track-color: var(--brand);--mat-slide-toggle-selected-pressed-track-color: var(--brand);--mat-slide-toggle-selected-handle-color: var(--on-brand);--mat-slide-toggle-selected-hover-handle-color: var(--on-brand);--mat-slide-toggle-selected-focus-handle-color: var(--on-brand);--mat-slide-toggle-selected-pressed-handle-color: var(--on-brand);--mat-slide-toggle-unselected-track-color: color-mix(in srgb, var(--surface-sunken) 80%, var(--ink));--mat-slide-toggle-unselected-hover-track-color: color-mix(in srgb, var(--surface-sunken) 72%, var(--ink));--mat-slide-toggle-unselected-focus-track-color: color-mix(in srgb, var(--surface-sunken) 72%, var(--ink));--mat-slide-toggle-unselected-pressed-track-color: color-mix(in srgb, var(--surface-sunken) 72%, var(--ink));--mat-slide-toggle-track-outline-color: transparent;--mat-slide-toggle-track-outline-width: 0;--mat-slide-toggle-selected-track-outline-color: transparent;--mat-slide-toggle-unselected-handle-size: 20px;--mat-slide-toggle-selected-handle-size: 20px;--mat-slide-toggle-pressed-handle-size: 22px;--mat-slide-toggle-unselected-handle-horizontal-margin: 0 4px;--mat-slide-toggle-selected-handle-horizontal-margin: 0 24px;--mat-slide-toggle-unselected-pressed-handle-horizontal-margin: 0 3px;--mat-slide-toggle-selected-pressed-handle-horizontal-margin: 0 23px;--mat-slide-toggle-track-height: 28px;--mat-slide-toggle-track-width: 48px;--mat-slide-toggle-handle-elevation-shadow: 0 1px 2px rgba(41, 41, 35, .25);--mat-slide-toggle-unselected-handle-color: var(--surface);--mat-slide-toggle-unselected-hover-handle-color: var(--surface);--mat-slide-toggle-unselected-focus-handle-color: var(--surface);--mat-slide-toggle-unselected-pressed-handle-color: var(--surface)}
