:root{--bg-primary: #18181b;--bg-secondary: #1c1c20;--bg-card: #222226;--bg-hover: #2a2a30;--bg-input: #1c1c20;--text-primary: #f4f4f5;--text-secondary:#a1a1aa;--text-muted: #71717a;--accent: #3b82f6;--accent-hover: #2563eb;--danger: #ef4444;--danger-hover: #dc2626;--border: rgba(255,255,255,.07);--border-hover: rgba(59,130,246,.4);--shadow-card: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-hover: 0 4px 12px rgba(0,0,0,.5);--radius: 8px;--radius-sm: 4px;--radius-lg: 12px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "Fira Code", "JetBrains Mono", Consolas, monospace}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg-primary: #f8f8fa;--bg-secondary: #f0f0f2;--bg-card: #ffffff;--bg-hover: #f4f4f6;--bg-input: #f0f0f2;--text-primary: #18181b;--text-secondary:#52525b;--text-muted: #a1a1aa;--accent: #2563eb;--accent-hover: #1d4ed8;--danger: #dc2626;--danger-hover: #b91c1c;--border: rgba(0,0,0,.08);--border-hover: rgba(37,99,235,.35);--shadow-card: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-hover: 0 4px 12px rgba(0,0,0,.12)}}[data-theme=light]{--bg-primary: #f8f8fa;--bg-secondary: #f0f0f2;--bg-card: #ffffff;--bg-hover: #f4f4f6;--bg-input: #f0f0f2;--text-primary: #18181b;--text-secondary:#52525b;--text-muted: #a1a1aa;--accent: #2563eb;--accent-hover: #1d4ed8;--danger: #dc2626;--danger-hover: #b91c1c;--border: rgba(0,0,0,.08);--border-hover: rgba(37,99,235,.35);--shadow-card: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-hover: 0 4px 12px rgba(0,0,0,.12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:0;background:var(--accent);color:#fff;padding:.5rem 1rem;font-size:.875rem;font-weight:600;z-index:9999;border-radius:0 0 var(--radius) 0;text-decoration:none}.skip-link:focus-visible{top:0;outline:2px solid #fff;outline-offset:-4px}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.session-card:focus-visible{outline:2px solid var(--accent);outline-offset:0;box-shadow:0 0 0 2px var(--accent)}img{display:block;max-width:100%}.topbar{height:56px;border-bottom:1px solid var(--border);background:var(--bg-secondary);display:flex;align-items:center;gap:1rem;padding:0 1.5rem;position:sticky;top:0;z-index:100}.topbar-brand{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9375rem;color:var(--text-primary);letter-spacing:-.01em}.topbar-brand .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.topbar-nav{display:flex;align-items:center;gap:.25rem;margin-left:.5rem}.topbar-link{padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-secondary);transition:color .15s,background .15s}.topbar-link:hover,.topbar-link.active{color:var(--text-primary);background:var(--bg-hover)}.topbar-spacer{flex:1}.topbar-actions{display:flex;align-items:center;gap:.5rem}.badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:10px;font-size:.75rem;font-weight:500;background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border)}.badge-accent{background:#3b82f626;color:var(--accent);border-color:#3b82f633}.icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);transition:color .15s,background .15s;flex-shrink:0}.icon-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.icon-btn.danger:hover{color:var(--danger);background:#ef44441a}.page{max-width:1280px;margin:0 auto;padding:2rem 1.5rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.page-title{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.search-input{height:36px;padding:0 .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:.875rem;font-family:var(--font);width:240px;transition:border-color .15s}.search-input::placeholder{color:var(--text-muted)}.search-input:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}@media(max-width:768px){.search-input{width:100%}.page-header{flex-direction:column;align-items:stretch}}.sessions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}@media(max-width:1024px){.sessions-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.sessions-grid{grid-template-columns:1fr}}.session-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:border-color .2s,box-shadow .2s,transform .15s;cursor:pointer;position:relative}.session-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.session-thumb{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--bg-secondary);position:relative}.session-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease,filter .3s ease}.session-card:hover .session-thumb img{transform:scale(1.03);filter:brightness(1.1)}.session-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.session-card-body{padding:.875rem 1rem}.session-card-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.session-time{font-size:.8125rem;color:var(--text-secondary);cursor:default}.session-badges{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.session-url{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.375rem}.session-card-actions{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;gap:.25rem;opacity:0;transition:opacity .15s}.session-card:hover .session-card-actions{opacity:1}@media(max-width:768px){.session-card-actions{opacity:1}}.session-delete-confirm{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;gap:.375rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:.25rem .5rem;font-size:.75rem}.session-delete-confirm button{padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;transition:background .15s,color .15s}.session-delete-confirm .btn-confirm{background:var(--danger);color:#fff}.session-delete-confirm .btn-confirm:hover{background:var(--danger-hover)}.session-delete-confirm .btn-cancel{color:var(--text-secondary)}.session-delete-confirm .btn-cancel:hover{color:var(--text-primary);background:var(--bg-hover)}.session-card.deleting{animation:fadeout .3s ease forwards}@keyframes fadeout{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.sync-icon{display:inline-flex;align-items:center;line-height:1}.sync-icon.sync-pending{color:var(--text-secondary)}.sync-icon.sync-syncing,.sync-icon.sync-synced{color:var(--accent)}.sync-icon.sync-failed{color:var(--danger)}.session-sync-btn:hover{color:var(--accent)}.load-more{display:flex;justify-content:center;padding:1.5rem 0}.btn-load-more{padding:.625rem 1.5rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;cursor:pointer;transition:background .15s,border-color .15s;min-height:44px}.btn-load-more:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}.btn-load-more:disabled{opacity:.5;cursor:not-allowed}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 2rem;gap:1rem;text-align:center}.empty-state-icon{width:56px;height:56px;border-radius:50%;background:var(--bg-hover);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);margin-bottom:.5rem}.empty-state-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.empty-state-desc{font-size:.875rem;color:var(--text-secondary);max-width:340px;line-height:1.6}.loading-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}@media(max-width:1024px){.loading-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.loading-grid{grid-template-columns:1fr}}.skeleton{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;animation:shimmer 1.5s infinite}.skeleton-thumb{width:100%;aspect-ratio:16/9;background:var(--bg-hover)}.skeleton-body{padding:.875rem 1rem;display:flex;flex-direction:column;gap:.5rem}.skeleton-line{height:12px;border-radius:6px;background:var(--bg-hover)}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.5}}.theme-toggle{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .15s,background .15s}.theme-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.replay-page{max-width:1400px;padding-top:1.25rem}.replay-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.replay-back{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-secondary);padding:.375rem .75rem;border-radius:var(--radius);transition:color .15s,background .15s}.replay-back:hover{color:var(--text-primary);background:var(--bg-hover)}.replay-header-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.replay-date{font-size:.8125rem;color:var(--text-secondary)}.replay-layout{display:grid;grid-template-columns:1fr 320px;gap:1.25rem;align-items:start}@media(max-width:1024px){.replay-layout{grid-template-columns:1fr}}.replay-viewer-area{display:flex;flex-direction:column;gap:.75rem}.replay-viewer-row{display:flex;align-items:center;gap:.5rem}.nav-arrow{width:40px;height:40px;flex-shrink:0}.nav-arrow:disabled{opacity:.25;cursor:default}@media(max-width:768px){.nav-arrow{display:none}}.frame-viewer{flex:1;position:relative;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9;cursor:zoom-in}.frame-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}.frame-img-prev,.frame-img-current{opacity:0;transition:opacity .3s ease}.frame-img-current.loaded{opacity:1}.frame-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000d9;display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:fadein .2s ease}.zoom-img{max-width:95vw;max-height:95vh;object-fit:contain;border-radius:var(--radius);cursor:default}.zoom-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;color:#fff;background:#ffffff1a;border-radius:50%}.zoom-close:hover{background:#fff3}@keyframes fadein{0%{opacity:0}to{opacity:1}}.timeline{padding:.5rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.timeline-track{position:relative;height:12px;background:var(--bg-hover);border-radius:6px;min-width:100%}.timeline-fill{position:absolute;top:0;left:0;height:100%;background:#3b82f633;border-radius:6px;transition:width .3s ease}.timeline-dot{position:absolute;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:var(--text-muted);border:2px solid var(--bg-primary);transition:transform .15s,background .15s,box-shadow .15s;z-index:1;padding:0}.timeline-dot:hover{background:var(--text-secondary);transform:translate(-50%,-50%) scale(1.3)}.timeline-dot.active{background:var(--accent);transform:translate(-50%,-50%) scale(1.4);box-shadow:0 0 0 3px #3b82f64d}.playback-controls{display:flex;align-items:center;gap:.5rem}.play-btn.playing{color:var(--accent)}.play-btn.playing svg{animation:pulse-play 1.5s ease-in-out infinite}@keyframes pulse-play{0%,to{opacity:1}50%{opacity:.5}}.frame-counter{font-size:.8125rem;color:var(--text-secondary);margin-left:.25rem;white-space:nowrap}.progress-bar-mini{flex:1;height:3px;background:var(--bg-hover);border-radius:2px;overflow:hidden;margin-left:.5rem}.progress-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.icon-btn:disabled{opacity:.25;cursor:default}.action-detail{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.action-detail-toggle{width:100%;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:600;color:var(--text-secondary);transition:color .15s,background .15s;text-align:left}.action-detail-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.action-detail-toggle svg{transition:transform .2s}.action-detail-toggle svg.rotated{transform:rotate(90deg)}.action-detail-body{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.75rem}.action-detail-row{display:flex;gap:.75rem;align-items:baseline}.action-label{font-size:.75rem;font-weight:500;color:var(--text-muted);min-width:48px;flex-shrink:0;text-transform:uppercase;letter-spacing:.03em}.action-value{font-size:.8125rem;color:var(--text-primary);word-break:break-all}.action-url{color:var(--accent);text-decoration:none}.action-url:hover{text-decoration:underline}.tool-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;background:#3b82f61a;color:var(--accent);border:1px solid rgba(59,130,246,.15)}.action-detail-args{display:flex;flex-direction:column;gap:.375rem}.action-args-code{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;overflow-x:auto;font-family:var(--font-mono);font-size:.75rem;line-height:1.6;color:var(--text-primary);white-space:pre;max-height:300px;overflow-y:auto}.replay-loading{display:flex;flex-direction:column;gap:1rem}.replay-loading-frame{aspect-ratio:16/9;width:100%}.replay-loading-timeline{padding:.5rem 0}.replay-loading-details{display:flex;flex-direction:column;gap:.5rem}@media(max-width:1024px){.action-detail{margin-top:0}}@media(max-width:768px){.replay-page{padding:1rem}.replay-header{flex-direction:column;align-items:flex-start;gap:.5rem}.frame-viewer{border-radius:var(--radius)}.playback-controls{flex-wrap:wrap}}@media(max-width:768px){.icon-btn{width:44px;height:44px}.topbar-link{min-height:44px;display:inline-flex;align-items:center}.btn-load-more{min-height:44px}.timeline-dot{width:20px;height:20px}}:root{--compare-exact: #22c55e;--compare-similar: #eab308;--compare-added: #3b82f6;--compare-removed: #ef4444}.session-checkbox{position:absolute;top:.5rem;left:.5rem;z-index:2;opacity:0;transition:opacity .15s}.session-checkbox.visible,.session-card:hover .session-checkbox{opacity:1}.session-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.session-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px #3b82f64d}.page-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.compare-bar{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:var(--radius);font-size:.8125rem;color:var(--accent)}.compare-bar-count{font-weight:500}.btn-compare{padding:.375rem .75rem;background:var(--accent);color:#fff;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;transition:background .15s;min-height:32px}.btn-compare:hover{background:var(--accent-hover)}.compare-page{max-width:1400px;padding-top:1.25rem}.compare-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.compare-header-sessions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.compare-session-label{font-size:.8125rem;color:var(--text-primary);font-weight:500}.compare-date{margin-left:.375rem;font-size:.75rem;color:var(--text-muted);font-weight:400}.compare-vs{font-size:.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase}.compare-viewers{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media(max-width:768px){.compare-viewers{grid-template-columns:1fr}}.compare-viewer{display:flex;flex-direction:column;gap:.5rem}.compare-viewer-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.compare-viewer-frame{position:relative;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9}.compare-viewer-frame .frame-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}.compare-viewer-empty{opacity:.5}.compare-viewer-placeholder{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--text-muted);font-size:.8125rem}.compare-viewer-info{display:flex;align-items:center;gap:.5rem;overflow:hidden}.compare-viewer-url{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-controls{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.75rem}.compare-legend{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-bottom:.75rem;font-size:.75rem;color:var(--text-secondary)}.compare-legend-item{display:flex;align-items:center;gap:.375rem}.compare-legend-dot{width:8px;height:8px;border-radius:50%}.compare-timeline{display:flex;gap:.375rem;overflow-x:auto;padding:.5rem 0;-webkit-overflow-scrolling:touch}.compare-timeline-entry{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid;border-radius:var(--radius-sm);font-size:.75rem;color:var(--text-secondary);white-space:nowrap;transition:background .15s,border-color .15s;min-height:36px;flex-shrink:0}.compare-timeline-entry:hover{background:var(--bg-hover)}.compare-timeline-entry.active{background:var(--bg-hover);border-color:var(--accent);color:var(--text-primary)}.compare-timeline-badge{display:inline-flex;align-items:center;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600;color:#fff}.compare-timeline-seqs{font-family:var(--font-mono);font-size:.6875rem}.compare-loading{display:flex;flex-direction:column;gap:1rem}@media(max-width:768px){.compare-page{padding:1rem}.compare-header{flex-direction:column;align-items:flex-start;gap:.5rem}.compare-header-sessions{flex-direction:column;gap:.25rem}.compare-timeline-entry{min-height:44px}.compare-controls .icon-btn{width:44px;height:44px}}.settings-page{padding:2rem 1rem}.settings-container{max-width:720px;margin:0 auto}.settings-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:2rem}.settings-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.settings-section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.settings-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.settings-loading{font-size:.875rem;color:var(--text-muted)}.plan-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.plan-badge--free{background:#a1a1aa26;color:var(--text-secondary)}.plan-badge--pro{background:#3b82f626;color:var(--accent)}.plan-badge--team{background:#8b5cf626;color:#a78bfa}.feature-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.feature-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.feature-item--included{color:var(--text-primary)}.feature-item--locked{color:var(--text-muted)}.feature-icon--check{color:#22c55e;flex-shrink:0}.feature-icon--lock{color:var(--text-muted);flex-shrink:0}.feature-plan-hint{margin-left:auto;font-size:.75rem;color:var(--text-muted);background:var(--bg-hover);padding:.125rem .375rem;border-radius:var(--radius-sm)}.license-form{display:flex;flex-direction:column;gap:.75rem}.license-input-row{display:flex;gap:.5rem}.license-input{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;font-size:.875rem;font-family:var(--font-mono);color:var(--text-primary);transition:border-color .15s;min-width:0}.license-input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.license-message{font-size:.8125rem;padding:.5rem .75rem;border-radius:var(--radius);margin-top:.5rem}.license-message--success{background:#22c55e1a;color:#22c55e}.license-message--error{background:#ef44441a;color:var(--danger)}.license-active{display:flex;flex-direction:column;gap:1rem}.license-info{display:flex;flex-direction:column;gap:.5rem}.license-field{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.license-label{color:var(--text-muted);width:5rem;flex-shrink:0}.license-value{color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;transition:background .15s,opacity .15s;cursor:pointer;border:none;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border)}.btn--secondary:hover:not(:disabled){background:var(--border)}.btn--danger{background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.2)}.btn--danger:hover:not(:disabled){background:#ef444433}.btn--full{width:100%}.plan-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1rem}.plan-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:border-color .15s}.plan-card:hover{border-color:var(--border-hover)}.plan-card-header{display:flex;align-items:baseline;justify-content:space-between}.plan-card-name{font-size:1rem;font-weight:700;color:var(--text-primary)}.plan-card-price{font-size:.875rem;font-weight:600;color:var(--accent)}.plan-card-features{list-style:none;display:flex;flex-direction:column;gap:.375rem;flex:1}.plan-card-feature{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary)}.plan-card-feature svg{color:#22c55e;flex-shrink:0}.settings-error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-lg);padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;font-size:.875rem;color:var(--danger)}.settings-error p{flex:1}.license-deactivate-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.license-confirm-text{font-size:.8125rem;color:var(--danger);font-weight:500}@media(max-width:767px){.settings-page{padding:1rem}.license-input-row{flex-direction:column}.settings-title{font-size:1.25rem}}.live-page{padding:0 1.5rem 2rem;display:flex;flex-direction:column;min-height:calc(100vh - 56px)}.live-status{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;position:sticky;top:56px;z-index:50;background:var(--bg-primary);border-bottom:1px solid var(--border);margin-bottom:1rem}.live-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.live-status-dot.connecting{background:#f59e0b;animation:pulse 1.5s ease-in-out infinite}.live-status-dot.idle{background:var(--text-muted)}.live-status-dot.live{background:#22c55e;animation:pulse 1.5s ease-in-out infinite}.live-status-text{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.live-session-id{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);background:var(--bg-hover);padding:.125rem .5rem;border-radius:var(--radius-sm)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.live-layout{display:grid;grid-template-columns:1fr 320px;gap:1.25rem;align-items:start;flex:1}@media(max-width:1024px){.live-layout{grid-template-columns:1fr}}.live-frame-container{min-width:0}.live-frame{position:relative;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16 / 9}.live-frame img,.live-frame canvas{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}.live-frame-canvas{image-rendering:auto}.live-frame-inner-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--text-muted);font-size:.8125rem}.live-frame-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-secondary);text-align:center;padding:3rem 1rem;min-height:300px}.live-frame-placeholder p{font-size:.875rem;max-width:320px}.live-ended{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem;background:#000000a6;color:#f4f4f5;font-size:.8125rem;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.live-timeline{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;max-height:calc(100vh - 160px)}@media(max-width:1024px){.live-timeline{max-height:360px}}.live-timeline-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.live-timeline-list{flex:1;overflow-y:auto;padding:.375rem 0}.live-timeline-empty{padding:2rem 1rem;text-align:center;font-size:.8125rem;color:var(--text-muted)}.live-timeline-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8125rem;border-bottom:1px solid var(--border);transition:background .15s}.live-timeline-item:last-child{border-bottom:none}.live-timeline-item:hover{background:var(--bg-hover)}.live-timeline-seq{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);flex-shrink:0;min-width:2rem}.live-timeline-tool{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;background:#3b82f61a;color:var(--accent);border:1px solid rgba(59,130,246,.15);flex-shrink:0;white-space:nowrap}.live-timeline-time{font-size:.75rem;color:var(--text-muted);flex-shrink:0;white-space:nowrap;margin-left:auto}.live-timeline-url{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:none}@media(min-width:1200px){.live-timeline-item{flex-wrap:wrap}.live-timeline-url{display:block;width:100%;padding-left:2rem}}@media(max-width:768px){.live-page{padding:0 1rem 1.5rem}.live-frame{border-radius:var(--radius)}.live-timeline-item{min-height:44px}}
