.rm-preview{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;padding:var(--space-4);font-family:var(--font-sans);font-size:14px;color:var(--ink);background:var(--surface-base)}
.rm-col{flex-direction:column;align-items:stretch}
.rm-icon{flex-shrink:0}
/* Logo */
.rm-logo{display:inline-flex;align-items:center;gap:.4em;color:var(--ink)}
.rm-mark-loop{fill:none;stroke:var(--ink);stroke-linecap:round}
.rm-mark-dot{fill:var(--coral)}
.rm-wordmark{font-family:var(--font-display);letter-spacing:-.03em;line-height:1;color:var(--ink)}
.rm-wm-re{font-weight:400}.rm-wm-mnd{font-weight:700}
.rm-orbit{transform-box:view-box;transform-origin:60px 60px;animation:rm-orbit 1.8s cubic-bezier(.65,0,.35,1) infinite}
@keyframes rm-orbit{to{transform:rotate(360deg)}}
/* Button */
.rm-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font:inherit;font-family:var(--font-sans);font-weight:600;cursor:pointer;white-space:nowrap}
.rm-btn-md{height:var(--control-md);padding:0 var(--space-4);font-size:14px}
.rm-btn-sm{height:var(--control-sm);padding:0 var(--space-3);font-size:13px}
.rm-btn-primary{background:var(--coral-action);color:var(--on-action)}
.rm-btn-primary:hover{background:var(--coral-action-hover)}
.rm-btn-secondary{background:var(--surface-raised);color:var(--ink);border-color:var(--border-strong)}
.rm-btn-secondary:hover{background:var(--surface-subtle)}
.rm-btn-ghost{background:transparent;color:var(--coral-text)}
.rm-btn-ghost:hover{background:var(--coral-tint)}
.rm-btn:focus-visible,.rm-input:focus-visible,.rm-nav:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.rm-btn:disabled{opacity:.5;cursor:not-allowed}
/* Input */
.rm-field{display:flex;flex-direction:column;gap:6px;min-width:220px}
.rm-field-label{font-size:12px;font-weight:600;color:var(--ink)}
.rm-input{height:var(--control-md);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink);font:inherit;font-family:var(--font-sans);font-size:14px}
.rm-input::placeholder{color:var(--ink-muted)}
.rm-field-error .rm-input{border-color:var(--danger)}
.rm-field-msg{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-muted)}
.rm-field-msg-error{color:var(--danger);font-weight:600}
/* Badge */
.rm-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap}
.rm-badge-dot{width:6px;height:6px;border-radius:var(--radius-full);flex-shrink:0}
/* Avatar */
.rm-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.rm-avatar-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rm-avatar-fill{fill:var(--surface-subtle)}
.rm-avatar-loop{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round}
.rm-avatar-dot{fill:var(--coral)}
.rm-avatar-ini{position:relative;font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.rm-avatar-sm{width:24px;height:24px}.rm-avatar-sm .rm-avatar-ini{font-size:9px}
.rm-avatar-md{width:32px;height:32px}.rm-avatar-md .rm-avatar-ini{font-size:11px}
.rm-avatar-lg{width:64px;height:64px}.rm-avatar-lg .rm-avatar-ini{font-size:21px}.rm-avatar-lg .rm-avatar-loop{stroke-width:1.2}
/* NavItem */
.rm-nav{display:flex;align-items:center;gap:10px;min-height:var(--control-md);padding:0 10px;border-radius:var(--radius-md);color:var(--ink);text-decoration:none;font-weight:500;width:var(--nav-width);box-sizing:border-box}
.rm-nav .rm-icon{color:var(--ink-muted)}
.rm-nav:hover{background:var(--surface-subtle)}
.rm-nav-active{background:var(--coral-tint);color:var(--coral-text);font-weight:600}
.rm-nav-active .rm-icon{color:var(--coral)}
.rm-nav-label{position:relative}
.rm-nav-count{margin-left:auto;font-size:12px;font-weight:600;color:var(--ink-muted);font-variant-numeric:tabular-nums}
.rm-notify{position:absolute;top:-3px;right:-11px;width:8px;height:8px;border-radius:var(--radius-full);background:var(--coral)}
.rm-notify::after{content:"";position:absolute;inset:0;border-radius:inherit;background:inherit;animation:rm-halo 1.6s ease-out infinite}
@keyframes rm-halo{from{transform:scale(1);opacity:.55}to{transform:scale(2.8);opacity:0}}
/* AiLabel */
.rm-ai{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px 0 6px;border-radius:var(--radius-full);background:var(--coral-tint);color:var(--coral-text);font-size:12px;font-weight:700}
.rm-ai .rm-mark-loop{stroke:var(--coral-text)}
/* TimelineItem */
.rm-tl{display:flex;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);max-width:560px;box-sizing:border-box;width:100%}
.rm-tl-icon{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rm-tone-info{background:var(--info-tint);color:var(--info)}
.rm-tone-success{background:var(--success-tint);color:var(--success)}
.rm-tone-warning{background:var(--warning-tint);color:var(--warning)}
.rm-tone-neutral{background:var(--surface-subtle);color:var(--ink)}
.rm-tl-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}
.rm-tl-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}
.rm-tl-title{font-weight:600}
.rm-tl-meta,.rm-tl-time{font-size:13px;color:var(--ink-muted)}
.rm-tl-time{margin-left:auto}
.rm-tl-summary{background:var(--surface-subtle);border-radius:var(--radius-md);padding:10px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.rm-tl-summary p,.rm-tl-text{margin:0;line-height:1.5;color:var(--ink)}
/* Table */
.rm-table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto;background:var(--surface-raised);width:100%}
.rm-table{width:100%;border-collapse:collapse;font-size:14px}
.rm-table th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--ink-muted);background:var(--surface-subtle);border-bottom:1px solid var(--border);white-space:nowrap}
.rm-table td{padding:0 12px;height:var(--control-md);border-bottom:1px solid var(--border);color:var(--ink)}
.rm-table tr:last-child td{border-bottom:0}
.rm-table tbody tr:hover td{background:var(--surface-subtle)}
.rm-num{text-align:right;font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){.rm-orbit,.rm-notify::after{animation:none}}
