Initial commit: YouTube Studio Flow (backend, frontend, infrastructure, docs)

This commit is contained in:
2026-08-11 12:27:44 +02:00
commit d5af006443
304 changed files with 74604 additions and 0 deletions
@@ -0,0 +1,112 @@
.root {
position: relative;
display: inline-flex;
}
.trigger {
display: inline-flex;
align-items: center;
gap: var(--space-1);
padding: 5px var(--space-3);
font-size: var(--text-sm);
font-weight: 500;
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
background: var(--color-surface);
color: var(--color-text-muted);
cursor: pointer;
white-space: nowrap;
}
.trigger:hover { background: var(--color-bg); color: var(--color-text); }
.triggerActive { color: var(--color-primary); border-color: var(--color-primary); }
.badge {
font-size: var(--text-xs);
background: color-mix(in srgb, var(--color-primary) 15%, transparent);
color: var(--color-primary);
border-radius: var(--radius-full);
padding: 1px 6px;
}
.popover {
position: absolute;
top: calc(100% + 6px);
right: 0;
z-index: 50;
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
width: 240px;
overflow: hidden;
}
.popoverHeader {
display: flex;
align-items: center;
justify-content: space-between;
padding: var(--space-3) var(--space-4);
border-bottom: 1px solid var(--color-border);
}
.popoverTitle {
font-size: var(--text-sm);
font-weight: 600;
color: var(--color-text);
}
.resetBtn {
display: inline-flex;
align-items: center;
gap: 4px;
background: none;
border: none;
font-size: var(--text-xs);
color: var(--color-text-muted);
cursor: pointer;
padding: 2px 4px;
border-radius: var(--radius-sm);
}
.resetBtn:hover { color: var(--color-text); background: var(--color-bg); }
.list {
padding: var(--space-2) 0;
max-height: 360px;
overflow-y: auto;
}
.item {
display: flex;
align-items: center;
gap: var(--space-2);
padding: 5px var(--space-3);
user-select: none;
}
.item:hover { background: var(--color-bg); }
.grip {
cursor: grab;
color: var(--color-text-faint);
display: flex;
align-items: center;
flex-shrink: 0;
}
.grip:active { cursor: grabbing; }
.label {
display: flex;
align-items: center;
gap: var(--space-2);
font-size: var(--text-sm);
color: var(--color-text);
cursor: pointer;
flex: 1;
}
.label input:disabled { opacity: 0.4; cursor: not-allowed; }
.checkbox {
accent-color: var(--color-primary);
width: 14px;
height: 14px;
flex-shrink: 0;
}