@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif}[data-theme=dark]{--bg-gradient:radial-gradient(ellipse 80% 50% at 20% 0%, #1a0a3a 0%, #050510 55%, #000 100%);--bg0:#07070f;--bg1:#0e0e1cbf;--bg2:#16162cb3;--bg3:#242442cc;--bg4:#37375fd9;--bdr:#7850ff2e;--bdr2:#7850ff52;--p:#7c3aed;--p-l:#9f5ff7;--p-d:#5b21b6;--c:#06b6d4;--t1:#f0f0ff;--t2:#b8b8d8;--t3:#5a5a80;--err:#f43f5e;--shadow-sm:0 2px 12px #00000059, inset 0 1px 0 #ffffff0a;--shadow-lg:0 16px 48px #0009, inset 0 1px 0 #ffffff0f;--shadow-glow:0 0 40px #7c3aed40;--glass-bg:#0a0a14b3;--glass-bdr:#7850ff38;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;background:var(--bg-gradient);color:var(--t1);background-attachment:fixed}[data-theme=light]{--bg-gradient:linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);--bg0:#f8fafc;--bg1:#fffc;--bg2:#f1f5f9cc;--bg3:#e2e8f0;--bg4:#cbd5e1;--bdr:#94a3b840;--bdr2:#94a3b866;--p:#7c3aed;--p-l:#8b5cf6;--p-d:#5b21b6;--c:#0284c7;--t1:#0f172a;--t2:#334155;--t3:#94a3b8;--err:#e11d48;--shadow-sm:0 4px 15px #00000008, inset 0 1px 0 #ffffff80;--shadow-lg:0 12px 35px #0000000f, inset 0 1px 0 #ffffff80;--glass-bg:#ffffffbf;--glass-bdr:#94a3b84d;background:var(--bg-gradient);color:var(--t1);background-attachment:fixed}*{box-sizing:border-box;outline:none;margin:0;padding:0}body{width:100vw;height:100vh;overflow:hidden}#root{width:100%;height:100%}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(28px)saturate(180%);border:1px solid var(--glass-bdr);box-shadow:var(--shadow-lg);border-radius:16px}.glass-panel{background:var(--bg1);-webkit-backdrop-filter:blur(24px)saturate(160%);border:1px solid var(--bdr);box-shadow:var(--shadow-sm);border-radius:var(--radius-md,12px)}.glass-active{border-color:var(--p)!important;box-shadow:0 0 20px #8b5cf666!important}.btn-primary{background:linear-gradient(135deg, var(--p-d) 0%, var(--p) 60%, var(--p-l) 100%);border-radius:var(--radius-sm,8px);color:#fff;cursor:pointer;letter-spacing:.3px;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:1px solid #ffffff1f;justify-content:center;align-items:center;gap:8px;padding:9px 20px;font-size:13px;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background .18s,filter .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 18px #7c3aed73,inset 0 1px #ffffff2e}.btn-primary:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff1f 0%,#0000 50%);position:absolute;inset:0}.btn-primary:after{content:"";opacity:0;pointer-events:none;background:#ffffff40;border-radius:50%;width:0;height:0;transition:none;position:absolute;inset:50%;transform:translate(-50%,-50%)scale(0)}.btn-primary:active:after{opacity:0;width:300%;height:300%;transition:width .5s,height .5s,opacity .5s;transform:translate(-50%,-50%)scale(1)}.btn-primary:hover{background:linear-gradient(135deg, var(--p) 0%, var(--p-l) 100%);transform:translateY(-2px)scale(1.01);box-shadow:0 8px 28px #7c3aeda6,inset 0 1px #ffffff40}.btn-primary:active{transition-duration:80ms;transform:translateY(1px)scale(.97);box-shadow:0 2px 10px #7c3aed66}.btn-primary:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.5);box-shadow:none!important;transform:none!important}.btn-ghost{border-radius:var(--radius-sm,8px);color:var(--t2);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s,transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s;display:flex;position:relative;overflow:hidden}.btn-ghost svg{transition:transform .2s cubic-bezier(.34,1.56,.64,1),color .15s}.btn-ghost:hover{color:var(--p-l);background:#7c3aed1a;border-color:#7c3aed33;box-shadow:0 2px 10px #7c3aed1a}.btn-ghost:hover svg{transform:scale(1.15)}.btn-ghost:active{background:#7c3aed26;transition-duration:80ms;transform:scale(.95)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.input-field{background:var(--bg2);border:1.5px solid var(--bdr);border-radius:var(--radius-sm,8px);color:var(--t1);width:100%;caret-color:var(--p-l);padding:9px 14px;font-family:inherit;font-size:13px;transition:border-color .18s,background .18s,box-shadow .18s;box-shadow:inset 0 1px 3px #0000001f}.input-field:hover{border-color:var(--bdr2)}.input-field:focus{border-color:var(--p);background:#7c3aed0a;outline:none;box-shadow:0 0 0 3px #7c3aed24,inset 0 1px 3px #00000014}.input-field::placeholder{color:var(--t3);transition:color .18s,opacity .18s}.input-field:focus::placeholder{opacity:.5}.input-field:disabled{opacity:.5;cursor:not-allowed}.dot-grid-dark{background-image:radial-gradient(#ffffff1a 1px,#0000 1px);background-size:24px 24px}.dot-grid-light{background-image:radial-gradient(#0000001a 1px,#0000 1px);background-size:24px 24px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}@keyframes pulseBorder{0%{border-color:var(--bdr)}50%{border-color:var(--p)}to{border-color:var(--bdr)}}.animate-pulse-border{animation:2s infinite pulseBorder}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-4px)}to{transform:translateY(0)}}.animate-float{animation:4s ease-in-out infinite float}@keyframes neonPulse{0%,to{box-shadow:0 0 8px #00f0ff4d,0 0 20px #00f0ff1a}50%{box-shadow:0 0 20px #00f0ff99,0 0 40px #00f0ff4d}}.neon-pulse{animation:2s ease-in-out infinite neonPulse}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)rotate(0)}25%{opacity:.8;transform:scale(1.1)rotate(5deg)}75%{opacity:.9;transform:scale(.95)rotate(-5deg)}}.animate-sparkle{animation:2.5s ease-in-out infinite sparkle}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.gradient-text-animated{background:linear-gradient(270deg,#00f0ff,#818cf8,#f472b6,#00f0ff) 0 0/300% 300%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:4s infinite gradientShift}@keyframes blockEnter{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.block-enter{animation:.35s cubic-bezier(.16,1,.3,1) forwards blockEnter}.modal-backdrop{-webkit-backdrop-filter:blur(20px)saturate(150%)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg, var(--bg2) 25%, var(--bg3) 50%, var(--bg2) 75%);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes tooltipIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tooltip-enter{animation:.18s forwards tooltipIn}.scrollable-toolbar::-webkit-scrollbar{display:none}.scrollable-toolbar{-ms-overflow-style:none;scrollbar-width:none}.scrollable-toolbar>*{flex-shrink:0!important}.mobile-bottom-nav{background:var(--bg1);border-top:1px solid var(--bdr);z-index:500;height:60px;padding-bottom:env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(20px);display:none;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav-inner{align-items:stretch;height:100%;display:flex}.mobile-nav-btn{cursor:pointer;color:var(--t3);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:44px;padding:6px 4px;font-family:inherit;font-size:10px;font-weight:600;transition:color .15s,background .15s;display:flex}.mobile-nav-btn.active{color:var(--p);background:#6366f114}.mobile-nav-btn svg{flex-shrink:0}.mobile-drawer{bottom:calc(64px + env(safe-area-inset-bottom,0px));background:var(--bg1);-webkit-backdrop-filter:blur(30px)saturate(200%);border-top:1px solid var(--glass-bdr);z-index:550;max-height:calc(85vh - 64px - env(safe-area-inset-bottom,0px));will-change:transform;border-radius:28px 28px 0 0;animation:.4s cubic-bezier(.175,.885,.32,1) slideUpSpring;display:none;position:fixed;left:0;right:0;box-shadow:0 -10px 50px #0009,inset 0 1px #ffffff1a}@keyframes slideUpSpring{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.mobile-drawer-handle{background:var(--t3);opacity:.5;cursor:grab;border-radius:99px;flex-shrink:0;width:48px;height:5px;margin:12px auto}.mobile-drawer-handle:active{cursor:grabbing}@media (width<=768px){#root{padding-top:env(safe-area-inset-top,0px)!important;padding-bottom:env(safe-area-inset-bottom,0px)!important}.dash-topbar{padding:0 10px!important}.dash-topbar-logo{letter-spacing:1px!important;font-size:11px!important}.dash-topbar-actions{gap:4px!important}.dash-topbar-actions .guest-text{display:none!important}.dash-topbar-actions button{min-width:36px;min-height:36px;gap:0!important;padding:8px!important;font-size:0!important}.dash-topbar-actions button svg{width:18px;height:18px}.editor-mini-bar{height:32px!important;padding:0 8px!important}.dash-topbar{flex-wrap:nowrap!important}.dash-topbar-actions{margin-left:auto!important}.mobile-col{flex-direction:column!important;grid-template-columns:1fr!important}.mobile-wrap{flex-wrap:wrap!important}.mode-card{margin-bottom:2px;flex:100%!important;width:100%!important;max-width:100%!important}.wizard-bottom{flex-wrap:wrap;gap:8px!important;padding:12px!important}.wizard-bottom input{width:120px!important;font-size:12px!important}.wizard-bottom button{padding:12px 16px!important;font-size:12px!important}.wizard-content,.dashboard-content{gap:16px!important;padding:20px 14px!important}.dashboard-action-bar{flex-direction:column!important;gap:10px!important;padding-bottom:20px!important}.dashboard-action-bar input,.dashboard-action-bar button{width:100%!important}.mobile-bottom-nav{z-index:500;display:flex}.mobile-drawer{flex-direction:column;display:flex;overflow:hidden}.editor-side{display:none!important}.editor-layout{flex-direction:row!important;overflow:hidden!important}.editor-canvas-container{width:100%!important;height:100%!important;padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))!important}.browser-toolbar{gap:4px!important;min-height:50px!important;padding:0 12px!important;overflow-x:auto!important}.browser-toolbar .toolbar-text{display:none!important}.browser-toolbar .toolbar-project-name{max-width:100px!important;font-size:13px!important}.browser-toolbar .project-badge{display:none}.browser-toolbar button{border-radius:12px;justify-content:center;min-width:44px;min-height:44px;padding:6px 10px!important;font-size:12px!important}.editor-side-desktop{display:none!important}input[type=text],input[type=number],input[type=email],textarea,select{border-radius:12px!important;min-height:44px!important;padding:12px 16px!important;font-size:16px!important}button{min-width:44px;min-height:44px}.btn-ghost,.btn-primary{border-radius:12px;min-height:44px;font-size:15px}.block-item-toolbar button{min-width:44px!important;min-height:44px!important;padding:10px!important}.mobile-drawer-content{-webkit-overflow-scrolling:touch;flex:1;padding-bottom:24px;overflow-y:auto}.desktop-only-notice{display:flex!important}}@media (width<=480px){.dash-topbar-actions button{padding:6px!important}.wizard-content,.dashboard-content{gap:12px!important;padding:16px 12px!important}.login-card{border-radius:18px!important;width:calc(100vw - 24px)!important;max-width:100%!important;margin:12px!important;padding:24px 20px!important}.toolbar-project-name{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}}.desktop-only-notice{z-index:9000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#08081aeb;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:none;position:absolute;inset:0}@keyframes pulseGlow{0%{box-shadow:0 0 10px #6366f166}50%{box-shadow:0 0 20px #6366f1cc,0 0 40px #6366f166}to{box-shadow:0 0 10px #6366f166}}@keyframes energyFlow{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes slideDownSlick{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.god-glass{-webkit-backdrop-filter:blur(24px)saturate(160%)!important;background:#0f172a80!important;border:1px solid #ffffff1f!important;box-shadow:0 16px 40px #0006!important}.god-node{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s!important}.god-node:hover{transform:scale(1.03)translateY(-4px);box-shadow:0 20px 50px #0009,0 0 30px #6366f14d!important}.wire-animated{stroke-dasharray:8 8;stroke-linecap:round;filter:drop-shadow(0 0 6px);animation:1.5s linear infinite energyFlow}.stars-bg{background-image:radial-gradient(1px 1px at 20px 30px,#fff,#0000),radial-gradient(1px 1px at 40px 70px,#fff,#0000),radial-gradient(1px 1px at 50px 160px,#fff,#0000),radial-gradient(1px 1px at 90px 40px,#fff,#0000),radial-gradient(1px 1px at 130px 80px,#fff,#0000),radial-gradient(1px 1px at 160px 120px,#fff,#0000);background-repeat:repeat;background-size:200px 200px;animation:100s linear infinite floatStars}@keyframes floatStars{0%{transform:translateY(0)}to{transform:translateY(-200px)}}@media (width<=768px){.mobile-grid{grid-template-columns:1fr!important}.mobile-col{flex-direction:column!important}.mobile-padding{padding-left:12px!important;padding-right:12px!important}.mobile-hidden{display:none!important}}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@media (width<=768px){.mobile-drawer-target{padding-bottom:env(safe-area-inset-bottom,20px);transition:transform .3s cubic-bezier(.16,1,.3,1);transform:translateY(110%);box-shadow:0 -10px 40px #00000080;background:var(--bg1)!important;border-top:1px solid var(--bdr)!important;z-index:9999!important;border-top-left-radius:24px!important;border-top-right-radius:24px!important;width:100vw!important;height:50vh!important;max-height:50vh!important;position:fixed!important;bottom:0!important;left:0!important}.mobile-drawer-target.open{transform:translateY(0)!important}.mobile-drawer-target.closed{transform:translateY(110%)}.editor-canvas-container{flex:none!important;width:100vw!important;height:100%!important}.mobile-bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--bdr);z-index:9998;width:100vw;height:60px;padding-bottom:env(safe-area-inset-bottom,0px);background:#0a0a0fe6;justify-content:space-around;align-items:center;position:fixed;bottom:0;left:0;display:flex!important}.mobile-bottom-nav .btn-ghost{background:0 0;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;height:85%;margin:4px 6px;transition:all .15s cubic-bezier(.16,1,.3,1);display:flex}.mobile-bottom-nav .btn-ghost:active{background:#ffffff1a;transform:scale(.9)}.mobile-drawer-target:before{content:"";z-index:999;background:#fff3;border-radius:4px;width:40px;height:4px;position:absolute;top:6px;left:50%;transform:translate(-50%)}}@media print{@page{margin:0}body,html,#root{background:#fff!important;height:auto!important;overflow:visible!important}.edu-no-print{display:none!important}.edu-workspace,.edu-print-page{background:#fff!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.a4-document{box-shadow:none!important;border:none!important;width:100%!important;max-width:none!important;min-height:auto!important;margin:0!important;padding:0!important}.edu-physical-page{box-shadow:none!important;page-break-after:always!important;min-height:auto!important;margin:0!important}}.mobile-fab{background:linear-gradient(135deg, var(--p), var(--p-l));color:#fff;cursor:pointer;z-index:5000;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex;position:fixed;bottom:76px;right:18px;box-shadow:0 8px 24px #6366f18c}.mobile-fab:active{transform:scale(.9)}.mobile-fab-3d{background:linear-gradient(135deg,#6366f1,#4338ca)}.widget-bottom-sheet-overlay{z-index:5001;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;position:fixed;inset:0}.widget-bottom-sheet{background:var(--bg1);border-top:1px solid var(--bdr);z-index:5002;padding:12px 16px calc(24px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;max-height:75vh;animation:.3s cubic-bezier(.16,1,.3,1) slideUpSheet;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -20px 60px #00000080}.widget-bottom-sheet-handle{background:var(--bdr);border-radius:99px;width:40px;height:4px;margin:0 auto 14px}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.widget-picker-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.widget-pick-btn{background:var(--bg2);border:1.5px solid var(--bdr);cursor:pointer;color:var(--t2);text-align:center;-webkit-tap-highlight-color:transparent;border-radius:14px;flex-direction:column;align-items:center;gap:5px;min-width:0;min-height:68px;padding:10px 4px;font-size:10px;font-weight:700;line-height:1.2;transition:all .15s;display:flex}.widget-pick-btn:active{border-color:var(--p);color:var(--p);background:#6366f126;transform:scale(.94)}.widget-pick-btn-icon{width:34px;height:34px;color:var(--p);background:#6366f11f;border-radius:10px;justify-content:center;align-items:center;font-size:18px;display:flex}.ai-app-template-card{background:var(--bg2);border:1px solid var(--bdr);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:all .18s;display:flex}.ai-app-template-card:active{background:var(--bg3);border-color:var(--p);transform:scale(.98)}@media (width<=768px){.btn-ghost{min-height:48px}.btn-primary{min-height:48px;font-size:16px}.edu-config-two-col{flex-direction:column!important;gap:16px!important}}.touch-ripple{-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.touch-ripple:after{content:"";opacity:0;background:radial-gradient(circle,#ffffff4d 0%,#0000 70%);transition:transform .3s,opacity .3s;position:absolute;inset:0;transform:scale(0)}.touch-ripple:active:after{opacity:1;transition:all;transform:scale(2)}.swipe-area{touch-action:pan-y;-webkit-user-select:none;user-select:none}.swipe-area-horizontal{touch-action:pan-x;-webkit-user-select:none;user-select:none}.touch-card{-webkit-tap-highlight-color:transparent;transition:transform .15s,box-shadow .15s}.touch-card:active{transform:scale(.98)translateY(2px);box-shadow:0 4px 12px #0003}.touch-target{min-width:48px;min-height:48px;padding:12px 16px}.touch-target-lg{min-width:56px;min-height:56px;padding:16px 20px}.gesture-hint{color:#fff;pointer-events:none;opacity:0;z-index:1000;background:#6366f1e6;border-radius:20px;padding:8px 16px;font-size:12px;font-weight:600;transition:all .3s;position:absolute;transform:translateY(-10px)}.gesture-hint.show{opacity:1;transform:translateY(0)}.pull-indicator{background:var(--bg1);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:top .2s;display:flex;position:absolute;top:-60px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.pull-indicator.pulling{top:20px}.pull-indicator svg{animation:1s linear infinite pullSpin}@keyframes pullSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fab{background:linear-gradient(135deg, var(--p), var(--p-l));color:#fff;cursor:pointer;z-index:1000;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #6366f166,0 6px 20px #6366f133}.fab:active{transform:scale(.92);box-shadow:0 8px 24px #6366f180}.fab-extended{border-radius:28px;gap:8px;width:auto;padding:0 20px;font-size:14px;font-weight:600}.bottom-sheet{background:var(--bg1);z-index:2000;border-radius:24px 24px 0 0;flex-direction:column;max-height:90vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -8px 32px #0006}.bottom-sheet.open{transform:translateY(0)}.bottom-sheet-handle{background:var(--t3);opacity:.5;border-radius:2px;width:40px;height:4px;margin:12px auto}.bottom-sheet-content{-webkit-overflow-scrolling:touch;flex:1;padding:16px;overflow-y:auto}.bottom-sheet-backdrop{opacity:0;pointer-events:none;z-index:1999;background:#00000080;transition:opacity .3s;position:fixed;inset:0}.bottom-sheet-backdrop.open{opacity:1;pointer-events:auto}.mobile-context-menu{background:var(--bg1);z-index:3000;-webkit-backdrop-filter:blur(20px);border:1px solid var(--bdr);border-radius:12px;min-width:200px;padding:8px 0;animation:.15s contextMenuIn;position:fixed;box-shadow:0 8px 32px #0006}@keyframes contextMenuIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{color:var(--t1);cursor:pointer;align-items:center;gap:12px;min-height:48px;padding:12px 16px;font-size:14px;transition:background .15s;display:flex}.context-menu-item:active{background:var(--bg3)}.context-menu-divider{background:var(--bdr);height:1px;margin:8px 0}.snackbar{color:var(--t1);border:1px solid var(--bdr2);z-index:9999;opacity:0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#140e28f2;border-radius:99px;align-items:center;gap:10px;max-width:90vw;padding:12px 22px;font-size:13px;font-weight:600;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(80px);box-shadow:0 8px 32px #00000080,0 0 0 1px #7c3aed26}.snackbar-action{color:var(--p);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;margin-left:8px;font-size:12px;font-weight:700}.quick-actions{background:linear-gradient(to top, var(--bg0), transparent);padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:100;pointer-events:none;justify-content:center;gap:16px;display:flex;position:fixed;bottom:0;left:0;right:0}.quick-actions>*{pointer-events:auto}.mobile-toolbar{background:var(--bg1);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--bdr);height:64px;padding-bottom:env(safe-area-inset-bottom,0px);z-index:1000;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-toolbar-btn{height:100%;color:var(--t3);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.mobile-toolbar-btn.active{color:var(--p)}.mobile-toolbar-btn:active{background:#6366f11a}.page-indicator{justify-content:center;gap:8px;padding:12px;display:flex}.page-dot{background:var(--t3);opacity:.4;border-radius:50%;width:8px;height:8px;transition:all .3s}.page-dot.active{opacity:1;background:var(--p);transform:scale(1.2)}.edge-swipe-left,.edge-swipe-right{z-index:50;width:20px;position:fixed;top:0;bottom:0}.edge-swipe-left{left:0}.edge-swipe-right{right:0}.haptic-btn:active{animation:50ms hapticPulse}@keyframes hapticPulse{0%,to{transform:scale(1)}50%{transform:scale(.97)}}.safe-top{padding-top:env(safe-area-inset-top,0px)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.safe-left{padding-left:env(safe-area-inset-left,0px)}.safe-right{padding-right:env(safe-area-inset-right,0px)}.elloris-topbar{border-bottom:1px solid var(--bdr);-webkit-backdrop-filter:blur(24px)saturate(160%);z-index:50;background:#07070fd9;flex-shrink:0;align-items:center;gap:8px;height:52px;padding:0 16px;display:flex}.editor-mini-bar{border-bottom:1px solid var(--bdr);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:50;background:#07070fe6;flex-shrink:0;align-items:center;gap:8px;height:36px;padding:0 12px;display:flex}.elloris-logo{flex-shrink:0;align-items:center;gap:10px;display:flex}.elloris-logo-icon{background:linear-gradient(135deg, var(--p-d), var(--p-l));border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:flex;box-shadow:0 4px 14px #7c3aed80}.elloris-logo-text{letter-spacing:2px;background:linear-gradient(135deg,#e0d4ff,#c4b5fd,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:800}.elloris-logo-badge{color:#fff;letter-spacing:1px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:99px;padding:2px 7px;font-size:9px;font-weight:800}.dash-topbar-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.elloris-tabbar{border-bottom:1px solid var(--bdr);-webkit-backdrop-filter:blur(20px);background:#07070f99;flex-shrink:0;align-items:stretch;gap:0;padding:0 8px;display:flex;overflow-x:auto}.elloris-tabbar::-webkit-scrollbar{display:none}.elloris-tab{height:46px;color:var(--t3);cursor:pointer;white-space:nowrap;letter-spacing:.1px;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:7px;padding:0 20px;font-family:inherit;font-size:13px;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:flex}.elloris-tab:hover{color:var(--t1);background:#7c3aed12}.elloris-tab.active{color:#c4b5fd;background:#7c3aed1a;border-bottom-color:#a78bfa;font-weight:700}.elloris-tab svg{opacity:.7;transition:opacity .15s,transform .2s cubic-bezier(.34,1.56,.64,1)}.elloris-tab:hover svg,.elloris-tab.active svg{opacity:1;transform:scale(1.15)}.dash-hero{text-align:center;padding:40px 20px 24px}.dash-hero-title{letter-spacing:-.5px;background:linear-gradient(135deg,#f0f0ff 0%,#c4b5fd 50%,#a78bfa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:30px;font-weight:800}.dash-hero-sub{color:var(--t3);max-width:440px;margin:0 auto;font-size:14px;font-weight:400;line-height:1.6}.dash-section{width:100%;max-width:980px;margin:0 auto}.dash-section-title{color:var(--t3);letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid var(--bdr);align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;font-size:11px;font-weight:700;display:flex}.dash-section-title:before{content:"";background:var(--p);border-radius:99px;flex-shrink:0;width:3px;height:14px}.mode-card-v2{cursor:pointer;border:1.5px solid var(--bdr);-webkit-backdrop-filter:blur(24px);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#0e0e1c99;border-radius:18px;flex-direction:column;gap:11px;padding:22px 20px 18px;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s,border-color .18s,background .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0003}.mode-card-v2:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);height:1px;position:absolute;top:0;left:0;right:0}.mode-card-v2:hover{border-color:var(--bdr2);background:#141228cc;transform:translateY(-4px)scale(1.01);box-shadow:0 16px 40px #00000073}.mode-card-v2.active{background:#141228e6;transform:translateY(-4px)scale(1.01)}.mode-card-v2:active{transition-duration:80ms;transform:scale(.98)}.mode-card-v2-icon{z-index:1;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.mode-card-v2:hover .mode-card-v2-icon,.mode-card-v2.active .mode-card-v2-icon{transform:scale(1.12)rotate(-4deg)}.mode-card-v2-tag{letter-spacing:.8px;text-transform:uppercase;z-index:2;border-radius:99px;padding:3px 8px;font-size:9px;font-weight:800;position:absolute;top:13px;right:13px}.mode-card-v2-title{color:var(--t1);letter-spacing:.1px;margin:0;font-size:14px;font-weight:700}.mode-card-v2-desc{color:var(--t3);margin:0;font-size:11.5px;line-height:1.5}@keyframes wave{0%{transform:rotate(0)}15%{transform:rotate(15deg)}30%{transform:rotate(-10deg)}45%{transform:rotate(15deg)}60%{transform:rotate(-5deg)}75%{transform:rotate(10deg)}to{transform:rotate(0)}}.wave-hand{transform-origin:70% 70%;vertical-align:middle;margin-left:4px;animation:1.5s ease-in-out infinite wave;display:inline-block}.proj-card{cursor:pointer;border:1px solid var(--bdr);-webkit-backdrop-filter:blur(16px);background:#0e0e1c99;border-radius:14px;transition:transform .22s cubic-bezier(.34,1.3,.64,1),box-shadow .22s,border-color .18s;overflow:hidden;box-shadow:0 2px 8px #0003}.proj-card:hover{border-color:#7c3aed4d;transform:translateY(-4px);box-shadow:0 16px 40px #00000073,0 0 0 1px #7c3aed1f}.proj-card:active{transition-duration:80ms;transform:scale(.98)}.proj-card-accent{height:3px}.proj-card-body{padding:14px 16px 16px}.proj-card-name{color:var(--t1);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:14px;font-weight:700;overflow:hidden}.proj-card-date{color:var(--t3);align-items:center;gap:4px;font-size:11px;display:flex}.proj-card-chips{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.chip{border-radius:99px;padding:2px 9px;font-size:10px;font-weight:600;line-height:1.6}.chip-accent{color:var(--p-l);background:#7c3aed26}.chip-muted{background:var(--bg3);color:var(--t3)}.new-proj-card{cursor:pointer;min-height:130px;color:var(--t3);background:#7c3aed08;border:1.5px dashed #7c3aed4d;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px;transition:all .22s cubic-bezier(.34,1.56,.64,1);display:flex}.new-proj-card:hover{border-color:var(--p);color:var(--p-l);background:#7c3aed14;transform:translateY(-2px);box-shadow:0 8px 24px #7c3aed26}.action-block{border-top:1px solid #7c3aed26;flex-direction:column;gap:10px;margin-top:2px;padding-top:6px;animation:.28s cubic-bezier(.16,1,.3,1) both fadeInUp;display:flex}.action-input{text-align:center;background:#ffffff0d!important;border-color:#7c3aed4d!important;border-radius:10px!important;font-size:14px!important;font-weight:500!important}.action-input:focus{border-color:var(--p)!important;background:#7c3aed0f!important;box-shadow:0 0 0 3px #7c3aed1f!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loadingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.92)}}.loading-ring{border:3px solid var(--bg3);border-top-color:var(--p);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.loading-logo{background:linear-gradient(135deg, var(--p-d), var(--p-l));border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;animation:1.8s ease-in-out infinite loadingPulse;display:flex;box-shadow:0 8px 28px #7c3aed80}.user-chip{border:1px solid var(--bdr);background:var(--bg2);cursor:default;color:var(--t2);border-radius:99px;align-items:center;gap:7px;padding:4px 12px 4px 4px;font-size:12px;font-weight:500;display:flex}.user-avatar{background:linear-gradient(135deg, var(--p-d), var(--p-l));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:flex}.settings-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:2000;background:#000000a6;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.settings-modal{border:1px solid var(--bdr2);width:100%;max-width:440px;max-height:calc(100vh - 40px);box-shadow:0 32px 80px #000000b3, var(--shadow-glow);background:#0c0a18f5;border-radius:20px;flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) blockEnter;display:flex;overflow:hidden}.settings-modal-header{border-bottom:1px solid var(--bdr);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.settings-modal-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:20px;padding:20px 24px 24px;display:flex;overflow-y:auto}.settings-row-label{color:var(--t3);letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.toggle-group{gap:6px;display:flex}.toggle-btn{border:1px solid var(--bdr);background:var(--bg2);color:var(--t2);cursor:pointer;text-align:center;border-radius:10px;flex:1;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.toggle-btn:hover{border-color:var(--bdr2);color:var(--t1)}.toggle-btn.active{background:linear-gradient(135deg, var(--p-d), var(--p));border-color:var(--p);color:#fff;box-shadow:0 4px 14px #7c3aed66}.settings-row-label{color:var(--t3);letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.ambient-orb{pointer-events:none;filter:blur(80px);opacity:.25;z-index:0;border-radius:50%;animation:20s ease-in-out infinite alternate orbDrift;position:fixed}.ambient-orb-2{background:radial-gradient(#06b6d4 0%,#0000 70%);width:500px;height:350px;animation-duration:24s;animation-delay:-8s;bottom:-80px;right:-100px}.ambient-orb-3{opacity:.1;background:radial-gradient(#f472b6 0%,#0000 70%);width:300px;height:300px;animation-duration:30s;animation-delay:-15s;top:40%;right:20%}@keyframes orbDrift{0%{transform:translate(0)scale(1)}50%{transform:translate(20px,-30px)scale(1.08)}to{transform:translate(-15px,15px)scale(.95)}}.stagger-children>:first-child{animation:.5s cubic-bezier(.16,1,.3,1) 50ms both fadeInUp}.stagger-children>:nth-child(2){animation:.5s cubic-bezier(.16,1,.3,1) .1s both fadeInUp}.stagger-children>:nth-child(3){animation:.5s cubic-bezier(.16,1,.3,1) .15s both fadeInUp}.stagger-children>:nth-child(4){animation:.5s cubic-bezier(.16,1,.3,1) .2s both fadeInUp}.stagger-children>:nth-child(5){animation:.5s cubic-bezier(.16,1,.3,1) .25s both fadeInUp}.stagger-children>:nth-child(6){animation:.5s cubic-bezier(.16,1,.3,1) .3s both fadeInUp}.stagger-children>:nth-child(7){animation:.5s cubic-bezier(.16,1,.3,1) .35s both fadeInUp}.stagger-children>:nth-child(8){animation:.5s cubic-bezier(.16,1,.3,1) .4s both fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.card-hover{will-change:transform;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,border-color .2s}.card-hover:hover{transform:translateY(-4px)scale(1.015);box-shadow:0 20px 50px #00000073,0 0 0 1px #7c3aed26,0 0 30px #7c3aed1f}.card-hover:active{transition-duration:.1s;transform:translateY(0)scale(.99)}.glow-border{transition:box-shadow .2s,border-color .2s}.glow-border:hover,.glow-border:focus-within{box-shadow:0 0 0 2px #7c3aed40,0 0 20px #7c3aed1a;border-color:#7c3aed66!important}.frosted-card{-webkit-backdrop-filter:blur(32px)saturate(180%);border-radius:var(--radius-lg);background:#0e0e1cb8;border:1px solid #7850ff2e;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0d}.noise-overlay:after{content:"";pointer-events:none;border-radius:inherit;opacity:.6;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px 128px;position:absolute;inset:0}.gradient-border{border-radius:var(--radius-md);position:relative}.gradient-border:before{content:"";border-radius:calc(var(--radius-md) + 1px);z-index:-1;opacity:0;background:linear-gradient(135deg,#7c3aed80,#06b6d44d,#f472b64d,#7c3aed80) 0 0/300% 300%;transition:opacity .3s;animation:4s infinite gradientShift;position:absolute;inset:-1px}.gradient-border:hover:before{opacity:1}.shine{position:relative;overflow:hidden}.shine:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 40%,#ffffff0f 50%,#0000 60%);width:50%;height:200%;transition:left .5s;position:absolute;top:-50%;left:-75%;transform:skew(-15deg)}.shine:hover:after{left:125%}.text-gradient{background:linear-gradient(135deg, var(--t1), var(--p-l), var(--c), var(--t1));-webkit-text-fill-color:transparent;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:6s infinite gradientShift}.page-enter{animation:.4s cubic-bezier(.16,1,.3,1) both pageEnter}@keyframes pageEnter{0%{opacity:0;transform:scale(.98)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.editor-mini-bar{box-shadow:0 1px #ffffff08}.dash-section-title{color:var(--t3);letter-spacing:1.2px;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:12px;font-size:10px;font-weight:800;display:flex}.dash-section-title:after{content:"";background:linear-gradient(90deg, var(--bdr), transparent);flex:1;height:1px}.pill-badge{letter-spacing:.8px;border-radius:99px;align-items:center;gap:4px;padding:2px 9px;font-size:10px;font-weight:800;display:inline-flex}.pill-badge-purple{color:#a78bfa;background:#7c3aed2e;border:1px solid #7c3aed40}.pill-badge-amber{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b40}.pill-badge-green{color:#34d399;background:#10b98126;border:1px solid #10b98140}.input-field:focus{border-color:var(--p)!important;background:var(--bg3)!important;box-shadow:0 0 0 3px #7c3aed26,inset 0 1px 3px #0000001a!important}.skeleton{background:linear-gradient(90deg, var(--bg2) 25%, var(--bg3) 50%, var(--bg2) 75%);background-size:200% 100%;border-radius:8px;animation:1.6s ease-in-out infinite shimmer}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:linear-gradient(var(--p-d), var(--p));border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--p-l)}::-webkit-scrollbar-corner{background:0 0}.btn-primary,.btn-ghost{transform-origin:50%}.btn-primary:focus-visible,.btn-ghost:focus-visible{outline:2px solid var(--p);outline-offset:2px}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.slide-in-left{animation:.3s cubic-bezier(.16,1,.3,1) both slideInLeft}.slide-in-right{animation:.3s cubic-bezier(.16,1,.3,1) both slideInRight}.mode-card{position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s,border-color .2s!important}.mode-card:before{content:"";background:radial-gradient(circle at var(--mx,50%) var(--my,50%), #7c3aed14 0%, transparent 65%);opacity:0;pointer-events:none;z-index:1;transition:opacity .3s;position:absolute;inset:0}.mode-card:hover:before{opacity:1}.mode-card:hover{z-index:2;border-color:#7c3aed4d!important;transform:translateY(-5px)scale(1.01)!important;box-shadow:0 20px 50px #00000080,0 0 0 1px #7c3aed33,0 0 40px #7c3aed1a!important}.mode-card:active{transition-duration:.1s!important;transform:translateY(-1px)scale(.995)!important}.project-card{cursor:pointer;transition:transform .22s cubic-bezier(.34,1.2,.64,1),box-shadow .22s,border-color .18s!important}.project-card:hover{border-color:#7c3aed47!important;transform:translateY(-3px)!important;box-shadow:0 12px 36px #0006,0 0 0 1px #7c3aed2e!important}.project-card:active{transition-duration:80ms!important;transform:scale(.98)!important}.login-particles{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.login-particle{background:#7c3aed99;border-radius:50%;animation:linear infinite particleFloat;position:absolute}@keyframes particleFloat{0%{opacity:0;transform:translateY(100vh)scale(0)}10%{opacity:1}90%{opacity:.6}to{opacity:0;transform:translateY(-100px)scale(1)}}.ambient-orb{pointer-events:none;z-index:0;filter:blur(80px);opacity:.18;border-radius:50%;animation:10s ease-in-out infinite alternate orbDrift;position:fixed}.ambient-orb-1{background:radial-gradient(circle,#7c3aedb3 0%,#0000 70%);width:480px;height:480px;animation-duration:12s;top:-120px;left:-100px}.ambient-orb-2{background:radial-gradient(circle,#06b6d499 0%,#0000 70%);width:320px;height:320px;animation-duration:9s;animation-direction:alternate-reverse;bottom:-80px;right:-60px}.ambient-orb-3{background:radial-gradient(circle,#f472b680 0%,#0000 70%);width:200px;height:200px;animation-duration:15s;top:40%;left:55%}.aurora-bg{pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 15% 5%,#7c3aed38 0%,#0000 60%),radial-gradient(60% 40% at 85% 90%,#06b6d424 0%,#0000 60%),radial-gradient(40% 30%,#f472b612 0%,#0000 60%),#07070f;animation:12s ease-in-out infinite alternate auroraShift;position:fixed;inset:0}@keyframes auroraShift{0%{filter:hue-rotate()brightness()}50%{filter:hue-rotate(15deg)brightness(1.05)}to{filter:hue-rotate(-10deg)brightness(.98)}}.dot-matrix{background-image:radial-gradient(#7c3aed1f 1px,#0000 1px);background-size:28px 28px}.neon-text{text-shadow:0 0 10px #a78bfa99,0 0 30px #7c3aed4d}@keyframes labelFloat{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes rippleOut{0%{opacity:.4;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes countPop{0%{transform:scale(1)}50%{color:var(--p-l);transform:scale(1.2)}to{transform:scale(1)}}.count-pop{animation:.3s countPop}::selection{color:#fff;background:#7c3aed59}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);border:1px solid var(--bdr2);color:var(--t1);white-space:nowrap;pointer-events:none;opacity:0;z-index:9999;background:#0a0818f2;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:500;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)scale(.9);box-shadow:0 4px 16px #00000080}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)scale(1)}.animate-spin{animation:1s linear infinite spin}.modal-enter{animation:.3s cubic-bezier(.16,1,.3,1) both modalEnter}@keyframes modalEnter{0%{opacity:0;transform:scale(.92)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.divider-glow{background:linear-gradient(90deg,#0000,#7c3aed66,#06b6d44d,#0000);border:none;height:1px;margin:0}:focus-visible{outline:2px solid var(--p);outline-offset:2px;border-radius:4px}[data-theme=light] .elloris-topbar{background:#f8fafce0;box-shadow:0 1px #0000000f,0 4px 16px #0000000f}[data-theme=light] .elloris-topbar:after{background:linear-gradient(90deg,#0000,#7c3aed33,#06b6d426,#0000)}[data-theme=light] .frosted-card{background:#ffffffd1;border-color:#94a3b840;box-shadow:0 4px 24px #0000000f,inset 0 1px #fffc}[data-theme=light] .aurora-bg{background:radial-gradient(80% 50% at 15% 5%,#7c3aed14 0%,#0000 60%),radial-gradient(60% 40% at 85% 90%,#06b6d40f 0%,#0000 60%),#f8fafc}[data-theme=light] .ambient-orb{opacity:.12}.chip{cursor:default;transition:background .15s,color .15s,transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s}.chip:not(.chip-muted):hover{filter:brightness(1.2);transform:scale(1.04)}.chip-muted{transition:background .15s,color .15s}.proj-card-accent{height:3px;transition:height .22s cubic-bezier(.34,1.56,.64,1)}.proj-card:hover .proj-card-accent{height:5px}.proj-card .proj-delete-btn{opacity:0;transition:opacity .15s,transform .18s cubic-bezier(.34,1.56,.64,1),color .15s;transform:scale(.8)}.proj-card:hover .proj-delete-btn{opacity:1;transform:scale(1)}.proj-card .proj-delete-btn:hover{transform:scale(1.15);color:#ef4444!important}.proj-card .proj-delete-btn:active{transform:scale(.9)}.user-chip{cursor:default;transition:background .18s,box-shadow .18s,transform .18s cubic-bezier(.34,1.56,.64,1)}.user-chip:hover{transform:scale(1.02);box-shadow:0 0 0 1px #7c3aed33;background:#7c3aed1f!important}.snackbar{opacity:0;-webkit-backdrop-filter:blur(20px);color:var(--t1);pointer-events:none;z-index:9999;white-space:nowrap;background:#141228f2;border:1px solid #7c3aed4d;border-radius:12px;max-width:90vw;padding:12px 22px;font-size:13px;font-weight:500;transition:opacity .25s,transform .3s cubic-bezier(.16,1,.3,1);position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 8px 32px #0006,0 0 0 1px #7c3aed1a}.snackbar.show{opacity:1;transform:translate(-50%)translateY(0)}.btn-ghost.btn-sort-active,.btn-primary.btn-sort-active{position:relative}.btn-ghost+.btn-ghost{margin-left:2px}.search-wrapper{align-items:center;display:flex;position:relative}.search-wrapper .search-icon{color:var(--t3);pointer-events:none;transition:color .18s,transform .18s cubic-bezier(.34,1.56,.64,1);position:absolute;left:10px}.search-wrapper .input-field{padding-left:32px}.search-wrapper:focus-within .search-icon{color:var(--p-l);transform:scale(1.1)}.mode-card-v2:after{content:"";border-radius:inherit;background:radial-gradient(circle at var(--mx,50%) var(--my,50%), #7c3aed12 0%, transparent 60%);opacity:0;pointer-events:none;z-index:0;transition:opacity .3s;position:absolute;inset:0}.mode-card-v2:hover:after{opacity:1}.mode-card-v2>*{z-index:1;position:relative}.glass-panel.card-hover:before{content:"";opacity:0;border-radius:var(--radius-md) var(--radius-md) 0 0;background:linear-gradient(90deg,#0000,#7c3aed80,#0000);height:2px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.glass-panel.card-hover:hover:before{opacity:1}.kbd{background:var(--bg3);border:1px solid var(--bdr2);color:var(--t2);letter-spacing:.5px;box-shadow:0 1px 0 var(--bdr2);border-bottom-width:2px;border-radius:5px;justify-content:center;align-items:center;padding:1px 6px;font-family:SF Mono,Cascadia Code,monospace;font-size:10px;font-weight:700;line-height:1.6;transition:background .15s,transform .1s;display:inline-flex}.kbd:active{border-bottom-width:1px;transform:translateY(1px)}.drop-target{animation:1.2s ease-in-out infinite dropPulse;border:2px dashed var(--p)!important;background:#7c3aed0f!important}@keyframes dropPulse{0%,to{border-color:var(--p)}50%{border-color:var(--p-l);box-shadow:0 0 16px #7c3aed33}}.dragging{opacity:.55;z-index:999;cursor:grabbing!important;transform:scale(.97)rotate(1deg)!important;box-shadow:0 20px 48px #00000080!important}[data-cursor=grab]{cursor:grab}[data-cursor=grab]:active{cursor:grabbing}[data-cursor=zoom]{cursor:zoom-in}[data-cursor=not-allowed]{cursor:not-allowed}:focus-visible{outline:2px solid var(--p-l)!important;outline-offset:3px!important;border-radius:6px!important;box-shadow:0 0 0 5px #7c3aed1f!important}button:focus-visible,a:focus-visible{outline-offset:3px}.elloris-tab{position:relative}.elloris-tab:after{content:"";background:#a78bfa;border-radius:2px 2px 0 0;width:0;height:2px;transition:width .25s cubic-bezier(.34,1.56,.64,1),left .25s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:0;left:50%}.elloris-tab.active:after{width:100%;left:0}.elloris-tab.active{border-bottom-color:#0000!important}.new-proj-card svg{transition:transform .25s cubic-bezier(.34,1.56,.64,1),color .2s}.new-proj-card:hover svg{color:var(--p-l);transform:scale(1.3)rotate(90deg)}.action-block .action-enter-hint{color:var(--t3);opacity:0;justify-content:center;align-items:center;gap:4px;margin-top:-4px;font-size:10px;transition:opacity .2s,transform .2s;display:flex;transform:translateY(4px)}.action-block:focus-within .action-enter-hint{opacity:1;transform:translateY(0)}.proj-card:hover{box-shadow:0 16px 40px #00000073,0 0 0 1px #7c3aed1f}.btn-primary[style*="fontSize: 11"]{font-size:11px!important}::-webkit-scrollbar-thumb{transition:background .2s}.page-enter{will-change:transform, opacity}[data-theme=light] .btn-ghost:hover{color:var(--p-d);background:#7c3aed14}[data-theme=light] .mode-card-v2{background:#ffffffbf;border-color:#94a3b84d}[data-theme=light] .mode-card-v2:hover{background:#fffffff2;box-shadow:0 12px 36px #0000001a,0 0 0 1px #7c3aed26}[data-theme=light] .proj-card{background:#fffc;border-color:#94a3b840}[data-theme=light] .proj-card:hover{border-color:#7c3aed33;box-shadow:0 12px 32px #00000014,0 0 0 1px #7c3aed26}[data-theme=light] .new-proj-card{border-color:#7c3aed33}[data-theme=light] .new-proj-card:hover{border-color:var(--p);background:#7c3aed0d;box-shadow:0 8px 24px #7c3aed1a}[data-theme=light] .input-field{background:#ffffffe6;border-color:#94a3b866;box-shadow:inset 0 1px 3px #0000000d}[data-theme=light] .input-field:focus{border-color:var(--p);background:#fff;box-shadow:0 0 0 3px #7c3aed1a}@media (width>=1920px){.app-container,.dashboard-content,.wizard-content,.editor-layout{max-width:1800px;margin:0 auto}.glass-panel{border-radius:20px}.btn-primary,.btn-ghost{padding:12px 24px;font-size:14px}.input-field{padding:12px 18px;font-size:14px}}@media (width>=1440px) and (width<=1919px){.app-container,.dashboard-content,.wizard-content{max-width:1400px;margin:0 auto}.editor-side{width:300px}.glass-panel{border-radius:18px}}@media (width>=1025px) and (width<=1439px){.app-container{max-width:1200px;margin:0 auto}.editor-side{width:260px}}@media (width>=769px) and (width<=1024px){.dash-topbar{padding:0 12px!important}.dash-topbar-logo{font-size:12px!important}.editor-side{width:220px}.mode-card{width:calc(50% - 8px)!important}.wizard-content,.dashboard-content{padding:24px 16px!important}.projects-grid{grid-template-columns:repeat(2,1fr)!important}}@media (width<=768px){.touch-target-compact{min-width:40px;min-height:40px}.desktop-only{display:none!important}.mobile-only{display:flex!important}.responsive-grid{grid-template-columns:1fr!important}.responsive-grid-2{grid-template-columns:repeat(2,1fr)!important}.compact-padding{padding:12px!important}.compact-gap{gap:8px!important}.mobile-text-sm{font-size:12px!important}.mobile-text-base{font-size:14px!important}.mobile-full-width{width:100%!important}}@media (width<=480px){.wizard-content,.dashboard-content{gap:12px!important;padding:16px 12px!important}.dash-topbar{height:48px!important}.dash-topbar-actions button{min-width:40px;min-height:40px;padding:6px!important}.mobile-stack{flex-direction:column!important}.mobile-stack>*{width:100%!important}.mode-card,.proj-card{padding:14px!important}html{font-size:15px}}@media (width<=380px){.wizard-content,.dashboard-content{gap:10px!important;padding:12px 10px!important}.mobile-text-xs{font-size:11px!important}.mobile-icon-only .btn-text{display:none!important}.dash-topbar{height:44px!important;padding:0 8px!important}.dash-topbar-actions{gap:2px!important}.input-field{padding:8px 12px!important;font-size:14px!important}html{font-size:14px}.mobile-bottom-nav{height:56px}.mobile-bottom-nav .btn-ghost{padding:4px!important}.mobile-fab{width:48px;height:48px;bottom:68px;right:12px}}@media (height<=600px){.mobile-bottom-nav{height:52px}.dash-topbar{height:44px!important}.editor-canvas-container{padding-bottom:52px!important}}@media (height<=450px){.mobile-bottom-nav{height:48px}.mobile-bottom-nav .btn-ghost span{display:none!important}}@media (width<=768px) and (orientation:landscape){.mobile-bottom-nav{height:48px}.mobile-bottom-nav .btn-ghost{flex-direction:row!important;gap:6px!important}.mobile-bottom-nav .btn-ghost span{font-size:11px}.editor-canvas-container{padding-bottom:48px!important}}@media (-webkit-device-pixel-ratio>=2),(resolution>=192dpi){.glass-panel,.glass,.btn-primary,.btn-ghost{border-width:.5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-fade-in,.animate-float,.neon-pulse,.block-enter{animation:none!important}}@supports (padding:max(0px)){.safe-area-top{padding-top:max(12px, env(safe-area-inset-top))}.safe-area-bottom{padding-bottom:max(12px, env(safe-area-inset-bottom))}.safe-area-left{padding-left:max(12px, env(safe-area-inset-left))}.safe-area-right{padding-right:max(12px, env(safe-area-inset-right))}}.hidden{display:none!important}.visible{display:block!important}.flex{display:flex!important}.grid{display:grid!important}@media (width>=769px){.mobile-visible{display:none!important}}@media (width<=768px){.desktop-visible{display:none!important}}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.truncate-2{-webkit-line-clamp:2;line-clamp:2;box-orient:vertical;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.aspect-video{aspect-ratio:16/9}.aspect-square{aspect-ratio:1}.aspect-portrait{aspect-ratio:9/16}.w-full{width:100%!important}.h-full{height:100%!important}.min-h-screen{min-height:100vh!important}.min-h-safe{min-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}
