.shell .cmodal-scrim{position:fixed;inset:0;z-index:9000;background:color-mix(in oklab,#0d0c0a 60%,transparent);backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px;animation:cmodal-in .18s ease-out}@keyframes cmodal-in{0%{opacity:0}to{opacity:1}}.shell .cmodal{position:relative;width:100%;max-width:540px;max-height:calc(100vh - 48px);background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:0 30px 80px -20px rgba(0,0,0,.45),0 0 0 1px var(--border);overflow-y:auto;animation:cmodal-pop .22s cubic-bezier(.3,1.3,.4,1)}@keyframes cmodal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.shell .cmodal-x{position:absolute;top:14px;right:14px;z-index:2;width:30px;height:30px;background:var(--surface-2);border:0;border-radius:50%;display:grid;place-items:center;color:var(--text-2);transition:background .15s}.shell .cmodal-x:hover{background:var(--surface-3);color:var(--text)}.shell .cmodal-head{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center;padding:22px 24px 18px;border-bottom:1px solid var(--border)}.shell .cmodal-art{width:56px;height:56px;border-radius:14px;overflow:hidden;position:relative;box-shadow:0 0 0 1px var(--border),0 6px 14px -4px color-mix(in oklab,var(--ax) 40%,transparent)}.shell .cmodal-art .app-art{width:100%;height:100%;aspect-ratio:auto}.shell .cmodal-head h2{font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.15}.shell .cmodal-head h2 b{color:var(--ax);font-weight:600}.shell .cmodal-head p{margin:2px 0 0;color:var(--muted);font-size:13px}.shell .cmodal-head p i{font-style:normal;color:var(--text-2);font-weight:500}.shell .cmodal-body{padding:20px 24px;display:flex;flex-direction:column;gap:18px}.shell .cm-sect{display:flex;flex-direction:column;gap:8px}.shell .cm-h{margin:0;font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:-.005em;display:flex;align-items:baseline;gap:6px}.shell .cm-h-opt{font-style:normal;font-weight:400;color:var(--muted);font-size:11.5px;font-family:var(--mono)}.shell .cm-me{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.shell .cm-me-id{display:flex;flex-direction:column;line-height:1.2;min-width:0}.shell .cm-me-id b{font-size:13.5px}.shell .cm-me-id i{font-style:normal;color:var(--muted);font-size:12px}.shell .cm-me-edit{font-size:11.5px;color:var(--ax);font-weight:500;cursor:pointer}.shell .cm-me-edit:hover{text-decoration:underline}.shell .cm-roles{display:grid;grid-template-columns:1fr 1fr;gap:6px}.shell .cm-role{position:relative;text-align:left;background:transparent;border:1px solid var(--border);border-radius:10px;padding:9px 12px;font:inherit;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;transition:all .15s}.shell .cm-role:hover{background:var(--surface-2)}.shell .cm-role.is-on{border-color:var(--ax);background:var(--ax-tint);box-shadow:0 0 0 3px var(--ax-soft)}.shell .cm-role-dot{grid-row:1/span 2;width:14px;height:14px;border-radius:50%;background:var(--surface);border:1.5px solid var(--border-2);flex-shrink:0;position:relative}.shell .cm-role.is-on .cm-role-dot{border-color:var(--ax)}.shell .cm-role.is-on .cm-role-dot:after{content:"";position:absolute;inset:2px;background:var(--ax);border-radius:50%}.shell .cm-role b{font-size:12.5px;font-weight:600}.shell .cm-role i{font-style:normal;font-size:11px;color:var(--muted);line-height:1.3;grid-column:2}.shell .cm-input,.shell .cm-textarea{width:100%;box-sizing:border-box;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font:inherit;font-size:13.5px;color:var(--text);outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s;font-family:var(--font)}.shell .cm-textarea{min-height:90px}.shell .cm-input:focus,.shell .cm-textarea:focus{border-color:var(--ax);box-shadow:0 0 0 3px var(--ax-soft)}.shell .cm-textarea::placeholder{color:var(--muted-2)}.shell .cm-counter{align-self:flex-end;font-family:var(--mono);font-size:10.5px;color:var(--muted)}.shell .cm-warn{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px 14px;background:color-mix(in oklab,#f59e0b 8%,var(--surface-2));border:1px solid color-mix(in oklab,#f59e0b 25%,var(--border));border-radius:10px}.shell .cm-warn-glyph{width:24px;height:24px;background:#f59e0b;color:#fff;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.shell .cm-warn b{font-size:12.5px;display:block;margin-bottom:2px}.shell .cm-warn p{margin:0;font-size:12px;line-height:1.5;color:var(--text-2)}.shell .cm-warn p b{display:inline;margin:0}.shell .cm-consent{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;cursor:pointer;user-select:none;transition:all .15s}.shell .cm-consent:hover{border-color:var(--border-2);background:var(--surface-3)}.shell .cm-consent:has(input:checked){background:var(--ax-tint);border-color:color-mix(in oklab,var(--ax) 40%,var(--border))}.shell .cm-consent input{appearance:none;width:18px;height:18px;margin:1px 0 0;background:var(--surface);border:1.5px solid var(--border-2);border-radius:6px;cursor:pointer;position:relative;flex-shrink:0;transition:all .15s}.shell .cm-consent input:hover{border-color:var(--ax)}.shell .cm-consent input:checked{background:var(--ax);border-color:var(--ax);box-shadow:0 0 0 4px var(--ax-soft)}.shell .cm-consent input:checked:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m4 9 3.5 3.5L14 6'/></svg>");background-repeat:no-repeat;background-position:50%;animation:cm-check .2s cubic-bezier(.3,1.3,.4,1)}@keyframes cm-check{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.shell .cm-consent span{font-size:12.5px;line-height:1.5;color:var(--text-2)}.shell .cm-consent b{color:var(--text);font-weight:600}.shell .cmodal-foot{display:flex;gap:8px;justify-content:flex-end;padding:16px 24px 18px;border-top:1px solid var(--border);background:var(--surface-2);position:sticky;bottom:0}.shell .cmodal-foot .btn-publish:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.shell .cm-done{padding:36px 28px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.shell .cm-done-bubble{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin-bottom:6px;box-shadow:0 12px 28px -8px color-mix(in oklab,var(--ax) 55%,transparent);animation:cm-bubble-in .5s cubic-bezier(.3,1.6,.4,1)}@keyframes cm-bubble-in{0%{transform:scale(0)}to{transform:none}}.shell .cm-done h2{font-family:var(--display);font-size:22px;font-weight:600;margin:4px 0 0;letter-spacing:-.02em}.shell .cm-done>p{margin:0;color:var(--muted);max-width:38ch;text-wrap:pretty;font-size:13.5px}.shell .cm-done-card{width:100%;margin-top:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:14px;text-align:left}.shell .cm-done-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.shell .cm-done-tag{color:#fff;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:999px}.shell .cm-done-when{font-family:var(--mono);font-size:11px;color:var(--muted)}.shell .cm-done-card p{margin:0 0 10px;font-size:13px;line-height:1.5;color:var(--text-2);text-wrap:pretty}.shell .cm-done-card footer{display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--border);font-size:12px}.shell .cm-done-card footer b{font-weight:600}.shell .cm-done-actions{display:flex;gap:8px;margin-top:18px}.shell .topbar-bell-wrap{position:relative}.shell .topbar-bell{position:relative;width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;color:var(--text-2);transition:all .15s}.shell .topbar-bell:hover{background:var(--surface-2);border-color:var(--border-2)}.shell .topbar-bell.is-on{background:var(--ax);color:#fff;border-color:var(--ax)}.shell .topbar-bell-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;background:#ef4444;color:#fff;font-family:var(--mono);font-size:10.5px;font-weight:700;border-radius:999px;display:grid;place-items:center;padding:0 5px;box-shadow:0 0 0 2px var(--bg)}.shell .notifs{position:absolute;top:calc(100% + 8px);right:0;width:440px;max-height:600px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 50px -10px rgba(0,0,0,.3),0 0 0 1px var(--border);z-index:100;display:flex;flex-direction:column;overflow:hidden;animation:notifs-in .16s cubic-bezier(.3,1,.4,1)}@keyframes notifs-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.shell .notifs-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border)}.shell .notifs-head h3{font-family:var(--display);font-size:17px;font-weight:700;margin:0;letter-spacing:-.015em}.shell .notifs-badge{background:#ef4444;color:#fff;border:0;min-width:26px;height:26px;border-radius:999px;font:inherit;font-size:12px;font-weight:700;font-family:var(--mono);cursor:pointer;display:grid;place-items:center;padding:0 8px;transition:transform .12s,box-shadow .12s}.shell .notifs-badge:hover{transform:scale(1.06);box-shadow:0 4px 10px -2px rgba(239,68,68,.4)}.shell .notifs-empty{padding:32px 18px;margin:0;text-align:center;font-size:13px;color:var(--muted)}.shell .notifs-list{flex:1;min-height:0;overflow-y:auto;list-style:none;padding:0;margin:0}.shell .notif{position:relative}.shell .notif+.notif{border-top:1px solid var(--border)}.shell .notif-trigger{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;width:100%;padding:14px 18px;background:transparent;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:background .12s}.shell .notif.is-clickable .notif-trigger:hover{background:var(--surface-2)}.shell .notif:not(.is-clickable) .notif-trigger{cursor:default}.shell .notif-avatar{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em;text-shadow:0 1px 1px rgba(0,0,0,.18);user-select:none;flex-shrink:0}.shell .notif-line1{margin:0;font-size:13.5px;line-height:1.4;color:var(--text)}.shell .notif-line1 b{font-weight:700}.shell .notif-line2{margin:2px 0 0;font-size:12.5px;line-height:1.35;color:var(--muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.shell .notif-glyph{width:28px;height:28px;display:grid;place-items:center;color:var(--text);flex-shrink:0}.shell .notif-glyph-filled{color:var(--text)}.shell .notif-glyph-success{color:#22c55e}.shell .notif-pill-new{font-family:var(--font);font-size:12px;font-weight:600;color:#8b5cf6;padding:0 4px;letter-spacing:-.005em;flex-shrink:0}.shell .notif-expand{padding:0 18px 14px 70px;display:flex;flex-direction:column;gap:8px;animation:notif-expand-in .16s cubic-bezier(.3,1,.4,1)}@keyframes notif-expand-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.shell .notif-body{display:flex;flex-direction:column;gap:4px;min-width:0}.shell .notif-note{margin:4px 0;padding:10px 12px;background:var(--surface-2);border-left:2px solid var(--ax);border-radius:4px 8px 8px 4px;font-size:12.5px;line-height:1.5;color:var(--text-2);text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.shell .notif-contact-info{display:flex;flex-direction:column;gap:2px;margin-top:4px;font-size:11.5px;color:var(--muted);font-family:var(--mono)}.shell .notif-contact-info b{color:var(--text-2);font-weight:600;font-family:var(--font)}.shell .notif-actions{display:flex;gap:6px;align-items:center;margin-top:8px}.shell .notif-btn{height:30px;padding:0 12px;font-size:12px}.shell .notif-x{margin-left:auto;width:28px;height:28px;background:transparent;border:0;border-radius:6px;color:var(--muted);display:grid;place-items:center;transition:all .15s}.shell .notif-x:hover{background:var(--surface-3);color:var(--text)}.shell .notif-accepted{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:6px 10px;background:color-mix(in oklab,#22c55e 12%,var(--surface-2));border:1px solid color-mix(in oklab,#22c55e 25%,var(--border));border-radius:8px;font-size:11.5px;color:var(--text-2);font-family:var(--mono)}.shell .notif-accepted a{color:var(--ax);text-decoration:none;font-weight:500}.shell .notif-accepted a:hover{text-decoration:underline}.shell .notif-accepted svg{color:#22c55e}.shell .bell-btn{position:relative;display:grid;place-items:center;width:36px;height:36px;padding:0;background:transparent;border:0;border-radius:10px;color:var(--text-2);font-size:16px;transition:background .15s,color .15s}.shell .bell-btn:hover{background:var(--surface-2);color:var(--text)}.shell .bell-btn:focus-visible{outline:2px solid var(--ax);outline-offset:2px}.shell .bell-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;line-height:1;padding:1px 5px;border-radius:999px;display:grid;place-items:center;box-shadow:0 0 0 2px var(--bg);pointer-events:none}.shell .notifs-anchor{position:relative}.shell .notifs-anchor>.notifs{top:100%;right:0;margin-top:8px}.shell .push-prompt{position:fixed;bottom:16px;right:16px;z-index:200;width:280px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 8px 30px -8px rgba(0,0,0,.28),0 0 0 .5px var(--border);padding:12px 14px;display:flex;flex-direction:column;gap:8px;animation:push-prompt-in .2s cubic-bezier(.3,1.3,.4,1)}@keyframes push-prompt-in{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}.shell .push-prompt p{margin:0;font-size:13px;line-height:1.45;color:var(--text-2)}.shell .push-prompt strong{font-weight:600;color:var(--text)}.shell .push-prompt-actions{display:flex;align-items:center;gap:8px}