@layer features {
.file-preview-stage{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);min-height:240px;display:flex;position:relative;overflow:hidden}.file-preview-stage.text{max-height:70vh;overflow:auto}.file-preview-stage.video{background:#000;justify-content:center;align-items:center}.file-preview-text{padding:var(--space-4);color:var(--code-fg);font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;flex:1;margin:0;line-height:1.6}.file-preview-video{width:100%;max-height:70vh;display:block}.file-preview-frame{background:#fff;border:0;flex:1;width:100%;min-height:70vh}.file-preview-stage:fullscreen,section:fullscreen{background:var(--bg);border:0;border-radius:0;max-height:none;padding:0}section:fullscreen .file-preview-stage{border:0;border-radius:0;height:100%;max-height:none}.file-preview-download{align-content:center;place-items:center;gap:var(--space-4);min-height:240px;padding:var(--space-8) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-2);font-size:var(--text-sm);text-align:center;display:grid}.file-preview-download-action{align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--text-md);font-weight:var(--weight-medium);box-shadow:var(--shadow-sm);display:inline-flex}.file-preview-download-action:hover{background:var(--surface-2)}.file-preview-download-action small{color:var(--text-3);font-size:var(--text-xs);font-weight:var(--weight-regular)}.image-viewer{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);flex-direction:column;width:100%;min-width:0;height:clamp(320px,62vh,860px);min-height:0;display:flex;overflow:hidden}.image-viewer:fullscreen{border:0;border-radius:0;width:100vw;height:100vh}.image-viewer-tools{align-items:center;gap:var(--space-1);min-height:44px;padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex:none;display:flex}.image-viewer-tools output{min-width:48px;color:var(--text-2);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:center}.image-viewer-tools .button{margin-left:var(--space-1)}.image-viewer-hint{padding:0 var(--space-2);color:var(--text-3);font-size:var(--text-xs);margin-left:auto}.image-viewer-viewport{cursor:grab;touch-action:none;background-image:linear-gradient(45deg, var(--border-subtle) 25%, transparent 25%), linear-gradient(-45deg, var(--border-subtle) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--border-subtle) 75%), linear-gradient(-45deg, transparent 75%, var(--border-subtle) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;flex:1;min-height:0;position:relative;overflow:hidden}.image-viewer-viewport.is-panning{cursor:grabbing}.image-viewer-viewport:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.image-viewer-viewport img{object-fit:contain;transform-origin:50%;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;max-height:none;position:absolute;top:50%;left:50%}.image-viewer-layer.is-pending{opacity:0}.image-viewer-layer.is-previous{z-index:0}.image-viewer-layer.is-current{z-index:1}.image-viewer-layer.is-arriving{animation:fade-in var(--dur-base) var(--ease-out)}.image-viewer-status{justify-content:center;align-items:center;gap:var(--space-3);color:var(--text-2);font-size:var(--text-sm);flex-direction:column;display:flex;position:absolute;inset:0}.image-viewer-status.image-viewer-pending{inset:auto var(--space-3) var(--space-3) auto;z-index:2;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-overlay);box-shadow:var(--shadow-md);font-size:var(--text-xs)}.image-viewer-status .file-preview-download{border:0;min-height:0}@media (max-width:560px){.image-viewer-hint{display:none}}.modal-dialog.folder-picker{width:min(520px,100%)}.folder-picker .modal-body{gap:var(--space-3);padding-bottom:var(--space-4);flex-direction:column;display:flex}.folder-picker-search{align-items:center;display:flex;position:relative}.folder-picker-search>svg{color:var(--text-3);pointer-events:none;position:absolute;left:10px}.folder-picker-search input{width:100%;padding-left:32px;padding-right:32px}.folder-picker-search .icon-button{width:28px;height:28px;position:absolute;right:2px}.folder-picker-crumbs{min-height:24px;color:var(--text-3);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:2px;display:flex}.folder-picker-crumbs button{border-radius:var(--radius-xs);height:24px;color:var(--text-2);font-size:var(--text-sm);padding:0 6px}.folder-picker-crumbs>button:first-child{margin-left:-6px}.folder-picker-crumbs button:hover:not(:disabled){background:var(--hover);color:var(--text)}.folder-picker-crumbs button.is-current{color:var(--text);font-weight:var(--weight-medium)}.folder-picker-crumbs>span{align-items:center;display:inline-flex}.folder-picker-list{height:280px;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-content:start;gap:1px;display:grid;overflow-y:auto}.folder-picker-row{width:100%;min-height:40px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text);text-align:left;align-items:center;gap:10px;display:flex}.folder-picker-row:hover:not(:disabled){background:var(--hover)}.folder-picker-row>svg{color:var(--text-2);flex:none}.folder-picker-row.is-destination{background:var(--selected)}.folder-picker-row-copy{flex:1;min-width:0;line-height:1.3;display:grid}.folder-picker-row-copy strong{font-size:var(--text-md);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-picker-row-copy em{color:var(--text-3);font-size:var(--text-xs);font-style:normal}.folder-picker-row-chevron{color:var(--text-3)}.folder-picker-status{padding:var(--space-6) var(--space-2);color:var(--text-3);font-size:var(--text-sm);text-align:center;margin:0}.folder-picker-status.is-error{color:var(--danger-text)}.folder-picker-create{align-items:center;gap:var(--space-2);min-height:var(--control-md);display:flex}.folder-picker-create input{flex:1;min-width:0}.folder-picker .modal-footer{justify-content:space-between;align-items:center;gap:var(--space-4)}.folder-picker-target{min-width:0;line-height:1.3;display:grid}.folder-picker-target span{color:var(--text-3);font-size:var(--text-xs)}.folder-picker-target strong{font-size:var(--text-sm);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-picker-actions{gap:var(--space-2);flex:none;display:flex}.modal-dialog.access-dialog{width:min(560px,100%)}.access-dialog .modal-body{min-height:340px}.access-hint{color:var(--text-2);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}.access-grant{align-items:center;gap:var(--space-2);display:flex}.access-combo{flex:1;min-width:0;position:relative}.access-combo>svg{color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.access-combo input{width:100%;padding-left:32px}.access-suggest{z-index:var(--z-popover);max-height:240px;padding:var(--space-1);border-radius:var(--radius-md);background:var(--surface-overlay);box-shadow:var(--shadow-lg);animation:pop-in var(--dur-fast) var(--ease-out);margin:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.access-suggest-empty{padding:var(--space-3) var(--space-2);color:var(--text-3);font-size:var(--text-sm)}.access-suggest-item{width:100%;min-height:40px;padding:0 var(--space-2);border-radius:var(--radius-sm);text-align:left;align-items:center;gap:10px;display:flex}.access-suggest-item.is-active{background:var(--hover)}.access-person{flex:1;min-width:0;line-height:1.3;display:grid}.access-person strong{font-size:var(--text-md);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.access-person span{color:var(--text-3);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.access-avatar{background:var(--surface-3);width:28px;height:28px;color:var(--text-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;border-radius:50%;flex:none;place-items:center;display:inline-grid}.access-list{margin:0;padding:0;list-style:none;display:grid}.access-list li{align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-2) 0;border-top:1px solid var(--border-subtle);display:flex}.access-list li:first-child{border-top:0}.access-list .segmented>button{height:24px;font-size:var(--text-xs)}.access-section-label{margin:0 0 var(--space-1);color:var(--text-3);font-size:var(--text-xs);font-weight:var(--weight-medium)}.access-empty{padding:var(--space-6) 0;color:var(--text-3);font-size:var(--text-sm);text-align:center;margin:0}.access-error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger-text);font-size:var(--text-sm);margin:0}@media (max-width:560px){.access-grant{flex-wrap:wrap}.access-combo{flex-basis:100%}.access-grant>.button{flex:1}.folder-picker .modal-footer{flex-wrap:wrap}.folder-picker-actions{width:100%}.folder-picker-actions .button{flex:1}}.latest-viewer{z-index:calc(var(--z-top) - 100);color:#f4f4f5;animation:fade-in var(--dur-base) var(--ease-out);background:#000;outline:none;position:fixed;inset:0}.latest-viewer.is-idle{cursor:none}.latest-viewer-stage{place-items:center;display:grid;position:absolute;inset:0}.latest-viewer-image{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.latest-viewer-image.is-current{z-index:1;animation:fade-in .32s var(--ease-out)}.latest-viewer-image.is-previous{z-index:0}.latest-viewer-empty{justify-items:center;gap:var(--space-2);color:#a1a1aa;text-align:center;max-width:36ch;display:grid}.latest-viewer-empty strong{color:#f4f4f5;font-size:var(--text-lg);font-weight:var(--weight-semibold)}.latest-viewer-empty .spinner{border-color:#a1a1aa #3f3f46 #3f3f46}.latest-viewer-bar{z-index:2;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-10);transition:opacity var(--dur-slow) var(--ease-standard), transform var(--dur-slow) var(--ease-standard);background:linear-gradient(#000000b8 0%,#0000005c 60%,#0000 100%);display:flex;position:absolute;top:0;left:0;right:0}.latest-viewer.is-idle .latest-viewer-bar{opacity:0;pointer-events:none;transform:translateY(-8px)}.latest-viewer-meta{flex:1;gap:1px;min-width:0;display:grid}.latest-viewer-meta strong{font-size:var(--text-md);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.latest-viewer-meta>span{align-items:center;gap:var(--space-2);color:#a1a1aa;font-size:var(--text-xs);display:flex}.latest-viewer-fresh{border-radius:var(--radius-pill);color:#052b21;font-size:var(--text-2xs);font-weight:var(--weight-semibold);background:#3fd0ad;padding:1px 7px}.latest-viewer-scope select{max-width:220px;min-height:var(--control-md);color:#f4f4f5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:#ffffff14;border-color:#ffffff2e}.latest-viewer-scope select:hover:not(:focus){border-color:#ffffff4d}.latest-viewer-actions{gap:var(--space-1);display:flex}.latest-viewer-button{border-radius:var(--radius-sm);color:#e4e4e7;place-items:center;width:36px;height:36px;display:inline-grid}.latest-viewer-button:hover{color:#fff;background:#ffffff1f}@media (max-width:640px){.latest-viewer-bar{flex-wrap:wrap}.latest-viewer-button.is-wide-only{display:none}.latest-viewer-scope{order:3;width:100%}.latest-viewer-scope select{width:100%;max-width:none}}
}

@layer features {
.modal-dialog.capture-dialog:has(>.modal-header){width:min(760px,100%);max-height:min(96dvh,1020px)}.modal-dialog.capture-dialog.is-capturing{height:min(96dvh,900px)}.capture-setup,.capture-create{gap:var(--space-4);display:grid}.genome-capture-empty .empty-state-action{flex-wrap:wrap;justify-content:center;max-width:100%}.capture-setup>.text-button{justify-self:start}.capture-create-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.capture-heading{min-width:0}.capture-header-actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.capture-destination{align-items:center;gap:6px;display:flex}.capture-destination svg{flex:none}.capture-destination span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.capture-body{gap:var(--space-3);padding:0 var(--space-5) var(--space-5);flex-direction:column;display:flex}.capture-body>*{flex-shrink:0}.capture-stage{aspect-ratio:16/9;border-radius:var(--radius-md);background:var(--surface-sunken);place-items:center;width:100%;min-height:160px;max-height:52dvh;display:grid;position:relative;overflow:hidden}.capture-stage video{object-fit:contain;width:100%;height:100%;min-height:0}.capture-stage video.is-mirrored{transform:scaleX(-1)}.capture-stage-message{place-content:center;justify-items:center;gap:var(--space-3);padding:var(--space-4);color:var(--text-3);text-align:center;display:grid;position:absolute;inset:0}.capture-recording{top:var(--space-3);left:var(--space-3);align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);background:var(--surface-overlay);color:var(--danger-text);font-size:var(--text-sm);font-variant-numeric:tabular-nums;padding:6px 10px;display:flex;position:absolute}.capture-recording>span{background:var(--danger);border-radius:50%;width:8px;height:8px}.capture-controls{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.capture-controls .segmented button{padding-inline:var(--space-3);align-items:center;gap:6px;display:inline-flex}.capture-microphone{align-items:center;gap:var(--space-2);color:var(--text-2);font-size:var(--text-sm);justify-self:start;display:flex}.capture-shutter-row{padding-block:var(--space-2);justify-content:center;display:flex}.capture-shutter{min-width:220px;min-height:48px}.capture-continuous-hint{color:var(--text-3);font-size:var(--text-sm);text-align:center;margin:0}.capture-activity{min-height:28px;color:var(--text-2);font-size:var(--text-sm)}.capture-activity>summary{cursor:pointer;min-height:28px}.capture-activity>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.capture-stop{background:currentColor;border-radius:2px;width:14px;height:14px}.capture-summary{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--text-2);font-size:var(--text-sm);display:flex}.capture-summary>span{align-items:center;gap:6px;display:flex}.capture-summary>small{color:var(--text-3);font-size:var(--text-xs)}.capture-message{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);color:var(--text-2);background:var(--surface-2);font-size:var(--text-sm);margin:0;display:grid}.capture-message>button{justify-self:start}.capture-message.is-error{background:var(--danger-soft);color:var(--danger-text)}.capture-queue{gap:var(--space-2);max-height:180px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.capture-queue li{align-items:center;gap:var(--space-2);padding-block:var(--space-2);border-top:1px solid var(--border);display:flex}.capture-queue-copy{min-width:0;font-size:var(--text-sm);flex:1;gap:2px;display:grid}.capture-queue-copy>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.capture-queue-copy small{color:var(--text-3);overflow-wrap:anywhere}.capture-queue-copy small.form-error{color:var(--danger-text)}.capture-discard{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger-text);font-size:var(--text-sm);display:grid}.capture-discard>div{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:560px){.capture-backdrop{align-items:stretch}.modal-dialog.capture-dialog:has(>.modal-header){border-radius:0;max-height:100dvh}.modal-dialog.capture-dialog.is-capturing{height:100dvh}.capture-dialog .modal-header{padding:var(--space-4)}.capture-body{padding:0 var(--space-3) calc(var(--space-4) + env(safe-area-inset-bottom))}.capture-stage{aspect-ratio:3/4;max-height:48dvh}.capture-summary{align-items:flex-start;gap:var(--space-1);flex-direction:column}}
}

@layer base,primitives,shell,overlays,features;
