.session-recovery[data-v-a8e9961a]{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--canvas)}.session-recovery section[data-v-a8e9961a]{width:min(100%,480px);padding:36px;border:1px solid var(--line);border-radius:24px;text-align:center}.session-recovery section>svg[data-v-a8e9961a]{color:var(--accent);margin-bottom:16px}.session-recovery h1[data-v-a8e9961a]{font-size:24px;line-height:1.35}.session-recovery p[data-v-a8e9961a]{margin:16px 0 24px;color:var(--muted);line-height:1.6}.session-recovery button[data-v-a8e9961a]{margin-inline:auto}.control-tooltip[data-v-077b328c]{position:fixed;inset:auto;margin:0;width:max-content;max-width:min(280px,calc(100vw - 16px));padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:500 12px/1.5 Inter,system-ui,sans-serif;box-shadow:0 6px 22px #0003;overflow-wrap:anywhere;white-space:normal;text-align:start;user-select:none;z-index:10000}.control-tooltip[data-v-077b328c]:popover-open{display:block}.control-tooltip[data-v-077b328c]::backdrop{display:none}.loom{--check-size: 18px;--check-border: #898392;--check-fill: #8b5cf6;--check-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8 3 3 6-6' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--check-mixed: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}.loom.theme-light{--check-border: #81788f;--check-fill: #7950cf}.loom :is(input[type=checkbox]:not(.switch),button[role=checkbox],.checkbox-preview){appearance:none;-webkit-appearance:none;box-sizing:border-box;display:inline-grid;place-items:center;flex:0 0 var(--check-size);width:var(--check-size);height:var(--check-size);min-width:var(--check-size);min-height:var(--check-size);padding:0;margin:0;border:1.5px solid var(--check-border);border-radius:5px;background-color:transparent;background-image:none;background-position:center;background-repeat:no-repeat;background-size:16px 16px;color:var(--accent);vertical-align:middle;cursor:pointer;touch-action:manipulation;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.loom :is(input[type=checkbox]:not(.switch),button[role=checkbox]):hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.loom :is(input[type=checkbox]:not(.switch):checked,input[type=checkbox]:not(.switch):indeterminate,button[role=checkbox][aria-checked=true],button[role=checkbox][aria-checked=mixed],.checkbox-preview[data-checked=true]){border-color:var(--check-fill);background-color:var(--check-fill);background-image:var(--check-glyph);color:#fff}.loom :is(input[type=checkbox]:not(.switch):indeterminate,button[role=checkbox][aria-checked=mixed]){background-image:var(--check-mixed)}.loom :is(input[type=checkbox]:not(.switch),button[role=checkbox]):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.loom :is(input[type=checkbox]:not(.switch),button[role=checkbox]):disabled{opacity:.5;cursor:not-allowed}.loom button[role=checkbox][aria-busy=true]{background-image:none;cursor:progress;opacity:.8}.loom button[role=checkbox]>svg:not(.spin){display:none}.loom button[role=checkbox]>.spin{width:12px;height:12px}.loom label:has(>input[type=checkbox]:not(.switch)){cursor:pointer;min-height:28px}.loom label:has(>input[type=checkbox]:disabled){cursor:not-allowed}.loom .loom-prose li[data-checked]>label{min-height:28px;padding-top:5px}.loom .checkbox-preview{pointer-events:none}@media (prefers-reduced-motion: reduce){.loom :is(input[type=checkbox],button[role=checkbox],.checkbox-preview){transition:none}}@media (forced-colors: active){.loom input[type=checkbox]:not(.switch){appearance:auto;-webkit-appearance:checkbox;background:none;box-shadow:none;opacity:1}.loom button[role=checkbox]{forced-color-adjust:none;border-color:ButtonText;background:Canvas;color:ButtonText}.loom button[role=checkbox][aria-checked=true]{background:Highlight;color:HighlightText;border-color:Highlight}.loom button[role=checkbox]>svg:not(.spin){display:block}.loom button[role=checkbox]:disabled{opacity:1;border-color:GrayText;color:GrayText}.loom button[role=checkbox]:focus-visible{outline-color:Highlight}}.loom input:autofill{background-color:var(--surface);color:var(--text);caret-color:var(--text);box-shadow:inset 0 0 0 1000px var(--surface)!important}.loom input:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:inset 0 0 0 1000px var(--surface)!important;box-shadow:inset 0 0 0 1000px var(--surface)!important}.loom input:autofill:focus{box-shadow:inset 0 0 0 1000px var(--surface),0 0 0 3px var(--accent-soft)!important}.loom input:-webkit-autofill:focus{-webkit-box-shadow:inset 0 0 0 1000px var(--surface),0 0 0 3px var(--accent-soft)!important;box-shadow:inset 0 0 0 1000px var(--surface),0 0 0 3px var(--accent-soft)!important}.loom{--radius-control:12px;--radius-row:12px;--radius-panel:20px;--canvas:#09090c;--panel:#111114;--surface:#19191e;--hover:#222228;--line:#2b2b32;--line-strong:#3c3b46;--text:#f4f3f7;--muted:#a5a3af;--faint:#706e7c;--accent:#a78bfa;--accent-strong:#8b5cf6;--accent-soft:rgba(167,139,250,.12);--danger:#f08d9f;--green:#79cbaa;--shadow:0 12px 40px #0003;color:var(--text);color-scheme:dark;font:14px/1.5 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:-.015em}.loom.theme-light{--canvas:#eeedf2;--panel:#fdfdfe;--surface:#f4f3f7;--hover:#eceaf1;--line:#e3e1e9;--line-strong:#cbc6d8;--text:#24212e;--muted:#716a80;--faint:#9690a2;--accent:#7c4ed7;--accent-strong:#8055dc;--accent-soft:rgba(139,92,246,.09);--danger:#bf4662;--green:#308365;--shadow:0 10px 30px #30244308;color-scheme:light}.loom *,.loom *:before,.loom *:after{box-sizing:border-box}.loom button,.loom input,.loom textarea,.loom select{font:inherit;letter-spacing:inherit}.loom button{cursor:pointer}.loom button{color:inherit}.loom button:disabled{cursor:not-allowed;opacity:.45}.loom a{color:var(--accent);text-decoration:none}.loom h1,.loom h2,.loom h3,.loom h4,.loom p{margin:0}.loom h1{font-size:27px;line-height:1.25;letter-spacing:-.045em;font-weight:600}.loom h2{font-size:21px;line-height:1.4;font-weight:600;letter-spacing:-.03em}.loom h3{font-size:15px;font-weight:550;line-height:1.5}.loom svg{flex-shrink:0;vertical-align:middle}.loom ::selection{background:#9670e855}.loom :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.loom button,.loom a{touch-action:manipulation}.loom ::-webkit-scrollbar{width:5px;height:5px}.loom ::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px}.loom .panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:inset 0 1px #ffffff04,var(--shadow);min-width:0;min-height:0;overflow:hidden}.loom .btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius-control);min-height:38px;padding:8px 14px;background:var(--surface);font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s}.loom .btn:hover{background:var(--hover);border-color:var(--line-strong)}.loom .btn.primary{background:linear-gradient(115deg,#9870ee,#8054d3);color:#fff;border-color:transparent;box-shadow:0 3px 14px #8b5cf618}.loom .btn.primary:hover{filter:brightness(1.08)}.loom .btn.soft{background:var(--accent-soft);border-color:#a78bfa28;color:var(--accent)}.loom .btn.ghost{background:transparent;border-color:transparent}.loom .btn.small{min-height:30px;padding:5px 10px;font-size:12px}.loom .btn.danger,.loom .danger{color:var(--danger)}.loom .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;flex-shrink:0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);transition:background .15s,color .15s}.loom .icon-btn:hover,.loom .icon-btn.active{background:var(--hover);color:var(--text)}.loom .icon-btn.active{background:var(--accent-soft);color:var(--accent)}.loom .muted{color:var(--muted)}.loom .faint{color:var(--faint)}.loom .accent{color:var(--accent)}.loom .row-line{display:flex;align-items:center;gap:10px}.loom .spread{justify-content:space-between}.loom .grow{flex:1;min-width:0}.loom .truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.loom .eyebrow{color:var(--faint);font-size:12px;text-transform:none;letter-spacing:normal;font-weight:500}.loom .pill{display:inline-flex;align-items:center;gap:5px;background:var(--accent-soft);border:1px solid #a78bfa24;color:var(--accent);border-radius:7px;padding:3px 8px;font-size:11px}.loom .divider{height:1px;background:var(--line);margin:14px 0}.loom .field{width:100%;min-height:40px;padding:9px 12px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);outline:none}.loom .field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.loom .field::placeholder{color:var(--faint)}.loom label.field-label{display:grid;gap:7px;color:var(--muted);font-size:12px}.loom .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.loom .search-field{display:flex;align-items:center;gap:9px;color:var(--faint);border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-control);padding:0 11px;height:38px}.loom .search-field input{border:0;outline:0;background:transparent;color:var(--text);width:100%;min-width:0}.loom .search-field input::placeholder{color:var(--faint)}.loom kbd{border:1px solid var(--line-strong);border-radius:4px;font:10px/1.5 inherit;padding:1px 5px;color:var(--faint);white-space:nowrap}.loom .empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;text-align:center;padding:48px 25px;flex:1}.loom .empty p{max-width:340px;color:var(--muted);font-size:13px;line-height:1.7}.loom .empty-symbol{height:64px;width:64px;background:var(--accent-soft);border:1px solid #a78bfa25;border-radius:20px;display:grid;place-items:center;color:var(--accent);margin-bottom:6px}.loom .error-banner{border:1px solid #f08d9f30;background:#f08d9f0c;color:var(--danger);padding:12px 16px;border-radius:10px;font-size:12px;display:flex;align-items:center;gap:12px}.loom .loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--muted)}.loom .spin{animation:loom-spin 1s linear infinite}@keyframes loom-spin{to{transform:rotate(360deg)}}.loom .avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#675090,#a488d5);color:#eee5ff;font-weight:600;font-size:12px;flex-shrink:0}.loom .switch{appearance:none;width:34px;height:20px;border-radius:12px;background:var(--line-strong);position:relative;cursor:pointer;transition:background .2s;border:0;flex-shrink:0}.loom .switch:before{content:"";position:absolute;width:14px;height:14px;top:3px;left:3px;background:#fff;border-radius:50%;transition:transform .2s}.loom .switch:checked{background:var(--accent-strong)}.loom .switch:checked:before{transform:translate(14px)}.loom .option-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 0;border-bottom:1px solid var(--line)}.loom .option-row p{font-size:12px;color:var(--muted);margin-top:5px;max-width:420px}.loom.modal{display:flex;flex-direction:column;width:600px;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 64px)!important;background:var(--panel);border:1px solid var(--line-strong);border-radius:20px;box-shadow:0 32px 100px #0007;overflow:hidden}.loom.modal.wide{width:1040px}.loom.modal.small{width:450px}.loom .modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px}.loom .modal-head p{color:var(--muted);font-size:12px;margin-top:5px}.loom .modal-body{padding:0 26px 26px;overflow:auto}.loom .modal-footer{padding:18px 26px;display:flex;gap:10px;justify-content:flex-end;align-items:center;border-top:1px solid var(--line)}.loom .menu-popover{padding:6px;width:232px;background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 14px 40px #0005;z-index:30}.loom .menu-popover button{display:flex;align-items:center;gap:10px;padding:9px 10px;width:100%;background:transparent;border:0;border-radius:7px;text-align:left;font-size:12px}.loom .menu-popover button:hover{background:var(--hover)}.loom .menu-popover .divider{margin:5px}.loom .menu-anchor{position:relative}.loom .menu-anchor>.menu-popover{position:absolute;top:calc(100% + 8px);right:0}.loom .tabs{display:flex;gap:4px;flex-wrap:wrap}.loom .tabs button{background:transparent;border:1px solid var(--line);border-radius:20px;padding:6px 13px;font-size:12px;color:var(--muted)}.loom .tabs button.active{background:var(--accent-soft);border-color:#a78bfa44;color:var(--accent)}@media (max-width:650px){.loom.modal{max-height:calc(100dvh - 24px)!important;max-width:calc(100vw - 20px)!important;border-radius:16px}.loom .modal-head{padding:20px}.loom .modal-body{padding:0 20px 20px}.loom .modal-footer{padding:16px 20px}.loom .field-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.loom *{animation:none!important;transition:none!important}}.loom .task-form{display:flex;flex-direction:column;gap:22px}.loom .task-title-input{display:flex;gap:12px;align-items:center;margin-bottom:4px}.loom .task-title-input>svg{color:var(--accent)}.loom .task-title-input input{background:none;border:0;outline:0;font-size:21px;color:var(--text);font-weight:500;width:100%;min-height:36px}.loom .task-title-input input::placeholder{color:var(--faint)}.loom .form-property{display:grid;grid-template-columns:124px minmax(0,1fr);gap:14px;align-items:start}.loom .form-property>label{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);min-height:32px}.loom .form-property .field{font-size:12px;min-height:34px;padding:7px 10px}.loom .choice-chips{display:flex;gap:5px;flex-wrap:wrap}.loom .choice-chips .btn{font-size:10px;padding:5px 8px;min-height:29px;border-radius:7px}.loom .date-field{margin-top:10px}.loom .field-hint{font-size:10px;color:var(--faint);display:block;margin-top:7px}.loom .priority-dot{height:5px;width:5px;border-radius:50%;flex-shrink:0}.loom .share-context{display:flex;gap:14px;padding:18px;background:var(--accent-soft);border:1px solid #a78bfa23;border-radius:12px;margin-bottom:25px}.loom .share-context>svg{color:var(--accent);margin-top:2px}.loom .share-context h3{font-size:13px}.loom .share-context p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:5px}.loom .member-row{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);font-size:11px}.loom .member-row b{font-size:12px;font-weight:500}.loom .member-row p{font-size:11px;color:var(--faint);margin-top:3px}.loom .share-footnote{display:flex;align-items:flex-start;gap:10px;font-size:10px;color:var(--faint);margin-top:22px;line-height:1.7}.loom .invitation-result{display:flex;gap:10px;padding:15px;border:1px solid #79cbaa33;border-radius:12px;background:#79cbaa0a;margin-bottom:22px;color:var(--green)}.loom .invitation-result b{font-size:12px;font-weight:500}.loom .invitation-result p{font-size:11px;line-height:1.7;color:var(--muted);margin:6px 0 12px}.loom .invitation-result input{font-size:10px}@media (max-width:650px){.loom .form-property{grid-template-columns:1fr;gap:6px}.loom .form-property>label{min-height:20px}.loom .task-form{gap:18px}.loom .share-context{padding:13px}.loom .share-context>svg{display:none}.loom .modal-footer>.grow{display:none}}.loom.modal{padding:0;outline:none;overscroll-behavior:contain}.loom.modal:not([open]){display:none}.loom.modal::backdrop{background:#0008;backdrop-filter:blur(6px)}body:has(dialog[open]){overflow:hidden}.loom.menu-popover[popover]{position:fixed;inset:auto;margin:0;padding:7px;width:max-content;min-width:190px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;background:var(--panel);border:1px solid var(--line-strong);border-radius:13px;box-shadow:0 16px 50px #0005;color:var(--text)}.loom.menu-popover[popover]:not(:popover-open){display:none}.loom.menu-popover button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:8px;background:none;text-align:left;font-size:12px;min-height:37px}.loom.menu-popover button:hover,.loom.menu-popover button:focus-visible{background:var(--hover);outline:0}.loom.menu-popover button[aria-selected=true]{color:var(--accent);background:var(--accent-soft)}.loom.menu-popover .divider{margin:5px 4px}.loom .loom-select{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--text);min-height:36px;padding:7px 10px}.loom .loom-select>span{flex:1}.loom .loom-select>svg{color:var(--muted);margin-left:auto}.loom .loom-select[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft)}.loom.toast-stack{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:grid;gap:8px;z-index:1000;max-width:calc(100vw - 32px);pointer-events:none}.loom .toast{display:flex;align-items:center;gap:10px;max-width:520px;padding:10px 13px 10px 16px;background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow);font-size:12px;pointer-events:auto}.loom .toast>svg{color:var(--accent)}.loom .toast.negative>svg{color:var(--danger)}.loom .modal-content{display:flex;flex-direction:column;min-height:0;overflow:hidden}.loom [data-loom-menu-host]{display:contents}html,body,#app{margin:0;min-width:320px;min-height:100%;background:#09090c}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,.loom-select{font:inherit}.app-start{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:var(--canvas);padding:24px;text-align:center}.app-start>img{width:42px;height:42px}
