.app-shell-content{padding:var(--section-padding-y-sm)var(--space-5);flex:1}.app-shell-footer{border-top:1px solid var(--color-border);background:var(--color-surface)}.studio-shell{isolation:isolate;background-color:var(--color-surface);background-image:radial-gradient(50% 34% at 12% 6%,rgba(var(--color-primary-rgb),.1)0%,rgba(var(--color-primary-rgb),0)100%),radial-gradient(42% 32% at 88% 12%,#1111110d 0%,#1110 100%),radial-gradient(38% 30% at 16% 54%,rgba(var(--color-primary-rgb),.07)0%,rgba(var(--color-primary-rgb),0)100%),radial-gradient(46% 34% at 82% 72%,rgba(var(--color-primary-rgb),.06)0%,rgba(var(--color-primary-rgb),0)100%);background-repeat:no-repeat;background-attachment:fixed;position:relative}.studio-shell>*{z-index:1;position:relative}.studio-shell-content{flex:1;line-height:1.2}.studio-back-link{margin-top:var(--space-4);align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-family:var(--font-manrope),sans-serif;transition:color var(--motion-fast)var(--ease-standard);background:0 0;border:none;font-size:.875rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.studio-back-link:hover{color:var(--color-text)}.studio-back-link i{font-size:.95rem}.studio-shell-footer{padding:var(--space-5)0;border-top:1px solid var(--color-border)}.studio-topbar{z-index:var(--z-header);-webkit-backdrop-filter:none;width:100%;height:64px;transition:box-shadow var(--motion-base)var(--ease-standard);background:0 0;border-bottom:none;flex-shrink:0;align-items:stretch;margin-top:2rem;display:flex;position:sticky;top:0}.studio-topbar:after{content:none;display:none}.studio-topbar-logo{align-items:center;text-decoration:none;display:flex}.studio-topbar-logo:hover{opacity:.85}.app-avatar-btn{border-radius:var(--radius-full);cursor:pointer;transition:border-color var(--motion-base)var(--ease-standard);background:0 0;border:2px solid #0000;justify-content:center;align-items:center;padding:0;display:flex}.app-avatar-btn:hover,.app-avatar-btn:focus-visible{border-color:var(--color-primary);outline:none}.app-user-menu{z-index:var(--z-dropdown);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);min-width:260px;box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden}.app-user-menu-header{align-items:center;gap:var(--space-3);padding:var(--space-4)var(--space-5);background:var(--color-primary-soft);border-bottom:1px solid var(--color-border);display:flex}.app-user-menu-header p{margin:0;line-height:1.3}.app-user-menu-body{padding:var(--space-2)0}.app-user-menu-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3)var(--space-5);text-align:left;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--color-text);cursor:pointer;transition:background var(--motion-fast)var(--ease-standard);background:0 0;border:none;display:flex}.app-user-menu-item:hover{background:var(--color-surface-alt)}.app-user-menu-item.text-danger{color:var(--color-danger)}.canvas-shell{background:var(--color-bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.canvas-shell-bar{height:52px;padding:0 var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:var(--z-header);flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.canvas-shell-bar-left,.canvas-shell-bar-right{align-items:center;gap:var(--space-3);display:flex}.canvas-shell-bar-center{justify-content:center;align-items:center;display:flex}.canvas-shell-title{font-family:var(--font-manrope),sans-serif;color:var(--color-text);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:.875rem;font-weight:600;overflow:hidden}.canvas-shell-bar-right{justify-content:flex-end}.canvas-shell-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.canvas-back-btn{align-items:center;gap:var(--space-2);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);padding:var(--space-1)var(--space-2);border-radius:var(--radius-md);transition:color var(--motion-fast),background var(--motion-fast);text-decoration:none;display:inline-flex}.canvas-back-btn:hover{color:var(--color-text);background:var(--color-surface-alt)}.centered-card-shell{min-height:100dvh;padding:var(--space-6)var(--space-4);justify-content:center;align-items:center;display:flex}.centered-card-shell--auth.landing-page-shell{background-image:radial-gradient(52% 34% at 12% 8%,rgba(var(--color-primary-rgb),.06)0%,rgba(var(--color-primary-rgb),0)100%),radial-gradient(44% 30% at 88% 14%,#11111108 0%,#1110 100%),radial-gradient(40% 28% at 16% 58%,rgba(var(--color-primary-rgb),.04)0%,rgba(var(--color-primary-rgb),0)100%),radial-gradient(44% 32% at 82% 72%,rgba(var(--color-primary-rgb),.03)0%,rgba(var(--color-primary-rgb),0)100%),linear-gradient(180deg,#fff 0%,#fff 100%)}.centered-card{background:var(--color-surface);border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-xl);padding:var(--space-10)}.centered-card--sm{max-width:480px;box-shadow:none;padding:var(--space-4)0;background:0 0;border-radius:0}.centered-card--md{max-width:680px}.centered-card-logo{margin-bottom:var(--space-7);justify-content:center;display:flex}.auth-form-shell{max-width:420px;min-height:360px;margin:0 auto}.auth-form-shell .auth-social-btn{background:var(--brand-100);color:var(--color-primary);border-color:#0000}.auth-form-shell .auth-social-btn:hover:not(:disabled){background:var(--brand-50);border-color:var(--color-border-brand)}.auth-form-shell .auth-divider-line{background:var(--color-border-strong);flex-grow:1;height:1px}.auth-form-shell .form-input-wrapper:has(.auth-email-input){background:var(--color-surface);border-color:var(--color-border-strong)}.auth-form-shell .auth-email-input{font-family:var(--font-body);font-size:var(--font-size-body);line-height:var(--line-height-body);background:0 0;border:none;border-radius:0;height:100%}.auth-form-shell .auth-email-input:focus{box-shadow:none;border:none}.auth-form-shell .auth-email-input::placeholder{color:var(--color-text-muted);opacity:1}
