*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html,body,#root{margin:0;overflow:hidden;overscroll-behavior:none;height:100%;height:100dvh;height:-webkit-fill-available}html,body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;touch-action:manipulation}body{background:#0d0d10;color:#ededf0;font-family:system-ui,-apple-system,sans-serif;font-size:13px;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#root{overflow:hidden}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}input,textarea{-webkit-user-select:text;user-select:text}img{-webkit-touch-callout:none;-webkit-user-drag:none;user-drag:none}input,textarea,[contenteditable=true]{user-select:text;-webkit-user-select:text}.precomp-breadcrumb{margin-left:12px;padding:3px 8px;background:#facc151f;border:1px solid #facc15;border-radius:6px;font-size:11px;color:#facc15;display:inline-flex;align-items:center;gap:8px}.precomp-exit-btn{background:#facc15;color:#1a1a1a;border:none;border-radius:4px;padding:2px 8px;font-size:10.5px;font-weight:600;cursor:pointer}.precomp-exit-btn:hover{background:#fde047}.precomp-crumb-link{background:none;border:none;color:#facc15;font-size:11px;cursor:pointer;text-decoration:underline;padding:0}.precomp-crumb-link:hover{color:#fde047}:root{--accent: #8B5CF6;--accent-soft: #A78BFA;--accent-dim: #2E1F4D;--panel: #17171B;--panel-alt: #1E1E24;--border: #2A2A31;--text-dim: #8E8E96;--text-faint: #5C5C64}.topbar{height:48px;flex:none;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 16px;gap:16px}.brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.brand-logo{width:24px;height:24px;border-radius:7px;background:linear-gradient(135deg,#8b5cf6,#ec4899);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex:none}.brand-logo-img{width:24px;height:24px;object-fit:contain;flex:none}.project-name{color:var(--text-dim);font-size:12.5px;display:flex;align-items:center;gap:6px}.project-name-btn{background:none;border:none;color:var(--text-dim);font-size:12.5px;cursor:pointer;padding:2px 4px;border-radius:4px}.project-name-btn:hover{background:var(--panel-alt, #1E1E24);color:var(--text, #EDEDF0)}.project-status{color:#34d399;font-size:11px}.project-status--saving{color:#fbbf24}.project-status--unsaved{color:#9a9aa2}.project-status--error{color:#f87171}.spacer{flex:1}.export-btn{background:var(--accent);color:#fff;border:none;border-radius:7px;padding:7px 16px;font-weight:600;font-size:12.5px;cursor:pointer}.share-btn{background:var(--panel-alt);color:#ededf0;border:1px solid var(--border);border-radius:7px;padding:7px 14px;font-weight:500;font-size:12.5px;cursor:pointer;display:flex;align-items:center;gap:6px}.icon-btn{width:28px;height:28px;border-radius:6px;background:none;border:none;color:var(--text-dim);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center}.icon-btn:hover{background:var(--panel-alt);color:#ededf0}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn:disabled:hover{background:none}.icon-btn.active{background:var(--accent-dim, #2E1F4D);color:var(--accent-soft, #A78BFA)}.topbar-icons{display:flex;align-items:center;gap:2px}.tools{display:flex;gap:4px}.tool{width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);cursor:pointer;font-size:14px}.tool.active{background:var(--accent-dim);color:var(--accent-soft)}.tool:hover{background:var(--panel-alt)}.back-btn{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:4px 6px;border-radius:6px}.back-btn:hover{background:var(--panel-alt);color:#ededf0}.app-mobile{display:flex;flex-direction:column;width:100%;position:fixed;top:0;right:0;bottom:0;left:0}.bottom-nav{flex:none;height:58px;background:var(--panel);border-top:1px solid var(--border);display:flex;padding-bottom:min(env(safe-area-inset-bottom,0px),34px)}.nav-btn{flex:1;background:none;border:none;color:var(--text-dim);font-size:10.5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer}.nav-btn span{font-size:18px}.nav-btn.active{color:var(--accent-soft)}.app-mobile .timeline{flex:none;height:210px}.mobile-toolbar-wrap .toolbar-vert{flex-direction:row;width:100%;height:auto;flex-wrap:wrap;padding:8px;gap:6px;background:none;border:none}.mobile-toolbar-wrap .toolbar-btn{width:44px;height:44px}.app-mobile--v2{display:flex;flex-direction:column}.mobile-topbar-v2{flex:none;height:52px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 8px;gap:8px;padding-top:max(env(safe-area-inset-top,0px),44px);height:calc(52px + max(env(safe-area-inset-top,0px),44px))}.mtb-icon-btn{width:34px;height:34px;flex:none;background:none;border:none;color:var(--text-dim);display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer}.mtb-icon-btn:hover{background:var(--panel-alt);color:#ededf0}.mtb-icon-btn:disabled{opacity:.35;pointer-events:none}.mtb-brand{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;white-space:nowrap}@media (max-width: 400px){.mtb-brand{font-size:0;gap:0}}.mtb-pill{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:3px;background:var(--panel-alt);border:1px solid var(--border);color:var(--text-dim);font-size:11.5px;border-radius:999px;padding:6px 10px;cursor:pointer;white-space:nowrap}.mobile-body{flex:1;display:flex;min-height:0}.mobile-main{flex:1;display:flex;flex-direction:column;min-width:0}.mobile-context-bar{flex:none;display:flex;overflow-x:auto;background:var(--panel);border-top:1px solid var(--border);padding:6px 4px}.mcb-item{flex:none;min-width:62px;background:none;border:none;color:var(--text-dim);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;font-size:10px}.mcb-item:active{background:var(--panel-alt);border-radius:8px}.mcb-item--danger{color:#f87171}.mobile-bottom-nav{flex:none;height:60px;background:var(--panel);border-top:1px solid var(--border);display:flex;align-items:stretch;padding-bottom:min(env(safe-area-inset-bottom,0px),34px)}.mbn-item{flex:1;background:none;border:none;color:var(--text-dim);font-size:10.5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.mbn-item--center{flex:0 0 52px;align-self:center;width:46px;height:46px;border-radius:50%;background:var(--accent, #8B5CF6);color:#fff;margin:0 4px}.mobile-stage-wrap{flex:1;position:relative;min-height:0}.mobile-stage-wrap .stage{position:absolute;top:0;right:0;bottom:0;left:0}.mobile-stage-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:7}.mso-badge{position:absolute;bottom:10px;background:#17171bd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-dim, #8E8E96);font-size:11px;border:1px solid var(--border, #2A2A31);border-radius:8px;padding:6px 9px;pointer-events:auto}.mso-badge--left{left:10px;cursor:pointer;display:flex;align-items:center}.mso-badge--left:hover{color:#ededf0}.mso-badge--right{right:10px;font-weight:600}.app-desktop{display:grid;height:100vh;width:100%;grid-template-columns:240px 44px 1fr 280px;grid-template-rows:48px 1fr 300px}.app-desktop .topbar{grid-column:1 / 5;grid-row:1}.desktop-layers,.desktop-toolbar,.desktop-stage,.desktop-props,.desktop-timeline{display:flex;flex-direction:column;overflow:hidden;min-height:0;min-width:0}.desktop-layers{grid-column:1;grid-row:2}.desktop-toolbar{grid-column:2;grid-row:2}.desktop-stage{grid-column:3;grid-row:2}.desktop-props{grid-column:4;grid-row:2}.desktop-timeline{grid-column:1 / 5;grid-row:3}
