.composer{max-width:720px;margin:0 auto;padding:24px 20px 72px}.composer-blocks{border:1px solid var(--gray-dashed,#d1d5db);background:var(--surface-card,#fff);border-radius:14px;flex-direction:column;gap:2px;padding:8px 8px 8px 0;display:flex}.composer-block{align-items:flex-start;gap:4px;display:flex}.composer-block-add{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-subtle,#9ca3af);cursor:pointer;opacity:.35;background:0 0;border:none;flex-shrink:0;margin-top:6px;font-size:12px;transition:opacity .15s ease-out,background .15s ease-out,color .15s ease-out}.composer-block:hover .composer-block-add{opacity:1}.composer-block-add:hover{color:var(--brand);background:#ef44441f}.composer-text-block{resize:none;min-width:0;color:var(--text-strong,#111827);font-size:var(--text-body-size);background:0 0;border:none;outline:none;flex:1;padding:6px 8px;font-family:inherit;line-height:1.6;overflow:hidden}.composer-text-block::placeholder{color:var(--text-subtle,#9ca3af)}.composer-image-block{border-radius:var(--radius-md);flex:1;min-width:0;margin:4px 8px;line-height:0;position:relative;overflow:hidden}.composer-image-block img{border-radius:var(--radius-md);width:100%;height:auto;display:block}.composer-image-remove{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--rv-white);font-size:var(--text-sm);cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.composer-image-remove:hover{background:#ef4444e6}.composer-block-toolbar{gap:8px;margin-top:10px;display:flex}.composer-block-btn{border:1px solid var(--border,#e5e7eb);background:var(--surface-page,#f7f7fa);height:40px;color:var(--text-muted,#6b7280);font-size:var(--text-sm);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:0 16px;font-family:inherit;font-weight:600;transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out;display:inline-flex}.composer-block-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.composer-block-btn:disabled{opacity:.5;cursor:not-allowed}.share-modal-overlay{z-index:var(--z-modal,2100);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;place-items:center;padding:16px;animation:.16s ease-out shareModalFade;display:grid;position:fixed;inset:0}.share-modal-panel{background:var(--surface-card,#fff);border:1px solid var(--border,#e5e7eb);width:100%;max-width:720px;height:min(760px,100dvh - 32px);animation:shareModalFade .2s var(--ease-out), shareModalRise var(--motion-spring) var(--ease-spring-soft);border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px -20px #0006}.share-modal-panel .composer{flex-direction:column;flex:1;max-width:none;min-height:0;margin:0;padding:0;display:flex}.share-modal-head{border-bottom:1px solid var(--border,#e5e7eb);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 14px 24px;display:flex}.share-modal-title{font-size:var(--text-body-size);color:var(--text-strong,#111827);margin:0;font-weight:700}.share-modal-close{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:background .15s ease-out,color .15s ease-out;display:flex}.share-modal-close:hover{background:var(--surface-inset,#f3f4f6);color:var(--text-strong,#111)}.share-modal-close:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.share-modal-guard{z-index:10;background:color-mix(in srgb, var(--surface-card,#fff) 82%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:20px;animation:.16s ease-out shareModalFade;display:grid;position:absolute;inset:0}.share-modal-guard-card{border-radius:var(--radius-lg);background:var(--surface-card,#fff);border:1px solid var(--border,#e5e7eb);width:100%;max-width:380px;padding:24px;box-shadow:0 20px 50px -18px #00000059}.share-modal-guard-card h3{color:var(--text-strong,#111827);margin:0 0 8px;font-size:19px;font-weight:800}.share-modal-guard-card p{color:var(--text-muted,#6b7280);margin:0 0 20px;font-size:14px;line-height:1.5}.share-modal-guard-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@keyframes shareModalFade{0%{opacity:0}to{opacity:1}}@keyframes shareModalRise{0%{transform:translateY(12px)}to{transform:translateY(0)}}@media (max-width:600px){.share-modal-overlay{padding:0}.share-modal-panel{border:none;border-radius:0;max-width:none;height:100dvh}.share-modal-head{padding:8px 8px 8px 16px}.share-modal-guard-actions .composer-btn{flex:1}}.composer-title{font-size:var(--text-h1);color:var(--gray-900);align-items:center;gap:10px;margin-bottom:4px;font-weight:800;display:flex}.composer-title i{color:var(--brand);font-size:var(--text-h2)}.composer-sub{color:var(--gray-500);margin:6px 0 24px;font-size:14px}.composer-field{margin-bottom:20px;display:block}.composer-label{font-size:var(--text-sm);color:var(--gray-700,#374151);align-items:center;gap:6px;margin-bottom:7px;font-weight:600;display:flex}.composer-required{color:var(--brand)}.composer-optional{color:var(--gray-400);font-size:12px;font-weight:500}.composer-input{width:100%;font-size:var(--text-body-size);color:var(--gray-900);background:var(--surface-card);border:1.5px solid var(--border);border-radius:var(--radius-md);min-height:48px;padding:11px 14px;font-family:inherit;transition:border-color .15s ease-out,box-shadow .15s ease-out}.composer-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #ef44441f}.composer-hint{color:var(--gray-500);align-items:center;gap:4px;margin-top:6px;font-size:12px;display:flex}.composer-hint kbd{background:var(--surface-inset);border:1px solid var(--border-strong);font-size:var(--text-meta);font-family:var(--font-mono,monospace);border-radius:4px;padding:1px 5px;display:inline-block}.composer-cover-section{margin-bottom:20px}.composer-cover-btn{border:2px dashed var(--border-strong);border-radius:var(--radius-md);width:100%;height:56px;color:var(--text-muted);cursor:pointer;background:#fafafa;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-size:14px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:flex}.composer-cover-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand);background:#fff5f5}.composer-cover-btn:disabled{opacity:.6;cursor:not-allowed}.composer-cover-preview{border-radius:var(--radius-md);aspect-ratio:2;background:var(--surface-inset);position:relative;overflow:hidden}.composer-cover-preview img{object-fit:cover;width:100%;height:100%;display:block}.composer-cover-remove{width:32px;height:32px;color:var(--rv-white);cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:12px;transition:background .15s;display:flex;position:absolute;top:8px;right:8px}.composer-cover-remove:hover{background:#000000bf}.composer-editor-header{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.composer-tabs{align-items:center;gap:6px;display:flex}.composer-tab{appearance:none;border:1.5px solid var(--border);background:var(--surface-card);color:var(--gray-500);font-size:var(--text-sm);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:6px;min-height:36px;padding:7px 14px;font-family:inherit;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.composer-tab.active{color:var(--brand);border-color:var(--brand)}.composer-tab i{font-size:12px}.composer-toolbar{background:var(--surface-page,#f7f7fa);border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-md);align-items:center;gap:6px;padding:6px 8px;display:flex}.composer-toolbar-strip{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;align-items:center;gap:2px;min-width:0;padding:3px 0;display:flex;overflow-x:auto}.composer-toolbar-strip::-webkit-scrollbar{display:none}.composer-tool-slot{flex-shrink:0;align-items:center;display:inline-flex}.composer-tool-sep{background:var(--border,#e5e7eb);flex-shrink:0;width:1px;height:24px;margin:0 5px}.composer-tool-btn{appearance:none;color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;transition:background .15s ease-out,color .15s ease-out;display:flex}.composer-tool-btn:hover:not(:disabled){background:var(--surface-inset,#f3f4f6);color:var(--text-strong,#111827)}.composer-tool-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.composer-tool-btn:disabled{opacity:.4;cursor:not-allowed}.composer-tool-btn.is-active{color:var(--brand-hover);background:#ef44441a}@media (hover:none){.composer-tool-btn{width:44px;height:44px}}.composer-tool-style{flex-shrink:0;position:relative}.composer-tool-style-btn{border:1px solid var(--border,#e5e7eb);background:var(--surface-card,#fff);height:40px;min-height:40px;color:var(--text-body,#374151);font-size:var(--text-sm);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 12px;font-family:inherit;font-weight:600;transition:background .15s ease-out,border-color .15s ease-out;display:inline-flex}.composer-tool-style-btn:hover:not(:disabled){background:var(--surface-inset,#f3f4f6)}.composer-tool-style-btn:disabled{opacity:.5;cursor:not-allowed}.composer-tool-style-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.composer-tool-style-name{white-space:nowrap}.composer-tool-style-btn i{font-size:var(--text-sm)}@media (hover:none){.composer-tool-style-btn{height:44px;min-height:44px}}.composer-tool-menu{z-index:6;background:var(--surface-raised,#fff);border:1px solid var(--border,#e5e7eb);min-width:200px;animation:shareModalFade .16s var(--ease-out), composerMenuIn var(--motion-spring) var(--ease-spring);border-radius:14px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 30px -10px #0000002e}@keyframes composerMenuIn{0%{transform:translateY(-4px)}to{transform:translateY(0)}}.composer-tool-menu-item{width:100%;min-height:44px;color:var(--text-strong,#111827);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:0 12px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s ease-out;display:flex}.composer-tool-menu-item>span{flex:1}.composer-tool-menu-item i{font-size:var(--text-body-size);color:var(--text-muted,#6b7280)}.composer-tool-menu-item:hover{background:var(--surface-inset,#f3f4f6)}.composer-tool-menu-item.is-active,.composer-tool-menu-item.is-active i{color:var(--brand-hover)}.composer-textarea{width:100%;font-size:var(--text-body-size);font-family:var(--font-mono,"JetBrains Mono", "Courier New", monospace);color:var(--gray-900);background:var(--surface-card);border:1.5px solid var(--border);border-radius:var(--radius-md);resize:vertical;tab-size:2;min-height:320px;padding:14px 16px;line-height:1.65;transition:border-color .15s ease-out,box-shadow .15s ease-out}.composer-textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #ef44441f}.composer-preview{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);min-height:320px;font-size:var(--text-body-size);color:var(--rv-gray-800);padding:16px 18px;line-height:1.7}.composer-preview-empty{color:var(--gray-400);font-style:italic}.composer-body-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.composer-char-count{color:var(--gray-400);white-space:nowrap;flex-shrink:0;font-size:11.5px}.composer-tags-input{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);cursor:text;flex-wrap:wrap;align-items:center;gap:6px;min-height:48px;padding:8px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.composer-tags-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #ef44441f}.composer-tag-chip{color:var(--brand-hover);font-size:var(--text-sm);border-radius:var(--radius-pill);background:#ffefef;align-items:center;gap:5px;padding:4px 10px;font-weight:600;display:inline-flex}.composer-tag-remove{appearance:none;color:var(--brand-hover);cursor:pointer;min-width:44px;min-height:44px;font-size:var(--text-meta);opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;margin:-14px -14px -14px -8px;padding:0;line-height:1;display:inline-flex}.composer-tag-remove:hover{opacity:1}.composer-tag-remove:focus-visible{opacity:1;outline:2px solid var(--brand-hover);outline-offset:1px;border-radius:var(--radius-pill)}.composer-tag-field{color:var(--gray-900);background:0 0;border:none;outline:none;flex:1;min-width:120px;height:32px;font-family:inherit;font-size:14px}.composer-tag-field::placeholder{color:var(--gray-400)}.composer-msg{border-radius:var(--radius-md);align-items:center;gap:8px;margin-bottom:18px;padding:10px 14px;font-size:13.5px;font-weight:600;display:flex}.composer-msg.error{color:var(--rv-red-deep);background:#ffefef}.composer-msg.ok{color:#15803d;background:#e9fceb}.composer-actions{align-items:center;gap:10px;margin-top:8px;display:flex}.composer-btn{border-radius:var(--radius-pill);cursor:pointer;border:1.5px solid var(--border);background:var(--surface-card);height:48px;color:var(--gray-900);justify-content:center;align-items:center;gap:8px;padding:0 24px;font-family:inherit;font-size:14px;font-weight:700;text-decoration:none;transition:transform .15s ease-out,opacity .15s;display:inline-flex}.composer-btn:hover:not(:disabled){transform:translateY(-1px)}.composer-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.composer-btn.primary{background:linear-gradient(135deg, var(--brand) 0%, var(--brand-hover) 100%);color:var(--text-onbrand);border:none}.composer-btn-danger{color:var(--rv-red-deep);background:0 0;border-color:#b91c1c59}.composer-btn-danger:hover:not(:disabled){background:#b91c1c14}.composer-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.composer-success-screen{text-align:center;padding:60px 20px}.composer-success-icon{color:var(--success);margin-bottom:16px;font-size:56px}.composer-success-title{font-size:var(--text-h1);color:var(--text-strong);margin-bottom:8px;font-weight:800}.composer-success-sub{font-size:var(--text-body-size);color:var(--text-muted);max-width:400px;margin:0 auto}@media (max-width:480px){.composer{padding:16px 16px 64px}.composer:not(.composer-canvas) .composer-actions{flex-direction:column-reverse;align-items:stretch}.composer:not(.composer-canvas) .composer-btn{width:100%}.composer-toolbar{gap:4px;padding:5px 6px}.composer-body-footer{flex-direction:column;align-items:flex-start;gap:4px}}.composer-canvas{max-width:720px;padding:32px 20px 0}.composer-canvas.is-modal{max-width:none;padding:0}.composer-canvas-scroll{min-width:0}.composer-canvas.is-modal .composer-canvas-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:0 28px 8px;overflow-y:auto}.composer-canvas .composer-toolbar{top:var(--header-height,80px);z-index:3;margin:0 0 20px;position:sticky}.composer-canvas.is-modal .composer-toolbar{border:none;border-bottom:1px solid var(--border,#e5e7eb);background:var(--surface-card,#fff);border-radius:0;margin:0 -28px 20px;padding:8px 28px;top:0}.composer-canvas-heading{font-size:var(--text-body-size);color:var(--text-muted,#6b7280);margin:0 0 6px;font-weight:700}.composer-restore{border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-body,#374151);background:#60a5fa1f;border:1px solid #60a5fa52;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px;padding:10px 14px;display:flex}.composer-restore>i{color:#2563eb;font-size:14px}.composer-restore-text{flex:1;min-width:160px;line-height:1.45}.composer-restore-btn{border-radius:var(--radius-pill);color:#1d4ed8;min-height:44px;font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #2563eb66;padding:0 14px;font-family:inherit;font-weight:700;transition:background .15s ease-out}.composer-restore-btn:hover{background:#2563eb1a}.composer-restore-btn.ghost{color:var(--text-body,#374151);border-color:#0000}.composer-anon-row{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 18px;display:flex}.composer-anon-label{font-size:var(--text-sm);color:var(--rv-gray-600);font-weight:700}.composer-anon-row .segmented{margin:0}.composer-anon-strip{border-radius:var(--radius-md);background:var(--surface-inset);border:1px solid var(--border);flex-wrap:wrap;align-items:flex-start;gap:6px 10px;margin:0 0 18px;padding:12px 14px;animation:.18s ease-out composerAnonIn;display:flex}.composer-anon-strip>i{color:var(--text-muted);flex-shrink:0;margin-top:3px;font-size:16px;line-height:1}.composer-anon-strip-body{flex:220px;min-width:0}.composer-anon-head{font-size:var(--text-body-size);color:var(--text-body);margin:0;font-weight:800;line-height:1.3}.composer-anon-line{color:var(--rv-gray-600);margin:3px 0 0;font-size:14px;line-height:1.45}.composer-anon-sub,.composer-anon-caution{font-size:var(--text-sm);color:var(--rv-gray-600);margin:3px 0 0;line-height:1.45}.composer-anon-caution{flex:0 0 100%;margin-top:8px;padding-left:26px}.composer-anon-escape{border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-card);min-height:44px;color:var(--text-body);font-family:inherit;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;flex:none;margin-left:auto;padding:0 16px;font-weight:700;transition:background .15s ease-out,border-color .15s ease-out}.composer-anon-escape:hover{background:var(--rv-gray-50);border-color:var(--rv-gray-400)}.composer-anon-escape:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@keyframes composerAnonIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.composer-anon-strip{animation:none}}.composer-anon-guard{z-index:var(--z-modal,2100);position:fixed}.composer-canvas.is-modal .composer-anon-guard{z-index:10;position:absolute}.composer-anon-guard-card{max-width:440px}.composer-anon-guard-card p{color:var(--text-body,#374151);margin:0 0 10px}.composer-anon-guard-card .composer-anon-guard-final{color:var(--text-strong,#111827);margin:0 0 20px;font-weight:700}.composer-anon-guard-card .share-modal-guard-actions{justify-content:flex-start}.composer-canvas-kicker{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--brand);margin:0 0 6px;font-weight:700}.composer-canvas-sub{color:var(--text-subtle,#6b7280);margin:0 0 32px;font-size:14px;line-height:1.5}.composer-canvas-sub.is-under-toolbar{margin:-4px 0 24px}.composer-canvas-title{letter-spacing:-.02em;width:100%;color:var(--text-strong,#111827);background:0 0;border:none;outline:none;margin:0 0 20px;padding:0;font-family:inherit;font-size:40px;font-weight:700;line-height:1.25;display:block}.composer-canvas-title::placeholder{color:#6e6e73}.composer-title-hint{min-height:18px;font-size:var(--text-sm);color:var(--text-subtle,#6b7280);margin:-14px 0 20px;line-height:1.4}.composer-canvas-body{background:0 0;border:none;border-radius:0;flex-direction:column;gap:2px;min-height:460px;padding:0;display:flex}.composer-canvas.is-modal .composer-canvas-body{flex:1;min-height:240px}.composer-rich-wrap{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.composer-rich-host{flex-direction:column;flex:1;min-height:0;display:flex}.composer-rich{flex:1}.composer-rich-loading{min-height:62px}.composer-rich{color:var(--text-strong,#111827);outline:none;font-size:18px;line-height:1.7}.composer-rich>*{margin:14px 0 0}.composer-rich>:first-child{margin-top:0}.composer-rich>h3{margin-top:30px}.composer-rich>h4{margin-top:24px}.composer-rich>pre,.composer-rich>blockquote,.composer-rich>hr{margin-top:20px}.composer-rich h3{font-size:var(--text-h1);letter-spacing:-.01em;font-weight:700;line-height:1.3}.composer-rich h4{font-size:19px;font-weight:700;line-height:1.35}.composer-rich ul,.composer-rich ol{padding-left:26px}.composer-rich li{margin:2px 0}.composer-rich li>p,.composer-rich blockquote>p{margin:0}.composer-rich blockquote{border-left:3px solid var(--primary-red,#ef4444);color:var(--text-body,#374151);padding:2px 0 2px 16px}.composer-rich pre{border-radius:var(--radius-md);background:var(--surface-inset,#f3f4f6);border:1px solid var(--border,#e5e7eb);white-space:pre;padding:14px 16px;font-size:14px;line-height:1.6;overflow-x:auto}.composer-rich pre code{background:0 0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.composer-rich code{background:var(--surface-inset,#f3f4f6);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.composer-rich a{color:#2563eb;text-underline-offset:2px;text-decoration:underline}.composer-rich hr{border:none;border-top:1px solid var(--gray-dashed,#d1d5db);margin:4px 0}.composer-rich img{border-radius:var(--radius-sm);max-width:100%;height:auto;display:block}.composer-rich img.ProseMirror-selectednode{outline:2px solid var(--primary-red,#ef4444);outline-offset:2px}.composer-rich p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;pointer-events:none;color:#6e6e73;height:0}.composer-rich-wrap .ProseMirror-dropcursor,.prosemirror-dropcursor-block{background:var(--primary-red,#ef4444)!important}.composer-gutter{align-items:center;gap:2px;padding-right:8px;display:flex;transform:translate(-56px)}.composer-gutter-btn,.composer-gutter-grip{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-muted,#6b7280);font-size:var(--text-body-size);cursor:grab;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s ease-out,color .15s ease-out;display:inline-flex}.composer-gutter-btn{cursor:pointer;font-size:14px}.composer-gutter-btn:hover,.composer-gutter-grip:hover{background:var(--surface-inset,#f3f4f6);color:var(--text-strong,#111827)}.composer-gutter-grip:active{cursor:grabbing}@media (hover:none){.composer-gutter{transform:translate(-44px)}.composer-gutter-btn,.composer-gutter-grip{width:44px;height:44px;font-size:var(--text-h3)}}.composer-bubble{border-radius:var(--radius-md);background:var(--surface-card,#fff);border:1px solid var(--border,#e5e7eb);z-index:5;align-items:center;gap:2px;padding:4px;display:flex;box-shadow:0 10px 30px -10px #0000002e}.composer-bubble-btn{border-radius:var(--radius-sm);min-width:34px;height:34px;color:var(--text-body,#374151);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:16px;font-weight:700;transition:background .15s ease-out,color .15s ease-out;display:inline-flex}.composer-bubble-btn:hover{background:var(--surface-inset,#f3f4f6)}.composer-bubble-btn.is-active{background:var(--surface-inset,#f3f4f6);color:var(--primary-red,#ef4444)}.composer-bubble-text{font-size:var(--text-sm);font-weight:700}.composer-bubble-sep{background:var(--border,#e5e7eb);width:1px;height:20px;margin:0 3px}.composer-link-panel{border-radius:var(--radius-md);background:var(--surface-card,#fff);border:1px solid var(--border,#e5e7eb);z-index:6;align-items:center;gap:8px;max-width:460px;margin-left:auto;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:8px;right:8px;box-shadow:0 10px 30px -10px #0000002e}.composer-link-input{border-radius:var(--radius-sm);border:1px solid var(--border,#e5e7eb);background:var(--surface-page,#f7f7fa);min-width:0;height:40px;color:var(--text-strong,#111827);flex:1;padding:0 12px;font-family:inherit;font-size:14px}.composer-link-input:focus{outline:2px solid var(--primary-red,#ef4444);outline-offset:1px}.composer-link-btn{border-radius:var(--radius-pill);border:1px solid var(--border,#e5e7eb);height:40px;color:var(--text-body,#374151);font-family:inherit;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;background:0 0;padding:0 14px;font-weight:700}.composer-link-btn.primary{background:var(--brand);border-color:var(--brand);color:var(--text-onbrand)}.composer-link-btn:hover{background:var(--surface-inset,#f3f4f6)}.composer-link-btn.primary:hover{background:var(--brand-hover)}.composer-upload-note{pointer-events:none;flex:0 0 100%;justify-content:flex-end;height:0;display:flex;position:relative}.composer-upload-note>span{border-radius:var(--radius-pill);color:var(--text-body,#374151);font-size:var(--text-sm);white-space:nowrap;background:#60a5fa24;border:1px solid #60a5fa57;align-items:center;gap:7px;padding:5px 12px;font-weight:600;display:inline-flex;position:absolute;top:-4px;right:0}.composer-upload-note i{color:#2563eb;font-size:var(--text-sm)}.composer-canvas-labels{border-top:1px solid var(--gray-dashed,#e5e7eb);margin:32px 0 0;padding-top:24px}.composer-canvas.is-modal .composer-canvas-labels{margin-top:20px;padding-top:16px;padding-bottom:4px}.composer-autolabel{border-top:1px solid var(--gray-dashed,#e5e7eb);color:var(--text-muted,#6b7280);font-size:var(--text-sm);align-items:center;gap:8px;margin:32px 0 0;padding-top:20px;line-height:1.4;display:flex}.composer-autolabel i{color:var(--primary-red,#ef4444);font-size:14px}.composer-canvas.is-modal .composer-autolabel{margin-top:20px;padding-top:16px;padding-bottom:4px}.composer-canvas-bar{z-index:4;background:var(--surface-page,#f7f7fa);border-top:1px solid var(--gray-dashed,#e5e7eb);margin-top:24px;padding:12px 0 16px;position:sticky;bottom:0}.composer-canvas.is-modal .composer-canvas-bar{background:var(--surface-card,#fff);border-top-color:var(--border,#e5e7eb);flex:none;margin-top:0;padding:12px 28px 16px;position:static}.composer-canvas-bar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.composer-canvas-bar .composer-actions{flex-wrap:wrap;margin:0}.composer-canvas-bar .composer-btn{padding:0 18px}.composer-canvas-bar .composer-msg{font-size:var(--text-sm);margin:0 0 10px}.composer-msg-dismiss{margin-left:auto;min-width:44px;min-height:44px;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;margin-block:-14px;font-size:12px;display:inline-flex}.composer-msg-dismiss:hover{opacity:1}.composer-enhance-note{border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid #a78bfa57;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 10px;padding:9px 14px;line-height:1.45;display:flex}.composer-enhance-note>i{color:#7c3aed;font-size:14px}.composer-enhance-note .accent-tile-label{min-width:160px;color:var(--text-body,#374151);flex:1}.composer-enhance-undo{border-radius:var(--radius-pill);color:#6d28d9;min-height:44px;font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #7c3aed66;padding:0 14px;font-family:inherit;font-weight:700;transition:background .15s ease-out}.composer-enhance-undo:hover{background:#7c3aed1a}.composer-enhance-undo:focus-visible{outline-offset:2px;outline:2px solid #7c3aed}.composer-post-split{align-items:stretch;display:inline-flex;position:relative}.composer-post-split .composer-btn-post{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:18px}.composer-post-split .composer-post-caret{width:44px;font-size:var(--text-sm);border-top-left-radius:0;border-bottom-left-radius:0;flex-shrink:0;padding:0;box-shadow:inset 1px 0 #ffffff59}.composer-post-split .composer-btn:hover:not(:disabled){transform:none}.composer-post-menu{z-index:6;background:var(--surface-raised,#fff);border:1px solid var(--border,#e5e7eb);min-width:230px;animation:shareModalFade .16s var(--ease-out), composerMenuIn var(--motion-spring) var(--ease-spring);border-radius:14px;padding:6px;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 12px 34px -12px #0000003d}.composer-post-menu-item{width:100%;min-height:44px;color:var(--text-strong,#111827);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:0 12px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s ease-out;display:flex}.composer-post-menu-item i{font-size:var(--text-body-size);color:var(--text-muted,#6b7280)}.composer-post-menu-item:hover:not(:disabled){background:var(--surface-inset,#f3f4f6)}.composer-post-menu-item:disabled{opacity:.5;cursor:not-allowed}.composer-canvas-bar .composer-char-count{color:var(--text-muted,#6b7280);white-space:nowrap;font-size:12px}.composer-char-over{color:var(--rv-red-deep);font-weight:700}.composer-review-note{color:var(--text-muted,#6b7280);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.composer-review-note i{font-size:var(--text-sm);color:var(--success)}.composer-bar-notes{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;display:flex}@media (max-width:600px){.composer-canvas{padding:20px 16px 0}.composer-canvas.is-modal{padding:0}.composer-canvas.is-modal .composer-canvas-scroll{padding:0 16px 8px}.composer-canvas.is-modal .composer-canvas-bar{padding:10px 16px 14px}.composer-canvas-title{font-size:30px}.composer-anon-row{gap:6px}.composer-anon-label{flex:0 0 100%}.composer-anon-row .segmented{flex:100%;width:100%}.composer-anon-strip-body{flex:100%}.composer-anon-escape{margin-left:auto}.composer-canvas .composer-text-block{font-size:18px}.composer-canvas-body{min-height:360px}.composer-canvas.is-modal .composer-canvas-body{min-height:180px}.composer-canvas.is-modal .composer-toolbar{margin:0 -16px 16px;padding:6px 16px}.composer-canvas .composer-actions{flex-wrap:wrap;gap:8px;width:100%}.composer-canvas .composer-post-split,.composer-canvas .composer-actions>.composer-btn-post{flex:1 0 100%;width:100%}.composer-canvas .composer-post-split .composer-btn-post{flex:1}.composer-canvas .composer-btn-enhance,.composer-canvas .composer-btn-draft{flex:1 1 0;min-width:0;padding:0 12px}.composer-canvas .composer-btn-cancel{color:var(--text-body,#374151);background:0 0;border-color:#0000;flex:1 0 100%}.composer-canvas.is-modal .composer-canvas-bar-row{gap:8px}.composer-canvas-bar .composer-btn{min-height:48px}.composer-bar-notes{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px;width:100%}.composer-bar-notes .composer-char-count{order:-1}.composer-gutter{transform:translate(-38px)}.composer-rich{font-size:18px}.composer-rich h3{font-size:21px}.composer-rich h4{font-size:18px}.composer-link-panel{flex-wrap:wrap;max-width:none;left:8px;right:8px}.composer-link-input{flex:1 0 100%}.composer-link-btn{flex:1;min-height:44px}}.composer-tags-wrap{position:relative}.composer-tag-chip.pending{border:1px dashed var(--warning);color:#92650a;--accent:var(--warning);background:#eab3081f}.composer-tag-chip.pending i.fa-clock{margin-right:4px;font-size:10px}.composer-tag-picker{z-index:20;background:var(--surface-card,#fff);border:1px solid var(--gray-dashed,#e5e7eb);border-radius:14px;max-height:300px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden auto;box-shadow:0 10px 30px -10px #00000024}.composer-tag-option{width:100%;min-height:44px;color:var(--text-strong,#111827);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:14px;font-weight:600;transition:background .15s ease-out;display:flex}.composer-tag-option:hover,.composer-tag-option.active{background:#ef444414}.composer-tag-option-count{color:var(--text-subtle,#6b7280);white-space:nowrap;font-size:12px;font-weight:500}.composer-tag-option.suggest{border-top:1px solid var(--gray-dashed,#e5e7eb);color:#15803d}.composer-tag-option.suggest i{font-size:var(--text-meta);margin-right:6px}.composer-tag-quota{border-top:1px solid var(--gray-dashed,#e5e7eb);font-size:var(--text-sm);color:#92650a;background:#eab30814;margin:0;padding:12px 14px;line-height:1.45}.composer-tag-quota i{margin-right:6px}.share-modal-head-left{align-items:center;gap:6px;min-width:0;display:flex}.share-modal-head-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.share-modal-drafts{border-radius:var(--radius-pill);height:44px;color:var(--text-body,#374151);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:0 14px;font-family:inherit;font-size:14px;font-weight:700;transition:background .15s ease-out,color .15s ease-out;display:inline-flex}.share-modal-drafts:hover{background:var(--surface-inset,#f3f4f6);color:var(--text-strong,#111827)}.share-modal-drafts:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.share-modal-drafts>i{font-size:16px}.share-modal-drafts-count{border-radius:var(--radius-pill);min-width:20px;height:20px;color:var(--brand-hover);background:#ef444421;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.share-modal-back{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;margin-left:-10px;font-size:18px;transition:background .15s ease-out,color .15s ease-out;display:flex}.share-modal-back:hover{background:var(--surface-inset,#f3f4f6);color:var(--text-strong,#111)}.share-modal-back:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.share-modal-edit{border-radius:var(--radius-pill);min-height:44px;color:var(--brand-hover);cursor:pointer;background:0 0;border:1px solid #0000;padding:0 14px;font-family:inherit;font-size:14px;font-weight:700;transition:background .15s ease-out,color .15s ease-out}.share-modal-edit:hover{background:var(--surface-inset,#f3f4f6)}.share-modal-edit:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.share-modal-edit.is-active{background:var(--surface-inset,#f3f4f6);color:var(--text-strong,#111827)}.share-modal-view{flex-direction:column;flex:1;min-height:0;display:flex}.share-modal-view[hidden]{display:none}.drafts-panel{flex-direction:column;flex:1;min-height:0;display:flex}.drafts-tabs{border-bottom:1px solid var(--border,#e5e7eb);flex:none;gap:4px;padding:6px 16px 0;display:flex}.drafts-tab{min-height:48px;color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-family:inherit;font-size:14px;font-weight:700;transition:color .15s ease-out,box-shadow .15s ease-out;display:inline-flex;box-shadow:inset 0 -2px #0000}.drafts-tab:hover{color:var(--text-strong,#111827)}.drafts-tab:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:var(--radius-sm)}.drafts-tab.is-active{color:var(--brand-hover);box-shadow:inset 0 -2px 0 var(--brand)}.drafts-tab-count{border-radius:var(--radius-pill);background:var(--surface-inset,#f3f4f6);min-width:22px;height:20px;color:var(--text-muted,#6b7280);justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.drafts-tab.is-active .drafts-tab-count{color:var(--brand-hover);background:#ef444421}.drafts-msg{margin:10px 16px 0}.drafts-list{overscroll-behavior:contain;flex:1;min-height:0;padding:8px 12px 16px;overflow-y:auto}.drafts-list:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.drafts-rows{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.drafts-row{border:1px solid #0000;border-radius:14px;transition:background .15s ease-out}.drafts-row:hover{background:var(--surface-inset,#f3f4f6)}.drafts-row.is-failed{background:#ef444412}.drafts-row-open{width:100%;min-height:48px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;font-family:inherit;display:flex}.drafts-row-open:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.drafts-row-open:disabled{cursor:progress}.drafts-row-when{color:#1d4ed8;flex-wrap:wrap;align-items:center;gap:7px;font-size:14px;font-weight:700;display:inline-flex}.drafts-row-when>i{font-size:var(--text-body-size)}.drafts-row-live{border-radius:var(--radius-pill);color:#92650a;background:#eab30826;padding:2px 8px;font-size:12px;font-weight:700}.drafts-row-title{-webkit-line-clamp:2;line-clamp:2;width:100%;color:var(--text-strong,#111827);-webkit-box-orient:vertical;font-size:16px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.drafts-row-title.is-untitled{color:var(--text-muted,#6b7280);font-weight:600}.drafts-row-excerpt{-webkit-line-clamp:2;line-clamp:2;width:100%;color:var(--text-muted,#6b7280);-webkit-box-orient:vertical;font-size:13.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.drafts-row-tags{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.drafts-row-tag{border-radius:var(--radius-pill);color:var(--brand-hover);background:#ffefef;padding:2px 9px;font-size:12px;font-weight:700;line-height:1.5}.drafts-row-meta{color:var(--text-muted,#6b7280);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.drafts-row-meta i{font-size:var(--text-sm)}.drafts-row-fail{border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-body,#374151);background:#ef44441a;border:1px solid #ef44444d;align-items:flex-start;gap:8px;margin:0 14px 10px;padding:9px 12px;line-height:1.45;display:flex}.drafts-row-fail>i{color:var(--rv-red-deep);flex-shrink:0;margin-top:1px;font-size:14px}.drafts-row-actions{flex-wrap:wrap;gap:6px;padding:0 12px 12px;display:flex}.drafts-row-action{border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-pill);background:var(--surface-card,#fff);min-height:44px;color:var(--text-body,#374151);font-size:var(--text-sm);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-family:inherit;font-weight:700;transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out;display:inline-flex}.drafts-row-action:hover:not(:disabled){background:var(--surface-inset,#f3f4f6)}.drafts-row-action:disabled{opacity:.55;cursor:not-allowed}.drafts-row-action:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.drafts-row-action i{font-size:14px}.drafts-row-delete{min-width:108px;color:var(--rv-red-deep);border-color:#b91c1c4d}.drafts-row-delete:hover:not(:disabled){background:#b91c1c17}.drafts-row-delete.is-armed,.drafts-row-delete.is-armed:hover:not(:disabled){background:var(--rv-red-deep);border-color:var(--rv-red-deep);color:var(--text-onbrand)}.drafts-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 24px;display:flex}.drafts-empty-icon{width:56px;height:56px;color:var(--brand);--accent:var(--brand);background:#ffefef;border-radius:18px;justify-content:center;align-items:center;margin-bottom:4px;font-size:26px;display:inline-flex}.drafts-empty-title{font-size:var(--text-h3);color:var(--text-strong,#111827);margin:0;font-weight:800}.drafts-empty-sub{max-width:280px;color:var(--text-muted,#6b7280);margin:0;font-size:14px;line-height:1.5}.drafts-skel{flex-direction:column;gap:4px;display:flex}.drafts-skel-row{border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex}.drafts-skel-line{border-radius:var(--radius-pill);background:var(--surface-inset,#f3f4f6);height:12px;animation:1.4s ease-in-out infinite draftsSkel}.drafts-skel-line.w-title{width:62%;height:15px}.drafts-skel-line.w-body{width:92%}.drafts-skel-line.w-meta{width:34%;height:10px}@keyframes draftsSkel{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.drafts-skel-line{animation:none}}.composer-schedule{z-index:7;background:var(--surface-raised,#fff);border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-lg);width:300px;max-width:calc(100vw - 32px);animation:shareModalFade .16s var(--ease-out), composerMenuIn var(--motion-spring) var(--ease-spring);padding:14px;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 14px 38px -14px #00000047}.composer-schedule-head{align-items:center;gap:8px;margin-bottom:12px;display:flex}.composer-schedule-head>i{color:#1d4ed8;font-size:16px}.composer-schedule-heading{color:var(--text-strong,#111827);flex:1;font-size:14px;font-weight:800}.composer-schedule-fields{gap:8px;display:flex}.composer-schedule-field{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.composer-schedule-field-label{color:var(--text-muted,#6b7280);font-size:12px;font-weight:700}.composer-schedule-input{border:1.5px solid var(--border,#e5e7eb);border-radius:var(--radius-md);background:var(--surface-card,#fff);width:100%;min-height:48px;color:var(--text-strong,#111827);font-size:var(--text-body-size);padding:0 10px;font-family:inherit}.composer-schedule-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #ef44441f}.composer-schedule-when{min-height:38px;font-size:var(--text-sm);color:#15803d;align-items:flex-start;gap:7px;margin:10px 0 0;font-weight:600;line-height:1.45;display:flex}.composer-schedule-when>i{flex-shrink:0;margin-top:1px;font-size:14px}.composer-schedule-when.is-bad{color:var(--rv-red-deep)}.composer-schedule-zone{color:var(--text-muted,#6b7280);margin:2px 0 0;font-size:12px;line-height:1.4}.composer-schedule-error{color:var(--rv-red-deep);background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;align-items:flex-start;gap:7px;margin:10px 0 0;padding:8px 10px;font-size:12.5px;line-height:1.45;display:flex}.composer-schedule-error>i{font-size:var(--text-sm);flex-shrink:0;margin-top:1px}.composer-schedule-actions{gap:8px;margin-top:12px;display:flex}.composer-schedule-actions .composer-btn{min-width:0;font-size:var(--text-sm);flex:1 1 0;padding:0 12px}.composer-schedule-note{border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid #22c55e57;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 10px;padding:9px 14px;line-height:1.45;display:flex}.composer-schedule-note>i{color:#15803d;font-size:14px}.composer-schedule-note .accent-tile-label{min-width:160px;color:var(--text-body,#374151);flex:1}@media (max-width:600px){.drafts-tabs{padding:6px 10px 0}.drafts-msg{margin:8px 12px 0}.drafts-list{padding:6px 8px 14px}.drafts-row-open{padding:12px}.drafts-row-fail{margin:0 12px 10px}.drafts-row-actions{padding:0 10px 12px}.drafts-row-action{flex:42%}.drafts-row-delete{flex:100%;min-width:0}.drafts-empty{padding:36px 20px}.composer-schedule{width:calc(100vw - 32px)}}
.dm-page{max-width:760px;margin:0 auto;padding:24px 20px 40px}.dm-title{font-size:var(--text-h1);color:var(--text-strong);margin:0 0 16px;font-weight:800}.dm-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);flex-direction:column;display:flex;overflow:hidden}.dm-conv{border-bottom:1px solid var(--border-muted);align-items:center;gap:12px;min-height:44px;padding:14px 16px;text-decoration:none;transition:background .15s ease-out;display:flex}.dm-conv:last-child{border-bottom:none}.dm-conv:hover{background:var(--surface-hover)}.dm-conv.unread{background:var(--surface-inset)}[data-theme=dark] .dm-conv.unread{background:color-mix(in srgb, var(--brand) 10%, transparent)}.dm-conv-body{flex:1;min-width:0}.dm-conv-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.dm-conv-name{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.dm-conv-time{color:var(--text-subtle);flex-shrink:0;font-size:12px}.dm-conv-preview{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;line-height:1.4;overflow:hidden}.dm-conv.unread .dm-conv-preview{color:var(--text-strong);font-weight:600}.dm-conv-you{color:var(--text-subtle)}.dm-conv-badge{border-radius:var(--radius-pill);background:var(--brand);min-width:20px;height:20px;color:var(--text-onbrand);font-size:var(--text-meta);flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;font-weight:800;display:flex}.dm-list-empty,.dm-empty{text-align:center;color:var(--text-muted);padding:48px 24px}.dm-empty-ico{color:var(--text-subtle);margin-bottom:12px;font-size:30px;display:block}.dm-empty-title{color:var(--text-strong);margin-bottom:4px;font-size:16px;font-weight:700}.dm-empty-sub{font-size:var(--text-sm);line-height:1.5}.dm-empty-cta{border-radius:var(--radius-pill);background:var(--brand);height:44px;color:var(--text-onbrand);align-items:center;gap:8px;margin-top:16px;padding:0 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.dm-page-thread{max-width:820px;padding:0}.dm-thread{flex-direction:column;height:calc(100vh - 140px);min-height:420px;display:flex}.dm-thread-head{border-bottom:1px solid var(--border);background:var(--surface-card);align-items:center;gap:12px;padding:14px 18px;display:flex}.dm-back{width:36px;height:36px;color:var(--text-muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex}.dm-back:hover{background:var(--surface-hover);color:var(--text-strong)}.dm-thread-id{flex-direction:column;min-width:0;display:flex}.dm-thread-name{font-size:var(--text-body-size);color:var(--text-strong);font-weight:700;text-decoration:none}.dm-thread-name:hover{color:var(--brand)}.dm-thread-handle{color:var(--text-subtle);font-size:12px}.dm-scroll{flex-direction:column;flex:1;gap:8px;padding:18px;display:flex;overflow-y:auto}.dm-row{display:flex}.dm-row.mine{justify-content:flex-end}.dm-row.theirs{justify-content:flex-start}.dm-bubble{border-radius:var(--radius-lg);word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap;max-width:72%;padding:9px 13px 7px;font-size:14px;line-height:1.45;position:relative}.dm-row.theirs .dm-bubble{background:var(--surface-hover);color:var(--text-strong);border-bottom-left-radius:5px}.dm-row.mine .dm-bubble{background:var(--brand);color:var(--text-onbrand);border-bottom-right-radius:5px}.dm-time{font-size:var(--text-meta);text-align:right;opacity:.8;margin-top:3px;display:block}.dm-composer{border-top:1px solid var(--border);background:var(--surface-card);align-items:flex-end;gap:10px;padding:12px 16px;display:flex}.dm-input{resize:none;border:1px solid var(--border);background:var(--surface-page);min-height:44px;max-height:120px;color:var(--text-strong);border-radius:22px;outline:none;flex:1;padding:11px 14px;font-family:inherit;font-size:14px;line-height:1.4}.dm-input:focus{border-color:var(--brand)}.dm-input::placeholder{color:var(--text-subtle)}.dm-send{border-radius:var(--radius-pill);background:var(--brand);width:44px;height:44px;color:var(--text-onbrand);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;transition:opacity .15s ease-out,transform .15s ease-out;display:flex}.dm-send:disabled{opacity:.45;cursor:not-allowed}.dm-send:not(:disabled):hover{transform:scale(1.05)}.profile-cta-row{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:480px){.dm-bubble{max-width:82%}.dm-thread{height:calc(100vh - 120px)}}
.lb-head{align-items:center;gap:14px;margin-bottom:20px;display:flex}.lb-head-icon{border-radius:var(--radius-lg);width:56px;height:56px;color:var(--brand);background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);flex-shrink:0;justify-content:center;align-items:center;font-size:22px;display:flex}.lb-title{font-size:var(--text-h1);color:var(--text-strong);margin:0 0 4px;font-weight:800;line-height:1.15}.lb-sub{font-size:var(--text-body-size);color:var(--text-muted);max-width:460px;margin:0;line-height:1.5}.lb-list{margin:0;padding:6px;list-style:none}.lb-row{border-bottom:1px solid #f1f2f4;border-radius:14px;align-items:center;gap:12px;padding:12px 10px;transition:background .2s,transform .2s;display:flex}.lb-row:last-child{border-bottom:none}.lb-row:hover{background:#ef444408;transform:translate(2px)}.lb-rank{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;width:40px;line-height:1;display:flex}.lb-rank-medal{font-size:20px}.lb-rank-num{color:var(--text-subtle);font-size:12px;font-weight:700}.lb-rank-medal .lb-rank-num{font-size:10px}.lb-avatar{border-radius:var(--radius-pill);flex-shrink:0;line-height:0;display:block}.lb-main{flex:1;min-width:0}.lb-name{max-width:100%;font-size:var(--text-body-size);color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom;font-weight:700;line-height:1.25;text-decoration:none;display:inline-block;overflow:hidden}.lb-name:hover{color:var(--brand-hover)}.lb-handle{color:var(--text-subtle);font-size:12px;line-height:1.3;display:block}.lb-meta{font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px;margin-top:3px;display:flex}.lb-stat strong{color:var(--text-body);font-weight:700}.lb-dot{color:var(--border-strong)}.lb-role{border-radius:var(--radius-pill);white-space:nowrap;color:var(--accent,var(--rv-red));background:color-mix(in srgb, var(--accent,var(--rv-red)) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent,var(--rv-red)) 30%, transparent);flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:600}.lb-follow{flex-shrink:0;justify-content:flex-end;min-width:92px;display:flex}.lb-empty{text-align:center;padding:44px 24px}.lb-empty-icon{color:var(--rv-green);margin-bottom:14px;font-size:30px}.lb-empty-title{font-size:var(--text-h2);color:var(--text-strong);margin:0 0 6px;font-weight:800}.lb-empty-sub{color:var(--text-muted);max-width:360px;margin:0 auto 20px;font-size:14px;line-height:1.5}.lb-empty-cta{border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--rv-red) 0%, var(--rv-red-hover) 100%);min-height:44px;color:var(--text-onbrand);align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}@media (max-width:480px){.lb-head-icon{border-radius:14px;width:48px;height:48px;font-size:19px}.lb-title{font-size:21px}.lb-sub{font-size:14px}.lb-row{flex-wrap:wrap;gap:10px;padding:12px 6px}.lb-rank{width:30px}.lb-role{order:4}.lb-follow{order:5;min-width:0;margin-left:auto}}
.ui-card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);box-sizing:border-box;width:100%;transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out)}.ui-card--pad{padding:var(--space-md) var(--space-lg)}.ui-card--interactive{cursor:pointer}.ui-card--interactive:hover{box-shadow:var(--shadow-lg);border-color:color-mix(in srgb, var(--brand) 35%, var(--border));transform:translateY(-2px)}@media (max-width:768px){.ui-card{border-radius:var(--radius-md)}.ui-card--pad{padding:var(--space-md)}}.ui-btn{justify-content:center;align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-lg);border-radius:var(--radius-pill);font-family:var(--font-primary);font-size:var(--text-body-size);font-weight:var(--weight-bold);cursor:pointer;white-space:nowrap;--ui-btn-press:90ms var(--ease-out);transition:transform var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out), filter var(--motion-fast) var(--ease-out), scale var(--ui-btn-press);border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.ui-btn:active{transform:translateY(1px)}.ui-btn:active:not(:disabled){scale:.96}.ui-btn:not(:active){--ui-btn-press:var(--motion-spring) var(--ease-spring)}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn--primary{background:var(--brand);color:var(--brand-contrast);box-shadow:0 8px 20px -8px color-mix(in srgb, var(--brand) 55%, transparent)}.ui-btn--primary:hover:not(:disabled){background:var(--brand-hover);transform:translateY(-1px)}.ui-btn--ghost{background:var(--surface-inset);color:var(--text-body);border-color:var(--border)}.ui-btn--ghost:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.ui-btn--sm{min-height:36px;padding:0 var(--space-md);font-size:var(--text-sm)}.ui-badge{align-items:center;gap:var(--space-2xs);border-radius:var(--radius-pill);font-size:var(--text-meta);font-weight:var(--weight-bold);letter-spacing:.02em;white-space:nowrap;padding:2px 10px;line-height:1.4;display:inline-flex}.ui-badge--green{color:var(--rv-green);background:color-mix(in srgb, var(--rv-green) 14%, transparent)}.ui-badge--blue{color:var(--rv-blue);background:color-mix(in srgb, var(--rv-blue) 14%, transparent)}.ui-badge--purple{color:var(--rv-purple);background:color-mix(in srgb, var(--rv-purple) 14%, transparent)}.ui-badge--yellow{color:var(--rv-yellow);background:color-mix(in srgb, var(--rv-yellow) 16%, transparent)}.ui-badge--red{color:var(--rv-red);background:color-mix(in srgb, var(--rv-red) 14%, transparent)}.ui-badge--gray{color:var(--text-muted);background:var(--surface-inset)}.role-badge{border-radius:var(--radius-pill);font-size:var(--text-meta);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;border:1px solid #0000;align-items:center;gap:5px;padding:2px 8px;font-weight:700;line-height:1.5;display:inline-flex}.role-rookie{color:var(--rv-gray-600);background:#4b55631a;border-color:#4b556347}.role-explorer{color:#1d4ed8;background:#1d4ed81a;border-color:#1d4ed847}.role-expert{color:#15803d;background:#15803d1a;border-color:#15803d47}.role-specialist{color:#854d0e;background:#854d0e1a;border-color:#854d0e47}.role-master{color:#6d28d9;background:#6d28d91a;border-color:#6d28d947}.role-legend{color:var(--rv-red-deep);background:#b91c1c1a;border-color:#b91c1c47}.role-badge i{font-size:13px}.follow-btn{justify-content:center;align-items:center;gap:var(--space-2xs);min-height:36px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-inset);color:var(--text-body);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--weight-bold);white-space:nowrap;cursor:pointer;appearance:none;--follow-btn-press:90ms var(--ease-out);transition:background var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), scale var(--follow-btn-press);line-height:1;text-decoration:none;display:inline-flex}.follow-btn:active:not(:disabled){scale:.96}.follow-btn:not(:active){--follow-btn-press:var(--motion-spring) var(--ease-spring)}.follow-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.follow-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.follow-btn:disabled{opacity:.55;cursor:not-allowed}.follow-btn.follow-error,.profile-cta.follow-error{background-image:none;background-color:color-mix(in srgb, var(--rv-red) 12%, transparent);border-color:color-mix(in srgb, var(--rv-red) 45%, transparent);color:var(--rv-red)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-chip{align-items:center;gap:var(--space-2xs);border:1px solid color-mix(in srgb, var(--accent,var(--brand)) 35%, transparent);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent,var(--brand)) 12%, transparent);min-height:32px;color:var(--accent,var(--brand));font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:filter var(--motion-fast) var(--ease-out);padding:0 12px;text-decoration:none;display:inline-flex}.ui-chip:hover{filter:brightness(1.08)}.segmented{flex-wrap:wrap;gap:10px;margin:8px 0 0;display:flex}.segmented-option{appearance:none;border:1px solid var(--gray-dashed,var(--rv-gray-300));border-radius:var(--radius-md);background:var(--surface-card);min-height:48px;color:var(--gray-700);text-align:center;cursor:pointer;transition:border-color .15s var(--ease-out,ease-out), color .15s var(--ease-out,ease-out), background .15s var(--ease-out,ease-out);justify-content:center;align-items:center;gap:8px;padding:0 18px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.3;display:inline-flex}.segmented-option>i{flex-shrink:0;font-size:16px;line-height:1}.segmented-option-label{min-width:0}.segmented-option:hover{border-color:#a3a3a3}.segmented-option:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.segmented-option.checked{border-color:var(--brand);color:var(--brand)}@media (max-width:600px){.segmented{flex-wrap:nowrap}.segmented-option{flex:1 1 0;min-width:0;padding:0 12px}.segmented-option-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.chip-enter{animation:chip-enter-scale var(--motion-spring) var(--ease-spring) backwards, chip-enter-fade var(--motion-base) var(--ease-out) backwards}@keyframes chip-enter-scale{0%{scale:.92}to{scale:1}}@keyframes chip-enter-fade{0%{opacity:0}to{opacity:1}}.tool-article{max-width:640px;color:var(--text-strong);background:var(--surface-card);border:1px solid var(--border-muted);border-radius:var(--radius-xl);margin:28px auto 0;padding:32px 32px 36px;box-shadow:0 10px 30px -10px #0000000f}@media (max-width:600px){.tool-article{border-radius:var(--radius-lg);margin-top:20px;padding:22px 18px 28px}}.google-btn{border:1px solid var(--rv-gray-200);background:var(--rv-white);color:var(--rv-gray-900);box-shadow:0 1px 4px #0000000f}.google-btn:hover{background:var(--rv-gray-50)}.dl-body--locked .dl-form-row,.dl-body--locked .dl-example-chip{opacity:.5}.dl-body--locked .dl-input,.dl-body--locked .dl-submit{cursor:not-allowed}.dl-panel{animation:dl-panel-in var(--motion-base) var(--ease-out) both}@keyframes dl-panel-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.dl-signin-link{border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--accent,var(--brand)) 40%, transparent);background:color-mix(in srgb, var(--accent,var(--brand)) 12%, transparent);min-height:48px;color:color-mix(in srgb, var(--accent,var(--brand)) 55%, var(--rv-gray-900));transition:filter var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.dl-signin-link:hover{filter:brightness(1.05);transform:translateY(-1px)}[data-theme=dark] .dl-signin-link{color:var(--accent,var(--brand))}.dl-quota-row{margin-top:10px}.quota-chip{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--accent) 32%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent);min-height:32px;color:color-mix(in srgb, var(--accent) 55%, var(--rv-gray-900));font-size:var(--text-sm);align-items:center;gap:7px;padding:0 12px;font-weight:700;line-height:1.4;display:inline-flex}.quota-chip i{color:var(--accent);font-size:11px}.quota-chip--warn{color:#a16207}.quota-chip-label{animation:dl-chip-in .2s var(--ease-out) both;display:inline-block}@keyframes dl-chip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.dl-fieldset{border:0;min-width:0;margin:0 0 10px;padding:0}.dl-legend-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dl-segments{gap:8px;width:100%;display:flex}.dl-segment{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-inset);min-height:44px;color:var(--text-body);font-size:var(--text-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out);flex:1 1 0;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:700;display:inline-flex}.dl-segment input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.dl-segment.is-on{background:var(--accent);border-color:var(--accent);color:var(--text-onbrand)}.dl-segment.is-on i{color:var(--text-onbrand)}.dl-segment:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.dl-segment:has(input:disabled){cursor:not-allowed}.dl-example-chip{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-inset);min-height:44px;color:var(--text-muted);font-size:var(--text-meta);cursor:pointer;transition:background var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out);align-items:center;padding:0 12px;font-family:monospace;display:inline-flex}.dl-example-chip:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.dl-example-chip:disabled{cursor:not-allowed}.dl-fallback-note{border-radius:var(--radius-md);background:var(--surface-inset);border:1px solid var(--border-muted);color:var(--text-muted);font-size:var(--text-sm);align-items:flex-start;gap:8px;padding:10px 14px;line-height:1.45;display:flex}.dl-fallback-note i{color:var(--text-subtle);flex-shrink:0;margin-top:2px}.tool-siblings{flex-wrap:wrap;align-items:center;gap:8px;max-width:640px;margin:18px auto 0;display:flex}.tool-siblings-label{font-size:var(--text-sm);color:var(--text-subtle)}.tool-siblings a{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-card);min-height:44px;color:var(--text-body);font-size:var(--text-sm);transition:background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);align-items:center;padding:0 14px;font-weight:600;text-decoration:none;display:inline-flex}.tool-siblings a:hover{background:var(--surface-inset);color:var(--text-strong)}.tool-siblings a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.dl-photo-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:0 4px;display:flex}.dl-photo-count{color:var(--text-muted);align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:inline-flex}.dl-photo-count i{font-size:11px}.dl-saveall{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--accent,var(--brand)) 38%, transparent);background:color-mix(in srgb, var(--accent,var(--brand)) 12%, transparent);min-height:44px;color:color-mix(in srgb, var(--accent,var(--brand)) 55%, var(--rv-gray-900));font-size:var(--text-sm);cursor:pointer;transition:filter var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);justify-content:center;align-items:center;gap:7px;padding:0 16px;font-weight:700;display:inline-flex}.dl-saveall:hover{filter:brightness(1.05);transform:translateY(-1px)}[data-theme=dark] .dl-saveall{color:var(--accent,var(--brand))}.dl-photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.dl-photo-tile{border-radius:var(--radius-md);border:1px solid var(--border-muted);background:var(--surface-inset);flex-direction:column;display:flex;overflow:hidden}.dl-photo-frame{aspect-ratio:3/4;background:var(--surface-hover);position:relative}.dl-photo-frame img{object-fit:cover;width:100%;height:100%;display:block}.dl-photo-num{border-radius:var(--radius-pill);color:var(--text-onbrand);font-size:var(--text-meta);background:#0000009e;padding:2px 8px;font-weight:700;line-height:1.5;position:absolute;top:6px;left:6px}.dl-photo-save{border-top:1px solid color-mix(in srgb, var(--accent,var(--brand)) 22%, transparent);background:color-mix(in srgb, var(--accent,var(--brand)) 12%, transparent);min-height:44px;color:color-mix(in srgb, var(--accent,var(--brand)) 55%, var(--rv-gray-900));font-size:var(--text-sm);transition:background var(--motion-fast) var(--ease-out);justify-content:center;align-items:center;gap:6px;font-weight:700;text-decoration:none;display:flex}.dl-photo-save:hover{background:color-mix(in srgb, var(--accent,var(--brand)) 20%, transparent)}.dl-photo-save i{font-size:12px}[data-theme=dark] .dl-photo-save{color:var(--accent,var(--brand))}@media (max-width:480px){.dl-form-row{flex-direction:column}.dl-input{flex:none!important;width:100%!important;height:52px!important}.dl-submit{width:100%!important;min-width:0!important}.dl-segments{gap:6px}.dl-segment{font-size:var(--text-sm);padding:0 8px}}@media (prefers-reduced-motion:reduce){.dl-panel,.chip-enter,.quota-chip-label{animation:none}.dl-segment,.dl-signin-link,.dl-example-chip{transition:none}}.announce-stack{flex-direction:column;gap:8px;margin:0 0 12px;display:flex}.announce-banner{border-radius:var(--radius-md);border:1px solid;align-items:center;gap:10px;padding:10px 16px;font-size:14px;line-height:1.4;display:flex}.announce-banner i{flex:none}@media (max-width:600px){.announce-banner{font-size:var(--text-sm);padding:9px 12px}}.bulk-head{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid;border-bottom:none;align-items:center;gap:14px;padding:20px 24px;display:flex}.bulk-head-icon{width:48px;height:48px;color:var(--text-onbrand);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;display:flex}.bulk-head-title{color:var(--text-strong);font-size:18px;font-weight:800}.bulk-head-sub{font-size:var(--text-sm);color:var(--text-muted)}.bulk-panel{text-align:center;background:var(--surface-card);border:none;border-left:1px solid;border-right:1px solid;flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex}.bulk-panel-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex}.bulk-panel-title{color:var(--text-strong);font-size:16px;font-weight:800}.bulk-panel-sub{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.bulk-signin{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;height:48px;padding:0 20px;font-size:14px;font-weight:700;display:flex}.bulk-body{background:var(--surface-card);border:none;border-left:1px solid;border-right:1px solid;padding:24px}.bulk-body--locked{opacity:.55}.bulk-label{font-size:var(--text-sm);color:var(--text-strong);margin-bottom:8px;font-weight:700;display:block}.bulk-textarea{border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--surface-page);width:100%;min-height:120px;color:var(--text-strong);font-size:var(--text-sm);font-family:var(--font-mono,monospace);resize:vertical;transition:border-color var(--motion-fast) var(--ease-out);outline:none;padding:12px 14px;line-height:1.6}.bulk-textarea:disabled{cursor:not-allowed}.bulk-meter{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;font-size:12px;display:flex}.bulk-meter-count{color:var(--text-muted);font-weight:700}.bulk-meter-count.is-over{color:var(--rv-red)}.bulk-meter-warn{color:var(--text-muted);align-items:center;gap:6px;display:inline-flex}.bulk-meter-warn i{color:var(--rv-yellow)}.bulk-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.bulk-submit{border-radius:var(--radius-md);min-width:180px;height:50px;color:var(--text-onbrand);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:14px;font-weight:700;display:flex}.bulk-submit:disabled{cursor:not-allowed;opacity:.6}.bulk-stop{border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-inset);height:50px;color:var(--text-strong);cursor:pointer;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:700;display:flex}.bulk-results{background:var(--surface-card);border-radius:0 0 var(--radius-lg) var(--radius-lg);border:1px solid;border-top:none;padding:0 16px 16px}.bulk-results-head{justify-content:space-between;align-items:center;gap:10px;padding:14px 4px 10px;display:flex}.bulk-results-count{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.bulk-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bulk-row{border-radius:var(--radius-md);background:var(--surface-inset);border:1px solid var(--border-muted);align-items:center;gap:12px;min-height:56px;padding:10px 14px;display:flex}.bulk-row-icon{width:26px;color:var(--text-subtle);flex-shrink:0;justify-content:center;font-size:14px;display:flex}.bulk-row--done .bulk-row-icon{color:var(--rv-green)}.bulk-row--failed .bulk-row-icon{color:var(--rv-red)}.bulk-row--running .bulk-row-icon{color:#ff0050}.bulk-row--skipped{opacity:.6}.bulk-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.bulk-row-url{font-size:var(--text-sm);color:var(--text-strong);font-family:var(--font-mono,monospace);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bulk-row-error{color:var(--text-muted);font-size:12px;line-height:1.4}.bulk-row-quality{font-size:var(--text-meta);color:var(--text-subtle)}.bulk-row-save{border-radius:var(--radius-pill);background:var(--accent,#ff0050);min-height:44px;color:var(--text-onbrand);font-size:var(--text-sm);flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-weight:700;text-decoration:none;display:inline-flex}.bulk-refund-note{color:var(--text-muted);align-items:flex-start;gap:8px;margin:12px 0 0;font-size:12px;line-height:1.5;display:flex}.bulk-refund-note i{color:var(--text-subtle);margin-top:2px}@media (max-width:480px){.bulk-head,.bulk-body,.bulk-panel{padding:16px}.bulk-row{flex-wrap:wrap}.bulk-row-save{justify-content:center;width:100%}}.chat-rules{border-bottom:1px solid var(--dk-border-muted);background:var(--dk-card2)}.chat-rules>summary{cursor:pointer;min-height:44px;color:var(--gray-500);align-items:center;gap:8px;padding:10px 20px;font-size:12px;line-height:1.4;list-style:none;transition:background .18s ease-out;display:flex}.chat-rules>summary::-webkit-details-marker{display:none}.chat-rules>summary:hover{background:var(--surface-inset,#0000000a)}.chat-rules[open]>summary{border-bottom:1px solid var(--dk-border-muted)}.chat-rules>summary>i{flex-shrink:0;font-size:14px}.chat-rules-line{flex:1;min-width:0}.chat-rules-line strong{color:var(--gray-900);font-weight:700}.chat-rules-more{color:var(--red,var(--rv-red));flex-shrink:0;font-weight:700}.chat-rules ul{flex-direction:column;gap:6px;margin:0;padding:12px 20px 14px 44px;list-style:outside;display:flex}.chat-rules li{color:var(--gray-500);font-size:12px;line-height:1.45}@media (max-width:480px){.chat-rules>summary{align-items:flex-start;padding:10px 16px}.chat-rules>summary>i{margin-top:2px}.chat-rules ul{padding:10px 16px 14px 36px}}.legal-layout{grid-template-columns:220px 1fr;align-items:start;gap:32px;max-width:1100px;margin:0 auto;display:grid}.legal-layout>aside{position:sticky;top:88px}@media (max-width:768px){.legal-layout{gap:var(--space-md);grid-template-columns:1fr}.legal-layout>aside{position:static;top:auto}}
.role-ladder{--rl-line:var(--border);--rl-size:40px;--rl-icon:18px;--rl-slot:56px;--rl-node-center:28px}.rl-rail{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rl-item{grid-template-columns:var(--rl-slot) 1fr auto;grid-template-rows:var(--rl-slot) auto;align-items:center;column-gap:var(--space-sm);display:grid;position:relative}.rl-item:before{content:"";left:calc(var(--rl-node-center) - 1px);background:var(--rl-line);z-index:0;width:2px;position:absolute;top:0;bottom:0}.rl-item:first-child:before{top:var(--rl-node-center)}.rl-item:last-child:before{height:var(--rl-node-center);bottom:auto}.rl-item.is-passed:before,.rl-item.is-current:before{background:color-mix(in srgb, var(--rl-accent) 45%, var(--rl-line))}.rl-item.is-current:before{background:linear-gradient(to bottom, color-mix(in srgb, var(--rl-accent) 45%, var(--rl-line)) 0 var(--rl-node-center), var(--rl-line) var(--rl-node-center))}.rl-node-slot{height:var(--rl-slot);z-index:1;grid-area:1/1;justify-content:center;align-self:start;align-items:center;display:flex;position:relative}.rl-node{width:var(--rl-size);height:var(--rl-size);box-shadow:0 0 0 4px var(--surface-card);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s ease-out,box-shadow .15s ease-out;display:flex}.rl-node>i{font-size:var(--rl-icon);line-height:1}.rl-item.is-current .rl-node{box-shadow:0 0 0 4px var(--surface-card), 0 0 0 6px var(--rl-accent)}.rl-item:hover .rl-node{transform:scale(1.06)}.rl-name{font-size:var(--text-body-size);color:var(--text-strong);grid-area:1/2;font-weight:700;line-height:1.3}.rl-item.is-current .rl-name{color:var(--rl-ink)}.rl-range{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;grid-area:1/3;font-weight:500;line-height:1.3}.rl-inline-bar{border-radius:var(--radius-pill);background:var(--surface-inset);grid-area:2/2/auto/-1;height:4px;margin-bottom:10px;overflow:hidden}.rl-inline-fill{border-radius:inherit;background:var(--rl-accent);height:100%;display:block}.rl-status{margin-top:var(--space-lg);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card)}.rl-status-top{justify-content:space-between;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;display:flex}.rl-status-tier{font-size:var(--text-h3);color:var(--rl-ink,var(--text-strong));font-weight:800;line-height:1.3}.rl-status-tier--anon{color:var(--text-strong)}.rl-status-count{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;font-weight:600}.rl-track{margin-top:var(--space-xs);border-radius:var(--radius-pill);background:var(--surface-inset);height:8px;overflow:hidden}.rl-fill{border-radius:inherit;background:var(--rl-accent,var(--brand));height:100%;transition:width .35s ease-out}.rl-status-bottom{margin-top:var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.rl-status-hint{color:var(--text-body);font-size:14px;line-height:1.4}.rl-cta{justify-content:center;align-items:center;gap:var(--space-2xs);min-height:44px;padding:0 var(--space-lg);border-radius:var(--radius-pill);background:var(--brand);color:var(--text-onbrand);white-space:nowrap;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s ease-out,transform .15s ease-out;display:inline-flex}.rl-cta:hover{background:var(--brand-hover)}.rl-cta:active{transform:translateY(1px)}.rl-cta i{font-size:14px}@media (min-width:768px){.role-ladder{--rl-slot:48px;--rl-node-center:24px}.rl-rail{flex-direction:row;grid-template-columns:repeat(6,1fr);display:grid}.rl-item{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.rl-item:before{left:0;right:0;top:calc(var(--rl-node-center) - 1px);width:auto;height:2px;bottom:auto}.rl-item:first-child:before{left:50%;top:calc(var(--rl-node-center) - 1px)}.rl-item:last-child:before{height:2px;right:50%}.rl-item.is-current:before{background:linear-gradient(to right, color-mix(in srgb, var(--rl-accent) 45%, var(--rl-line)) 0 50%, var(--rl-line) 50%)}.rl-node-slot{align-self:auto}.rl-name{font-size:var(--text-h3);font-weight:800}.rl-range{font-size:12px}.rl-inline-bar{display:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.rl-item{animation:.32s ease-out both rl-step-in;animation-timeline:view();animation-range:entry 5% cover 22%}@keyframes rl-step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}}@media (prefers-reduced-motion:reduce){.rl-node,.rl-fill,.rl-cta{transition:none}.rl-item:hover .rl-node{transform:none}}
.rv-error{min-height:60vh;padding:var(--space-xl) var(--space-md);justify-content:center;align-items:center;display:flex}.rv-error-card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-lg);padding:var(--space-xl) var(--space-lg);text-align:center;animation:rv-error-in var(--motion-slow) var(--ease-out) both}@keyframes rv-error-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.rv-error-card{animation:none}}.rv-error-icon{--accent:var(--danger);width:56px;height:56px;margin:0 auto var(--space-md);border-radius:var(--radius-lg);background:var(--rv-red-bg);justify-content:center;align-items:center;display:flex}.rv-error-icon i{color:var(--accent);font-size:26px;line-height:1}.rv-error-icon.is-info{--accent:var(--info);background:var(--rv-blue-bg)}.rv-error-icon.is-neutral{--accent:var(--rv-purple);background:var(--rv-purple-bg)}.rv-error-title{margin:0 0 var(--space-xs);font-size:var(--text-h1);line-height:var(--leading-tight);font-weight:var(--weight-bold);color:var(--text-strong);letter-spacing:-.01em;overflow-wrap:anywhere;-webkit-hyphens:none;hyphens:none}.rv-error-body{max-width:42ch;font-size:var(--text-body-size);color:var(--text-muted);margin:0 auto;line-height:1.55}.rv-error-actions{margin-top:var(--space-lg);gap:var(--space-xs);flex-wrap:wrap;justify-content:center;display:flex}.rv-error-btn{min-width:144px;min-height:48px;padding:0 var(--space-lg);justify-content:center;align-items:center;gap:var(--space-2xs);border-radius:var(--radius-pill);font-family:inherit;font-size:var(--text-body-size);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);border:1px solid #0000;text-decoration:none;display:inline-flex}.rv-error-btn i{font-size:16px;line-height:1}.rv-error-btn:active{transform:scale(.98)}.rv-error-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.rv-error-btn-primary{background:var(--brand);color:var(--brand-contrast)}.rv-error-btn-primary:hover{background:var(--brand-hover)}.rv-error-btn-secondary{background:var(--surface-inset);border-color:var(--border);color:var(--text-body)}.rv-error-btn-secondary:hover{border-color:var(--border-strong)}.rv-error-links{margin:var(--space-md) 0 0;font-size:var(--text-body-size);color:var(--text-muted);line-height:1.6}.rv-error-links a{color:var(--text-strong);font-weight:var(--weight-semibold);text-underline-offset:3px;transition:text-decoration-thickness var(--motion-fast) var(--ease-out);text-decoration:underline;text-decoration-thickness:1px}.rv-error-links a:hover{text-decoration-thickness:2px}.rv-error-links a:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}.rv-error-suggest{margin:var(--space-lg) 0 0;text-align:left}.rv-error-suggest-label{margin:0 0 var(--space-xs);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-muted)}.rv-error-suggest ul,.rv-error-suggest ol{margin:0;padding:0;list-style:none}.rv-error-suggest-row{align-items:center;gap:var(--space-sm);min-height:56px;margin-top:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);color:var(--text-body);transition:background var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out);border:1px solid #0000;text-decoration:none;display:flex}.rv-error-suggest-row:hover{background:var(--surface-inset);border-color:#0000}.rv-error-suggest-row:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.rv-error-suggest-avatar{border-radius:var(--radius-pill);background:var(--surface-inset);flex:0 0 40px;width:40px;height:40px;overflow:hidden}.rv-error-suggest-avatar img{object-fit:cover;width:100%;height:100%;display:block}.rv-error-suggest-text{flex:auto;min-width:0}.rv-error-suggest-name,.rv-error-suggest-handle{display:block}.rv-error-suggest-name{font-size:var(--text-body-size);font-weight:var(--weight-semibold);color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;line-height:1.3;overflow:hidden}.rv-error-suggest-handle{font-size:var(--text-sm);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.3;overflow:hidden}.rv-error-suggest-meta{font-size:var(--text-meta);color:var(--text-muted);white-space:nowrap;flex:none;line-height:1.3}.rv-error-ref{margin:var(--space-lg) 0 0;font-family:var(--font-mono);color:var(--text-muted);word-break:break-all;font-size:12px;line-height:1.4}.rv-error.is-admin{min-height:0;padding:var(--space-lg) 0;justify-content:flex-start}.rv-error.is-admin .rv-error-card{text-align:left;max-width:100%;box-shadow:var(--shadow-sm);padding:var(--space-lg)}.rv-error.is-admin .rv-error-icon{margin:0 0 var(--space-sm)}.rv-error.is-admin .rv-error-body{margin:0}.rv-error.is-admin .rv-error-actions{justify-content:flex-start}@media (max-width:420px){.rv-error{padding:var(--space-lg) var(--space-sm)}.rv-error-card{padding:var(--space-lg) var(--space-md)}.rv-error-title{font-size:var(--text-h2)}.rv-error-actions{flex-direction:column}.rv-error-btn{width:100%}.rv-error-suggest-meta{display:none}.rv-error-suggest-row{min-height:56px}}
.status-page{max-width:860px;padding:var(--space-lg) var(--space-md) var(--space-2xl);margin:0 auto}.status-head{margin-bottom:var(--space-lg)}.status-title{font-size:var(--text-display);color:var(--text-strong);margin:0 0 var(--space-2xs);letter-spacing:-.02em;font-weight:700;line-height:1.15}.status-lede{font-size:var(--text-body-size);color:var(--text-muted);max-width:52ch;margin:0;line-height:1.5}.status-hero{--tone:var(--rv-green);align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--tone) 12%, transparent);border:1px solid color-mix(in srgb, var(--tone) 32%, transparent);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.status-tone-ok{--tone:var(--rv-green)}.status-tone-warn{--tone:var(--rv-yellow)}.status-tone-bad{--tone:var(--rv-red)}.status-hero-dot{border-radius:var(--radius-pill);background:var(--tone);width:10px;height:10px;box-shadow:0 0 0 0 color-mix(in srgb, var(--tone) 60%, transparent);flex:none;animation:2s ease-out infinite status-pulse}@keyframes status-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--tone) 55%, transparent)}70%{box-shadow:0 0 0 9px color-mix(in srgb, var(--tone) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--tone) 0%, transparent)}}.status-hero-text{flex:240px;min-width:0}.status-hero-title{align-items:center;gap:var(--space-xs);font-size:var(--text-h2);color:var(--text-strong);margin:0 0 2px;font-weight:700;line-height:1.25;display:flex}.status-hero-title i{color:var(--tone);font-size:20px}.status-hero-sub{font-size:var(--text-sm);color:var(--text-muted);margin:0;line-height:1.4}.status-hero-side{align-items:flex-end;gap:var(--space-xs);flex-direction:column;display:flex}.status-hero-meta{font-size:var(--text-meta);color:var(--text-muted);white-space:nowrap;margin:0}.status-refresh{min-height:44px;padding:0 var(--space-md);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-card);color:var(--text-body);font-family:inherit;font-size:var(--text-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:background .2s ease-out,border-color .2s ease-out;display:inline-flex}.status-refresh:hover:not(:disabled){background:var(--surface-inset)}.status-refresh:disabled{opacity:.65;cursor:default}.status-refresh i{font-size:16px}.status-refresh i.is-spinning{animation:.9s linear infinite status-spin}@keyframes status-spin{to{transform:rotate(360deg)}}.status-group{margin-bottom:var(--space-xl)}.status-group-title{font-size:var(--text-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);margin:0 0 var(--space-xs);padding-left:var(--space-2xs);font-weight:700}.status-list{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none;overflow:hidden;box-shadow:0 10px 30px -10px #0000000f}.status-row{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--border-muted);min-height:60px;display:flex}.status-row:first-child{border-top:0}.status-row-icon{width:24px;color:var(--text-subtle);flex:none;justify-content:center;align-items:center;display:inline-flex}.status-row-icon i{font-size:20px}.status-row-main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.status-row-label{font-size:var(--text-body-size);color:var(--text-strong);font-weight:600;line-height:1.3}.status-row-detail{font-size:var(--text-sm);color:var(--text-muted);line-height:1.35}.status-row-latency{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-subtle);font-variant-numeric:tabular-nums;text-align:right;flex:none;min-width:56px}.status-pill{--pill:var(--rv-green);border-radius:var(--radius-pill);white-space:nowrap;color:color-mix(in srgb, var(--pill) 78%, var(--rv-gray-900));background:color-mix(in srgb, var(--pill) 14%, transparent);border:1px solid color-mix(in srgb, var(--pill) 36%, transparent);flex:none;align-items:center;padding:5px 11px;font-size:12px;font-weight:700;line-height:1.3;display:inline-flex}.status-pill-operational{--pill:var(--rv-green)}.status-pill-degraded{--pill:var(--rv-yellow)}.status-pill-down{--pill:var(--rv-red)}.status-pill-unconfigured{--pill:var(--rv-gray-400)}.status-foot{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--border-muted)}.status-foot-note{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-2xs);line-height:1.5}.status-foot-meta{font-size:var(--text-meta)}.status-foot-link{color:var(--link);font-weight:600;text-decoration:none}.status-foot-link:hover{text-decoration:underline}@media (max-width:560px){.status-page{padding:var(--space-md) var(--space-sm) var(--space-xl)}.status-title{font-size:var(--text-h1)}.status-hero{padding:var(--space-md);gap:var(--space-sm)}.status-hero-side{align-items:stretch;width:100%}.status-hero-meta{white-space:normal}.status-refresh{width:100%;min-height:48px}.status-row{row-gap:var(--space-xs);padding:var(--space-sm);flex-wrap:wrap}.status-row-main{flex:100%;order:1}.status-row-icon{order:0}.status-row-latency{text-align:left;order:2;min-width:0;margin-left:36px}.status-pill{order:3;margin-left:auto}}.livebar{align-items:center;gap:var(--space-sm);min-height:44px;padding:6px var(--space-sm);margin:0 0 var(--space-sm);border-radius:var(--radius-lg);background:var(--surface-card);border:1px solid var(--border);color:inherit;text-decoration:none;transition:background .2s ease-out,border-color .2s ease-out;display:flex}.livebar:hover{background:var(--surface-inset)}.livebar-tag{border-radius:var(--radius-pill);letter-spacing:.06em;text-transform:uppercase;color:var(--rv-red);background:color-mix(in srgb, var(--rv-red) 12%, transparent);border:1px solid color-mix(in srgb, var(--rv-red) 34%, transparent);flex:none;align-items:center;gap:5px;padding:3px 9px;font-size:10px;font-weight:800;display:inline-flex}.livebar-tag-dot{border-radius:var(--radius-pill);background:var(--rv-red);--tone:var(--rv-red);width:6px;height:6px;animation:2s ease-out infinite status-pulse}.livebar-avatar{border-radius:var(--radius-pill);object-fit:cover;background:var(--surface-inset);flex:none;width:24px;height:24px}.livebar-body{min-width:0;font-size:var(--text-sm);color:var(--text-body);flex:auto;align-items:center;gap:6px;line-height:1.35;animation:.25s ease-out livebar-in;display:flex}@keyframes livebar-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.livebar-name{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;max-width:40%;font-weight:700;overflow:hidden}.livebar-action{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.livebar-time{font-size:var(--text-meta);color:var(--text-subtle);white-space:nowrap;flex:none}.livebar-chev{color:var(--text-subtle);flex:none;font-size:13px}@media (max-width:560px){.livebar{gap:var(--space-xs);padding:8px var(--space-xs);min-height:48px}.livebar-body{flex-wrap:wrap;row-gap:0}.livebar-name{max-width:100%}.livebar-chev{display:none}}@media (prefers-reduced-motion:reduce){.status-hero-dot,.livebar-tag-dot,.livebar-body,.status-refresh i.is-spinning{animation:none}}
