/* ── Output Example Demo ──────────────────────────────── */ .demo-section { margin: 0 0 var(--space-xl); } /* ── Toggle button ───────────────────────────────────── */ .demo-toggle { display: inline-flex; align-items: center; gap: var(--space-sm); background: transparent; border: 1px solid var(--border); border-radius: 6px; color: var(--text-muted); font-family: inherit; font-size: var(--text-md); font-weight: 500; padding: var(--space-sm) var(--space-md); cursor: pointer; transition: color 0.15s, border-color 0.15s, background 0.15s; } .demo-toggle:hover { color: var(--text); background: var(--btn-hover-bg); } .demo-toggle.active { color: var(--teal); border-color: var(--btn-active-border); background: var(--btn-active-bg); } .demo-toggle-arrow { display: inline-block; transition: transform 0.2s; font-size: var(--text-sm); } .demo-toggle.active .demo-toggle-arrow { transform: rotate(90deg); } /* ── Collapsible content ─────────────────────────────── */ .demo-content { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s ease; } .demo-content.open { grid-template-rows: 1fr; } .demo-content-inner { overflow: hidden; } /* ── Card ────────────────────────────────────────────── */ .demo-card { border-radius: 12px; border: 1px solid var(--border); padding: var(--space-lg); margin-top: var(--space-md); position: relative; overflow: hidden; } /* ── Title row ──────────────────────────────────────── */ .demo-title-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); margin-bottom: var(--space-sm); } .demo-title-row h3 { font-size: var(--text-lg); font-weight: 600; color: var(--text); margin-bottom: 0; } .demo-title-left { display: flex; align-items: baseline; gap: var(--space-md); } .demo-clip-setup { font-size: var(--text-md); font-weight: 400; color: var(--text-dim); } /* ── Device selector ────────────────────────────────── */ .demo-device-selector { display: flex; justify-content: center; margin-bottom: var(--space-md); } /* ── Video with overlay arrows ───────────────────────── */ .demo-video-wrap { position: relative; border-radius: 8px; overflow: hidden; aspect-ratio: 16 / 9; margin-bottom: var(--space-sm); } .demo-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity 0.3s ease; } .demo-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.7); border: none; border-radius: 50%; color: rgba(255, 255, 255, 0.8); font-size: var(--text-sm); cursor: pointer; transition: background 0.15s, color 0.15s; font-family: inherit; } .demo-arrow-left { left: var(--space-md); } .demo-arrow-right { right: var(--space-md); } .demo-arrow:hover:not(:disabled) { background: rgba(0, 0, 0, 0.6); color: #fff; } .demo-arrow:disabled { opacity: 0.25; cursor: default; } /* ── Card content ────────────────────────────────────── */ .demo-prompt { font-size: var(--text-md); color: var(--text-muted); line-height: 1.6; margin-bottom: var(--space-md); } .demo-prompt strong { color: var(--text); } .demo-citation { font-size: var(--text-sm); color: var(--text-dim); margin-top: var(--space-md); line-height: 1.5; } .demo-citation a { color: var(--text-dim); text-decoration: underline; } .demo-citation a:hover { color: var(--text-muted); } /* ── Side-by-side outputs ────────────────────────────── */ .demo-outputs { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); } .demo-output { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: var(--space-md); line-height: 1.6; font-size: var(--text-md); color: var(--text); } .demo-output-model { display: block; font-size: var(--text-md); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-dim); margin-bottom: var(--space-sm); } .demo-output-tps { display: block; font-size: var(--text-md); font-weight: 700; color: var(--text-dim); margin-bottom: var(--space-sm); } .demo-output-tps.oom { color: var(--red); } .demo-output-text { color: var(--text-muted); font-size: var(--text-md); } /* ── Responsive ──────────────────────────────────────── */ @media (max-width: 768px) { .demo-outputs { grid-template-columns: 1fr; } .demo-title-row { flex-direction: column; align-items: flex-start; } .demo-arrow { width: 28px; height: 28px; font-size: var(--text-sm); } }