@charset "UTF-8";
:root{--paper:#fff;--surface:#fff;--ink:#242127;--muted:#736d78;--purple:#764772;--purple-dark:#5d345a;--lavender:#f3edf4;--line:#eeebf0;--green:#35795e;--red:#a53f37;--nav:230px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}a{color:var(--purple)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c9acc9;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #c9acc9;outline-offset:1px}h1,h2,h3,p{margin:0}h1{font:400 36px/1.16 Georgia,"Times New Roman",serif;letter-spacing:-1.2px;overflow-wrap:anywhere}h2{font-size:18px;font-weight:600;line-height:1.4}h3{font-size:16px;font-weight:600}small{font-size:14px}.muted{color:var(--muted);font-size:14px}.icon{width:20px;height:20px;flex:0 0 auto;vertical-align:middle;stroke-width:1.8}.brand{display:inline-block;color:var(--purple-dark);font:400 36px/1 Georgia,serif;letter-spacing:-2px;text-decoration:none}.brand-dot{color:#af86aa}.avatar{width:36px;height:36px;flex:0 0 36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#eee4ef;color:var(--purple-dark);font-size:14px;font-weight:600;overflow:hidden}.avatar.large{width:64px;height:64px;flex-basis:64px;font-size:24px}.avatar img{width:100%;height:100%;object-fit:cover}.eyebrow{font-size:12px;font-weight:650;letter-spacing:1.4px;text-transform:uppercase;color:#756c79;margin-bottom:8px}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;min-height:44px;padding:10px 16px;background:var(--purple);color:#fff;font-size:14px;font-weight:600;text-decoration:none;transition:background .16s,transform .16s}.button:hover{background:var(--purple-dark)}.button.secondary{background:var(--lavender);color:var(--purple)}.button.secondary:hover{background:#e9dfeb}.button.quiet{background:transparent;color:var(--purple);padding:10px 12px}.button.quiet:hover,.icon-button:hover{background:var(--lavender)}.button.danger{background:#fbefed;color:var(--red)}.icon-button{width:44px;height:44px;flex:0 0 44px;padding:10px;background:transparent;color:var(--purple)}.profile-link{border:0;background:transparent;padding:4px;min-height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}.count{min-width:24px;color:var(--muted);font-size:14px;font-weight:400;font-variant-numeric:tabular-nums}
.sidebar{display:none}.mobile-header{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:20;min-height:90px;padding:16px 20px 12px;background:#fffffff2;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.mobile-header .brand{font-size:32px}.mobile-home-name{font-size:14px;color:var(--muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:6px}.workspace{padding:26px 20px calc(174px + env(safe-area-inset-bottom));min-width:0;animation:enter .22s ease-out}.topbar{display:none}.page-heading{margin-bottom:24px}.page-heading p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.6;margin-top:12px}.page-heading.split{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.page-heading.split h1{flex:1}.wide-single{min-width:0}.mobile-nav{position:fixed;z-index:26;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:#fffffff2;backdrop-filter:blur(20px);border-top:1px solid var(--line);min-height:78px}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;border:0;border-radius:12px;background:transparent;padding:6px 2px;color:var(--muted);font-size:12px;line-height:1.25;letter-spacing:-.25px;min-width:0;min-height:54px}.mobile-nav button.active{color:var(--purple);background:var(--lavender)}.mobile-nav button:hover{background:var(--lavender)}.mobile-nav .icon{width:22px;height:22px}.mobile-nav span{max-width:100%;overflow-wrap:anywhere;text-align:center}.task-fab{position:fixed;right:20px;bottom:calc(98px + env(safe-area-inset-bottom));z-index:25;width:56px;height:56px;border:0;border-radius:50%;background:var(--purple);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 20px #57345330;transition:transform .18s,background .18s}.task-fab:hover{background:var(--purple-dark);transform:translateY(-3px)}.task-fab .icon{width:28px;height:28px}body:has(dialog[open]) .task-fab{visibility:hidden}
.capture{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 16px;background:#fff;border:1px solid #e2d5e3;border-radius:16px;box-shadow:0 2px 8px #54365305;margin:0 0 16px}.capture>.icon{color:#a98fa9}.capture input{min-width:0;flex:1;border:0;outline:none;background:transparent;min-height:44px;font-size:16px;padding:8px 0}.capture input::placeholder{color:#7c7280;opacity:1}.capture button{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:12px;background:var(--purple);color:#fff}.capture:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px #76477212}.member-chips{display:flex;gap:8px;overflow:auto;scrollbar-width:none;padding:4px 1px 10px;margin:0 -1px 12px;scroll-padding:20px}.member-chips::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-height:44px;max-width:250px;padding:8px 16px;border:1px solid #ece6ed;border-radius:24px;background:#fff;font-size:14px;white-space:nowrap}.chip.active{background:var(--purple);border-color:var(--purple);color:#fff}.chip:hover:not(.active){background:var(--lavender)}.chip .icon{width:17px;height:17px;color:var(--purple)}.chip.active .icon{color:#fff}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;margin:26px 0 8px}.section-head h2{display:flex;align-items:center;gap:8px}.section-head>.button{flex:0 0 auto}.quick-capture{margin-bottom:8px}.home-hub .page-heading{margin-bottom:24px}.home-hub .section-head{margin-top:10px}.home-hub .agenda{margin-top:28px}.task-list{border-top:1px solid var(--line)}.task-row{position:relative;display:flex;align-items:center;gap:8px;padding:16px 4px 16px 0;min-height:88px;border-bottom:1px solid var(--line);border-radius:10px;transition:background .16s}.task-row:hover{background:#faf8fb}.task-open{border:0;background:none;text-align:left;flex:1;min-width:0;padding:6px 4px;min-height:44px}.task-title{display:block;font-size:16px;font-weight:550;line-height:1.4;overflow-wrap:anywhere}.task-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 9px;color:var(--muted);font-size:14px;margin-top:6px}.meta-item{display:inline-flex;align-items:center;gap:4px}.task-meta .icon{width:14px;height:14px}.task-check{position:relative;background:#fff;border:1.5px solid var(--purple);width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0 3px;border-radius:5px;padding:0;display:flex;justify-content:center;align-items:center}.task-check::after{content:"";position:absolute;inset:-12px}.task-check.done{background:var(--purple);color:white}.task-check .icon{width:15px;height:15px}.task-row>.avatar,.row-trailing{display:none}.task-order-controls{position:relative;width:44px;flex:0 0 44px;align-self:center;display:flex;justify-content:center}.drag-handle{display:flex;justify-content:center;align-items:center;background:none;border:0;border-radius:8px;width:44px;min-height:44px;color:#8c7b8d;cursor:grab;touch-action:none}.drag-handle:hover,.drag-handle:focus-visible{background:var(--lavender);color:var(--purple)}.drag-handle:active{cursor:grabbing}.move-buttons{display:none;position:absolute;left:0;top:100%;z-index:5;background:#fff;box-shadow:0 3px 18px #30213120;border:1px solid var(--line);border-radius:10px;padding:4px}.task-order-controls:focus-within .move-buttons{display:flex}.move-buttons button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;background:white;border-radius:8px;color:var(--purple)}.move-buttons button:hover{background:var(--lavender)}.move-buttons .icon{width:16px;height:16px}.pill{display:inline-flex;gap:4px;align-items:center;max-width:100%;font-size:12px;line-height:1.4;font-weight:500;padding:4px 8px;border-radius:20px;background:var(--lavender);color:var(--purple)}.pill .icon{width:13px;height:13px}.pill.overdue{background:#fff0ee;color:#a13f35}.pill.today{background:#fff1e7;color:#a15c23}.pill.attention,.pill.week{background:#f5edf9;color:#754b89}.pill.blocked{background:#f2eef6;color:#685379}.pill.upcoming{background:#f1f2fa;color:#615289}.pill.unplanned{background:#f3f2f5;color:#746c79}.pill.completed{background:#edf7f1;color:#35795e}.task-ghost{opacity:.35;background:var(--lavender)}.task-chosen{background:var(--lavender)}.task-dragging{background:white;box-shadow:0 4px 25px #4d304c24;border-radius:12px}.sortable-fallback{pointer-events:none!important}.empty{padding:32px 20px;text-align:center}.empty-symbol{width:52px;height:52px;border-radius:50%;background:var(--lavender);color:var(--purple);margin:0 auto 12px;display:flex;align-items:center;justify-content:center}.empty h3{font-size:18px;font-weight:500}.empty p{font-size:14px;line-height:1.6;max-width:350px;margin:8px auto;color:var(--muted)}.empty p:empty{display:none}.empty .button{margin-top:14px}
.event-cards{display:flex;gap:12px;overflow:auto;scroll-snap-type:x proximity;padding:4px 0 12px}.event-card{display:flex;align-items:center;gap:12px;flex:0 0 calc(85% - 12px);max-width:300px;min-width:210px;min-height:96px;background:#faf8fc;border:1px solid #f0eaf3;border-radius:18px;padding:16px;text-align:left;scroll-snap-align:start;transition:background .18s,transform .18s}.event-card:hover{background:#f3ebf7;transform:translateY(-2px)}.event-card-icon{display:flex;align-items:center;justify-content:center;width:36px;height:40px;flex:0 0 36px;color:var(--purple);background:#eee5f5;border-radius:10px}.event-copy{display:flex;flex-direction:column;gap:5px;min-width:0;overflow-wrap:anywhere}.event-copy>span{color:var(--muted);font-size:14px}.event-copy strong{font-size:16px;line-height:1.4;font-weight:550}.event-empty{display:flex;align-items:center;gap:10px;background:#faf8fc;border:0;border-radius:16px;min-height:74px;width:100%;padding:16px;color:var(--muted);text-align:left;font-size:14px}.event-empty>span{display:inline-flex;align-items:center;gap:5px;color:var(--purple);margin-left:auto}.home-shortcuts{display:grid;gap:4px;margin-top:24px}.home-shortcuts button{display:grid;grid-template-columns:20px minmax(0,1fr) 3ch 20px;align-items:center;gap:12px;min-height:56px;width:100%;background:none;border:0;border-radius:12px;padding:14px 16px;color:var(--purple);text-align:left;font-size:14px}.home-shortcuts button:hover{background:var(--lavender)}.shortcut-count{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.home-shortcuts .icon:last-child{width:18px;height:18px}
.tabs{display:flex;align-items:center;gap:4px;overflow:auto;padding:6px 0;margin:14px 0}.tabs button{flex:0 0 auto;display:flex;align-items:center;gap:7px;min-height:44px;padding:10px 12px;background:none;border:0;border-radius:12px;color:var(--muted);font-size:14px}.tabs button.active{background:var(--lavender);color:var(--purple)}.tabs button:hover{background:var(--lavender)}.tabs button span{font-size:12px;font-variant-numeric:tabular-nums}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 20px;min-width:0}.search-box{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;background:#f7f6f9;border-radius:12px;flex:1 1 100%;min-width:0;color:var(--muted)}.search-box input{border:0;background:none;min-height:44px;min-width:0;flex:1;width:100%;font-size:16px;outline:none}.filter-bar select{padding:10px 12px;min-height:44px;background:white;border:1px solid var(--line);border-radius:12px;font-size:14px;flex:1 1 100%;min-width:0;max-width:100%}.library-search{margin-bottom:18px}.segmented{display:flex;align-items:center;background:#f5f3f6;border-radius:12px;padding:4px;gap:4px}.segmented button{display:flex;align-items:center;justify-content:center;gap:6px;border:0;min-height:44px;border-radius:9px;padding:8px 12px;font-size:14px;color:var(--muted);background:transparent;flex:1}.segmented button.active{background:white;color:var(--purple);box-shadow:0 1px 6px #3b273510}.segmented button:hover{background:#ffffffa0}.segmented .icon{width:16px;height:16px}.calendar-views{width:100%;max-width:440px;margin-bottom:14px}.calendar-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:12px 0 20px}.calendar-controls strong{font-size:14px;font-weight:500;flex:1;text-align:center;text-transform:capitalize}.calendar-controls select{background:white;border:1px solid var(--line);border-radius:12px;min-height:44px;max-width:100%;padding:8px 12px;font-size:14px}.calendar-controls [data-action=calendar-prev] .icon{transform:rotate(-90deg)}.calendar-controls [data-action=calendar-next] .icon{transform:rotate(-90deg)}.calendar-scroll{min-width:0;overflow:auto;border:1px solid var(--line);border-radius:16px;padding:8px}.calendar-page #calendar{--fc-border-color:#eeeaf1;--fc-today-bg-color:#f9f5fc;--fc-neutral-bg-color:#f7f5f8;font-size:14px}.calendar-page .fc .fc-event{border:0;border-radius:7px;background:#eee4f5;color:#563a69;font-size:12px;cursor:pointer}.calendar-page .fc .calendar-task{background:#f6eee5;color:#7a542d}.calendar-page .fc .calendar-completed{opacity:.6;text-decoration:line-through}.calendar-page .fc .fc-col-header-cell-cushion{padding:10px 2px;color:var(--muted);font-size:12px;font-weight:500}.calendar-page .fc .fc-daygrid-day-number{font-size:14px;padding:7px}.calendar-page .fc .fc-list-event:hover td{background:var(--lavender)}.calendar-page .fc .fc-timegrid-slot-label{font-size:12px;color:var(--muted)}.calendar-page .fc .fc-event-time{font-weight:400}.calendar-page .fc .fc-timegrid-event-harness{min-height:40px}.calendar-page .fc .fc-scrollgrid{border:0}.calendar-page .fc a{color:inherit;text-decoration:none}.kanban{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 0 20px;max-width:100%;min-width:0}.kanban-column{flex:0 0 min(280px,88%);min-width:0;scroll-snap-align:start;padding:14px 12px;background:#f8f6fa;border-radius:18px}.kanban-column h2{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px;padding:0 4px 16px}.kanban-list{min-height:180px}.kanban-card{position:relative;display:flex;align-items:flex-start;flex-wrap:wrap;background:white;border:1px solid #ede7f0;border-radius:14px;padding:12px;margin-bottom:10px;box-shadow:0 2px 5px #4d354304}.kanban-card .drag-handle{width:28px;flex:0 0 28px;margin-left:-5px}.kanban-open{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;background:none;border:0;padding:8px 0}.kanban-open strong{font-size:16px;font-weight:550;overflow-wrap:anywhere}.kanban-open>span:not(.pill){font-size:14px;color:var(--muted)}.closed-card .kanban-open strong{color:#817687}.card-actions{width:100%;font-size:14px;text-align:right}.card-actions summary{cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;width:44px;list-style:none;color:var(--purple)}.card-actions>div{display:flex;flex-direction:column;text-align:left;border-top:1px solid var(--line)}.card-actions button{padding:10px 12px;min-height:44px;border:0;background:white;text-align:left;border-radius:8px;font-size:14px;color:var(--purple)}.card-actions button:hover{background:var(--lavender)}
.settings-menu{display:grid;gap:10px}.settings-menu>button{display:grid;grid-template-columns:24px minmax(0,1fr) 20px;align-items:center;gap:16px;padding:20px 16px;min-height:88px;border:0;border-radius:16px;background:#faf8fb;text-align:left;color:var(--purple)}.settings-menu>button:hover{background:var(--lavender)}.settings-menu span{display:flex;flex-direction:column;gap:4px;color:var(--ink)}.settings-menu strong{font-size:16px;font-weight:550}.settings-menu small{font-size:14px;color:var(--muted)}.settings-content{margin-top:22px}.profile-summary{display:flex;align-items:center;gap:16px;margin-bottom:24px}.profile-summary p{margin-top:5px;overflow-wrap:anywhere}.settings-content>.button{margin:0 8px 10px 0}.name-line{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line)}.context-row,.member-row,.category-row,.milestone-row{display:flex;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line);min-height:72px}.context-icon,.library-icon,.milestone-dot{width:40px;height:44px;flex:0 0 40px;display:flex;align-items:center;justify-content:center;background:var(--lavender);color:var(--purple);border-radius:12px}.context-copy{flex:1;min-width:0;overflow-wrap:anywhere}.context-copy p,.context-copy small{font-size:14px;color:var(--muted);display:block;margin-top:4px}.row-copy-button{border:0;background:transparent;padding:8px 0;text-align:left;min-height:44px}.archived-section{margin:24px 0;font-size:14px;color:var(--muted)}summary{min-height:44px;cursor:pointer;padding:10px 0;color:var(--purple)}.library-row{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;gap:14px;padding:18px 12px;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:12px;text-align:left;background:white;color:var(--purple);min-height:90px}.library-row:hover{background:#faf7fc}.library-row>span:not(.library-icon){display:flex;flex-direction:column;gap:4px;color:var(--ink);min-width:0;overflow-wrap:anywhere}.library-row strong{font-size:16px;font-weight:550}.library-row small{font-size:14px;color:var(--muted)}progress{accent-color:var(--purple);width:100%;max-width:260px;height:6px;border:0;border-radius:4px;overflow:hidden;margin-top:8px}progress::-webkit-progress-bar{background:#eee6f2}progress::-webkit-progress-value{background:var(--purple);border-radius:4px}.milestone-dot.achieved{background:#edf7f1;color:var(--green)}.project-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.compact-empty{padding:16px 4px}
.field{margin-bottom:18px;min-width:0}.field label{display:block;font-size:14px;font-weight:500;color:var(--muted);margin-bottom:7px}.field input,.field select,.field textarea{width:100%;min-height:48px;font-size:16px;border:1px solid #e6e1e9;border-radius:12px;background:#fdfcfe;padding:12px;line-height:1.5}.field textarea{min-height:100px;resize:vertical}.field-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.error-text{color:var(--red);font-size:14px;line-height:1.6;margin:0 0 14px;overflow-wrap:anywhere}.error-text:empty{display:none}.form-help{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 18px}.form-divider,.detail-section{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.form-divider h3,.detail-section h3{display:flex;align-items:center;gap:8px;margin-bottom:16px}.step-edit{display:flex;align-items:center;gap:8px;margin:8px 0}.step-edit input[type=text]{min-width:0;flex:1;border:1px solid var(--line);min-height:44px;border-radius:10px;padding:10px;font-size:16px}.step-edit input[type=checkbox],.step-row input{accent-color:var(--purple);width:20px;height:20px;flex:0 0 20px}.step-row{display:flex;align-items:center;gap:10px;min-height:44px;font-size:16px}.done{text-decoration:line-through;color:var(--muted)}.draft-status{font-size:14px;color:var(--purple);margin-top:18px}.detail-note,.detail-section p,.prose{font-size:16px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;font-size:16px;overflow-wrap:anywhere}.detail-grid dt{font-size:14px;color:var(--muted);margin-bottom:4px}.detail-grid dd{margin:0}.completed-label{display:flex;align-items:center;gap:8px;color:var(--green);font-size:14px;margin-bottom:16px}.detail-section p{margin-bottom:12px}.confirm-copy{font-size:14px;color:var(--muted);line-height:1.65;margin:16px 0 24px}.attachment{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px;text-decoration:none;overflow-wrap:anywhere}.attachment>span{min-width:0}.attachment:hover{text-decoration:underline}.file-upload{display:flex;align-items:center;gap:10px;border:1px dashed #d9cadf;border-radius:12px;padding:12px;color:var(--purple);min-height:48px;font-size:14px;line-height:1.6;margin-top:12px;cursor:pointer}.file-upload>span{min-width:0}.file-upload input{font-size:14px;min-width:0;max-width:100%;width:100%;min-height:44px}.upload-status{font-size:14px;color:var(--muted);margin-top:10px}.profile-photo-editor{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.profile-photo-editor .file-upload{flex:1;min-width:180px;margin:0}.password-fields{margin-top:20px}.password-fields summary{margin-bottom:12px}.notice{font-size:14px;line-height:1.6;background:var(--lavender);border-radius:12px;padding:16px;margin-bottom:18px}.notice.warning{background:#fff5e9;color:#836027}.notice .button{margin-top:8px}.link-result{margin-top:18px;background:var(--lavender);border-radius:12px;padding:16px;font-size:14px;line-height:1.6}.link-result input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px;margin:12px 0;font-size:14px}
dialog{border:0;position:fixed;margin:0;inset:0;left:auto;width:100%;max-width:100%;height:100svh;max-height:100svh;background:white;padding:0;color:var(--ink);overflow:auto;box-shadow:-15px 0 70px #28132920}dialog::backdrop{background:#2415224d;backdrop-filter:blur(3px)}dialog[open]{animation:sheet-in .22s ease-out}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:5;padding:14px 20px;background:#fffffff2;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.sheet-header h2{font-size:18px}.sheet-body{padding:24px 20px 32px;min-width:0}.sheet-body h1{font-size:30px}.sheet-footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:#fffffff2;backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:4}.sheet-footer .button{flex:1;min-width:0}.sheet-footer .button:last-child{flex:1 1 100%}.confirmation-dialog{inset:0;margin:auto;width:calc(100% - 32px);max-width:440px;height:auto;max-height:calc(100svh - 32px);padding:24px;border-radius:20px}.confirmation-dialog p{font-size:16px;line-height:1.6;margin:16px 0 24px}.confirmation-dialog>div{display:flex;gap:10px}.confirmation-dialog .button{flex:1}.rich-document{font-size:16px;line-height:1.7;overflow-wrap:anywhere;margin:20px 0}.rich-document p{margin:8px 0}.rich-document h1,.rich-document h2,.rich-document h3{font-family:inherit;letter-spacing:0;margin:18px 0 8px}.rich-document blockquote{border-left:3px solid #ceb4d5;margin:16px 0;padding:4px 14px;color:var(--muted)}.document-list{padding-left:24px}.document-list.bullet:before{content:"•";display:inline-block;margin-left:-20px;width:20px}.rich-document{counter-reset:steps}.document-list.ordered:before{counter-increment:steps;content:counter(steps)".";display:inline-block;margin-left:-24px;width:24px}.image-preview{display:block;max-width:100%;max-height:500px;object-fit:contain;border-radius:12px;margin:12px 0}.sheet-body .ql-toolbar.ql-snow{border-color:var(--line);border-radius:12px 12px 0 0;margin-top:8px;display:flex;flex-wrap:wrap}.sheet-body .ql-container.ql-snow{border-color:var(--line);border-radius:0 0 12px 12px;font-family:inherit;font-size:16px;min-height:220px}.sheet-body .ql-editor{font-size:16px;line-height:1.65;min-height:220px;padding:16px}.sheet-body .ql-toolbar button,.sheet-body .ql-toolbar .ql-picker-label{width:44px;height:44px;min-height:44px}.sheet-body .ql-toolbar .ql-picker-label{width:100%;padding:12px 8px}.sheet-body .ql-toolbar .ql-picker{height:44px}.sheet-body .ql-toolbar .ql-formats{margin:0 4px 0 0}.sheet-body .ql-tooltip{max-width:100%;white-space:normal}.sheet-body .ql-tooltip input{max-width:100%;min-height:44px}.sheet-body .ql-editor img{max-width:100%;height:auto}
#toast{position:fixed;z-index:30;left:50%;bottom:calc(166px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);width:max-content;min-width:200px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#342b37;color:white;padding:12px 16px;border-radius:14px;font-size:14px;line-height:1.5;box-shadow:0 5px 25px #36273720;transform:translateX(-50%) translateY(10px);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}#toast.visible{opacity:1;transform:translateX(-50%);pointer-events:auto}#toast button{display:inline-flex;align-items:center;gap:6px;color:white;background:none;border:0;min-height:44px;padding:0;font-size:14px;text-decoration:underline}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;gap:20px;color:var(--muted)}.loading-brand{font:42px Georgia,serif;color:var(--purple)}.auth-page{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:32px 24px}.auth-wrap{width:100%;max-width:980px;display:grid;gap:40px}.auth-intro{display:none}.auth-form-panel{width:100%;max-width:400px;margin:auto}.auth-form-panel>.brand{margin-bottom:36px}.auth-form-panel h1{font-size:32px}.auth-form-panel>p{font-size:16px;line-height:1.65;color:var(--muted);margin:16px 0 24px}.auth-form-panel form>.button{width:100%}.auth-secondary{text-align:right;margin:-4px 0 16px}.auth-secondary button,.switch-auth button{border:0;background:none;color:var(--purple);min-height:44px;font-size:14px}.switch-auth{font-size:14px;color:var(--muted);text-align:center;margin-top:20px}.auth-or{font-size:14px;color:var(--muted);text-align:center;margin:20px 0}.auth-or+.button{width:100%}.auth-form-panel .auth-footnote{font-size:12px;text-align:center;line-height:1.6;color:var(--muted);margin-top:30px}.auth-checkbox{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:18px}.onboarding{max-width:500px;margin:40px auto}.onboarding>.brand{margin-bottom:30px}.onboarding>p{font-size:16px;color:var(--muted);line-height:1.65;margin:20px 0 30px}.settings-actions{margin-top:24px}
@keyframes enter{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-in{from{opacity:.6;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:480px){.field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.sheet-footer .button:last-child{flex:1}.filter-bar select{flex:1 1 130px}.event-card{flex:1 0 calc(50% - 8px);max-width:50%}}
@media(min-width:760px){.sidebar{position:fixed;inset:0 auto 0 0;width:var(--nav);display:flex;flex-direction:column;border-right:1px solid var(--line);padding:36px 20px 24px;background:#fcfafc;z-index:10}.sidebar>.brand{font-size:38px;margin:0 10px 22px}.household-indicator{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);padding:0 10px;margin-bottom:30px;overflow-wrap:anywhere}.household-select{max-width:100%;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:10px;background:none;font-size:14px;margin-bottom:24px}.side-nav{display:grid;gap:5px}.side-nav button{display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:48px;border:0;background:transparent;border-radius:12px;text-align:left;font-size:16px;color:var(--muted)}.side-nav button.active,.side-nav button:hover{color:var(--purple);background:var(--lavender)}.nav-count{margin-left:auto;min-width:22px;font-size:12px;text-align:center;color:var(--purple);font-variant-numeric:tabular-nums}.sidebar-bottom{margin-top:auto}.sidebar-profile{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:20px}.sidebar-profile>div{min-width:0;flex:1}.sidebar-profile p{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile small{font-size:12px;color:var(--muted)}.sidebar-profile>.icon-button{width:36px;flex-basis:36px}.mobile-header,.mobile-nav,.task-fab{display:none}.workspace{margin-left:var(--nav);padding:30px 38px 60px;max-width:1510px}.topbar{display:flex;align-items:center;gap:14px;margin-bottom:40px;max-width:1120px}.date-label{font-size:14px;color:var(--muted);text-transform:capitalize;flex:1}.wide-single{max-width:1120px}.home-hub,.settings-hub{max-width:820px}h1{font-size:42px}.page-heading{margin-bottom:28px}.task-row{gap:12px;padding:14px 8px 14px 0}.task-row>.avatar{display:inline-flex}.row-trailing{font-size:12px;color:var(--muted);display:block;min-width:72px;text-align:right}.task-order-controls{width:44px;flex-basis:44px}.filter-bar .search-box{flex:2 1 230px}.filter-bar select{flex:1 1 130px;max-width:190px}.event-card{flex:1 0 calc(33.333% - 10px);max-width:33.333%;min-width:190px}.home-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.home-shortcuts button{gap:9px;padding:14px 16px;background:#fcfafc}.sheet-header{padding:20px 28px}.sheet-body{padding:26px 28px 32px}.sheet-footer{padding:16px 28px}.sheet-footer .button{flex:0 1 auto}.sheet-footer .button:last-child{flex:0 1 auto}dialog{width:580px;max-width:calc(100% - 50px);border-radius:24px 0 0 24px}.confirmation-dialog{border-radius:20px;max-width:440px}.calendar-controls{gap:8px}.calendar-controls strong{flex:1;text-align:center}.calendar-scroll{padding:12px}.kanban-column{flex-basis:260px}.auth-wrap{grid-template-columns:1fr 1fr;gap:70px}.auth-intro{display:flex;flex-direction:column;justify-content:center}.auth-intro h2{font:44px/1.18 Georgia,serif;color:var(--purple-dark);letter-spacing:-1.5px;margin:24px 0}.auth-intro p{color:var(--muted);font-size:16px;line-height:1.7;max-width:380px}.auth-house-art{max-height:220px;margin-top:30px;overflow:hidden;border-radius:20px}.auth-house-art svg{width:100%;height:auto}.auth-intro .small{margin-top:20px;font-size:12px}.auth-form-panel>.brand{display:none}#toast{bottom:28px;left:calc(50% + 100px);max-width:600px}.profile-photo-editor{flex-wrap:nowrap}}
@media(min-width:1180px){.workspace{padding:36px 56px 70px}.kanban-column{flex:1 0 240px}.event-card{max-width:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.mobile-header .household-select{max-width:220px;width:100%;padding:0 4px;min-height:32px;border:0;background:none;color:var(--muted);font-size:14px}

.calendar-page .calendar-record{border-radius:9px!important;background:#f2eaf6!important;border:0!important;color:#623a72!important;font-size:14px!important;min-height:44px;overflow:hidden;padding:4px 6px}
.calendar-page .calendar-record *{color:inherit!important;font-size:14px!important;white-space:normal}
.calendar-page .calendar-record.calendar-task{background:#f8f0e7!important;color:#83512a!important}
.calendar-page .calendar-record.calendar-completed{opacity:.65;text-decoration:line-through}
.calendar-page .calendar-record:hover{filter:brightness(.97)}
.sheet-body .ql-toolbar button{display:inline-flex;align-items:center;justify-content:center}
.sheet-body .ql-toolbar button svg{width:20px;height:20px}
.sheet-body .ql-toolbar .ql-picker-label svg{width:16px;height:16px}

.mobile-nav span{max-width:none;white-space:nowrap;overflow-wrap:normal;letter-spacing:-.45px}

.mobile-nav{min-height:86px}.task-fab{bottom:calc(104px + env(safe-area-inset-bottom))}
.mobile-nav wbr{display:none}.section-head h2{display:block}.section-head h2>.count{display:inline-block;min-width:0;margin-left:6px}
#calendar[data-view=timeGridWeek]{min-width:640px}
@media(max-width:374px){.mobile-nav span{max-width:100%;white-space:normal}.mobile-nav wbr{display:inline}.mobile-nav{min-height:86px}}

.mobile-header .household-select{min-height:44px}.sidebar-profile>.icon-button{width:44px;flex-basis:44px}
.sheet-body .ql-picker-item{min-height:44px;padding:10px 12px!important;font-size:14px}
/* Capture/media iteration: quiet chrome and accessible profile choices. */
.sidebar-profile p{margin:0;font-size:16px;line-height:1.4}.sidebar-profile>div{display:flex;align-items:center;min-height:44px}
.household-management{margin-bottom:28px}.household-management>label{display:block;color:var(--muted);font-size:14px;margin-bottom:8px}.household-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.household-controls select{min-height:44px;flex:1;min-width:0;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:white;font:inherit}.household-controls button{flex-shrink:0}
.icon-picker{border:0;padding:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.icon-picker legend{font-size:14px;margin-bottom:10px}.icon-picker label{position:relative;cursor:pointer}.icon-picker input{position:absolute;opacity:0;width:1px;height:1px}.icon-picker label>span{display:flex;min-height:76px;gap:8px;align-items:center;justify-content:center;flex-direction:column;border:1px solid var(--line);border-radius:12px;padding:10px 4px;transition:background .15s,border-color .15s}.icon-picker small{font-size:12px}.icon-picker input:checked+span{color:var(--purple);background:var(--lavender);border-color:var(--purple)}.icon-picker input:focus-visible+span{outline:2px solid var(--purple);outline-offset:3px}.annual-option{display:flex;gap:12px;align-items:center;min-height:44px;margin:0 0 20px}.annual-option[hidden]{display:none}.annual-option input{width:20px;height:20px;accent-color:var(--purple)}.procedure-image-picker{margin-top:12px;margin-bottom:20px;display:inline-flex}.context-row>.danger{flex-shrink:0}.archived-section .context-row{flex-wrap:wrap}.ql-editor img{object-fit:contain;border-radius:8px}.ql-editor img:focus{outline:2px solid var(--purple)}
.icon-picker .icon{width:24px;height:24px}
/* Household access and personal notifications. */
.header-actions{display:flex;gap:6px;align-items:center}.notification-bell{position:relative;flex-shrink:0}.notification-count{position:absolute;right:0;top:0;min-width:18px;height:18px;padding:0 4px;border-radius:12px;background:var(--purple);color:white;font-size:11px;line-height:18px}.notification-count[hidden]{display:none}.notification-page .page-heading p{margin-top:8px}.notification-row{display:flex;align-items:flex-start;gap:16px;padding:20px 4px;border-bottom:1px solid var(--line)}.notification-row.unread{border-left:3px solid var(--purple);padding-left:12px}.notification-copy{flex:1;min-width:0;overflow-wrap:anywhere}.notification-copy strong{font-size:16px}.notification-copy p{margin:6px 0}.notification-copy small{color:var(--muted)}.notification-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:240px}.notification-actions .button{min-height:44px}.onboarding-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.onboarding-header .brand{margin:0}.onboarding-section{margin:28px 0;padding-top:20px;border-top:1px solid var(--line)}.onboarding-section h2{font-size:20px;margin:0 0 16px}.onboarding-section summary{cursor:pointer;min-height:44px;font-size:18px;display:flex;align-items:center}.onboarding-section form{margin-top:16px}.onboarding .notification-page{width:100%}.inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.request-summary{margin:12px 0;padding:12px 0}.request-summary>span{display:block;color:var(--muted);margin-top:6px}.request-summary p{margin:8px 0}.completion-ack{display:flex;gap:12px;align-items:flex-start;margin-top:12px;font-weight:500}.completion-ack input{width:20px;height:20px;flex-shrink:0;accent-color:var(--purple)}.household-code{margin:24px 0}.household-code>div{display:flex;gap:10px;margin:8px 0}.household-code input{font:600 20px monospace;min-width:0;flex:1;max-width:210px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:white}.sent-invitation{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.sent-invitation span{min-width:0}.sent-invitation small{display:block;color:var(--muted);margin-top:6px}.sent-invitation button{flex-shrink:0}
@media(min-width:900px){.topbar .desktop-bell{margin-left:auto}.topbar .desktop-profile{margin-left:0}}
@media(max-width:899px){.desktop-bell{display:none}.notification-row{flex-direction:column;gap:12px}.notification-actions{max-width:none;justify-content:flex-start}.onboarding{padding-bottom:32px}.context-row{gap:8px}}
