.lo-studio{padding-block:var(--lo-sp-6) var(--lo-sp-7)}.lo-studio:has(.lo-ws){padding-block:var(--lo-sp-3) var(--lo-sp-4)}.lo-studio:has(.lo-ws) .lo-studio-lede{display:none}.lo-studio:has(.lo-ws) .lo-studio-h{font-size:var(--lo-fs-5);margin:0}.lo-studio-h{font-size:var(--lo-fs-6);font-weight:900;letter-spacing:var(--lo-track-display);line-height:1.15}.lo-studio-lede{margin-top:var(--lo-sp-2);color:var(--lo-ink-dim);font-size:var(--lo-fs-4);text-wrap:pretty}.lo-studio-published{margin-top:var(--lo-sp-7)}.lo-studio-sub{font-size:var(--lo-fs-5);font-weight:900;letter-spacing:var(--lo-track-display);margin-bottom:var(--lo-sp-3)}.lo-studio-list{list-style:none;margin:var(--lo-sp-5) 0 0;padding:0}.lo-studio-list,.lo-studio-row{display:grid;grid-gap:var(--lo-sp-3);gap:var(--lo-sp-3)}.lo-studio-row{padding:var(--lo-sp-4);background:var(--lo-card);border:1px solid var(--lo-line);border-radius:var(--lo-radius-m)}.lo-studio-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--lo-sp-2) var(--lo-sp-3)}.lo-studio-when{font-size:var(--lo-fs-4);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lo-studio-len{margin-left:auto;font-size:var(--lo-fs-2);color:var(--lo-ink-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lo-studio-acts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--lo-sp-2)}.lo-studio-why{font-size:var(--lo-fs-3);color:var(--lo-danger)}.lo-studio-more,.lo-studio-wait{font-size:var(--lo-fs-3);color:var(--lo-ink-dim)}.lo-studio-more{margin-top:var(--lo-sp-4)}.lo-script-editor{margin-top:var(--lo-sp-5)}.lo-script-editor,.lo-script-panes{display:grid;grid-gap:var(--lo-sp-4);gap:var(--lo-sp-4)}@media (min-width:1000px){.lo-script-editor--split:has(.lo-script-pane--preview) .lo-script-panes{grid-template-columns:1fr 1fr;height:min(70vh,760px)}}.lo-script-pane{min-height:0}.lo-script-pane--editor{grid-area:auto;display:flex;gap:var(--lo-sp-3);min-width:0}.lo-script-workbench{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;gap:var(--lo-sp-3)}.lo-script-pane--editor .lo-cm-host,.lo-script-workbench>.lo-cm-host,.lo-script-workbench>.lo-script-source{flex:1 1 auto;min-width:0}.lo-feature-toolbelt{display:grid;grid-gap:var(--lo-sp-2);gap:var(--lo-sp-2);min-width:0;padding:var(--lo-sp-3);border:1px solid var(--lo-line);border-radius:var(--lo-radius-m);background:var(--lo-surface)}.lo-feature-toolbelt__heading{margin:0;color:var(--lo-ink);font-size:var(--lo-fs-3);font-weight:800}.lo-feature-toolbelt__groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));grid-gap:var(--lo-sp-2);gap:var(--lo-sp-2);min-width:0}.lo-feature-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--lo-sp-1);min-width:0}.lo-feature-toolbelt__group{min-width:0;padding:var(--lo-sp-2);border:1px solid var(--lo-line);border-radius:var(--lo-radius-s);background:var(--lo-card)}.lo-feature-toolbelt__group-title{margin:0 0 var(--lo-sp-2);color:var(--lo-ink-faint);font-size:var(--lo-fs-2);font-weight:800;letter-spacing:var(--lo-track-label)}.lo-feature-toolbelt__list{display:grid;grid-gap:var(--lo-sp-1);gap:var(--lo-sp-1);margin:0;padding:0;list-style:none}.lo-feature-toolbelt__item{display:flex;flex-wrap:wrap;align-items:center;gap:var(--lo-sp-1) var(--lo-sp-2);min-width:0;padding-block:var(--lo-sp-1);color:var(--lo-ink-dim);font-size:var(--lo-fs-3)}.lo-feature-toolbelt__item+.lo-feature-toolbelt__item{border-top:1px solid var(--lo-line)}.lo-feature-toolbelt__name{flex:1 1 12ch;min-width:0;overflow-wrap:anywhere}.lo-feature-toolbelt__action{flex:0 0 auto}.lo-feature-group+.lo-feature-group{-webkit-padding-start:var(--lo-sp-2);padding-inline-start:var(--lo-sp-2);-webkit-border-start:1px solid var(--lo-line);border-inline-start:1px solid var(--lo-line)}.lo-feature-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--lo-sp-1);min-width:44px;min-height:44px;padding-inline:var(--lo-sp-3);border:1px solid transparent;border-radius:var(--lo-radius-s);background:transparent;color:var(--lo-ink-dim);font:inherit;font-size:var(--lo-fs-3);font-weight:700;line-height:1.2;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.lo-feature-button:hover:not(:disabled){border-color:var(--lo-line);background:var(--lo-card);color:var(--lo-ink)}.lo-feature-button:active:not(:disabled),.lo-feature-button[aria-pressed=true],.lo-feature-button[data-active]{border-color:var(--lo-primary-solid);background:var(--lo-primary-soft);color:var(--lo-on-primary-soft)}.lo-feature-button:focus-visible{outline:2px solid var(--lo-focus);outline-offset:2px}.lo-feature-button:disabled,.lo-feature-button[aria-disabled=true]{cursor:not-allowed;opacity:.55}.lo-feature-button .lo-icon{flex:none}.lo-feature-status{gap:var(--lo-sp-1);min-width:0;font-size:var(--lo-fs-2);font-weight:700;line-height:1.4;overflow-wrap:anywhere}.lo-feature-status,.lo-feature-toolbelt__status{display:inline-flex;align-items:center;padding-inline:var(--lo-sp-2);color:var(--lo-ink-dim)}.lo-feature-toolbelt__status{min-height:24px;border-radius:var(--lo-radius-pill);background:var(--lo-surface-2);font-size:var(--lo-fs-1);font-weight:800;white-space:nowrap}.lo-feature-toolbelt__item[data-status=partial] .lo-feature-toolbelt__status{background:var(--lo-warn-bg);color:var(--lo-warn)}.lo-feature-toolbelt__item[data-status=planned] .lo-feature-toolbelt__status{color:var(--lo-ink-faint)}.lo-feature-status[data-state=ok],.lo-feature-status[data-state=ready],.lo-feature-status[data-status=ok]{color:var(--lo-ok)}.lo-feature-status[data-state=warn],.lo-feature-status[data-status=warn]{color:var(--lo-warn)}.lo-feature-status[data-state=error],.lo-feature-status[data-status=error]{color:var(--lo-danger)}.lo-feature-status .lo-icon{flex:none}.lo-script-outline{flex:0 0 176px;min-width:0;border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius-m);background:var(--lo-card);overflow-y:auto;max-height:min(65vh,720px)}.lo-script-outline-head{margin:0;padding:var(--lo-sp-3) var(--lo-sp-3) var(--lo-sp-2);font-size:var(--lo-fs-2);letter-spacing:.08em;color:var(--lo-ink-faint);border-bottom:1px solid var(--lo-line)}.lo-script-outline ul{list-style:none;margin:0;padding:var(--lo-sp-2);display:grid;grid-gap:var(--lo-sp-1);gap:var(--lo-sp-1)}.lo-script-outline-item{display:flex;align-items:center;gap:var(--lo-sp-2);width:100%;min-height:44px;padding:var(--lo-sp-2) var(--lo-sp-3);border:0;border-radius:var(--lo-radius-s);background:transparent;color:var(--lo-ink);font:inherit;font-size:var(--lo-fs-3);text-align:left;cursor:pointer}.lo-script-outline-item:hover{background:var(--lo-surface)}.lo-script-outline-item[data-active]{background:var(--lo-surface-2)}.lo-script-outline-item svg{flex:0 0 auto;color:var(--lo-ink-faint)}.lo-script-outline-item span{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--lo-font-mono)}.lo-script-outline-item em{flex:0 0 auto;font-style:normal;font-size:var(--lo-fs-2);color:var(--lo-ink-faint)}.lo-script-outline-item[data-kind=ending] span{color:var(--lo-primary-solid)}@media (max-width:760px){.lo-script-pane--editor{flex-direction:column}.lo-script-workbench{width:100%}.lo-feature-toolbelt{align-items:stretch}.lo-feature-toolbelt__groups{grid-template-columns:1fr}.lo-feature-group{flex:1 1 100%}.lo-feature-group+.lo-feature-group{-webkit-padding-before:var(--lo-sp-2);padding-block-start:var(--lo-sp-2);-webkit-padding-start:0;padding-inline-start:0;-webkit-border-before:1px solid var(--lo-line);border-block-start:1px solid var(--lo-line);-webkit-border-start:0;border-inline-start:0}.lo-feature-status{flex:1 1 100%}.lo-script-outline{flex:none;max-height:140px;overflow-x:auto;overflow-y:hidden}.lo-script-outline ul{display:flex;gap:6px;padding:var(--lo-sp-2)}.lo-script-outline-item{width:auto;white-space:nowrap}}.lo-cm-host{height:min(65vh,720px);overflow:hidden;border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius-m);background:var(--lo-card)}.lo-cm-host .cm-editor{height:100%}.lo-cm-host .cm-scroller{overflow:auto}@media (min-width:1000px){.lo-script-editor--split:has(.lo-script-pane--preview) .lo-cm-host{height:100%}}.lo-script-pane--preview{grid-area:auto}.lo-preview-stage{height:min(65vh,720px);border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius-m);overflow:hidden;background:var(--lo-bg);display:flex;align-items:center;justify-content:center}.lo-preview-stage>*{width:100%;height:100%}.lo-preview-stage .lv-root{min-height:0;height:100%}@media (min-width:1000px){.lo-script-editor--split:has(.lo-script-pane--preview) .lo-preview-stage{height:min(65vh,720px)}}.lo-preview-empty{display:flex;align-items:center;justify-content:center;height:min(65vh,720px);color:var(--lo-ink-faint);font-size:var(--lo-fs-3);border:1px dashed var(--lo-line);border-radius:var(--lo-radius-m)}.lo-preview-error{padding:var(--lo-sp-4);background:var(--lo-card);border:1px solid var(--lo-danger);border-radius:var(--lo-radius-m);font-size:var(--lo-fs-3);color:var(--lo-ink);max-height:min(65vh,720px);overflow-y:auto}.lo-preview-error-title{font-weight:700;color:var(--lo-danger);margin-bottom:var(--lo-sp-2)}.lo-preview-error-row{display:flex;gap:var(--lo-sp-2);padding:var(--lo-sp-1) 0;border-bottom:1px solid var(--lo-line)}.lo-preview-error-line{flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--lo-danger)}.lo-script-diag--plain{cursor:default;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:flex-start;gap:var(--lo-sp-2);padding:var(--lo-sp-2) var(--lo-sp-3);font:inherit;font-size:var(--lo-fs-3);color:var(--lo-ink-dim);background:var(--lo-surface);border:1px solid var(--lo-line);border-left:3px solid var(--lo-line-strong);border-radius:var(--lo-radius-s)}.lo-script-source{display:block;width:100%;min-height:min(65vh,720px);padding:var(--lo-sp-4);font-family:var(--lo-font-mono);font-size:var(--lo-fs-3);line-height:1.7;color:var(--lo-ink);background:var(--lo-card);border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius-m);resize:vertical;-moz-tab-size:4;tab-size:4}.lo-script-source:focus-visible{outline:2px solid var(--lo-focus);outline-offset:2px;border-color:var(--lo-primary-solid)}.lo-script-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--lo-sp-3)}.lo-script-saved{font-size:var(--lo-fs-3);color:var(--lo-ok)}.lo-script-release-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));grid-gap:var(--lo-sp-3);gap:var(--lo-sp-3)}.lo-tier{display:inline-flex;gap:var(--lo-sp-1);padding:var(--lo-sp-1);background:var(--lo-surface);border:1px solid var(--lo-line)}.lo-tier,.lo-tier-btn{border-radius:var(--lo-radius-pill)}.lo-tier-btn{min-height:44px;padding:var(--lo-sp-2) var(--lo-sp-3);font-size:var(--lo-fs-3);font-weight:700;color:var(--lo-ink-dim)}.lo-tier-btn:hover:not([data-active]){background:var(--lo-surface-2)}.lo-tier-btn[data-active]{background:var(--lo-primary-solid);color:var(--lo-on-primary-solid)}.lo-tier-btn:focus-visible{outline:2px solid var(--lo-focus);outline-offset:2px}.lo-palette{display:flex;flex-wrap:wrap;gap:var(--lo-sp-2);padding:var(--lo-sp-2);background:var(--lo-surface);border:1px solid var(--lo-line);border-radius:var(--lo-radius-m)}.lo-palette-btn{min-height:44px;padding:var(--lo-sp-2) var(--lo-sp-3);border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius-s);background:var(--lo-card);font-size:var(--lo-fs-3)}.lo-palette-btn:hover{background:var(--lo-surface)}.lo-palette-btn:focus-visible{outline:2px solid var(--lo-focus);outline-offset:2px}.lo-tier-help{font-size:var(--lo-fs-3);color:var(--lo-ink-dim);padding:var(--lo-sp-2) 0}.lo-script-diags{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--lo-sp-2);gap:var(--lo-sp-2)}.lo-script-diag{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:100%;text-align:left;display:flex;align-items:flex-start;gap:var(--lo-sp-2);padding:var(--lo-sp-2) var(--lo-sp-3);font:inherit;font-size:var(--lo-fs-3);color:var(--lo-ink-dim);background:var(--lo-surface);border:1px solid var(--lo-line);border-left:3px solid var(--lo-line-strong);border-radius:var(--lo-radius-s)}.lo-script-diag:hover{background:var(--lo-surface-2)}.lo-script-diag:focus-visible{outline:2px solid var(--lo-focus);outline-offset:2px}.lo-script-diag .lo-icon{flex-shrink:0;margin-top:2px}.lo-script-diag-line{flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.lo-script-diag[data-sev=error]{border-left-color:var(--lo-danger);color:var(--lo-ink)}.lo-script-diag[data-sev=error] .lo-icon{color:var(--lo-danger)}.lo-script-diag[data-sev=warn]{border-left-color:var(--lo-warn)}.lo-script-diag[data-sev=warn] .lo-icon{color:var(--lo-warn)}.lo-script-diag[data-sev=info]{border-left-color:var(--lo-line-strong)}.lo-script-diag[data-sev=info] .lo-icon{color:var(--lo-ink-faint)}.lo-script-diag-remedy{display:block;padding:var(--lo-sp-1) var(--lo-sp-3) var(--lo-sp-2) calc(var(--lo-sp-3) + 24px);font-size:var(--lo-fs-2);color:var(--lo-ink-dim)}.lo-drawer{flex:0 0 224px;min-width:0;display:flex;flex-direction:column;gap:var(--lo-sp-2);padding:var(--lo-sp-2);border:1px solid var(--lo-line);border-radius:var(--lo-radius-m);background:var(--lo-card);height:min(65vh,720px)}.lo-drawer-tabs{display:flex;gap:2px;padding:2px;background:var(--lo-surface);border-radius:var(--lo-radius-s)}.lo-drawer-tab{flex:1 1;padding:var(--lo-sp-1) var(--lo-sp-2);border:0;border-radius:var(--lo-radius-s);background:transparent;color:var(--lo-ink-dim);font:inherit;font-size:var(--lo-fs-3);cursor:pointer}.lo-drawer-tab[data-on]{background:var(--lo-card);color:var(--lo-ink);font-weight:700}.lo-drawer-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--lo-sp-2);gap:var(--lo-sp-2);overflow-y:auto;min-height:0;flex:1 1 auto}.lo-drawer-item{display:flex;flex-direction:column;gap:var(--lo-sp-1);width:100%;padding:0;border:1px solid var(--lo-line);border-radius:var(--lo-radius-s);background:var(--lo-surface);cursor:pointer;text-align:left;overflow:hidden}.lo-drawer-item:hover{background:var(--lo-surface-2)}.lo-drawer-item:disabled{cursor:wait;opacity:.65}.lo-drawer-thumb{display:block;width:100%;aspect-ratio:16/10;background:var(--lo-bg);overflow:hidden}.lo-drawer-grid--portrait .lo-drawer-thumb{aspect-ratio:3/4}.lo-drawer-name{padding:0 var(--lo-sp-2) var(--lo-sp-2);font-size:var(--lo-fs-2);color:var(--lo-ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lo-drawer-err{font-size:var(--lo-fs-2);color:var(--lo-danger)}@media (max-width:760px){.lo-drawer{flex:none;width:100%}}