Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from bundle
Capture a talking-head clip with camera and microphone, transcribe it with ElevenLabs word-level timestamps, detect immediate doubled words or stutters, render
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
assets/camera-recorder.html.txt
1<!doctype html>2<html lang="en">3<head>4<meta charset="UTF-8" />5<meta name="viewport" content="width=device-width, initial-scale=1.0" />6<title>Studio Recorder</title>7<link rel="preconnect" href="https://fonts.googleapis.com" />8<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />9<link href="https://fonts.googleapis.com/css2?family=Syne:wght@600;700;800&family=DM+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap" rel="stylesheet" />10<style>11:root {12--bg: #0a0a0c;13--surface: #111114;14--surface-raised: #18181c;15--surface-overlay: rgba(255, 255, 255, 0.04);16--border: rgba(255, 255, 255, 0.06);17--border-strong: rgba(255, 255, 255, 0.12);18--text: #e8e8ed;19--text-dim: #6e6e7a;20--text-muted: #44444f;21--rec: #ff2d2d;22--rec-glow: rgba(255, 45, 45, 0.35);23--rec-soft: rgba(255, 45, 45, 0.08);24--teal: #2dd4bf;25--teal-dim: rgba(45, 212, 191, 0.12);26--amber: #fbbf24;27}2829@font-face {30font-family: 'Tabular';31src: local('DM Mono'), local('JetBrains Mono'), local('SF Mono');32}3334* { box-sizing: border-box; margin: 0; }3536body {37min-height: 100vh;38color: var(--text);39font-family: 'DM Sans', sans-serif;40background: var(--bg);41overflow-x: hidden;42}4344/* Grain overlay */45body::before {46content: '';47position: fixed;48inset: 0;49z-index: 9999;50pointer-events: none;51opacity: 0.025;52background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");53background-size: 128px;54}5556/* Ambient glow behind video */57.ambient-glow {58position: fixed;59top: -120px;60left: 50%;61transform: translateX(-50%);62width: 700px;63height: 400px;64background: radial-gradient(ellipse, rgba(255, 45, 45, 0.06) 0%, transparent 70%);65pointer-events: none;66transition: opacity 0.6s ease;67opacity: 0;68}6970.ambient-glow.active {71opacity: 1;72}7374.shell {75width: min(1320px, calc(100vw - 48px));76margin: 0 auto;77padding: 32px 0 64px;78display: grid;79gap: 20px;80}8182/* ── Top Bar ── */83.topbar {84display: flex;85align-items: center;86justify-content: space-between;87gap: 16px;88padding: 0 4px;89}9091.topbar-brand {92display: flex;93align-items: center;94gap: 14px;95}9697.topbar-brand .logo-mark {98width: 36px;99height: 36px;100border-radius: 10px;101background: linear-gradient(135deg, var(--rec), #ff6b4a);102display: grid;103place-items: center;104box-shadow: 0 0 24px var(--rec-glow);105}106107.topbar-brand .logo-mark svg {108width: 18px;109height: 18px;110fill: #fff;111}112113.topbar-brand h1 {114font-family: 'Syne', sans-serif;115font-size: 1.35rem;116font-weight: 800;117letter-spacing: -0.03em;118color: var(--text);119}120121.topbar-brand h1 span {122color: var(--text-dim);123font-weight: 600;124}125126.status-badge {127display: inline-flex;128align-items: center;129gap: 8px;130padding: 8px 14px;131border-radius: 8px;132background: var(--surface);133border: 1px solid var(--border);134font-size: 0.8rem;135font-weight: 500;136letter-spacing: 0.06em;137text-transform: uppercase;138color: var(--text-dim);139transition: all 0.3s ease;140}141142.status-badge.live {143background: var(--rec-soft);144border-color: rgba(255, 45, 45, 0.2);145color: var(--rec);146}147148.status-indicator {149width: 8px;150height: 8px;151border-radius: 50%;152background: var(--text-muted);153transition: background 0.3s ease;154}155156.status-badge.live .status-indicator {157background: var(--rec);158box-shadow: 0 0 8px var(--rec-glow);159animation: blink 1.2s infinite;160}161162/* ── Main Grid ── */163.main-grid {164display: grid;165grid-template-columns: 1fr 340px;166gap: 20px;167}168169/* ── Monitor Panel ── */170.monitor {171border-radius: 16px;172background: var(--surface);173border: 1px solid var(--border);174overflow: hidden;175display: flex;176flex-direction: column;177}178179.monitor-chrome {180display: flex;181align-items: center;182justify-content: space-between;183padding: 12px 18px;184border-bottom: 1px solid var(--border);185background: var(--surface-overlay);186}187188.monitor-chrome .label {189font-size: 0.75rem;190font-weight: 600;191letter-spacing: 0.08em;192text-transform: uppercase;193color: var(--text-dim);194}195196.monitor-chrome .specs {197display: flex;198gap: 12px;199}200201.monitor-chrome .spec {202font-size: 0.72rem;203color: var(--text-muted);204font-family: 'DM Mono', 'JetBrains Mono', 'SF Mono', monospace;205}206207.viewport {208position: relative;209flex: 1;210padding: 12px;211}212213.viewport video {214width: 100%;215display: block;216aspect-ratio: 16 / 9;217object-fit: cover;218background: #000;219border-radius: 8px;220border: 1px solid rgba(255, 255, 255, 0.03);221}222223.viewport.recording video {224border-color: rgba(255, 45, 45, 0.3);225box-shadow: 0 0 0 1px rgba(255, 45, 45, 0.15), 0 0 40px rgba(255, 45, 45, 0.06);226}227228/* Floating REC badge */229.rec-badge {230position: absolute;231top: 24px;232left: 24px;233display: inline-flex;234align-items: center;235gap: 8px;236padding: 6px 12px;237border-radius: 6px;238background: rgba(0, 0, 0, 0.7);239backdrop-filter: blur(12px);240border: 1px solid rgba(255, 45, 45, 0.25);241font-family: 'DM Mono', 'JetBrains Mono', 'SF Mono', monospace;242font-size: 0.78rem;243font-weight: 600;244color: var(--rec);245letter-spacing: 0.04em;246opacity: 0;247transform: translateY(-4px);248transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);249}250251.rec-badge.visible {252opacity: 1;253transform: translateY(0);254}255256.rec-badge .dot {257width: 8px;258height: 8px;259border-radius: 50%;260background: var(--rec);261animation: blink 1.2s infinite;262}263264/* Timer strip under video */265.timer-strip {266display: flex;267align-items: center;268justify-content: space-between;269padding: 14px 18px;270border-top: 1px solid var(--border);271background: var(--surface-overlay);272}273274.timer-display {275font-family: 'Syne', sans-serif;276font-size: 2rem;277font-weight: 800;278letter-spacing: -0.04em;279color: var(--text);280line-height: 1;281transition: color 0.3s ease;282}283284.timer-display.active {285color: var(--rec);286}287288.timer-state {289font-size: 0.78rem;290color: var(--text-muted);291text-align: right;292line-height: 1.4;293}294295/* ── Sidebar ── */296.sidebar {297display: flex;298flex-direction: column;299gap: 16px;300}301302.card {303border-radius: 16px;304background: var(--surface);305border: 1px solid var(--border);306overflow: hidden;307}308309.card-header {310padding: 14px 16px 12px;311border-bottom: 1px solid var(--border);312background: var(--surface-overlay);313}314315.card-header h3 {316font-family: 'Syne', sans-serif;317font-size: 0.85rem;318font-weight: 700;319letter-spacing: 0.02em;320color: var(--text);321}322323.card-body {324padding: 14px 16px 16px;325display: grid;326gap: 12px;327}328329/* Inputs */330.field {331display: grid;332gap: 5px;333}334335.field label {336font-size: 0.72rem;337font-weight: 600;338letter-spacing: 0.06em;339text-transform: uppercase;340color: var(--text-muted);341}342343select {344width: 100%;345padding: 10px 12px;346border-radius: 8px;347border: 1px solid var(--border);348background: var(--bg);349color: var(--text);350font: inherit;351font-size: 0.88rem;352appearance: none;353background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236e6e7a' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");354background-repeat: no-repeat;355background-position: right 12px center;356cursor: pointer;357transition: border-color 0.15s ease;358}359360select:focus {361outline: none;362border-color: var(--border-strong);363}364365/* Toggle row */366.toggle-row {367display: flex;368align-items: center;369justify-content: space-between;370gap: 12px;371padding: 10px 12px;372border-radius: 8px;373background: var(--surface-overlay);374border: 1px solid var(--border);375}376377.toggle-row .info strong {378display: block;379font-size: 0.85rem;380font-weight: 500;381color: var(--text);382}383384.toggle-row .info span {385display: block;386margin-top: 2px;387font-size: 0.75rem;388color: var(--text-muted);389line-height: 1.35;390}391392/* Custom toggle switch */393.switch {394position: relative;395width: 40px;396height: 22px;397flex-shrink: 0;398}399400.switch input {401opacity: 0;402width: 0;403height: 0;404}405406.switch .slider {407position: absolute;408inset: 0;409border-radius: 999px;410background: var(--text-muted);411cursor: pointer;412transition: background 0.2s ease;413}414415.switch .slider::before {416content: '';417position: absolute;418top: 3px;419left: 3px;420width: 16px;421height: 16px;422border-radius: 50%;423background: var(--bg);424transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);425}426427.switch input:checked + .slider {428background: var(--teal);429}430431.switch input:checked + .slider::before {432transform: translateX(18px);433}434435/* Buttons */436button {437font: inherit;438border: 0;439cursor: pointer;440transition: all 0.15s ease;441}442443button:disabled {444cursor: not-allowed;445opacity: 0.3;446}447448.btn-row {449display: grid;450grid-template-columns: 1fr 1fr;451gap: 8px;452}453454.btn-rec {455grid-column: 1 / -1;456display: flex;457align-items: center;458justify-content: center;459gap: 10px;460padding: 14px;461border-radius: 10px;462background: linear-gradient(135deg, #e02020, #ff4040);463color: #fff;464font-weight: 700;465font-size: 0.9rem;466letter-spacing: 0.02em;467box-shadow: 0 4px 20px var(--rec-glow);468}469470.btn-rec:hover:enabled {471transform: translateY(-1px);472box-shadow: 0 8px 30px var(--rec-glow);473}474475.btn-rec:active:enabled {476transform: translateY(0);477}478479.btn-rec .rec-dot {480width: 10px;481height: 10px;482border-radius: 50%;483background: #fff;484opacity: 0.9;485}486487.btn-stop {488grid-column: 1 / -1;489padding: 14px;490border-radius: 10px;491background: var(--rec-soft);492color: var(--rec);493font-weight: 700;494font-size: 0.9rem;495border: 1px solid rgba(255, 45, 45, 0.15);496}497498.btn-stop:hover:enabled {499background: rgba(255, 45, 45, 0.12);500}501502.btn-ghost {503padding: 10px 14px;504border-radius: 8px;505background: var(--surface-overlay);506color: var(--text-dim);507font-weight: 500;508font-size: 0.82rem;509border: 1px solid var(--border);510}511512.btn-ghost:hover:enabled {513background: rgba(255, 255, 255, 0.06);514color: var(--text);515border-color: var(--border-strong);516}517518/* Source mode tabs */519.mode-tabs {520display: grid;521grid-template-columns: 1fr 1fr;522gap: 4px;523padding: 4px;524border-radius: 10px;525background: var(--bg);526border: 1px solid var(--border);527}528529.mode-tab {530padding: 9px 12px;531border-radius: 7px;532background: transparent;533color: var(--text-dim);534font-weight: 600;535font-size: 0.82rem;536text-align: center;537border: none;538transition: all 0.15s ease;539}540541.mode-tab:hover:not(.active) {542color: var(--text);543background: var(--surface-overlay);544}545546.mode-tab.active {547background: var(--surface-raised);548color: var(--text);549box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);550}551552.mode-tab .tab-icon {553display: inline-block;554margin-right: 5px;555font-size: 0.9em;556vertical-align: -1px;557}558559/* Screen-specific controls */560.screen-controls {561display: none;562}563564.screen-controls.visible {565display: grid;566gap: 12px;567}568569.camera-controls.hidden {570display: none;571}572573.screen-hint {574padding: 10px 12px;575border-radius: 8px;576background: var(--teal-dim);577border: 1px solid rgba(45, 212, 191, 0.15);578font-size: 0.78rem;579color: var(--teal);580line-height: 1.45;581}582583/* Video wrapper for crop alignment */584.video-wrap {585position: relative;586}587588/* Crop overlay */589.crop-layer {590position: absolute;591inset: 0;592border-radius: 8px;593cursor: crosshair;594z-index: 10;595display: none;596}597598.crop-layer.active {599display: block;600}601602.crop-box {603position: absolute;604border: 2px solid var(--teal);605box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.55);606border-radius: 4px;607pointer-events: none;608display: none;609}610611.crop-box.visible {612display: block;613}614615.crop-box .crop-size {616position: absolute;617bottom: -24px;618left: 50%;619transform: translateX(-50%);620font-family: 'DM Mono', 'JetBrains Mono', 'SF Mono', monospace;621font-size: 0.68rem;622color: var(--teal);623background: rgba(0, 0, 0, 0.7);624padding: 2px 8px;625border-radius: 4px;626white-space: nowrap;627}628629.btn-teal {630padding: 10px 14px;631border-radius: 8px;632background: var(--teal-dim);633color: var(--teal);634font-weight: 600;635font-size: 0.82rem;636border: 1px solid rgba(45, 212, 191, 0.15);637}638639.btn-teal:hover:enabled {640background: rgba(45, 212, 191, 0.18);641}642643.folder-info {644font-size: 0.75rem;645color: var(--text-muted);646padding: 0 2px;647}648649/* Tips *