@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";@keyframes jt-spin{to{transform:rotate(360deg)}}:root{--jt-bg: #ffffff;--jt-card: #ffffff;--jt-surface: #f5f5f7;--jt-border: #ececf0;--jt-accent: #5b4dff;--jt-accent-dim: #4a3ce0;--jt-accent-soft: #eeecff;--jt-coral: #ff5a5f;--jt-danger: #f5384e;--jt-text: #14141a;--jt-text-mid: #64646f;--jt-text-dim: #9a9aab;--jt-overlay: rgba(12, 12, 22, .5);--surface-app: var(--jt-bg);--surface-card: var(--jt-card);--surface-subtle: var(--jt-surface);--surface-glass: var(--jt-overlay);--border-hairline: var(--jt-border);--action-primary: var(--jt-accent);--action-primary-press: var(--jt-accent-dim);--action-destructive: var(--jt-danger);--like: var(--jt-coral);--text-primary: var(--jt-text);--text-secondary: var(--jt-text-mid);--text-tertiary: var(--jt-text-dim);--text-on-accent: #ffffff;--text-on-media: #ffffff;--focus-ring: var(--jt-accent);--shadow-card: 0 1px 2px rgba(20, 20, 30, .04), 0 8px 24px rgba(20, 20, 30, .06)}:root{--poster-0-base: #4b3df5;--poster-0-glow: #9d8bff;--poster-1-base: #3d7bf5;--poster-1-glow: #8fb6ff;--poster-2-base: #7a3df5;--poster-2-glow: #c08bff;--poster-3-base: #e0459f;--poster-3-glow: #ff8fd0;--poster-4-base: #f0455f;--poster-4-glow: #ff8f9f;--poster-5-base: #f07a3d;--poster-5-glow: #ffb98f;--poster-6-base: #e8a92f;--poster-6-glow: #ffd97a;--poster-7-base: #22a35a;--poster-7-glow: #7fe0a8;--poster-8-base: #1aa3a0;--poster-8-glow: #7fe0dd;--poster-9-base: #3d8bf5;--poster-9-glow: #8fc0ff}:root{--jt-font-display: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--jt-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-display: 28px;--text-title: 20px;--text-body: 16px;--text-meta: 13px;--weight-display: 700;--weight-title: 700;--weight-body: 400;--weight-meta: 600;--weight-label: 700;--leading-display: 1.12;--leading-title: 1.2;--leading-body: 1.45;--leading-meta: 1.3;--label-tracking: .6px;--label-transform: uppercase;--display-tracking: -.5px}:root{--space-xs: 4px;--space-s: 8px;--space-m: 16px;--space-l: 24px;--space-xl: 32px;--hit-min: 44px}:root{--radius-sm: 8px;--radius-m: 12px;--radius-lg: 16px;--radius-pill: 999px}:root{color-scheme:light;font-family:var(--jt-font-sans);--studio-media-bg: var(--jt-text)}body{margin:0;background:var(--surface-app);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-body);line-height:var(--leading-body)}h1,h2,h3,.nav-brand{font-family:var(--jt-font-display);letter-spacing:var(--display-tracking)}h1{font-size:var(--text-display);font-weight:var(--weight-display);line-height:var(--leading-display)}h2,h3{font-size:var(--text-title);font-weight:var(--weight-title);line-height:var(--leading-title)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.nav-bar{display:flex;align-items:center;gap:var(--space-m);padding:var(--space-m) var(--space-l);background:var(--action-primary);color:var(--text-on-accent)}.nav-brand{font-weight:var(--weight-title)}.nav-spacer{flex:1}.nav-link{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:var(--space-xs) var(--space-s);border-radius:var(--radius-sm)}.nav-link-active{background:var(--action-primary-press)}.app-main{flex:1;padding:var(--space-l);max-width:640px;margin:0 auto;width:100%;box-sizing:border-box}.auth-form{display:flex;flex-direction:column;gap:var(--space-s);max-width:360px;margin:var(--space-xl) auto}.auth-form input{padding:var(--space-s);font-size:var(--text-body)}.auth-form button[type=submit]{margin-top:var(--space-s);padding:var(--space-s);background:var(--action-primary);color:var(--text-on-accent);border:none;border-radius:var(--radius-m);cursor:pointer}.link-button{background:none;border:none;color:var(--action-primary);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.form-error{color:var(--action-destructive)}.form-notice{color:var(--text-secondary)}.feed-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-m)}.feed-item{background:var(--surface-card);border-radius:var(--radius-lg);padding:var(--space-m);box-shadow:var(--shadow-card)}.feed-item-header{display:flex;justify-content:space-between;align-items:baseline;font-weight:var(--weight-meta)}.feed-item-status{font-size:var(--text-meta);font-weight:var(--weight-label);letter-spacing:var(--label-tracking);text-transform:var(--label-transform);color:var(--text-secondary)}.feed-item-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-s);margin:var(--space-s) 0 0;font-size:var(--text-meta);line-height:var(--leading-meta)}.feed-item-meta dt{color:var(--text-secondary)}.feed-item-meta dd{margin:0}.record-page{display:flex;flex-direction:column;gap:var(--space-m);align-items:center;text-align:center}.record-meta{color:var(--text-secondary);margin:calc(-1 * var(--space-s)) 0 0}.record-composite{width:100%;height:100%;object-fit:cover;display:block}.count-in-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--jt-font-display);font-size:calc(var(--text-display) * 2);font-weight:var(--weight-display);color:var(--text-on-media);background:var(--surface-glass);pointer-events:none}.count-in-overlay-recording{font-size:var(--text-title);color:var(--like);align-items:flex-start;justify-content:flex-start;padding:var(--space-m);background:none}.record-status{color:var(--action-primary);font-weight:var(--weight-meta)}.record-composite{max-width:480px;aspect-ratio:4 / 3;background:var(--studio-media-bg)}.feed-item-actions{margin-top:var(--space-s);display:flex;justify-content:flex-end}.feed-item-add-to-jam{font-size:var(--text-meta)}.feed-item-grid-full{font-size:var(--text-meta);color:var(--text-secondary)}.feed-item-name-link{background:none;border:none;font:inherit;font-weight:inherit;color:inherit;cursor:pointer;padding:0;text-align:left}.feed-item-name-link:hover{text-decoration:underline}.feed-item-actions{gap:var(--space-s)}.feed-item-view{font-size:var(--text-meta)}.jam-detail-page{display:flex;flex-direction:column;gap:var(--space-m)}.jam-detail-back{align-self:flex-start}.jam-detail-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-s);margin:0;font-size:var(--text-meta)}.jam-detail-meta dt{color:var(--text-secondary)}.jam-detail-meta dd{margin:0}.jam-detail-video{width:100%;max-width:480px;aspect-ratio:4 / 3;background:var(--studio-media-bg);align-self:center}.jam-detail-actions{display:flex;align-items:center;gap:var(--space-m);flex-wrap:wrap}.jam-detail-delete{margin-left:auto;color:var(--action-destructive)}.jam-detail-share-ready{display:flex;align-items:center;gap:var(--space-s);flex-wrap:wrap}.jam-detail-share-ready input{flex:1;min-width:220px;padding:var(--space-s);font-size:var(--text-meta)}.jam-detail-comment-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-s)}.jam-detail-comment{display:flex;flex-direction:column;background:var(--surface-card);border-radius:var(--radius-m);padding:var(--space-s) var(--space-m);box-shadow:var(--shadow-card)}.jam-detail-comment-author{font-weight:var(--weight-meta);font-size:var(--text-meta)}.jam-detail-comment-form{display:flex;flex-direction:column;gap:var(--space-s);margin-top:var(--space-m)}.jam-detail-comment-form textarea{padding:var(--space-s);font:inherit;min-height:calc(var(--space-m) * 3);resize:vertical}.jam-grid{display:grid;gap:var(--space-s);max-width:320px;aspect-ratio:1 / 1}.jam-grid-cell{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--text-meta);text-align:center;padding:var(--space-s);word-break:break-word}.jam-grid-cell-occupied{background:var(--action-primary);color:var(--text-on-accent);font-weight:var(--weight-meta)}.jam-grid-cell-free{background:var(--surface-subtle);color:var(--text-secondary);border:1px dashed var(--text-tertiary)}@media (min-width: 768px){.app-main-wide{max-width:1440px}}.jam-detail-page-timeline{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:var(--space-l)}.jam-detail-main,.jam-detail-side{display:flex;flex-direction:column;gap:var(--space-m);min-width:0}.jam-detail-side .jam-detail-meta{grid-template-columns:repeat(2,1fr)}.timeline{display:flex;flex-direction:column;background:var(--jt-bg);border-radius:var(--radius-lg)}.timeline-toolbar{display:flex;align-items:center;gap:var(--space-l);padding:var(--space-m) var(--space-l);border:1px solid var(--jt-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--jt-card);flex-wrap:wrap}.timeline-play{width:40px;height:40px;border-radius:var(--radius-pill);border:none;background:var(--jt-accent);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;cursor:pointer}.timeline-play:disabled{background:var(--jt-text-dim);cursor:not-allowed}.timeline-readouts{display:flex;align-items:center;gap:var(--space-m)}.timeline-readout{display:flex;flex-direction:column;line-height:1.1;min-width:40px}.timeline-readout-label{font-size:var(--text-meta);font-weight:var(--weight-label);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--jt-text-dim)}.timeline-readout-value{font-family:var(--jt-font-display);font-size:var(--text-body);font-weight:var(--weight-title);color:var(--jt-text);font-variant-numeric:tabular-nums}.timeline-spacer{flex:1}.timeline-badge{display:flex;align-items:center;gap:var(--space-xs);background:var(--jt-surface);border-radius:var(--radius-pill);padding:var(--space-xs) var(--space-s);font-size:var(--text-meta);font-weight:var(--weight-label);color:var(--jt-text-mid)}.timeline-segmented{display:flex;align-items:center;gap:2px;background:var(--jt-surface);border-radius:var(--radius-pill);padding:3px}.timeline-seg{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:var(--space-xs) var(--space-m);border-radius:var(--radius-pill);cursor:pointer;font:inherit;font-size:var(--text-meta);font-weight:var(--weight-label);color:var(--jt-text-mid);background:transparent}.timeline-seg-active{color:var(--text-on-accent);background:var(--jt-accent)}.timeline-seg:disabled{color:var(--jt-text-dim);cursor:not-allowed}.timeline-loop{background:var(--jt-surface)}.timeline-sync-badge{align-self:flex-start;margin-top:2px;border-radius:var(--radius-pill);padding:0 var(--space-xs);font-size:var(--text-meta);font-weight:var(--weight-label);color:var(--jt-text-mid);background:var(--jt-surface)}.timeline-livebar{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-s) var(--space-l);border-left:1px solid var(--jt-border);border-right:1px solid var(--jt-border);background:var(--jt-card)}.timeline-cleanup{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-s);padding:var(--space-s) var(--space-l);border-left:1px solid var(--jt-border);border-right:1px solid var(--jt-border);background:var(--jt-card)}.timeline-cleanup-label{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-meta);font-weight:var(--weight-label)}.timeline-live-note{margin:0;font-size:var(--text-meta);color:var(--jt-text-mid)}.timeline-mixbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-s);padding:var(--space-s) var(--space-l);border-left:1px solid var(--jt-border);border-right:1px solid var(--jt-border);background:var(--jt-surface)}.timeline-mixbar .timeline-live-note{flex:1}.timeline-mixbar .timeline-seg:not(.timeline-seg-active){background:var(--jt-card);border:1px solid var(--jt-border)}.timeline-volume{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-meta);color:var(--jt-text-mid);font-variant-numeric:tabular-nums}.timeline-volume input[type=range]{flex:1;min-width:0;margin:0;accent-color:var(--lane-base)}.timeline-volume-value{width:4ch;text-align:right}.timeline-mute-solo{display:flex;gap:2px;flex-shrink:0}.timeline-ms{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;padding:0;border:1px solid var(--jt-border);border-radius:var(--radius-sm);background:var(--jt-surface);color:var(--jt-text-mid);font:inherit;font-size:var(--text-meta);font-weight:var(--weight-label);cursor:pointer}.timeline-ms-mute-on{background:var(--jt-coral);border-color:var(--jt-coral);color:var(--text-on-accent)}.timeline-ms-solo-on{background:var(--jt-accent);border-color:var(--jt-accent);color:var(--text-on-accent)}.live-videos{display:flex;gap:var(--space-xs);max-width:60%;flex-wrap:wrap;justify-content:flex-end}.live-video{width:160px;aspect-ratio:16 / 9;object-fit:contain;border-radius:var(--radius-m);border:1px solid var(--jt-border);background:var(--jt-surface)}.live-debug{font-size:var(--text-meta);color:var(--jt-text-mid)}.live-debug table{border-collapse:collapse;font-variant-numeric:tabular-nums}.live-debug th,.live-debug td{padding:0 var(--space-s) 0 0;text-align:left}.timeline-titlebar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-m);padding:var(--space-m) var(--space-l);border-left:1px solid var(--jt-border);border-right:1px solid var(--jt-border);background:var(--jt-card)}.timeline-title{display:flex;align-items:baseline;gap:var(--space-s);flex-wrap:wrap;min-width:0}.timeline-title h1{margin:0}.timeline-meta{font-size:var(--text-meta);font-weight:var(--weight-meta);color:var(--jt-text-dim)}.jam-detail-video.timeline-video{width:240px;max-width:40%;aspect-ratio:16 / 9;object-fit:contain;border-radius:var(--radius-m);border:1px solid var(--jt-border);flex-shrink:0;align-self:auto}.timeline-status{margin:0}.timeline-editor{border:1px solid var(--jt-border);border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);background:var(--jt-card)}.timeline-editor-scroll{display:flex;width:100%;overflow:auto}.timeline-rail{width:230px;flex-shrink:0;border-right:1px solid var(--jt-border);position:sticky;left:0;z-index:6;background:var(--jt-card)}.timeline-rail-spacer{height:30px;box-sizing:border-box;border-bottom:1px solid var(--jt-border);background:var(--jt-surface);display:flex;align-items:center;padding:0 var(--space-m);font-size:var(--text-meta);font-weight:var(--weight-label);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--jt-text-dim)}.timeline-row-combined{height:64px}.timeline-row-video{height:46px}.timeline-row-audio{height:40px}.timeline-track-header,.timeline-sub-header{box-sizing:border-box;display:flex;align-items:center;gap:var(--space-s);padding:0 var(--space-m);border-bottom:1px solid var(--jt-border)}.timeline-track-header{background:var(--jt-card)}.timeline-sub-header{padding-left:var(--space-xl);background:var(--jt-surface);font-size:var(--text-meta);font-weight:var(--weight-label);color:var(--jt-text-mid)}.timeline-swatch{width:4px;height:58%;border-radius:var(--radius-pill);flex-shrink:0;background:var(--lane-base)}.timeline-track-text{flex:1;min-width:0}.timeline-track-name{font-family:var(--jt-font-display);font-weight:var(--weight-title);color:var(--jt-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-track-sub{white-space:nowrap;display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-meta);color:var(--jt-text-dim)}.timeline-mix{display:flex;align-items:center;gap:2px;font-size:var(--text-meta);font-weight:var(--weight-meta);color:var(--jt-text-mid);font-variant-numeric:tabular-nums}.timeline-area{flex:1;position:relative;overflow:hidden}.timeline-ruler{position:relative;height:30px;box-sizing:border-box;border-bottom:1px solid var(--jt-border);background:var(--jt-card);cursor:text}.timeline-ruler-bar,.timeline-grid-bar{position:absolute;top:0;bottom:0;box-sizing:border-box;border-left:1px solid var(--jt-border)}.timeline-ruler-bar:first-child,.timeline-grid-bar:first-child{border-left:none}.timeline-ruler-bar{display:flex;align-items:center;padding-left:var(--space-s);font-size:var(--text-meta);font-weight:var(--weight-label);color:var(--jt-text-mid)}.timeline-ruler-beat{position:absolute;bottom:0;height:5px;border-left:1px solid var(--jt-border)}.timeline-lanes{position:relative;cursor:text}.timeline-lanes-disabled{cursor:default}.timeline-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.timeline-grid-beat{position:absolute;top:0;bottom:0;border-left:1px solid color-mix(in srgb,var(--jt-border) 45%,transparent)}.timeline-lane{position:relative;box-sizing:border-box;border-bottom:1px solid var(--jt-border);padding:6px 0}.timeline-clip{position:relative;height:100%;border-radius:var(--radius-sm);overflow:hidden;border:1px solid color-mix(in srgb,var(--lane-base) 60%,transparent);background:color-mix(in srgb,var(--lane-base) 12%,var(--jt-card))}.timeline-clip-label{position:absolute;top:3px;left:var(--space-xs);z-index:2;display:flex;align-items:center;gap:var(--space-xs);background:color-mix(in srgb,var(--jt-card) 75%,transparent);border-radius:var(--radius-pill);padding:0 var(--space-s);font-size:var(--text-meta);font-weight:var(--weight-label);line-height:1.4;color:var(--jt-text)}.timeline-clip-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--lane-base)}.timeline-clip-video{position:absolute;top:18px;left:0;right:0;height:14px}.timeline-row-video .timeline-clip-video{bottom:3px;height:auto}.timeline-clip-audio{position:absolute;left:0;right:0;bottom:2px;height:18px}.timeline-row-audio .timeline-clip-audio{top:16px;height:auto}.timeline-video-band{position:absolute;top:2px;right:3px;bottom:2px;left:3px;border-radius:3px;background:linear-gradient(90deg,var(--lane-base),var(--lane-glow));opacity:.55}.timeline-waveform{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;color:var(--lane-base)}.timeline-waveform-canvas{position:absolute;top:0;height:100%;display:block}.timeline-waveform-loading:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--jt-text-dim)}.timeline-waveform-unavailable{display:flex;align-items:center;padding-left:var(--space-s);font-size:var(--text-meta);font-weight:var(--weight-meta);color:var(--jt-text-dim)}.timeline-playhead{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--jt-coral);pointer-events:none;z-index:5}.timeline-row-record{height:168px}.record-page-timeline{align-items:stretch;text-align:left}.record-lane-header{align-items:flex-start;padding-top:var(--space-m)}.record-lane-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--jt-coral)}.record-lane{cursor:default}.record-lane-clip{display:flex;align-items:stretch;gap:var(--space-m);padding:var(--space-xs);box-sizing:border-box;background:color-mix(in srgb,var(--lane-base) 8%,var(--jt-card));border-style:dashed}.record-lane-media{position:relative;flex-shrink:0;height:100%;aspect-ratio:4 / 3;border-radius:var(--radius-sm);overflow:hidden;background:var(--studio-media-bg)}.record-lane-video{width:100%;height:100%;object-fit:cover;display:block}.record-lane-video-idle{display:flex;align-items:center;justify-content:center;color:var(--text-on-media)}.record-lane-count-in{font-size:var(--text-display)}.record-lane-recording{font-size:var(--text-meta);padding:var(--space-xs) var(--space-s)}.record-lane-status{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:var(--space-s)}.record-lane-message{margin:0;font-size:var(--text-meta);font-weight:var(--weight-meta);color:var(--jt-text-mid)}.record-lane-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-s)}.record-lane-stop{background:var(--jt-coral)}.record-lane-progress progress{width:100%;max-width:320px;accent-color:var(--lane-base)}.record-lane-card{width:100%;border:1px solid var(--jt-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--jt-card);text-align:left}.record-lane-card .timeline-row-record.record-lane-header{height:auto;padding-bottom:var(--space-m)}
