:root{--sans:system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono:ui-monospace, "Cascadia Code", Consolas, monospace;--page-bg:#dff5eb;--panel-bg:#f0faf5;--sidebar-bg:#f7fdf9;--brand-green:#2d6a4f;--brand-green-dark:#1b4332;--brand-green-hover:#40916c;--text-strong:#0f1720;--text-muted:#4a5568;--border-subtle:#c5ddd0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);color:var(--text-strong);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.45}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}#root{width:100%;max-width:none;min-height:100%;text-align:initial;border:none;margin:0}code{font-family:var(--mono)}:root{--app-dialog-overlay-bg:#0f172a73;--app-dialog-blur:blur(4px);--app-dialog-radius:14px;--app-dialog-border-width:2px;--app-dialog-shadow:0 1px 2px #1b43320a, 0 14px 42px #0f172a1a;--app-popover-radius:14px;--app-popover-shadow:0 16px 40px #0f172a33, 0 0 0 1px #0f172a14}.app-dialog-overlay{z-index:10000;background:var(--app-dialog-overlay-bg);-webkit-backdrop-filter:var(--app-dialog-blur);backdrop-filter:var(--app-dialog-blur);justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.app-dialog{border-radius:var(--app-dialog-radius);border:var(--app-dialog-border-width) solid var(--border-subtle,#c5ddd0);background:var(--panel-bg,#f0faf5);width:min(420px,100%);max-height:min(90vh,900px);box-shadow:var(--app-dialog-shadow);flex-direction:column;min-height:0;padding:1.5rem 1.65rem 1.35rem;display:flex;position:relative;overflow:hidden}.app-dialog--wide{width:min(720px,100%)}.app-dialog-title{color:var(--text-strong,#0f172a);letter-spacing:-.02em;margin:0 0 .55rem;font-size:1.12rem;font-weight:800}.app-dialog-body{color:var(--text-muted,#475569);margin:0 0 .85rem;font-size:.9rem;line-height:1.45}.app-dialog-body--pre{white-space:pre-wrap}.app-dialog-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.5rem;margin-top:auto;display:flex}.app-dialog-actions--stack{flex-direction:column;align-items:stretch}.app-dialog-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.42rem .75rem;font-size:.78rem;font-weight:700;transition:background .12s,border-color .12s,opacity .12s}.app-dialog-btn:disabled{opacity:.55;cursor:not-allowed}.app-dialog-btn--lg{border-radius:9px;min-width:8rem;padding:.52rem 1.35rem;font-size:.9rem}.app-dialog-btn.primary{background:var(--brand-green,#2d6a4f);color:#fff}.app-dialog-btn.primary:hover:not(:disabled){filter:brightness(1.06)}.app-dialog-btn.danger{color:#b91c1c;background:#fff;border-color:#fecaca}.app-dialog-btn.danger:hover:not(:disabled){background:#fef2f2}.app-dialog-btn.secondary{color:var(--text-strong,#0f172a);border-color:var(--border-subtle,#c5ddd0);background:#fff}.app-dialog-btn.secondary:hover:not(:disabled){background:#ffffffd9}.app-dialog-hint{color:#94a3b8;margin:.85rem 0 0;font-size:.72rem;line-height:1.4}.app-session-load-overlay{z-index:10052;--app-dialog-overlay-bg:#0f172a85;--app-dialog-blur:blur(12px)}.app-session-load-dialog{pointer-events:auto;text-align:center}.app-session-load-line{margin:0;line-height:1.25}.app-session-load-line--top{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted,#64748b);margin-bottom:.5rem;font-size:.7rem;font-weight:800}.app-session-load-line--name{letter-spacing:-.02em;color:var(--text-strong,#0f172a);word-break:break-word;margin-bottom:.45rem;font-size:1.08rem;font-weight:800}.app-session-load-line--bottom{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted,#64748b);margin-bottom:.65rem;font-size:.7rem;font-weight:800}.app-session-load-hint{max-width:22rem;color:var(--text-muted,#64748b);margin:0 auto 1rem;font-size:.8rem;font-weight:400;line-height:1.45}.app-session-load-spinner{border:3px solid #e2e8f0;border-top-color:var(--brand-green,#2d6a4f);border-radius:50%;width:2.25rem;height:2.25rem;margin:0 auto;animation:.75s linear infinite app-session-load-spin}@keyframes app-session-load-spin{to{transform:rotate(360deg)}}.login-page{box-sizing:border-box;background:linear-gradient(165deg,#0f1419 0%,#1a2230 48%,#0d3d2e 100%);justify-content:center;align-items:center;min-height:100svh;padding:1.5rem;display:flex}.login-card{flex-direction:column;gap:1.25rem;width:100%;max-width:28rem;display:flex}.login-header{text-align:center}.login-kicker{letter-spacing:.16em;text-transform:uppercase;color:#6ee7b7;margin:0 0 .35rem;font-size:.72rem;font-weight:700}.login-title{letter-spacing:-.03em;color:#f1f5f9;margin:0 0 .4rem;font-size:1.85rem;font-weight:800}.login-subtitle{color:#94a3b8;margin:0;font-size:.95rem;line-height:1.45}.login-console{background:#0b0f14;border:1px solid #94a3b840;border-radius:10px;overflow:hidden;box-shadow:inset 0 0 0 1px #00000059}.login-console-header{letter-spacing:.1em;text-transform:uppercase;color:#64748b;background:#111820;border-bottom:1px solid #94a3b826;align-items:center;gap:.45rem;padding:.45rem .65rem;font-size:.68rem;font-weight:700;display:flex}.login-console-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #22c55e99}.login-console-body{min-height:11rem;max-height:14rem;font-family:var(--mono,ui-monospace, Consolas, monospace);color:#a7f3d0;white-space:pre-wrap;word-break:break-word;margin:0;padding:.65rem .75rem .85rem;font-size:.76rem;line-height:1.55;overflow:auto}.login-console-body--typewriter{justify-content:center;align-items:center;padding:1.25rem 1rem 1.5rem;display:flex;overflow:hidden}.login-typewriter{flex-direction:column;justify-content:center;align-items:center;gap:.45rem;width:100%;display:flex}.login-typewriter-line{letter-spacing:.08em;text-transform:uppercase;white-space:pre;justify-content:center;align-items:center;min-height:1.85em;font-size:clamp(.92rem,2.9vw,1.06rem);font-weight:700;display:inline-flex}.login-typewriter-line--with{text-transform:none;letter-spacing:.22em;font-size:clamp(.8rem,2.6vw,.94rem);font-weight:600}.login-typewriter-line--done{color:#6ee7b7}.login-typewriter-line--active{color:#d1fae5}.login-typewriter-caret{margin-inline-start:.06em;color:#34d399;text-transform:lowercase;letter-spacing:0;margin-bottom:-.12em;font-weight:400;animation:.92s step-end infinite login-caret-blink;display:inline-block}@keyframes login-caret-blink{50%{opacity:0}}.login-console-muted{color:#475569}.login-footer{flex-direction:column;align-items:center;gap:.85rem;display:flex}.login-legal{text-align:center;color:#94a3b8d1;max-width:22rem;margin:.35rem 0 0;font-size:.69rem;line-height:1.55}.login-legal-sep{color:#94a3b880}.login-google-wrap{justify-content:center;width:100%;display:flex}.login-oauth-btn{width:100%;max-width:320px;min-height:48px;font:inherit;color:#ecfdf5;cursor:pointer;background:linear-gradient(165deg,#134e4a 0%,#0f766e 52%,#0d9488 100%);border:1px solid #6ee7b76b;border-radius:8px;justify-content:center;align-items:center;gap:.65rem;padding:0 1.25rem;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:inline-flex;box-shadow:inset 0 1px #ffffff14,0 2px 10px #0d948847}.login-oauth-btn:hover{color:#f0fdf4;background:linear-gradient(165deg,#115e59 0%,#0d9488 48%,#14b8a6 100%);border-color:#a7f3d08c;box-shadow:inset 0 1px #ffffff1f,0 4px 16px #14b8a659}.login-oauth-google-icon{flex-shrink:0}.login-config-hint{text-align:center;color:#cbd5e1;margin:0;font-size:.82rem;line-height:1.5}.login-code{font-family:var(--mono,ui-monospace, Consolas, monospace);color:#fde68a;background:#0f172aa6;border-radius:4px;padding:.12em .35em;font-size:.78em}.drive-section{margin:0}.drive-heading{letter-spacing:-.02em;color:var(--text-strong,#0f172a);margin:0 0 .5rem;font-size:1.15rem;font-weight:700}.drive-hint{color:var(--text-muted,#64748b);max-width:52rem;margin:0 0 1rem;font-size:.88rem;line-height:1.5}.drive-hint .upload-code{word-break:break-all;background:#0f172a0f;border-radius:6px;padding:.12rem .35rem;font-size:.82em}.drive-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin:0 0 1rem;padding:.75rem 1rem;font-size:.88rem}.drive-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.drive-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.5rem 1rem;font-size:.88rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,opacity .15s}.drive-btn:disabled{opacity:.5;cursor:not-allowed}.drive-btn-primary{background:var(--dash-accent,#7c3aed);color:#fff;border-color:#0000}.drive-btn-primary:hover:not(:disabled){filter:brightness(1.06)}.drive-btn-ghost{color:var(--text-muted,#64748b);border-color:var(--dash-border,#e2e8f0);background:0 0}.drive-btn-ghost:hover:not(:disabled){color:var(--dash-accent,#7c3aed);background:#7c3aed0f;border-color:#c4b5fd}.upload-input-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.drive-crumbs{border:1px solid var(--dash-border,#e2e8f0);background:#0f172a0a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.25rem;margin:0 0 1rem;padding:.5rem .65rem;display:flex}.drive-crumb-wrap{align-items:center;gap:.25rem;display:inline-flex}.drive-crumb-sep{color:#94a3b8;-webkit-user-select:none;user-select:none;font-weight:500}.drive-crumb{font:inherit;color:var(--dash-accent,#7c3aed);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:6px;max-width:14rem;padding:.2rem .45rem;font-size:.85rem;font-weight:600;overflow:hidden}.drive-crumb:hover{background:var(--dash-accent-soft,#7c3aed1f)}.drive-empty{text-align:center;color:var(--text-muted,#64748b);border:1px dashed var(--dash-border,#e2e8f0);background:#0f172a08;border-radius:12px;margin:1.5rem 0;padding:2rem 1rem;font-size:.95rem}.drive-folder-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.drive-folder-item{text-align:left;width:100%;font:inherit;border:1px solid var(--dash-border,#e2e8f0);background:var(--dash-card-bg,#fff);color:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.9rem;font-weight:500;transition:border-color .12s,box-shadow .12s,transform 80ms;display:flex}.drive-folder-item:hover:not(:disabled){border-color:#c4b5fd;box-shadow:0 1px 4px #7c3aed1a}.drive-folder-item:disabled{opacity:.45;cursor:not-allowed}.drive-folder-item.drive-file-item{opacity:.95}.drive-folder-icon{flex-shrink:0;font-size:1.1rem}.drive-media-picker-overlay{z-index:10054;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a7a;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.drive-media-picker{resize:both;border:2px solid var(--border-subtle,#c5ddd0);background:var(--panel-bg,#f0faf5);border-radius:16px;flex-direction:column;width:min(1080px,100vw - 2rem);min-width:min(100%,320px);max-width:min(100vw - 1rem,1280px);height:min(78vh,840px);min-height:min(620px,86vh);max-height:min(92vh,980px);display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #1b43320f,0 22px 48px #0f172a24}.drive-media-picker:after{content:"";opacity:.35;pointer-events:none;z-index:2;background:linear-gradient(135deg,#0000 50%,#94a3b8 50% 55%,#0000 55% 65%,#94a3b8 65% 70%,#0000 70%);border-radius:0 0 10px;width:14px;height:14px;position:absolute;bottom:3px;right:3px}.drive-media-picker-head{border-bottom:1px solid var(--dash-border,#e2e8f0);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.15rem .75rem;display:flex}.drive-media-picker-title{letter-spacing:-.02em;color:var(--text-strong,#0f172a);margin:0;font-size:1.05rem;font-weight:800}.drive-media-picker-lead{color:var(--text-muted,#64748b);max-width:38rem;margin:.35rem 0 0;font-size:.82rem;line-height:1.45}.drive-media-picker-close{font:inherit;border:1px solid var(--border-subtle,#c5ddd0);width:2.25rem;height:2.25rem;color:var(--text-muted,#64748b);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;padding:0;font-size:1.35rem;font-weight:400;line-height:1;transition:background .12s,border-color .12s}.drive-media-picker-close:hover:not(:disabled){color:var(--text-strong,#0f172a);background:#f8fafc;border-color:#94a3b8}.drive-media-picker-toolbar{border-bottom:1px solid var(--dash-border,#e2e8f0);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.45rem;padding:.65rem 1.15rem;display:flex}.drive-media-picker-toolbar-meta{color:var(--text-muted,#64748b);margin-right:auto;font-size:.78rem}.drive-media-picker-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:0;min-height:0;display:grid}@media (width<=760px){.drive-media-picker-body{grid-template-rows:minmax(200px,45vh) minmax(180px,1fr);grid-template-columns:1fr}}.drive-media-picker-list-col{border-right:1px solid var(--dash-border,#e2e8f0);flex-direction:column;min-height:0;display:flex}@media (width<=760px){.drive-media-picker-list-col{border-right:none;border-bottom:1px solid var(--dash-border,#e2e8f0)}}.drive-media-picker-crumbs{flex-wrap:wrap;align-items:center;gap:.15rem 0;padding:.6rem 1rem .35rem;font-size:.78rem;display:flex}.drive-media-picker-crumb-sep{color:#94a3b8;-webkit-user-select:none;user-select:none;margin:0 .2rem}.drive-media-picker-crumb{font:inherit;font-size:inherit;color:var(--dash-accent,#7c3aed);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.12rem .28rem;font-weight:600}.drive-media-picker-crumb:hover:not(:disabled){text-decoration:underline}.drive-media-picker-scroll{flex:1;min-height:min(280px,32vh);padding:.35rem .65rem .85rem;overflow:auto}.drive-media-picker-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 1rem .5rem;padding:.6rem .75rem;font-size:.82rem}.drive-media-picker-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.drive-media-picker-grid-cell{margin:0;padding:0;list-style:none}.drive-media-picker-tile{text-align:center;width:100%;height:100%;font:inherit;border:1px solid var(--dash-border,#e2e8f0);color:var(--text-strong,#0f172a);cursor:pointer;background:linear-gradient(160deg,#f8fafc 0%,#fff 72%);border-radius:10px;flex-direction:column;align-items:stretch;padding:.45rem .4rem .55rem;font-size:.72rem;transition:border-color .1s,box-shadow .1s,background .1s;display:flex}.drive-media-picker-tile--folder{background:linear-gradient(160deg,#faf5ff 0%,#fff 68%)}.drive-media-picker-tile:hover:not(:disabled){border-color:#7c3aed59;box-shadow:0 1px 6px #7c3aed1f}.drive-media-picker-tile:disabled{opacity:.48;cursor:not-allowed}.drive-media-picker-tile.is-selected{outline:2px solid var(--brand-green,#2d6a4f);outline-offset:2px;border-color:var(--brand-green,#2d6a4f);background:#2d6a4f0f}.drive-media-picker-tile-thumb{aspect-ratio:4/3;background:linear-gradient(#e2e8f0 0%,#f1f5f9 100%);border-radius:8px;justify-content:center;align-items:center;width:100%;max-height:96px;margin-bottom:.35rem;display:flex;overflow:hidden}.drive-media-picker-tile-thumb .media-folder-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.drive-media-picker-tile-thumb .media-folder-thumb-fallback{opacity:.85;font-size:1.65rem;line-height:1}.drive-media-picker-tile-name{-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;margin-bottom:.2rem;font-size:.72rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.drive-media-picker-tile-meta{color:var(--text-muted,#64748b);margin-top:auto;font-size:.65rem;line-height:1.25}.drive-media-picker-preview-col{background:#ffffff8c;flex-direction:column;gap:.65rem;min-height:0;padding:.85rem 1rem 1rem;display:flex}.drive-media-picker-preview-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted,#64748b);margin:0;font-size:.72rem;font-weight:800}.drive-media-picker-preview-frame{border:1px dashed var(--dash-border,#e2e8f0);background:#f8fafc;border-radius:12px;flex:0 auto;justify-content:center;align-items:center;min-height:140px;max-height:min(280px,36vh);padding:.65rem;display:flex;overflow:hidden}.drive-media-picker-preview-img{object-fit:contain;border-radius:6px;max-width:100%;max-height:min(220px,32vh)}.drive-media-picker-warnings{flex-direction:column;flex-shrink:0;gap:.45rem;margin-top:.15rem;display:flex}.drive-media-picker-warning{color:#7f1d1d;background:#fef2f2;border:1px solid #b91c1c;border-radius:8px;margin:0;padding:.55rem .65rem;font-size:.78rem;line-height:1.45}.drive-media-picker-warning strong{color:#450a0a}.drive-media-picker-preview-placeholder{color:var(--text-muted,#64748b);text-align:center;margin:0;padding:.5rem;font-size:.82rem;line-height:1.45}.drive-media-picker-preview-audio{width:100%;max-width:280px}.drive-media-picker-footer{border-top:1px solid var(--dash-border,#e2e8f0);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.5rem;margin-top:auto;padding-top:.25rem;display:flex}.drive-media-picker-footer .drive-btn{font-size:.82rem}.drive-media-picker-local-inner{flex-direction:column;flex:1;gap:.85rem;min-height:0;padding:.65rem 1rem 1rem;display:flex}.drive-media-picker-local-zone{border:2px dashed var(--dash-border,#e2e8f0);text-align:center;background:#ffffffa6;border-radius:12px;padding:1.1rem 1rem;transition:border-color .15s,background .15s}.drive-media-picker-local-zone--active{background:#7c3aed12;border-color:#7c3aed73}.drive-media-picker-local-zone-title{color:var(--text-strong,#0f172a);margin:0 0 .35rem;font-size:.88rem;font-weight:800}.drive-media-picker-local-zone-hint{color:var(--text-muted,#64748b);margin:0 0 .85rem;font-size:.78rem;line-height:1.4}.drive-media-picker-local-picked{word-break:break-word;color:var(--text-strong,#0f172a);margin:0;font-size:.78rem;line-height:1.4}.drive-media-picker-local-picked-meta{color:var(--text-muted,#64748b);font-weight:500}.drive-media-picker-local-empty{margin:0;padding:0 .25rem}.auth-user-menu{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.auth-user-avatar{object-fit:cover;border-radius:50%}.auth-user-email{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;color:var(--text-muted,#4a5568);font-size:.78rem;overflow:hidden}.auth-user-signout{font:inherit;border:1px solid var(--border-subtle,#c5ddd0);color:var(--text-strong,#0f1720);cursor:pointer;background:#fff;border-radius:6px;padding:.28rem .5rem;font-size:.72rem;font-weight:600}.auth-user-signout:hover{background:var(--page-bg,#dff5eb)}.editor-preview-pane .auth-user-email{color:#cbd5e1}.editor-preview-pane .auth-user-signout{color:#f1f5f9;background:#334155;border-color:#475569}.editor-preview-pane .auth-user-signout:hover{background:#475569}.auth-signout-confirm-overlay{z-index:10060}.auth-signout-confirm-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 0 .85rem;padding:.45rem .55rem;font-size:.8rem;line-height:1.4}.dashboard-shell{--dash-sidebar-bg:#1a1f2e;--dash-sidebar-text:#e2e8f0;--dash-sidebar-muted:#94a3b8;--dash-accent:#7c3aed;--dash-accent-soft:#7c3aed2e;--dash-main-bg:#f1f5f9;--dash-card-bg:#fff;--dash-border:#e2e8f0;--dash-top-bg:#fff;background:var(--dash-main-bg);color:#0f172a;width:100%;min-height:100svh;font-family:var(--sans,system-ui, sans-serif);display:flex}.dashboard-sidebar{background:var(--dash-sidebar-bg);width:240px;color:var(--dash-sidebar-text);flex-direction:column;flex-shrink:0;padding:1.25rem 0 .75rem;display:flex}.dashboard-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:.65rem;margin-bottom:.5rem;padding:0 1rem 1.25rem;display:flex}.dashboard-brand-mark{border-radius:8px;flex-shrink:0;display:block}.dashboard-brand-name{letter-spacing:-.02em;font-size:1.05rem;font-weight:800}.dashboard-nav{flex-direction:column;flex:1;gap:.15rem;padding:0 .65rem;display:flex}.dashboard-nav-item{color:var(--dash-sidebar-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.55rem;padding:.55rem .75rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .12s,color .12s;display:flex}.dashboard-nav-item:hover:not(.dashboard-nav-item--disabled):not(.dashboard-nav-item--active){color:var(--dash-sidebar-text);background:#ffffff0f}.dashboard-nav-item--active{background:var(--dash-accent-soft);color:#fff;box-shadow:inset 3px 0 0 var(--dash-accent)}.dashboard-nav-item--disabled{opacity:.4;cursor:not-allowed}.dashboard-nav-icon{text-align:center;opacity:.95;width:1.1rem;font-size:.85rem}.dashboard-sidebar-footer{color:var(--dash-sidebar-muted);border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-top:auto;padding:.75rem 1rem 0;font-size:.72rem;display:flex}.dashboard-collapse{font:inherit;color:inherit;cursor:not-allowed;opacity:.45;background:0 0;border:none;padding:.2rem}.dashboard-main{flex-direction:column;flex:1;min-width:0;display:flex}.dashboard-top{background:var(--dash-top-bg);border-bottom:1px solid var(--dash-border);flex-wrap:wrap;align-items:center;gap:1.25rem;padding:.85rem 1.5rem;display:flex}.dashboard-search-wrap{border:1px solid var(--dash-border);background:#f8fafc;border-radius:10px;flex:1;align-items:center;gap:.5rem;min-width:12rem;max-width:42rem;padding:.45rem .85rem;display:flex}.dashboard-search-icon{color:#94a3b8;font-size:1rem;line-height:1}.dashboard-search{font:inherit;color:#334155;background:0 0;border:none;flex:1;min-width:0;font-size:.88rem}.dashboard-search::-webkit-search-cancel-button{appearance:none}.dashboard-search::-webkit-search-decoration{-webkit-appearance:none}.dashboard-search::placeholder{color:#94a3b8}.dashboard-search:focus{outline:none}.dashboard-search-clear{width:1.65rem;height:1.65rem;font:inherit;color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:1.15rem;font-weight:500;line-height:1;transition:color .12s,background .12s;display:flex}.dashboard-search-clear:hover{color:#0f172a;background:#94a3b840}.dashboard-search-clear:focus-visible{outline:2px solid var(--dash-accent,#7c3aed);outline-offset:2px}.dashboard-top-right{flex-wrap:wrap;align-items:center;gap:1rem;margin-left:auto;display:flex}.dashboard-status-pill{color:#64748b;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;display:inline-flex}.dashboard-status-dot{background:#22c55e;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite dashboard-pulse}@keyframes dashboard-pulse{0%,to{opacity:1}50%{opacity:.45}}.dashboard-workspace{color:#334155;font-size:.82rem;font-weight:700}.dashboard-top-user.auth-user-menu{gap:.5rem}.dashboard-top-user .auth-user-email{color:#64748b;max-width:10rem}.dashboard-top-user .auth-user-signout{background:#f8fafc;border-color:#e2e8f0}.dashboard-top-user .auth-user-signout:hover{background:#f1f5f9}.dashboard-outlet{flex:1;padding:1.5rem 1.75rem 2rem;overflow:auto}.versions-page{max-width:1200px;margin:0 auto}.versions-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.versions-breadcrumb-row{align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.versions-back-circle{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;line-height:1;text-decoration:none;transition:background .12s,border-color .12s;display:flex}.versions-back-circle:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.versions-breadcrumbs{color:#64748b;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.84rem;font-weight:600;display:flex}.versions-bc-link{color:#7c3aed;text-overflow:ellipsis;white-space:nowrap;max-width:min(28vw,14rem);text-decoration:none;overflow:hidden}.versions-bc-link:hover{text-underline-offset:2px;text-decoration:underline}.versions-bc-sep{color:#cbd5e1;font-weight:500}.versions-bc-current{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;max-width:min(40vw,20rem);overflow:hidden}.versions-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.versions-title-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.versions-title{letter-spacing:-.03em;color:#0f172a;word-break:break-word;margin:0;font-size:1.5rem;font-weight:800;line-height:1.2}.versions-badge{color:#6d28d9;background:#7c3aed1f;border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:700}.versions-sub{color:#64748b;max-width:40rem;margin:.35rem 0 0;font-size:.88rem;line-height:1.45}.versions-header-actions{flex-wrap:wrap;gap:.5rem;display:flex}.versions-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.86rem;font-weight:700;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.versions-btn:disabled{opacity:.5;cursor:not-allowed}.versions-btn-ghost{color:#475569;background:#fff;border-color:#e2e8f0}.versions-btn-ghost:hover:not(:disabled){background:#f8fafc}.versions-btn-primary{color:#fff;background:#7c3aed;border-color:#7c3aed}.versions-btn-primary:hover{background:#6d28d9;border-color:#6d28d9}.versions-banner{border-radius:8px;margin:0 0 1rem;padding:.75rem 1rem;font-size:.88rem}.versions-banner--error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.versions-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.versions-table-wrap{overflow-x:auto}.versions-table{border-collapse:collapse;width:100%;font-size:.84rem}.versions-th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#fafafa;border-bottom:1px solid #f1f5f9;padding:.65rem .85rem;font-size:.7rem;font-weight:700}.versions-th-size{width:6rem}.versions-th-type{width:7rem}.versions-th-updated{width:9rem}.versions-th-actions{text-align:right;width:11.5rem}.versions-actions-row{justify-content:flex-end;align-items:center;gap:.35rem;width:100%;min-width:0;display:flex}.versions-hint-wrap{text-align:right;flex:1;min-width:0}.versions-row-kebab-wrap{flex-shrink:0;position:relative}.versions-kebab-btn{width:2.05rem;height:2.05rem;font:inherit;color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex;box-shadow:0 1px 2px #0f172a0f}.versions-kebab-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.versions-kebab-btn:disabled{opacity:.45;cursor:not-allowed}.versions-kebab-dots{font-size:1.05rem;font-weight:700;line-height:1}.versions-row-actions-menu{z-index:40;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:9.5rem;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 16px 40px #0f172a26,0 0 0 1px #0f172a0f}.versions-row-actions-menu--above{top:auto;bottom:calc(100% + 4px)}.versions-row-actions-item{width:100%;font:inherit;text-align:left;color:#334155;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.45rem .55rem;font-size:.8rem;font-weight:600;display:block}.versions-row-actions-item:hover{background:#f1f5f9}.versions-row-actions-item--danger{color:#b91c1c}.versions-row-actions-item--danger:hover{background:#fef2f2}.versions-delete-dialog{text-align:left;width:min(26rem,100%);max-width:26rem}.versions-delete-target{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;margin:.75rem 0 1rem;padding:.65rem .75rem}.versions-delete-target-label{letter-spacing:.12em;text-transform:uppercase;color:#64748b;margin-bottom:.35rem;font-size:.68rem;font-weight:700;display:block}.versions-delete-target-name{color:#0f172a;word-break:break-word;font-size:.95rem;font-weight:600;line-height:1.35;display:block}.versions-td-hint{color:#7c3aed;font-size:.75rem;font-weight:600}.versions-tr--clickable{cursor:pointer}.versions-tr--clickable:hover{background:#f8fafc}.versions-tr--clickable:focus-visible{outline-offset:-2px;outline:2px solid #7c3aed}.versions-td{vertical-align:middle;color:#0f172a;border-bottom:1px solid #f1f5f9;padding:.6rem .85rem}.versions-td-name{max-width:22rem;font-weight:600}.versions-name-inner{align-items:center;gap:.45rem;min-width:0;display:flex}.versions-file-icon{flex-shrink:0}.versions-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.versions-type-pill{color:#475569;background:#f1f5f9;border-radius:6px;padding:.15rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.versions-td-size{color:#64748b;font-variant-numeric:tabular-nums}.versions-td-muted{color:#64748b;white-space:nowrap;font-size:.82rem}.versions-hint{opacity:.9}.versions-muted{color:#cbd5e1}.versions-td-empty{text-align:center;color:#64748b;padding:1.5rem .85rem;font-size:.88rem}.project-library{max-width:1200px;margin:0 auto}.project-library-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.project-library-title{letter-spacing:-.03em;color:#0f172a;margin:0;font-size:1.65rem;font-weight:800}.project-library-btn-new{font:inherit;cursor:pointer;color:#fff;background:#7c3aed;border:none;border-radius:8px;padding:.55rem 1.15rem;font-size:.88rem;font-weight:700;transition:background .15s,transform .1s;box-shadow:0 1px 2px #7c3aed59}.project-library-btn-new:hover{background:#6d28d9}.project-library-btn-new:active{transform:scale(.98)}.project-library-btn-primary{font:inherit;cursor:pointer;color:#fff;background:#7c3aed;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.88rem;font-weight:700}.project-library-btn-primary:hover{background:#6d28d9}.project-library-banner{border-radius:8px;margin:0 0 1rem;padding:.75rem 1rem;font-size:.88rem;line-height:1.45}.project-library-banner--warn{color:#713f12;background:#fef9c3;border:1px solid #fde047}.project-library-banner--error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.project-library-code{font-family:var(--mono,monospace);font-size:.85em}.project-library-connect{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;padding:1rem 1.1rem;display:flex}.project-library-connect-text{color:#475569;flex:1;min-width:12rem;margin:0;font-size:.88rem}.project-library-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem;padding:.35rem 0;display:flex}.project-library-toolbar-icon{color:#94a3b8;text-align:center;width:1.5rem}.project-library-toolbar-headers{text-transform:uppercase;letter-spacing:.04em;color:#64748b;flex:1;grid-template-columns:28px 40px minmax(8rem,2fr) 1fr 1fr 1fr 28px;align-items:center;gap:.5rem;min-width:0;font-size:.72rem;font-weight:700;display:grid}.project-library-columns-btn{font:inherit;color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.35rem .65rem;font-size:.75rem;font-weight:600}.project-library-columns-btn:hover{background:#f8fafc}.project-library-table{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin:0;padding:0;list-style:none;overflow:hidden}.project-library-row{width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #f1f5f9;grid-template-columns:28px 40px minmax(8rem,2fr) 1fr 1fr 1fr 28px;align-items:center;gap:.5rem;padding:.65rem .75rem;transition:background .12s;display:grid}.project-library-row:last-child{border-bottom:none}.project-library-row:hover{background:#f8fafc}.project-library-fake-check{border:1.5px solid #cbd5e1;border-radius:3px;width:14px;height:14px;margin:0 auto;display:block}.project-library-thumb{background:#f1f5f9;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.project-library-name{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.pl-ellipsis{color:#94a3b8;font-size:.86rem}.pl-center{text-align:center;color:#94a3b8;font-size:.86rem}.pl-menu{text-align:center;color:#94a3b8;font-weight:800}.project-library-muted{color:#64748b;margin:.75rem 0;font-size:.88rem}.project-library-hint{color:#94a3b8;margin:1rem 0 0;font-size:.8rem}.project-library-link{font:inherit;color:#7c3aed;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}@media (width<=720px){.project-library-toolbar-headers,.project-library-row{grid-template-columns:28px 36px minmax(0,1fr) 28px}.pl-col-platforms,.pl-col-concepts,.pl-col-updated{display:none}}.concepts-page{max-width:1200px;margin:0 auto}.concepts-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.concepts-breadcrumb-row{align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.concepts-back-circle{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;line-height:1;text-decoration:none;transition:background .12s,border-color .12s;display:flex}.concepts-back-circle:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.concepts-breadcrumbs{color:#64748b;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.84rem;font-weight:600;display:flex}.concepts-bc-link{color:#7c3aed;text-decoration:none}.concepts-bc-link:hover{text-underline-offset:2px;text-decoration:underline}.concepts-bc-sep{color:#cbd5e1;font-weight:500}.concepts-bc-current{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;max-width:min(48vw,28rem);overflow:hidden}.concepts-project-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.concepts-project-brand{align-items:flex-start;gap:.85rem;min-width:0;display:flex}.concepts-project-icon{background:linear-gradient(145deg,#fdba74 0%,#fb923c 100%);border-radius:10px;flex-shrink:0;width:2.75rem;height:2.75rem;box-shadow:inset 0 1px #ffffff59}.concepts-project-titles{min-width:0}.concepts-project-title{letter-spacing:-.03em;color:#0f172a;word-break:break-word;margin:0 0 .2rem;font-size:1.65rem;font-weight:800;line-height:1.15}.concepts-project-meta{color:#64748b;margin:0;font-size:.88rem;font-weight:600}.concepts-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.concepts-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.86rem;font-weight:700;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.concepts-btn-outline{color:#334155;background:#fff;border-color:#e2e8f0}.concepts-btn-outline:hover{background:#f8fafc;border-color:#cbd5e1}.concepts-btn-primary{color:#fff;background:#7c3aed;border-color:#7c3aed;box-shadow:0 1px 2px #7c3aed4d}.concepts-btn-primary:hover{background:#6d28d9;border-color:#6d28d9}.concepts-banner{border-radius:8px;margin:0 0 1rem;padding:.75rem 1rem;font-size:.88rem}.concepts-banner--error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.concepts-tr--clickable{cursor:pointer}.concepts-tr--clickable:hover{background:#f8fafc}.concepts-tr--clickable:focus-visible{outline-offset:-2px;outline:2px solid #7c3aed}.concepts-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.concepts-panel-head{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.concepts-panel-title{color:#0f172a;margin:0;font-size:1.05rem;font-weight:800}.concepts-panel-tools{align-items:center;gap:.35rem;display:flex}.concepts-icon-btn{font:inherit;color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:2rem;height:2rem;transition:background .12s;display:inline-flex}.concepts-icon-btn:hover:not(:disabled){background:#f8fafc}.concepts-icon-btn:disabled{opacity:.45;cursor:not-allowed}.concepts-icon-btn--muted{opacity:.55}.concepts-columns-btn{font:inherit;color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-left:.25rem;padding:.35rem .65rem;font-size:.78rem;font-weight:600}.concepts-columns-btn:hover{background:#f8fafc}.concepts-table-scroll{overflow-x:auto}.concepts-table{border-collapse:collapse;width:100%;font-size:.82rem}.concepts-th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#64748b;white-space:nowrap;background:#fafafa;border-bottom:1px solid #f1f5f9;padding:.6rem .75rem;font-size:.7rem;font-weight:700}.concepts-th-check{width:2.5rem}.concepts-th-actions{text-align:right;width:3.25rem}.concepts-th-status{width:6.5rem}.concepts-th-updated{min-width:8.5rem}.concepts-tr:hover{background:#fafafa}.concepts-td{vertical-align:middle;color:#0f172a;border-bottom:1px solid #f1f5f9;padding:.55rem .75rem}.concepts-td-check{width:2.5rem}.concepts-fake-check{border:1.5px solid #cbd5e1;border-radius:3px;width:14px;height:14px;margin:0 auto;display:block}.concepts-td-name{max-width:22rem;font-weight:600}.concepts-name-text{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.concepts-type-pill{color:#6d28d9;background:#7c3aed1f;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.concepts-tag-btn{font:inherit;color:#94a3b8;cursor:not-allowed;background:#fff;border:1px dashed #cbd5e1;border-radius:6px;padding:.2rem .45rem;font-size:.72rem;font-weight:600}.concepts-td-muted-text{color:#94a3b8;font-size:.8rem}.concepts-td-muted{text-align:center;color:#64748b;padding:1.5rem .75rem;font-size:.88rem}.concepts-status-select{font:inherit;color:#475569;cursor:not-allowed;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;max-width:100%;padding:.28rem .45rem;font-size:.78rem}.concepts-td-updated{color:#64748b;white-space:nowrap;font-size:.8rem}.concepts-td-actions{text-align:right;vertical-align:middle}@media (width<=900px){.concepts-th-hide-md{display:none}}@media (width<=640px){.concepts-th-hide-sm{display:none}.concepts-project-title{font-size:1.35rem}}.media-library-page{max-width:1100px;margin:0 auto;padding-bottom:2rem}.media-library-hero{margin-bottom:1.25rem}.media-library-deck{color:#64748b;max-width:40rem;margin:.35rem 0 0;font-size:.95rem;line-height:1.5}.media-library-card{background:var(--dash-card-bg,#fff);border:1px solid var(--dash-border,#e2e8f0);border-radius:14px;padding:1.35rem 1.5rem 1.65rem;box-shadow:0 1px 2px #0f172a0a,0 8px 24px #0f172a0f}.media-library-page .drive-section--media .drive-heading{color:#475569;margin-bottom:1rem;font-size:1rem;font-weight:700}.media-library-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.media-library-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.media-library-toolbar-meta{color:#64748b;font-size:.8rem;font-weight:500}.media-dropzone{border:2px dashed var(--dash-border,#cbd5e1);text-align:center;cursor:pointer;background:linear-gradient(#7c3aed0a 0%,#f8fafce6 100%);border-radius:12px;margin-bottom:1.25rem;padding:1.5rem 1.25rem;transition:border-color .15s,background .15s,transform .1s}.media-dropzone:hover:not(.media-dropzone--disabled),.media-dropzone:focus-visible:not(.media-dropzone--disabled){border-color:var(--dash-accent,#7c3aed);background:#7c3aed12;outline:none}.media-dropzone--active{border-color:var(--dash-accent,#7c3aed);background:#7c3aed1a;transform:scale(1.005)}.media-dropzone--disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.media-dropzone-title{color:#0f172a;margin:0 0 .35rem;font-size:.95rem;font-weight:700}.media-dropzone-hint{color:#64748b;margin:0;font-size:.82rem;line-height:1.45}.media-folder-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.65rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.media-folder-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem}}.media-folder-grid .drive-folder-item{text-align:center;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.45rem;min-height:7.5rem;padding:.65rem .65rem .85rem}.media-folder-thumb-wrap{aspect-ratio:4/3;background:linear-gradient(#e2e8f0 0%,#f1f5f9 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100%;max-height:132px;display:flex;overflow:hidden}.media-folder-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.media-folder-thumb-fallback{opacity:.85;font-size:2rem;line-height:1}.media-folder-grid .drive-folder-item.drive-folder-tile-folder{background:linear-gradient(160deg,#faf5ff 0%,#fff 68%)}.media-folder-grid .drive-folder-item.drive-folder-tile-file{background:linear-gradient(160deg,#f8fafc 0%,#fff 72%)}.media-folder-grid .drive-folder-name{word-break:break-word;font-size:.875rem;font-weight:600;line-height:1.35}.media-folder-grid .drive-folder-meta{color:#94a3b8;margin-top:auto;font-size:.72rem;font-weight:500}.media-library-page .drive-crumbs{margin-top:-.15rem}.media-library-browser-split{grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:start;gap:1.25rem;margin-top:.5rem;display:grid}@media (width<=900px){.media-library-browser-split{grid-template-columns:1fr}.media-library-preview-aside{position:static}}.media-library-list-col{min-width:0}.media-library-preview-aside{border:1px solid var(--dash-border,#e2e8f0);background:#f8fafcf0;border-radius:12px;flex-direction:column;gap:.65rem;min-height:200px;padding:1rem 1rem 1.1rem;display:flex;position:sticky;top:.75rem;box-shadow:0 1px 2px #0f172a0a}.media-library-preview-filename{color:#475569;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;font-weight:600;overflow:hidden}.media-library-preview-playable{text-align:center;flex-direction:column;align-items:center;gap:.5rem;width:100%;display:flex}.media-folder-grid .drive-folder-item.is-selected{outline:2px solid var(--brand-green,#2d6a4f);outline-offset:2px;box-shadow:0 0 0 1px #2d6a4f26}.pg-color-picker.field-color-block{gap:.35rem}.pg-color-picker{position:relative}.field-color-swatch--btn{width:100%;font:inherit;cursor:pointer;text-align:left;border:none;border-radius:11px;margin:0;padding:0;display:block}.field-color-swatch--btn:focus-visible{outline:2px solid var(--brand-green,#2d6a4f);outline-offset:2px}.field-color-swatch--btn .field-color-swatch-face{pointer-events:none}.pg-color-popover{z-index:120;border-radius:var(--app-popover-radius,14px);box-shadow:var(--app-popover-shadow);background:#2a2d34;min-width:0;margin-top:6px;padding:12px;position:absolute;top:100%;left:0;right:0}.pg-color-sv{aspect-ratio:1;touch-action:none;cursor:crosshair;background-color:var(--pg-pure-hue,red);background-image:linear-gradient(90deg,#fff,#0000),linear-gradient(#0000,#000);border-radius:8px;width:100%;max-height:220px;position:relative;overflow:hidden}.pg-color-sv-knob{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000059}.pg-color-toolbar{justify-content:flex-end;gap:4px;margin-top:8px;margin-bottom:10px;display:flex}.pg-color-tool{color:#c7cdd6;cursor:pointer;background:#3a3f48;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background .12s,color .12s;display:flex}.pg-color-tool:hover:not(:disabled){color:#fff;background:#484e59}.pg-color-tool:disabled{opacity:.35;cursor:not-allowed}.pg-color-tool--muted{opacity:.45;pointer-events:none}.pg-color-hue{touch-action:none;cursor:pointer;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:6px;height:12px;margin-bottom:10px;position:relative}.pg-color-hue-knob{pointer-events:none;border:2px solid #fff;border-radius:50%;width:16px;height:16px;margin-left:0;position:absolute;top:50%;left:0;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #3b82f6f2,0 1px 3px #00000059}.pg-color-alpha-track{touch-action:none;cursor:pointer;background-color:#d1d5db;background-image:linear-gradient(45deg,#bbb 25%,#0000 25%),linear-gradient(-45deg,#bbb 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#bbb 75%),linear-gradient(-45deg,#0000 75%,#bbb 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;border-radius:6px;height:12px;margin-bottom:12px;position:relative;overflow:hidden}.pg-color-alpha-fill{border-radius:inherit;pointer-events:none;position:absolute;inset:0}.pg-color-alpha-knob{pointer-events:none;border:2px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;left:0;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000047}.pg-color-fields{gap:5px;display:flex}.pg-color-chip{flex-direction:column;flex:1 1 0;align-items:center;gap:4px;min-width:0;display:flex}.pg-color-chip-input{box-sizing:border-box;color:#f1f5f9;text-align:center;width:100%;font-size:.68rem;font-family:var(--mono,ui-monospace, monospace);background:#1e2127;border:1px solid #484e59;border-radius:8px;padding:7px 3px}.pg-color-chip-input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 2px #7c3aed40}.pg-color-chip-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.58rem;font-weight:600}.pg-color-chip-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pg-color-chip-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pg-color-chip-input[type=number]{appearance:textfield}.editor-page{background:var(--panel-bg);width:100%;max-width:none;height:100svh;min-height:100svh;margin:0;display:flex}.editor-sidebar{--editor-text-scale:1;border-right:1px solid var(--border-subtle);background:var(--sidebar-bg);flex-direction:column;flex-shrink:0;width:min(420px,38vw);display:flex;position:relative}.editor-sidebar-user{z-index:3;max-width:min(14rem,38vw);position:absolute;top:.55rem;right:.55rem}.editor-side-header{border-bottom:1px solid var(--border-subtle);padding:.85rem .9rem .75rem}.editor-sidebar .editor-kicker{font-size:calc(.62rem * var(--editor-text-scale));letter-spacing:.14em;text-transform:uppercase;color:var(--brand-green-dark);margin:0 0 .15rem;font-weight:700}.editor-sidebar .editor-title{font-size:calc(1.12rem * var(--editor-text-scale));letter-spacing:-.02em;color:var(--text-strong);margin:0 0 .5rem;font-weight:800}.editor-sidebar .editor-file-meta{font-size:calc(.8rem * var(--editor-text-scale));color:var(--text-muted);margin:0 0 .65rem;line-height:1.45}.editor-sidebar .editor-file-meta strong{color:var(--text-strong);word-break:break-all;font-weight:600;display:block}.editor-sidebar .editor-stats{font-size:calc(.74rem * var(--editor-text-scale));margin-top:.2rem;display:block}.editor-actions{flex-wrap:wrap;gap:.32rem;display:flex}.editor-drive-error{font-size:calc(.72rem * var(--editor-text-scale));color:#b42318;margin:.5rem 0 0;line-height:1.4}.editor-sidebar .btn{font:inherit;font-size:calc(.72rem * var(--editor-text-scale));cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.28rem .48rem;font-weight:600;transition:background .12s,border-color .12s}.editor-sidebar .btn-primary{background:var(--brand-green-dark);color:#fff}.editor-sidebar .btn-primary:hover{background:var(--brand-green-hover)}.editor-sidebar .btn-secondary{border-color:var(--border-subtle);color:var(--text-strong);background:#fff}.editor-sidebar .btn-secondary:hover{background:var(--page-bg)}.editor-sidebar .btn-ghost{color:var(--text-muted);background:0 0}.editor-sidebar .btn-ghost:hover{color:var(--text-strong);background:#0000000a}.editor-font-scale{border:1px solid var(--border-subtle);background:#fff;border-radius:6px;align-items:stretch;display:inline-flex;overflow:hidden}.editor-font-scale .btn-font-scale{font:inherit;min-width:1.65rem;color:var(--text-strong);cursor:pointer;background:#fff;border:none;padding:.28rem .38rem;font-size:12px;font-weight:700;line-height:1;transition:background .12s}.editor-font-scale .btn-font-scale:hover:not(:disabled){background:var(--page-bg)}.editor-font-scale .btn-font-scale:disabled{opacity:.4;cursor:not-allowed}.editor-font-scale .btn-font-scale+.btn-font-scale{border-left:1px solid var(--border-subtle)}.editor-scroll{flex:1;padding:.4rem .55rem .75rem;overflow:auto}.variables-panel{flex-direction:column;gap:.12rem;display:flex}.var-group{border:1px solid var(--border-subtle);background:#fff;border-radius:8px;margin-bottom:.22rem;overflow:hidden}.variables-panel .var-group-toggle{width:100%;font:inherit;font-weight:700;font-size:calc(.7rem * var(--editor-text-scale));letter-spacing:.06em;text-transform:uppercase;text-align:left;background:var(--page-bg);color:var(--brand-green-dark);cursor:pointer;border:none;align-items:center;gap:.28rem;padding:.32rem .48rem;display:flex}.variables-panel .var-group-chevron{font-size:calc(.58rem * var(--editor-text-scale));opacity:.8}.var-group-body{flex-direction:column;gap:0;padding:.2rem .48rem .4rem;display:flex}.field-block,.field-row{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.editor-panel-fields .var-field-wrap{border-bottom:1px solid #e5e7eb;padding:.7rem 0}.editor-panel-fields .var-field-wrap:first-child{padding-top:.35rem}.editor-panel-fields .var-field-wrap:last-child{border-bottom:none;padding-bottom:.25rem}.editor-panel-fields .var-field-wrap--restore{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.35rem .45rem;display:grid}.editor-panel-fields .var-field-wrap-main{min-width:0}.editor-var-restore-btn{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;margin-top:.18rem;padding:0;transition:background .12s,border-color .12s,color .12s;display:flex}.editor-var-restore-btn:hover:not(:disabled){color:#0c4a6e;background:#e0f2fe;border-color:#7dd3fc}.editor-var-restore-btn:disabled{opacity:.45;cursor:not-allowed}.editor-restore-var-dialog .editor-restore-var-field-name{margin-bottom:.65rem}.editor-restore-var-pair{grid-template-columns:1fr 1fr;gap:.65rem;min-height:0;margin-bottom:.85rem;display:grid}@media (width<=640px){.editor-restore-var-pair{grid-template-columns:1fr}}.editor-restore-var-col{flex-direction:column;gap:.28rem;min-width:0;display:flex}.editor-restore-var-label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.68rem;font-weight:800}.editor-restore-var-value{white-space:pre-wrap;word-break:break-word;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:11rem;margin:0;padding:.48rem .55rem;font-size:.78rem;line-height:1.35;overflow:auto}.editor-restore-var-tech{color:#64748b;font-size:.82em;font-weight:600}.editor-panel-fields .field-label-stack{flex-direction:column;gap:.5rem;margin:0;display:flex}.field-media-row{flex-direction:column;align-items:flex-start;gap:.28rem;margin-top:.2rem;display:flex}.field-media-input-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.editor-panel-fields .btn-compact{font-size:calc(.65rem * var(--editor-text-scale));padding:.22rem .42rem}.field-media-note{font-size:calc(.64rem * var(--editor-text-scale));margin:0;line-height:1.3}.field-media-note--ok{color:var(--brand-green-dark)}.field-media-note--err{color:#b42318}.field-media-card{width:100%}.field-media-card--readonly .field-media-card-main{opacity:.92}.field-media-card .field-media-input-hidden{opacity:0;clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;position:absolute}.field-media-card-title{font-size:calc(.78rem * var(--editor-text-scale));color:#1e3a5f;margin:0 0 .5rem;font-weight:700;line-height:1.3}.field-media-card-main{align-items:flex-start;gap:.65rem;display:flex}.field-media-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:4.35rem;height:4.35rem;display:flex;overflow:hidden}.field-media-preview-img{object-fit:cover;width:100%;height:100%;display:block}.field-media-preview-placeholder{color:#94a3b8;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.field-media-ph-icon{width:2rem;height:2rem}.field-media-side{flex:1;min-width:0}.field-media-side-kicker{font-size:calc(.7rem * var(--editor-text-scale));color:#1e3a5f;margin:0 0 .15rem;font-weight:700}.field-media-side-blurb{font-size:calc(.65rem * var(--editor-text-scale));color:#64748b;margin:0 0 .45rem;line-height:1.35}.field-media-filename{font-size:calc(.72rem * var(--editor-text-scale));color:#0f172a;word-break:break-word;margin:0 0 .15rem;font-weight:700}.field-media-meta{font-size:calc(.65rem * var(--editor-text-scale));color:#64748b;margin:0 0 .45rem}.field-media-actions{flex-wrap:wrap;gap:.4rem;display:flex;position:relative}.field-media-pill{font:inherit;font-size:calc(.68rem * var(--editor-text-scale));color:#0f172a;cursor:pointer;background:#fff;border:1px solid #0f172a;border-radius:999px;padding:.38rem .9rem;font-weight:600;transition:background .12s}.field-media-pill:hover{background:#f8fafc}.field-media-card .field-media-note{margin-top:.45rem}.editor-panel-fields .field-label-text{font-size:calc(.78rem * var(--editor-text-scale));color:#1f2937;font-weight:500;line-height:1.35}.editor-panel-fields .field-label-text--control{text-transform:uppercase;letter-spacing:.06em;font-weight:700;font-size:calc(.68rem * var(--editor-text-scale));color:#1e3a5f;min-width:0}.field-bool-row{justify-content:space-between;align-items:center;gap:.65rem;width:100%;display:flex}.field-bool-switch{cursor:pointer;background:#94a3b8;border:none;border-radius:999px;flex-shrink:0;width:2.75rem;height:1.5rem;padding:0;transition:background .15s;position:relative}.field-bool-switch.is-on{background:#14b8a6}.field-bool-switch:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}.field-bool-thumb{background:#fff;border-radius:50%;width:1.125rem;height:1.125rem;transition:left .15s;position:absolute;top:50%;left:3px;transform:translateY(-50%);box-shadow:0 1px 2px #0f172a38}.field-bool-switch.is-on .field-bool-thumb{left:calc(100% - 1.125rem - 3px)}.field-color-block{gap:.35rem}.field-color-head{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.field-color-grip{opacity:.55;background:radial-gradient(circle at 20% 16%,#64748b 1.5px,#0000 1.6px),radial-gradient(circle at 80% 16%,#64748b 1.5px,#0000 1.6px),radial-gradient(circle at 20%,#64748b 1.5px,#0000 1.6px),radial-gradient(circle at 80%,#64748b 1.5px,#0000 1.6px),radial-gradient(circle at 20% 84%,#64748b 1.5px,#0000 1.6px),radial-gradient(circle at 80% 84%,#64748b 1.5px,#0000 1.6px);flex-shrink:0;width:11px;height:15px}.field-color-swatch{cursor:pointer;border-radius:11px;width:100%;height:2.375rem;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0f172a1a,0 1px 2px #0f172a0f}.field-color-swatch:focus-within{outline:2px solid var(--brand-green);outline-offset:2px}.field-color-input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.field-color-swatch-face{pointer-events:none;border-radius:inherit;position:absolute;inset:0}.field-color-alpha{margin-top:.08rem}.editor-panel-fields .field-text,.editor-panel-fields .field-num,.editor-panel-fields .field-area{font:inherit;font-size:calc(.84rem * var(--editor-text-scale));color:#111827;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:9px;width:100%;padding:.75rem 1rem;line-height:1.4;transition:border-color .12s,box-shadow .12s}.editor-panel-fields .field-text:hover,.editor-panel-fields .field-num:hover,.editor-panel-fields .field-area:hover{border-color:#d1d5db}.editor-panel-fields .field-text:focus,.editor-panel-fields .field-num:focus,.editor-panel-fields .field-area:focus{border-color:var(--brand-green,#2d6a4f);outline:none;box-shadow:0 0 0 3px #2d6a4f1f}.editor-panel-fields .field-area{resize:vertical;min-height:6rem;font-family:var(--mono);font-size:calc(.8rem * var(--editor-text-scale));line-height:1.35}.editor-panel-fields .alpha-label{width:100%;font-size:calc(.72rem * var(--editor-text-scale));color:var(--text-muted);align-items:center;gap:.5rem;font-weight:600;display:flex}.editor-panel-fields .alpha-label .field-num{flex:auto;width:auto;min-width:5rem}.vec-row{flex-wrap:nowrap;gap:.5rem;width:100%;display:flex}.editor-panel-fields .vec-axis{min-width:0;font-size:calc(.65rem * var(--editor-text-scale));color:var(--text-muted);flex-direction:column;flex:1 1 0;gap:.35rem;font-weight:700;display:flex}.editor-panel-fields .vec-axis .field-num{width:100%;min-width:0}.editor-preview-pane{background:#1a1d24;flex-direction:column;flex:1;min-width:0;display:flex}.preview-header{color:#e8eaed;letter-spacing:.05em;text-transform:uppercase;background:#252830;justify-content:space-between;align-items:center;padding:.65rem 1rem;font-size:.7rem;font-weight:600;display:flex}.preview-label{align-items:baseline;gap:.35rem;display:flex}.preview-filename{text-transform:none;letter-spacing:0;opacity:.9;font-weight:500}.preview-badge{opacity:.85;font-size:.64rem}.preview-frame-wrap{flex:1;min-height:0;padding:0}.preview-iframe{background:#fff;border:none;width:100%;height:100%;min-height:0;display:block}.preview-placeholder{color:#9aa0a6;justify-content:center;align-items:center;height:100%;min-height:320px;font-size:.84rem;display:flex}.editor-preview-mode-toggle{border:1px solid var(--border-subtle);background:#fff;border-radius:8px;flex-shrink:0;align-items:stretch;display:inline-flex;overflow:hidden}.editor-side-header .editor-preview-mode-toggle{width:100%;margin-bottom:.65rem}.editor-preview-mode-btn{font:inherit;font-size:calc(.68rem * var(--editor-text-scale,1));color:var(--text-muted);cursor:pointer;background:#f8faf9;border:none;flex:1;padding:.35rem .5rem;font-weight:700;transition:background .12s,color .12s}.editor-preview-mode-btn+.editor-preview-mode-btn{border-left:1px solid var(--border-subtle)}.editor-preview-mode-btn:hover:not(.is-active){color:var(--text-strong);background:#eef6f1}.editor-preview-mode-btn.is-active{background:var(--brand-green-dark);color:#fff}.editor-device-toolbar .editor-preview-mode-toggle{background:#fff;border-color:#cbd5e1;box-shadow:0 1px 2px #0f172a0f}.editor-device-toolbar .editor-preview-mode-btn{color:#475569;background:#f8fafc;padding:.42rem .85rem;font-size:.8rem;font-weight:700}.editor-device-toolbar .editor-preview-mode-btn+.editor-preview-mode-btn{border-left-color:#e2e8f0}.editor-device-toolbar .editor-preview-mode-btn:hover:not(.is-active){color:#0f172a;background:#f1f5f9}.editor-device-toolbar .editor-preview-mode-btn.is-active{color:#fff;background:linear-gradient(#5b21b6 0%,#4c1d95 100%)}.editor-page--studio{background:#e8ecf0;flex-direction:column;height:100svh;min-height:100svh}.editor-studio-top{color:#f8fafc;background:linear-gradient(100deg,#312e81 0%,#4c1d95 52%,#5b21b6 100%);border-bottom:1px solid #0000001f;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;min-height:3.25rem;padding:.5rem 1rem;display:flex}.editor-studio-top-left{flex-wrap:wrap;align-items:center;gap:.35rem .65rem;min-width:0;display:flex}.editor-studio-brand{color:inherit;border-radius:8px;align-items:center;gap:.65rem;margin:-.2rem -.35rem;padding:.2rem .35rem;text-decoration:none;transition:background .12s;display:inline-flex}.editor-studio-brand:hover{color:inherit;background:#ffffff1f}.editor-studio-brand:focus-visible{outline-offset:2px;outline:2px solid #fff}.editor-studio-brand-mark{border-radius:8px;flex-shrink:0;display:block}.editor-studio-brand-name{letter-spacing:-.02em;font-size:1.05rem;font-weight:800}.editor-studio-top-user{flex-shrink:0}.editor-studio-top-user .auth-user-email{color:#e2e8f0}.editor-studio-top-user .auth-user-signout{color:#f8fafc;background:#ffffff1f;border-color:#ffffff47}.editor-studio-top-user .auth-user-signout:hover{background:#fff3}.editor-studio-sub{color:#f8fafc;z-index:4;background:linear-gradient(100deg,#3730a3 0%,#4c1d96 45%,#6d28d9 100%);border-bottom:1px solid #00000026;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.65rem 1rem;min-height:3.25rem;padding:.5rem 1rem;display:flex;position:relative}.editor-studio-sub-col-left{flex-direction:column;flex:110px;gap:.35rem;min-width:0;max-width:min(25.5rem,43.5vw);display:flex}.editor-studio-sub-versions{width:100%;min-width:0}.editor-studio-sub-file-row{flex-wrap:wrap;align-items:baseline;gap:.4rem .75rem;display:flex}.editor-studio-sub-breadcrumb-wrap{flex:220px;justify-content:center;align-items:center;min-width:0;display:flex}.editor-sub-breadcrumb-row{align-items:center;gap:.5rem;max-width:100%;display:flex}.editor-sub-back-circle{color:#475569;cursor:pointer;background:#fffffff5;border:1px solid #fff6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;line-height:1;transition:background .12s,border-color .12s,color .12s;display:flex}.editor-sub-back-circle:hover{color:#0f172a;background:#fff;border-color:#ffffffa6}.editor-sub-breadcrumbs{color:#f8fafce0;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;min-width:0;font-size:.84rem;font-weight:600;display:flex}.editor-bc-link{color:#e9d5ff;text-overflow:ellipsis;white-space:nowrap;max-width:min(26vw,12rem);text-decoration:none;overflow:hidden}.editor-bc-link:hover{color:#fff;text-underline-offset:2px;text-decoration:underline}.editor-bc-sep{color:#f8fafc73;font-weight:500}.editor-bc-current{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:min(40vw,18rem);font-weight:800;overflow:hidden}.editor-studio-sub-file{text-overflow:ellipsis;white-space:nowrap;opacity:.95;max-width:min(28rem,40vw);font-size:.8rem;font-weight:600;overflow:hidden}.editor-studio-sub-meta{opacity:.85;white-space:nowrap;font-size:.72rem}.editor-studio-sub-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.editor-version-field{flex-direction:column;gap:.2rem;min-width:min(14rem,100%);display:inline-flex}.editor-version-label{letter-spacing:.1em;text-transform:uppercase;color:#f8fafcd1;font-size:.6rem;font-weight:800}.editor-version-active-value{font:inherit;color:#fff;word-break:break-word;min-width:12rem;max-width:22rem;margin:0;font-size:.95rem;font-weight:700;line-height:1.35}.editor-version-input{font:inherit;color:#0f1720;box-sizing:border-box;background:#fffffff5;border:1px solid #ffffff59;border-radius:8px;width:100%;min-width:12rem;max-width:22rem;padding:.4rem .65rem;font-size:.84rem}.editor-version-input::placeholder{color:#64748b}.editor-version-input:focus{outline-offset:1px;outline:2px solid #ffffff73}.editor-sub-outline{font:inherit;color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff73;border-radius:8px;padding:.38rem .72rem;font-size:.78rem;font-weight:600}.editor-sub-outline:hover{background:#ffffff1a}.editor-sub-primary{font:inherit;color:#4c1d95;cursor:pointer;background:#f8fafc;border:none;border-radius:8px;padding:.38rem .85rem;font-size:.78rem;font-weight:700}.editor-sub-primary:hover:not(:disabled){background:#fff}.editor-sub-primary:disabled{opacity:.65;cursor:not-allowed}.editor-studio-banner-error{color:#b42318;background:#fef2f2;border-bottom:1px solid #fecaca;margin:0;padding:.4rem 1rem;font-size:.8rem}.editor-studio-body{flex:1;min-width:0;min-height:0;display:flex}.editor-group-rail{z-index:1;background:#f1f5f9;border-right:1px solid #cbd5e1;flex-direction:column;flex-shrink:0;width:min(288px,31.2vw);display:flex;position:relative}.editor-rail-session-meta{background:#f8fafc;border-bottom:1px solid #cbd5e1;flex-direction:column;flex-shrink:0;gap:.45rem;padding:.55rem .55rem .5rem;display:flex}.editor-version-field--rail .editor-version-label{color:#64748b}.editor-version-field--rail .editor-version-active-value{color:#0f172a}.editor-rail-file-row .editor-studio-sub-file{color:#0f172a;opacity:1}.editor-rail-file-row .editor-studio-sub-meta{color:#64748b;opacity:1}.editor-version-picker-shell{background:#f8fafc;border-bottom:1px solid #cbd5e1;flex-shrink:0;padding:.55rem .55rem .5rem}.editor-version-picker-shell.editor-version-picker-shell--in-sub{box-sizing:border-box;background:0 0;border:none;width:100%;margin:0;padding:0}.editor-version-picker-shell.editor-version-picker-shell--in-sub .editor-version-picker-title{color:#f8fafce0;margin-bottom:.35rem}.editor-version-picker-shell.editor-version-picker-shell--in-sub .editor-version-picker-trigger{background:#fffffff7;border-color:#ffffff6b;box-shadow:0 1px 3px #0f172a1f}.editor-version-picker-shell.editor-version-picker-shell--in-sub .editor-version-picker-trigger:hover{background:#fff;border-color:#ffffffa6}.editor-version-picker-shell.editor-version-picker-shell--in-sub .editor-version-picker-chevron{color:#64748b}.editor-version-picker-shell.editor-version-picker-shell--in-sub .editor-version-kebab-btn{color:#475569;background:#fffffff7;border-color:#ffffff6b;box-shadow:0 1px 3px #0f172a1f}.editor-version-picker-shell.editor-version-picker-shell--in-sub .editor-version-kebab-btn:hover:not(:disabled){background:#fff;border-color:#ffffffa6}.editor-version-picker-title{letter-spacing:.12em;text-transform:uppercase;color:#64748b;margin:0 0 .45rem;font-size:.68rem;font-weight:800}.editor-version-picker{width:100%;min-width:0;position:relative}.editor-version-picker-row-wrap{align-items:stretch;gap:.35rem;width:100%;min-width:0;display:flex}.editor-version-picker-row-wrap .editor-version-picker-trigger{flex:1;width:auto;min-width:0}.editor-version-kebab-wrap{flex-shrink:0;position:relative}.editor-version-kebab-btn{min-width:2.15rem;height:100%;min-height:2.05rem;font:inherit;color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;padding:0 .35rem;display:flex;box-shadow:0 1px 2px #0f172a0a}.editor-version-kebab-btn:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.editor-version-kebab-btn:disabled{opacity:.5;cursor:not-allowed}.editor-version-kebab-dots{letter-spacing:.02em;font-size:1.15rem;font-weight:700;line-height:1}.editor-version-actions-menu{z-index:60;min-width:11.5rem;box-shadow:var(--app-popover-shadow,0 16px 40px #0f172a33, 0 0 0 1px #0f172a14);background:#fff;border:1px solid #cbd5e1;border-radius:10px;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + 4px);right:0}.editor-version-actions-item{width:100%;font:inherit;text-align:left;color:#334155;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.45rem .55rem;font-size:.8rem;font-weight:500;display:block}.editor-version-actions-item:hover:not(:disabled){background:#f1f5f9}.editor-version-actions-item:disabled{opacity:.45;cursor:not-allowed}.editor-version-actions-item--danger{color:#b91c1c}.editor-version-actions-item--danger:hover:not(:disabled){background:#fef2f2}.editor-version-modal{text-align:left;width:min(26rem,100%);max-width:26rem}.editor-version-modal-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.editor-version-modal-head .app-dialog-title{flex:1;margin-bottom:0}.editor-version-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;margin:-.2rem -.2rem 0 0;padding:.15rem .35rem;font-size:1.5rem;line-height:1}.editor-version-modal-close:hover{color:#475569;background:#f1f5f9}.editor-version-modal-field{flex-direction:column;gap:.4rem;margin:1rem 0 0;display:flex}.editor-version-modal-label{color:#64748b;font-size:.72rem;font-weight:600}.editor-version-modal-input{font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.5rem .6rem;font-size:.88rem}.editor-version-modal-input:focus{border-color:#94a3b8;outline:none;box-shadow:0 0 0 2px #94a3b840}.editor-version-modal-input--error{color:#1e293b;background:#fff8f8;border-color:#c62828}.editor-version-modal-input--error:focus{border-color:#b71c1c;box-shadow:0 0 0 2px #c6282838}.editor-version-modal-error{color:#b71c1c;margin:.35rem 0 0;font-size:.8rem;font-weight:600}.editor-version-modal-footer{border-top:1px solid #e2e8f0;margin-top:1.25rem;padding-top:1rem}.editor-version-delete-target{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;margin:.75rem 0 1rem;padding:.65rem .75rem}.editor-version-delete-target-label{letter-spacing:.12em;text-transform:uppercase;color:#64748b;margin-bottom:.35rem;font-size:.68rem;font-weight:700;display:block}.editor-version-delete-target-name{color:#0f172a;word-break:break-word;font-size:.95rem;font-weight:600;line-height:1.35;display:block}.editor-version-picker-trigger{width:100%;font:inherit;text-align:left;color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:.35rem;padding:.42rem .5rem;font-size:.78rem;font-weight:600;display:flex;box-shadow:0 1px 2px #0f172a0a}.editor-version-picker-trigger:hover{border-color:#94a3b8}.editor-version-picker-trigger-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.editor-version-picker-chevron{color:#64748b;flex-shrink:0;font-size:.65rem}.editor-version-picker-popover{z-index:50;max-height:min(52vh,22rem);box-shadow:var(--app-popover-shadow,0 16px 40px #0f172a33, 0 0 0 1px #0f172a14);background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}.editor-version-picker-search-wrap{border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:.45rem .5rem}.editor-version-picker-search{width:100%;font:inherit;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.38rem .45rem;font-size:.8rem}.editor-version-picker-search:focus{background:#fff;border-color:#94a3b8;outline:none}.editor-version-picker-hint,.editor-version-picker-error{color:#64748b;margin:0;padding:.65rem .75rem;font-size:.78rem}.editor-version-picker-error{color:#b42318}.editor-version-picker-list{flex:1;min-height:0;margin:0;padding:.35rem;list-style:none;overflow:auto}.editor-version-picker-row{width:100%;font:inherit;text-align:left;color:#334155;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.42rem .5rem;font-size:.78rem;font-weight:600;display:block}.editor-version-picker-row:hover{background:#f1f5f9}.editor-version-picker-row.is-current{color:#0c4a6e;background:#e0f2fe}.editor-group-rail-head{letter-spacing:.12em;text-transform:uppercase;color:#64748b;padding:.65rem .75rem .45rem;font-size:.68rem;font-weight:800}.editor-group-rail-nav{flex-direction:column;flex:1;gap:.2rem;padding:0 .45rem .65rem;display:flex;overflow:auto}.editor-group-rail-item{font:inherit;text-align:left;color:#334155;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:.48rem .58rem;font-size:.82rem;font-weight:600;transition:background .12s,border-color .12s}.editor-group-rail-item:hover{background:#e2e8f0}.editor-group-rail-item.is-active{color:#4c1d95;background:#fff;border-color:#c4b5fd;box-shadow:0 1px 3px #4c1d9514}.editor-device-column{background:#f8fafc;flex-direction:column;flex:1;min-width:0;display:flex}.editor-device-column--original{background:#1a1d24}.editor-preview-kind-label{color:#475569;font-size:.78rem;font-weight:600}.editor-original-preview{background:#1a1d24;flex-direction:column;flex:1;min-height:0;display:flex}.editor-original-preview-bar{color:#e8eaed;background:#252830;flex-wrap:wrap;flex-shrink:0;align-items:baseline;gap:.35rem .5rem;padding:.5rem .85rem;font-size:.72rem;font-weight:600;display:flex}.editor-original-preview-label{letter-spacing:.06em;text-transform:uppercase;opacity:.9}.editor-original-preview-file{text-transform:none;letter-spacing:0;opacity:.85;font-weight:500}.editor-original-preview-frame{flex:1;min-height:0;position:relative}.editor-original-preview-frame .preview-iframe{background:#fff;border:none;width:100%;height:100%;min-height:0;display:block}.editor-font-scale--toolbar{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;align-items:stretch;display:inline-flex;overflow:hidden}.editor-font-scale--toolbar .editor-font-scale-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;align-items:center;padding:0 .4rem 0 .5rem;font-size:.65rem;font-weight:700;display:inline-flex}.editor-font-scale--toolbar .btn-font-scale{font:inherit;color:#334155;cursor:pointer;background:#fff;border:none;min-width:1.65rem;padding:.28rem .38rem;font-size:12px;font-weight:700;line-height:1;transition:background .12s}.editor-font-scale--toolbar .btn-font-scale:hover:not(:disabled){background:#f1f5f9}.editor-font-scale--toolbar .btn-font-scale:disabled{opacity:.4;cursor:not-allowed}.editor-font-scale--toolbar .btn-font-scale+.btn-font-scale{border-left:1px solid #cbd5e1}.editor-device-toolbar{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem .75rem;padding:.55rem .9rem;display:grid}.editor-default-version-notice{color:#0f172a;background:linear-gradient(#eff6ff 0%,#e0e7ff 100%);border-bottom:1px solid #c7d2fe;flex-shrink:0;margin:0;padding:.55rem .9rem;font-size:.8rem;line-height:1.45}.editor-default-version-notice strong{color:#3730a3}.editor-toolbar-zone--start{justify-self:start;min-width:0}.editor-toolbar-zone--center{flex-wrap:wrap;justify-content:center;justify-self:center;align-items:center;gap:.5rem .75rem;display:flex}.editor-toolbar-zone--end{flex-wrap:wrap;justify-content:flex-end;justify-self:end;align-items:center;gap:.5rem .75rem;min-width:0;display:flex}.editor-device-label{align-items:center;gap:.35rem;display:inline-flex}.editor-device-label-text{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.editor-device-select{font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:10rem;padding:.28rem .5rem;font-size:.82rem}.editor-orientation-toggle{background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex-shrink:0;align-items:stretch;display:inline-flex;overflow:hidden;box-shadow:0 1px 2px #0f172a0f}.editor-ori-btn{font:inherit;color:#475569;cursor:pointer;background:#f8fafc;border:none;padding:.28rem .55rem;font-size:.75rem;font-weight:600;transition:background .12s,color .12s}.editor-ori-btn+.editor-ori-btn{border-left:1px solid #e2e8f0}.editor-ori-btn:hover:not(.is-active){color:#0f172a;background:#f1f5f9}.editor-ori-btn.is-active{color:#fff;background:linear-gradient(#5b21b6 0%,#4c1d95 100%)}.editor-toolbar-zone--center .editor-ori-btn{padding:.42rem .72rem;font-size:.8rem;font-weight:700}.editor-toolbar-reload{font:inherit;color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.3rem .65rem;font-size:.75rem;font-weight:600}.editor-toolbar-reload:hover{background:#f1f5f9}.editor-device-toolbar-spacer{flex:1;min-width:.25rem}.editor-toolbar-badge{color:#94a3b8;font-size:.72rem;font-weight:600}.device-stage{background:radial-gradient(#f1f5f9 0%,#e2e8f0 100%);flex:1;justify-content:center;align-items:center;min-height:0;padding:1rem;display:flex}.device-scaler,.device-inner{flex-shrink:0}.device-bezel{background:linear-gradient(145deg,#1e293b 0%,#0f172a 100%);border-radius:28px;width:100%;height:100%;padding:10px;box-shadow:0 20px 50px #0f172a66,inset 0 1px #ffffff14}.device-screen{background:#000;border-radius:20px;width:100%;height:100%;overflow:hidden}.device-iframe{background:#fff;border:none;width:100%;height:100%;display:block}.device-placeholder{min-height:120px}.editor-props-panel{--editor-text-scale:1;border-left:1px solid var(--border-subtle);background:#f7fdf9;flex-direction:column;flex-shrink:0;width:min(456px,38.4vw);min-width:0;display:flex}.editor-props-head{border-bottom:1px solid var(--border-subtle);background:#fff;flex-shrink:0;padding:.7rem .85rem}.editor-props-title{letter-spacing:.08em;text-transform:uppercase;color:var(--brand-green-dark);margin:0;font-size:.78rem;font-weight:800}.editor-props-readonly-hint{color:#4338ca;margin:.35rem 0 0;font-size:.72rem;font-weight:600;line-height:1.35}.editor-props-panel--read-only .field-text,.editor-props-panel--read-only .field-area,.editor-props-panel--read-only .field-num{color:#475569;background:#f8fafc}.editor-props-panel--read-only .field-bool-switch:disabled{opacity:.55}.editor-props-scroll{flex-direction:column;flex:1;gap:0;padding:.45rem .65rem 1rem;display:flex;overflow:auto}.editor-props-panel .btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.28rem .48rem;font-size:.72rem;font-weight:600}.editor-props-panel .btn-secondary{border-color:var(--border-subtle);color:var(--text-strong);background:#fff}.editor-props-panel .btn-secondary:hover{background:var(--page-bg)}.editor-leave-html-note{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin:0 0 .75rem;padding:.55rem .65rem;font-size:.78rem;line-height:1.4}.editor-leave-diff-wrap{border:1px solid var(--border-subtle,#e2e8f0);background:#f8fafc;border-radius:10px;flex:1;min-height:0;max-height:min(46vh,440px);margin:0 0 1rem;overflow:auto}.editor-leave-diff-table{border-collapse:collapse;width:100%;font-size:.78rem}.editor-leave-diff-table th,.editor-leave-diff-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:.45rem .6rem}.editor-leave-diff-table th{z-index:1;text-transform:uppercase;letter-spacing:.06em;color:#475569;background:#f1f5f9;font-size:.68rem;font-weight:800;position:sticky;top:0}.editor-leave-diff-table tbody tr:last-child td{border-bottom:none}.editor-leave-diff-name{color:var(--text-strong,#0f172a);white-space:nowrap;text-overflow:ellipsis;max-width:8.5rem;font-weight:700;overflow:hidden}.editor-leave-diff-old{color:#94a3b8;word-break:break-word}.editor-leave-diff-new{color:#0f766e;word-break:break-word;font-weight:600}.editor-leave-diff-row--media td{border-bottom:1px solid #e2e8f0}.editor-leave-diff-media-cell{vertical-align:middle!important;padding:.5rem .6rem!important}.editor-leave-diff-media-pill{letter-spacing:.06em;text-transform:uppercase;color:#6b21a8;background:#f3e8ff;border:1px solid #e9d5ff;border-radius:6px;margin-right:.5rem;padding:.18rem .45rem;font-size:.62rem;font-weight:800;display:inline-block}.editor-leave-diff-media-name{color:var(--text-strong,#0f172a);font-weight:700}.editor-leave-diff-empty{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin:0 0 1rem;padding:.65rem .75rem;font-size:.8rem;line-height:1.45}.editor-save-overlay{z-index:10050;--app-dialog-overlay-bg:#0f172a85;--app-dialog-blur:blur(12px)}.editor-save-dialog{pointer-events:auto;text-align:center}.editor-save-dialog .app-dialog-body{margin-bottom:1.25rem}.editor-save-spinner{border:3px solid #e2e8f0;border-top-color:var(--brand-green,#2d6a4f);border-radius:50%;width:2.25rem;height:2.25rem;margin:0 auto;animation:.75s linear infinite editor-save-spin}@keyframes editor-save-spin{to{transform:rotate(360deg)}}
