.layout-studio { container-type:inline-size; }
.layout-workspace-hint { flex:1; min-width:160px; font-size:11px; color:var(--muted,#a0a3ad); }
.layout-save-feedback { flex-basis:100%; color:var(--red,#efa7a7); font-size:13px; margin:4px 0; overflow-wrap:anywhere; }.layout-save-feedback[hidden] { display:none; }
.layout-source-advanced { border-top:1px solid var(--line,#303239); padding-top:14px; margin-top:14px; font-size:13px; }.layout-source-advanced summary { cursor:pointer; margin-bottom:12px; }
.layout-list-filter { display:flex; flex-wrap:wrap; align-items:end; gap:16px; }.layout-list-filter .field { display:flex; flex-direction:column; gap:8px; width:min(100%,380px); }.layout-list-filter input { width:100%; }
.layout-layer-row[hidden],.layout-group-row[hidden] { display:none!important; }
.layout-zoom-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; flex:none; }
.layout-zoom-value { min-width:90px; text-align:center; font-size:12px; font-variant-numeric:tabular-nums; }
.layout-zoom-tools .layout-canvas-size { margin-right:auto; }.layout-pan-hint { margin:0; font-size:11px; flex-basis:100%; }
.layout-viewport.can-pan,.layout-viewport.can-pan * { cursor:grab!important; }.layout-viewport.is-panning,.layout-viewport.is-panning * { cursor:grabbing!important; }
.layout-panel .ui-icon-button,.layout-toolbar .ui-icon-button,.layout-canvas-tools .ui-icon-button { padding:6px; width:34px; height:34px; min-height:34px; flex:none; }
.layout-layer-row .ui-icon-button,.layout-group-row .ui-icon-button { width:30px; height:32px; min-height:32px; padding:5px; border-color:transparent; background:transparent; }
.layout-layer-row .ui-icon-button[aria-pressed=true],.layout-group-row .ui-icon-button[aria-pressed=true] { border-color:transparent; background:transparent; }
.layout-inspector-tabs { display:flex; gap:4px; margin:16px 0; position:sticky; top:-16px; z-index:2; padding:8px 0; background:var(--panel,#1a1c20); }
.layout-inspector-tabs .button { flex:1; min-width:0; padding:8px 5px; font-size:12px; }
.layout-inspector-tabs [aria-selected=true] { color:var(--accent,#efbd94); border-color:var(--accent,#efbd94); background:var(--accent-dark,#342a24); }
.layout-inspector-section { min-width:0; }.layout-inspector-section[hidden] { display:none!important; }
.layout-align-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.layout-group-members { display:grid; gap:8px; }.layout-group-members .button { justify-content:flex-start; text-align:left; }
.layout-element-dialog { box-sizing:border-box; width:min(780px,calc(100vw - 24px)); max-height:90dvh; padding:24px; border:1px solid var(--line,#303239); border-radius:14px; color:var(--text,#f0f0f2); background:var(--panel,#1a1c20); overflow:auto; }
.layout-element-dialog::backdrop { background:#08090bcc; }.layout-element-dialog h2 { margin:0; font-size:22px; }
.layout-element-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.layout-element-filters { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:12px; margin-bottom:18px; }
.layout-element-filters .field { display:flex; flex-direction:column; gap:7px; min-width:0; font-size:12px; }
.layout-element-filters input,.layout-element-filters select { width:100%; min-width:0; }
.layout-element-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.layout-element-option { display:flex; flex-direction:column; align-items:start; gap:7px; padding:16px; border:1px solid var(--line,#303239); border-radius:9px; background:var(--input,#14161a); color:inherit; text-align:left; cursor:pointer; min-width:0; overflow-wrap:anywhere; }
.layout-element-option:hover:not(:disabled) { border-color:var(--accent,#efbd94); }.layout-element-option:disabled { opacity:.5; cursor:default; }
.layout-element-option strong { font-size:14px; }.layout-element-option span { color:var(--muted,#a0a3ad); font-size:12px; line-height:1.5; }.layout-element-empty { grid-column:1/-1; }
body.layout-editor-focus #sidebar,body.layout-editor-focus .topbar,body.layout-editor-focus .page-heading,body.layout-editor-focus .overlay-tabs,body.layout-editor-focus footer { display:none; }
body.layout-editor-focus .workspace { margin-left:0; }body.layout-editor-focus .main-content { padding:12px; }
@media(max-width:600px) { .layout-element-dialog { padding:18px; }.layout-element-filters,.layout-element-grid { grid-template-columns:minmax(0,1fr); }.layout-workspace-hint { display:none; } }
.layout-gradient-preview { height:54px; width:100%; border:1px solid var(--line); border-radius:7px; margin:6px 0 16px; }
.layout-gradient-stops { display:grid; gap:10px; margin:14px 0; }
.layout-gradient-stop { border:1px solid var(--line); border-radius:7px; padding:10px; min-width:0; }
.layout-gradient-stop-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:9px; }
.layout-gradient-stop-heading strong { font-size:11px; }
.layout-gradient-stop-heading .text-button { font-size:10px; padding:2px; }
.layout-gradient-stop-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.layout-gradient-stop-fields>.field { margin:0; min-width:0; }
.layout-gradient-stop-fields>.field:first-child { grid-column:1/-1; }
.layout-gradient-stop-fields input[type=color] { width:100%; min-width:0; height:34px; padding:4px; }
.layout-gradient-stop-fields input[type=number] { min-width:0; padding:8px; }
.layout-gradient-actions { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0 18px; }
.layout-gradient-actions .button { white-space:normal; font-size:10px; padding:7px 10px; min-height:31px; }
.overlay-tabs { flex-wrap:wrap; gap:10px 28px; overflow:visible; }
.overlay-tabs a { white-space:normal; }
.layout-season-filters { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto; align-items:end; gap:14px; max-width:1000px; }
.layout-season-filters .field,.layout-card .field { min-width:0; display:flex; flex-direction:column; gap:8px; }
.layout-season-filters input,.layout-season-filters select,.layout-card select { width:100%; min-width:0; box-sizing:border-box; }
.layout-template-heading { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin:16px 0 8px; }
.layout-card .layout-template-heading h2 { flex:1; min-width:130px; margin:0; }
.layout-template-heading .badge { font-size:10px; }
#seasonalStudio .layout-card { display:flex; flex-direction:column; }
#seasonalStudio .layout-card-actions { margin-top:auto; padding-top:16px; }
#seasonalStudio .layout-card .help-text { margin:0 0 12px; }
@media(max-width:600px) { .layout-season-filters { grid-template-columns:minmax(0,1fr); }.overlay-tabs { gap:6px 18px; }.overlay-tabs a { padding-block:10px; } }
.layout-editor { isolation:isolate; height:var(--layout-editor-height,calc(100dvh - 280px)); min-height:460px; display:grid; grid-template-columns:250px minmax(0,1fr) 310px; grid-template-rows:auto auto minmax(0,1fr); grid-template-areas:'toolbar toolbar toolbar' 'add add add' 'layers workspace properties'; gap:12px; min-width:0; }
body:has(.layout-editor:not([hidden])) .admin-header { background:#17191b; }
.layout-toolbar { grid-area:toolbar; display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:14px; border:1px solid var(--border,#303239); border-radius:12px; background:var(--surface,#191b1f); min-width:0; }
.layout-toolbar > strong { flex:1; min-width:140px; overflow-wrap:anywhere; }
.layout-toolbar .button { padding:9px 13px; font-size:13px; }
.layout-addbar { grid-area:add; display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; min-width:0; padding:11px 14px; border:1px solid var(--border,#303239); border-radius:10px; background:var(--surface,#191b1f); }
.layout-addbar > strong { flex:none; font-size:12px; color:var(--muted,#b5b9c4); }
.layout-addbar .layout-add-tools { margin:0; gap:7px; flex:1 1 auto; }
.layout-addbar .button { min-height:34px; padding:7px 10px; font-size:12px; white-space:normal; }
.layout-addbar select { flex:0 1 235px; width:235px; max-width:100%; min-width:0; min-height:34px; padding:7px 10px; font-size:12px; }
.layout-panel { border:1px solid var(--border,#303239); border-radius:12px; background:var(--surface,#191b1f); padding:16px; min-width:0; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.layout-layers { grid-area:layers; }.layout-properties { grid-area:properties; }
.layout-pane-switch { display:none; grid-area:tabs; min-width:0; gap:6px; }.layout-pane-switch .button { flex:1; min-width:0; padding:6px; }.layout-pane-switch [aria-pressed=true] { border-color:var(--accent); color:var(--accent); }
.layout-panel h2 { font-size:17px; margin:0 0 18px; }.layout-panel h3 { font-size:15px; margin:24px 0 12px; }
.layout-panel .field { margin:0 0 14px; display:flex; flex-direction:column; gap:7px; font-size:13px; min-width:0; }
.layout-panel input,.layout-panel select,.layout-panel textarea { width:100%; min-width:0; font:inherit; padding:10px; border:1px solid #3b3e46; border-radius:7px; background:#131519; color:#ebe5dd; box-sizing:border-box; }
.layout-panel textarea { resize:vertical; min-height:94px; }.layout-panel .layout-check { flex-direction:row; align-items:center; justify-content:space-between; }.layout-check input { width:18px; height:18px; }
.layout-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; }
.layout-add-tools,.layout-layer-actions { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }.layout-layer-actions { margin-top:20px; }
.layout-panel .button { font-size:12px; padding:8px 10px; min-height:34px; max-width:100%; white-space:normal; }
.layout-workspace { grid-area:workspace; display:flex; flex-direction:column; gap:10px; min-width:0; min-height:0; }
.layout-canvas-tools { display:flex; flex-wrap:wrap; gap:6px; }.layout-canvas-tools .button { font-size:11px; padding:7px 9px; min-height:32px; white-space:normal; }
.layout-viewport { position:relative; isolation:isolate; flex:1; min-width:0; min-height:0; overflow:hidden; touch-action:none; background:#0c0d10; border:1px solid #303239; border-radius:8px; }
.layout-canvas-size { flex:none; color:var(--muted); font-size:11px; text-align:center; }
.layout-surface { position:absolute; overflow:visible; touch-action:none; outline:1px solid #48414b; box-shadow:0 12px 40px #0003; outline-offset:0; }
.checkerboard { background-color:#1b1d22; background-image:conic-gradient(#25272d 25%,transparent 0 50%,#25272d 0 75%,transparent 0); background-size:20px 20px; }.dark-preview { background:#131317; }.white-preview { background:#fff; }
.layout-scene { position:absolute; overflow:hidden; isolation:isolate; }
.layout-layer { position:absolute; box-sizing:border-box; transform-origin:50% 50%; overflow:hidden; }
.layout-layer[role=button] { cursor:move; user-select:none; }.layout-layer.locked[role=button] { cursor:default; pointer-events:none; }
.layout-layer img,.layout-layer > canvas { width:100%; height:100%; display:block; pointer-events:none; }
.layout-art-video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; pointer-events:none; }
.layout-text { white-space:pre-wrap; overflow-wrap:anywhere; margin:0; padding:0; }
.layout-counter-label { line-height:1.2; font-weight:600; white-space:nowrap; }
.layout-counter-value { display:flex; align-items:baseline; white-space:nowrap; font-weight:700; line-height:1.1; font-variant-numeric:tabular-nums; }
.layout-counter-target { opacity:.72; font-weight:400; }
.layout-counter-track { width:100%; flex:none; background:#ffffff20; border-radius:999px; overflow:hidden; }
.layout-counter-fill { height:100%; border-radius:inherit; }
.layout-counter-state { margin:12px 0 18px; min-width:0; }
.layout-counter-state .help-text { margin:0 0 9px; font-size:12px; overflow-wrap:anywhere; }
.layout-counter-state .layout-layer-actions { margin:0; }
.layout-activity-label,.layout-activity-name,.layout-activity-detail { min-width:0; max-width:100%; white-space:nowrap; line-height:1.2; }
.layout-activity-label { font-weight:600; }.layout-activity-name { font-weight:700; }.layout-activity-detail { opacity:.75; font-variant-numeric:tabular-nums; }
.layout-activity[data-activity-placeholder=true] { outline:1px dashed #b8b2aa; outline-offset:-1px; }
.layout-activity-state { margin:12px 0 18px; min-width:0; }.layout-activity-state .help-text { margin:0 0 9px; font-size:12px; overflow-wrap:anywhere; }.layout-activity-state .layout-layer-actions { margin:0; }
.layout-selection { position:absolute; box-sizing:border-box; border:2px solid #ffc690; box-shadow:inset 0 0 0 1px #0008; pointer-events:none; transform-origin:50% 50%; z-index:100; }
.layout-selection.locked { border-style:dashed; }.layout-resize { position:absolute; width:28px; height:28px; background:transparent; border:0; border-radius:4px; cursor:nwse-resize; pointer-events:auto; padding:0; transform:translate(-50%,-50%); }
.layout-crop-original { position:absolute; box-sizing:border-box; border:1px dashed #d8d3cc; outline:1px solid #0006; transform-origin:50% 50%; pointer-events:none; z-index:99; }
.layout-selection.is-cropped { border-color:#8fdfbe; }
.layout-selection.is-cropped .layout-resize::after { background:#8fdfbe; }
.layout-crop-properties { margin-top:16px; padding-top:14px; border-top:1px solid var(--border,#36383e); }
.layout-crop-properties h3 { margin:0 0 10px; font-size:14px; }
.layout-resize::after { content:''; display:block; position:absolute; inset:8px; background:#f0bc8e; border:1px solid #201c18; border-radius:2px; }
.layout-resize[data-edge=nw] { left:0; top:0; }.layout-resize[data-edge=n] { left:50%; top:0; cursor:ns-resize; }.layout-resize[data-edge=ne] { left:100%; top:0; cursor:nesw-resize; }
.layout-resize[data-edge=e] { left:100%; top:50%; cursor:ew-resize; }.layout-resize[data-edge=se] { left:100%; top:100%; }.layout-resize[data-edge=s] { left:50%; top:100%; cursor:ns-resize; }
.layout-resize[data-edge=sw] { left:0; top:100%; cursor:nesw-resize; }.layout-resize[data-edge=w] { left:0; top:50%; cursor:ew-resize; }
.layout-resize[hidden] { display:none; }.layout-resize:focus-visible { outline:2px solid #fff; outline-offset:1px; }
.layout-layer-list { display:flex; flex-direction:column; gap:5px; margin:18px -5px 0; }
.layout-layer-row { display:grid; grid-template-columns:26px minmax(0,1fr) 32px 32px; border:1px solid transparent; border-radius:7px; min-width:0; align-items:center; }
.layout-group-tools { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.layout-group-tools .button { padding:7px 9px; font-size:12px; white-space:normal; }
.layout-layer-pick { width:16px!important; height:16px; margin:4px; padding:0!important; accent-color:#efbd94; }
.layout-group-row { display:grid; grid-template-columns:32px minmax(0,1fr) 32px 32px; align-items:center; border:1px solid #48414b; border-radius:7px; background:#b28a5312; margin-top:8px; min-width:0; }
.layout-group-row.selected { border-color:#efbd94; background:#b28a5330; }
.layout-group-row.is-hidden { opacity:.65; }.layout-layer-row.is-member { margin-left:12px; border-left:2px solid #695443; }
.layout-selection.is-group { pointer-events:auto; cursor:move; border-style:dashed; }
.layout-selection.is-group.locked { cursor:default; }
.layout-layer-row.selected { border-color:#c99c70; background:#b28a5320; }.layout-layer-select,.layout-mini { background:none; border:none; color:inherit; min-height:38px; cursor:pointer; }
.layout-layer-select { min-width:0; padding:8px; text-align:left; font:inherit; font-size:13px; white-space:normal; overflow-wrap:anywhere; }.layout-layer-select small { display:block; font-size:10px; color:var(--muted); margin-top:3px; }.layout-layer-row.is-hidden { opacity:.65; }.layout-mini { font-size:13px; padding:3px; }
.layout-asset-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; max-height:360px; overflow:auto; }
.layout-studio-art { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.asset-library-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:8px; }
body.admin-panel #overlayAssetLibrary .asset-browser-filters.asset-library-filter-grid { grid-template-columns:minmax(220px,2fr) repeat(2,minmax(150px,1fr)); gap:10px 14px; margin-top:10px; }
body.admin-panel #overlayAssetLibrary .asset-browser-filters.asset-library-filter-grid > .asset-library-search { grid-column:auto; }
#overlayAssetLibrary .asset-library-collections { grid-column:1/-1; min-width:0; border-top:1px solid var(--line,#34373b); padding-top:8px; }
#overlayAssetLibrary .asset-library-collections > summary { cursor:pointer; font-size:12px; color:var(--muted,#a6aab2); padding:4px 0; overflow-wrap:anywhere; }
#overlayAssetLibrary .asset-library-management-body { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; padding:12px 0 4px; max-width:760px; }
#overlayAssetLibrary .asset-library-management-body h3,#overlayAssetLibrary .asset-library-management-body p { margin:0; }
#overlayAssetLibrary .asset-library-management-body h3 { font-size:13px; }
#overlayAssetLibrary .asset-library-management-actions { display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
#overlayAssetLibrary .asset-library-management-actions .button { white-space:normal; max-width:100%; }
#overlayAssetLibrary .asset-browser-card-actions { flex-wrap:wrap; min-width:0; }
#overlayAssetLibrary .asset-browser-card-actions > .button { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
#overlayAssetLibrary .asset-browser-card-actions > .asset-library-favorite { flex:0 0 36px; padding:6px; font-size:19px; line-height:1; }
#overlayAssetLibrary .asset-library-usage { flex-basis:100%; min-width:0; overflow-wrap:anywhere; }
.asset-library-memberships { display:grid; gap:8px; margin:16px 0; }
.asset-library-membership { display:flex; align-items:center; gap:10px; min-width:0; padding:8px; border:1px solid var(--line,#34373b); }
.asset-library-membership input[type=checkbox] { flex:0 0 auto; width:18px; height:18px; margin:0; }
.asset-library-membership span { min-width:0; overflow-wrap:anywhere; }
@media(min-width:1800px) { body.admin-panel #overlayAssetLibrary .asset-browser-filters.asset-library-filter-grid { grid-template-columns:minmax(320px,2fr) repeat(2,minmax(200px,1fr)); } }
@media(max-width:760px) { body.admin-panel #overlayAssetLibrary .asset-browser-filters.asset-library-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px; gap:10px; } body.admin-panel #overlayAssetLibrary .asset-browser-filters.asset-library-filter-grid > .asset-library-search { grid-column:1/-1; } }
@media(max-width:420px) { #overlayAssetLibrary .asset-library-filter-grid .asset-browser-filter-actions { align-items:stretch; gap:8px; } #overlayAssetLibrary .asset-library-management-actions .button { flex:1 1 150px; } }
.asset-browser { min-width:0; }
.asset-browser-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px 14px; padding:16px; margin:16px 0; border:1px solid var(--line,#34373b); background:var(--panel,#1b1d20); }
.asset-browser-filters .field { margin:0; min-width:0; display:flex; flex-direction:column; gap:5px; }
.asset-browser-filters .field > span { font-size:12px; color:var(--muted,#a6aab2); }
.asset-browser-filters input,.asset-browser-filters select { width:100%; min-width:0; box-sizing:border-box; }
.asset-browser-new { display:flex; align-items:center; gap:8px; font-size:12px; grid-column:1/-1; }
.asset-browser-new input { width:auto; }
.asset-browser-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr)); gap:14px; }
.asset-browser-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--line,#34373b); background:var(--panel,#1b1d20); padding:10px; gap:8px; }
.asset-browser-poster { display:block; width:100%; min-height:0; padding:0; border:1px solid #44464c; cursor:zoom-in; overflow:hidden; }
.asset-browser-poster canvas { display:block; width:100%; aspect-ratio:8/5; height:auto; }
.asset-browser-poster:focus-visible { outline:2px solid var(--accent,#ebbb90); outline-offset:3px; }
.asset-browser-title { display:block; line-height:1.3; overflow-wrap:anywhere; font-size:13px; }
.asset-browser-meta { color:var(--muted,#a6aab2); font-size:11px; overflow-wrap:anywhere; }
.asset-browser-badges { min-height:22px; display:flex; flex-wrap:wrap; gap:5px; }
.asset-badge { font-size:10px; padding:2px 6px; border:1px solid var(--line,#34373b); color:var(--muted,#a6aab2); }
.asset-badge-new { color:var(--accent,#ebbb90); border-color:#705640; }
.asset-browser-card-actions { display:flex; gap:6px; align-items:center; margin-top:auto; padding-top:3px; }
.asset-browser-card-actions > .button:first-child { flex:1; }
.asset-browser-footer { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:16px 0; }
.asset-browser-count { display:block; margin:0 auto 12px 0; color:var(--muted,#a6aab2); font-size:12px; }
.asset-browser-advanced { grid-column:1/-1; min-width:0; }
.asset-browser-advanced summary { color:var(--muted,#a6aab2); cursor:pointer; font-size:12px; padding:4px 0; overflow-wrap:anywhere; }
.asset-browser-advanced-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:12px 0 4px; }
.asset-browser-filter-actions { grid-column:1/-1; display:flex; gap:12px; flex-wrap:wrap; align-items:center; justify-content:space-between; }
.asset-browser-empty { grid-column:1/-1; text-align:center; padding:40px 16px; color:var(--muted,#a6aab2); }
.asset-preview-dialog,.asset-destination-dialog { box-sizing:border-box; width:min(920px,calc(100vw - 32px)); max-height:92dvh; overflow:auto; background:var(--panel,#1b1d20); color:var(--text,#e9ebed); border:1px solid var(--line,#34373b); border-radius:2px; padding:20px; }
.asset-destination-dialog { width:min(560px,calc(100vw - 32px)); }
.asset-preview-dialog::backdrop,.asset-destination-dialog::backdrop { background:#080a0dd9; }
.asset-preview-dialog h2,.asset-destination-dialog h2 { font-size:20px; margin:0 0 16px; }
.asset-preview-stage { position:relative; width:100%; max-height:56dvh; min-height:180px; overflow:hidden; display:grid; place-items:center; }
.asset-preview-stage canvas { max-height:56dvh; width:100%; height:100%; object-fit:contain; }
.asset-preview-stage .layout-art-video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.asset-preview-stage .layout-studio-art { object-fit:contain; }
.asset-preview-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.layout-catalog-dialog .asset-browser-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.layout-catalog-dialog .asset-browser-filters { padding:12px; gap:8px; }
.layout-catalog-dialog .asset-browser-filters select,.layout-catalog-dialog .asset-browser-filters input { font-size:12px; }
.layout-catalog-dialog .asset-browser-title { font-size:12px; }
@media(min-width:1800px) { .asset-library .asset-browser-filters { grid-template-columns:repeat(6,minmax(0,1fr)); }.asset-library .asset-browser-filters > .field:first-child { grid-column:span 2; } }
@media(max-width:760px) { .asset-browser-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.layout-catalog-dialog .asset-browser-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.layout-catalog-dialog .asset-browser-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.asset-browser-count { flex-basis:100%; }.asset-preview-dialog { padding:14px; } }
@media(max-width:420px) { .asset-browser-filters,.layout-catalog-dialog .asset-browser-filters { grid-template-columns:1fr; }.asset-browser-grid,.layout-catalog-dialog .asset-browser-grid { grid-template-columns:1fr; } }
@media(max-width:600px) { .asset-browser-advanced-fields { grid-template-columns:1fr; } }
.layout-asset { min-width:0; overflow:hidden; padding:6px; background:#121418; border:1px solid #353740; border-radius:7px; color:#dad5cf; cursor:pointer; }
.layout-asset img { width:100%; height:100px; object-fit:contain; }.layout-asset span { display:block; overflow-wrap:anywhere; white-space:normal; font-size:12px; margin-top:7px; }
.layout-images-dialog { box-sizing:border-box; width:min(760px,calc(100vw - 24px)); max-height:90dvh; overflow:auto; padding:22px; color:var(--text); background:#191b20; border:1px solid #464047; border-radius:12px; }.layout-images-dialog::backdrop { background:#090a0dcc; }.layout-images-dialog h2 { font-size:22px; }.layout-images-dialog .layout-asset-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr)); max-height:none; margin:18px 0; }.layout-images-dialog .layout-list-tools { margin-bottom:0; }
.layout-list-tools { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:16px; }.layout-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr)); gap:22px; margin-top:24px; }
.layout-load-notice { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:16px; }
.layout-load-notice .help-text { flex:1 1 260px; margin:0; overflow-wrap:anywhere; }
.layout-load-notice[data-state=error] .help-text { color:var(--warning,#efbd94); }
.layout-load-notice[hidden] { display:none!important; }
.layout-asset-management { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #303239; }.layout-asset-management span { overflow-wrap:anywhere; min-width:0; flex:1; }
.layout-card { min-width:0; padding:20px; margin:0!important; }.layout-card h2 { font-size:20px; margin:18px 0 8px; overflow-wrap:anywhere; }.layout-thumbnail { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:6px; }
.layout-thumbnail img { display:block; width:100%; height:100%; object-fit:contain; }.layout-thumbnail span { position:absolute; bottom:8px; right:8px; padding:3px 6px; background:#15141dde; color:#e3d8cb; border-radius:3px; font-size:11px; }
.layout-card-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; }.layout-card-actions .button { padding:9px 12px; font-size:13px; }.layout-trash { margin-top:26px; }.layout-trash .button { margin:12px 12px 0 0; }
.layout-link-dialog { max-width:760px; width:calc(100vw - 40px); color:#e8e0d8; background:#202126; border:1px solid #464047; border-radius:14px; padding:26px; }.layout-link-dialog input { box-sizing:border-box; width:100%; padding:14px; font:13px monospace; color:#ead6bd; background:#131519; border:1px solid #45414b; border-radius:7px; margin:12px 0 20px; }.layout-link-dialog .button { margin:0 8px 8px 0; }.layout-link-dialog::backdrop { background:#090a0dcc; }
.layout-catalog-dialog { box-sizing:border-box; width:min(960px,calc(100vw - 24px)); max-height:90vh; overflow:auto; padding:22px; color:#e8e0d8; background:#191b20; border:1px solid #464047; border-radius:12px; }
.layout-catalog-dialog::backdrop { background:#090a0dcc; }.layout-catalog-dialog h2 { margin:0 0 18px; font-size:22px; }
.layout-catalog-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; margin-bottom:20px; }.layout-catalog-filters .field { min-width:0; margin:0; }.layout-catalog-filters input,.layout-catalog-filters select { box-sizing:border-box; width:100%; min-width:0; }
.layout-catalog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }.layout-motif { display:flex; flex-direction:column; gap:7px; min-width:0; padding:10px; border:1px solid #383b44; border-radius:8px; background:#22242a; color:inherit; cursor:pointer; text-align:left; }.layout-motif:hover,.layout-motif:focus-visible { border-color:#d9aa7d; }.layout-motif canvas { display:block; width:100%; height:auto; border-radius:4px; }.layout-motif strong { font-size:13px; overflow-wrap:anywhere; }.layout-motif span { font-size:11px; color:#a6a1a8; }
.layout-catalog-footer { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:20px; }.layout-catalog-footer > span { flex:1; min-width:100px; font-size:13px; }.layout-catalog-footer .button { font-size:13px; padding:9px 12px; }
@media(max-width:640px) { .layout-catalog-dialog { padding:15px; }.layout-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.layout-catalog-filters { grid-template-columns:minmax(0,1fr); }.layout-catalog-footer > span { flex-basis:100%; } }
.layout-layer .game-canvas,.layout-layer .effect-canvas,.layout-layer .sling-names { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.layout-layer .sling-hud { position:absolute; top:12px; left:2%; max-width:55%; color:#f9ead5; font-size:clamp(10px,1.1vw,19px); }.layout-layer .sling-round,.layout-layer .sling-scoreboard { background:#272932f5; padding:.6em .8em; border-radius:6px; }.layout-layer .sling-scoreboard { margin-top:8px; }.layout-layer .score-row { display:flex; gap:.45em; align-items:center; padding:.15em 0; }.layout-layer .score-row i { width:.5em; height:.5em; }.layout-layer .score-name { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.layout-layer .score-out .score-name { text-decoration:line-through; color:#aaa; }
.layout-layer .sling-name { position:absolute; top:0; left:0; padding:2px 5px; max-width:220px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; background:#252a34f5; color:#fff1da; border-radius:3px; font:500 clamp(10px,1vw,18px)/1.4 system-ui; }.layout-layer .sling-winner { position:absolute; inset:0; display:grid; place-items:center; text-align:center; }.layout-layer .sling-winner > div { background:#2d3038f5; padding:18px 28px; color:#fff4e3; border:2px solid #dfaf7f; border-radius:8px; }.layout-layer .sling-winner strong { display:block; font-size:clamp(20px,2.5vw,40px); }
.layout-layer .notice-overlay { position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:center; padding:4%; }.layout-layer .notice-card { max-width:90%; background:#20252ff5; padding:24px; border:1px solid #daa979; border-left-width:5px; border-radius:12px; color:#f4e8d4; overflow-wrap:anywhere; }.layout-layer .notice-card strong { font-size:clamp(18px,2vw,42px); }.layout-layer .notice-card p { font-size:clamp(13px,1.5vw,28px); white-space:pre-wrap; }
.layout-layer[hidden],.layout-layer [hidden],.layout-editor[hidden],.layout-selection[hidden] { display:none!important; }
body.layout-viewer { margin:0; background:transparent; width:100vw; height:100vh; overflow:hidden; }#layoutSource { width:100%; height:100%; position:relative; }
.central-source-plane { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.source-admin-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:20px; align-items:start; }
.source-admin-grid .field,.source-admin-grid .panel { min-width:0; }.source-admin-grid input,.source-admin-grid select { max-width:100%; }
.source-admin-grid form { display:grid; gap:16px; }.source-admin-grid .source-check { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; }.source-check input { width:18px; height:18px; flex:none; }.source-admin-grid .help-text { margin:12px 0; }.source-admin-grid [hidden] { display:none!important; }
.source-admin-grid .overlay-source-actions { flex-wrap:wrap; }.source-binding-list { display:grid; gap:12px; margin-top:20px; }.source-binding-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--border); }.source-binding-row > span { flex:1 1 180px; min-width:0; overflow-wrap:anywhere; }
@container(min-width:2100px) { .layout-editor { grid-template-columns:280px minmax(0,1fr) 350px; gap:16px; } }
@container(max-width:1100px) {
  .layout-editor { grid-template-columns:minmax(0,1fr) 290px; grid-template-rows:auto auto 38px minmax(0,1fr); grid-template-areas:'toolbar toolbar' 'add add' 'workspace tabs' 'workspace properties'; }
  .layout-pane-switch { display:flex; }.layout-layers { grid-area:properties; }
  .layout-editor[data-pane=layers] > .layout-properties,.layout-editor[data-pane=properties] > .layout-layers { display:none; }
}
@container(max-width:700px) {
  .layout-editor { height:auto; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(280px,46dvh) 38px minmax(320px,55dvh); grid-template-areas:'toolbar' 'add' 'workspace' 'tabs' 'properties'; gap:12px; }
  .layout-toolbar { padding:10px; gap:7px; }.layout-toolbar > strong { flex-basis:100%; }.layout-toolbar .button { padding:8px; font-size:12px; white-space:normal; }.layout-panel { padding:14px; }
  .layout-addbar { padding:10px; gap:8px; }.layout-addbar > strong { flex-basis:100%; }.layout-addbar select { flex-basis:100%; width:100%; }
}

/* Music parts use the layout box, never the standalone player grid. */
.layout-music{overflow:hidden;line-height:1.2}
.layout-music[hidden],.layout-music [hidden]{display:none!important}
.layout-music[data-music-idle=true]{visibility:hidden}
.layout-music>.music-title,.layout-music>.music-album,.layout-music>.music-artist{font:inherit;color:inherit;line-height:1.2;opacity:1;white-space:normal;overflow-wrap:anywhere;display:block;text-align:inherit;max-width:100%}
.layout-music>.music-title{font-weight:700}
.layout-music>.music-cover{width:100%;height:100%;aspect-ratio:auto;border-radius:inherit}
.layout-music>.music-cover img{object-fit:var(--music-fit,cover)}
.layout-music>.music-visualizer{width:100%;height:100%;margin:0;display:block}
.layout-music>.music-progress{width:100%;height:100%;font:inherit;gap:.6em}
.layout-music .music-time{font-size:inherit;color:inherit;opacity:1}
.layout-music>.music-videos{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;gap:0;overflow:hidden;border-radius:inherit}
.layout-music .music-video-viewport{position:relative;flex:1;width:100%;min-height:0;aspect-ratio:auto;border-radius:0}
.layout-music .music-video-element{object-fit:var(--music-fit,cover)}
.layout-music .music-video-caption{flex:none;font-size:clamp(9px,1vw,18px);line-height:1.4;max-height:3em;padding:.4em .7em}
.layout-music .music-video-message{font-size:clamp(10px,1.1vw,22px);line-height:1.5}
.layout-music>.music-lyrics{width:100%;height:100%;font:inherit;line-height:1.3;text-align:inherit;gap:.3em;box-sizing:border-box;padding:.4em .7em;text-shadow:var(--layout-text-shadow,0 2px 5px #000,0 0 12px #000);background:linear-gradient(transparent,#080b1066 30%,#080b1066 70%,transparent)}
.layout-music .music-lyric-current{color:inherit}
.layout-surface .layout-music video{pointer-events:none}
.layout-viewer .layout-music .music-videos{pointer-events:auto}

.layout-music-enable{position:absolute;right:18px;bottom:18px;z-index:101;padding:12px 20px;background:#edb78b;color:#171419;border:1px solid #efc9aa;border-radius:10px;font:600 16px system-ui;cursor:pointer;pointer-events:auto}.layout-music-enable[hidden]{display:none}
.layout-box-options{margin:16px 0;padding-top:12px;border-top:1px solid var(--border,#34373f)}.layout-box-options>summary{font-weight:700;cursor:pointer;margin-bottom:14px}.layout-box-types{border:1px solid var(--border,#34373f);border-radius:10px;padding:14px;margin:14px 0;min-width:0}.layout-box-types legend{font-weight:700;padding:0 6px}.layout-box-options .field{margin-top:12px}.chatbox-message,.event-feed-row{min-width:0}
.chatbox-emote-stack[data-rainbow="true"]{animation:chat-emote-rainbow 2s linear infinite}
.chatbox-emote-stack[data-motion="shake"] img:first-child{animation:chat-emote-shake .12s linear infinite}
.chatbox-emote-stack[data-motion="jam"] img:first-child{animation:chat-emote-jam .45s ease-in-out infinite}
.chatbox-emote-stack[data-motion="bounce"] img:first-child{animation:chat-emote-bounce .65s ease-in-out infinite}
@keyframes chat-emote-rainbow{to{filter:hue-rotate(360deg)}}
@keyframes chat-emote-shake{25%{translate:1px -1px}75%{translate:-1px 1px}}
@keyframes chat-emote-jam{50%{translate:0 12%;rotate:-8deg}}
@keyframes chat-emote-bounce{50%{scale:1.15 .8;translate:0 10%}}
@media(prefers-reduced-motion:reduce){.chatbox-emote-stack,.chatbox-emote-stack img{animation:none!important}}
.layout-list-filter{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.layout-list-filter>.field{flex:1 1 220px;margin:0}.layout-view-toggle{display:flex;gap:6px}.layout-view-toggle .button{min-height:36px}.layout-view-toggle [aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
.layout-card-more{position:relative}.layout-card-more summary{display:block;cursor:pointer;border:1px solid #48414b;border-radius:7px;padding:8px 12px;font-size:13px}.layout-card-more[open]{display:grid;gap:7px}.layout-card-more[open] summary{margin-bottom:2px}
.layout-cards.is-list{grid-template-columns:minmax(0,1fr);gap:10px}.layout-cards.is-list .layout-card{display:grid;grid-template-columns:minmax(130px,220px) minmax(0,1fr);grid-template-rows:auto 1fr;align-items:center;gap:8px 18px;padding:14px}.layout-cards.is-list .layout-thumbnail{grid-row:1/3;aspect-ratio:16/9}.layout-cards.is-list .layout-card h2{margin:0}.layout-cards.is-list .layout-card>.help-text{margin:0}.layout-cards.is-list .layout-card-actions{grid-column:2;margin:4px 0 0}
.layout-guides{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:110}.layout-guide{position:absolute;display:block;background:#79d9ff;box-shadow:0 0 0 1px #10232d,0 0 8px #48c9ff99}.layout-guide-x{top:0;bottom:0;width:1px}.layout-guide-y{left:0;right:0;height:1px}.layout-guide[hidden],.layout-guide-distance[hidden]{display:none!important}.layout-guide-distance{position:absolute;transform:translate(-50%,-50%);padding:3px 7px;border:1px solid #74d4f4;border-radius:999px;background:#101820ed;color:#d8f5ff;font:11px/1.3 system-ui,sans-serif;white-space:nowrap}
@media(max-width:540px){.layout-cards.is-list .layout-card{grid-template-columns:minmax(0,1fr)}.layout-cards.is-list .layout-thumbnail,.layout-cards.is-list .layout-card-actions{grid-column:1;grid-row:auto}}

/* Layout shortcuts modal */
.layout-help-dialog { max-width:540px; width:92vw; border-radius:12px; }
.layout-shortcuts-list { display:flex; flex-direction:column; gap:8px; margin:16px 0 20px; max-height:55vh; overflow-y:auto; }
.layout-shortcut-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:6px 12px; background:rgba(255,255,255,0.04); border-radius:6px; border:1px solid rgba(255,255,255,0.08); }
.layout-shortcut-key { font-family:monospace; font-size:12px; font-weight:600; padding:3px 8px; background:#1e2430; border:1px solid #333d4e; border-radius:4px; color:#e2e8f0; white-space:nowrap; }
.layout-shortcut-desc { font-size:13px; color:#cbd5e1; text-align:right; }
.layout-help-btn { font-weight:bold; min-width:28px; padding:3px 8px; margin-left:4px; }
