:root{--c-bg-main: #08070d;--c-bg-elevated: #13101d;--c-bg-card: rgba(17, 14, 28, .74);--c-text-main: #f8f5ff;--c-text-muted: #b6abcc;--c-border: rgba(255, 255, 255, .14);--c-border-accent: rgba(168, 85, 247, .26);--c-accent-primary: #ff4fd8;--c-accent-secondary: #a855f7;--c-danger: #ff687f;--radius-md: 12px;--radius-lg: 18px;--shadow-soft: 0 18px 34px rgba(0, 0, 0, .32);--shadow-neon: 0 0 0 1px rgba(255, 79, 216, .3), 0 0 34px rgba(168, 85, 247, .35);--ease-snappy: cubic-bezier(.22, 1, .36, 1);font-family:Space Grotesk,Sora,Inter,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh;color:var(--c-text-main);background:radial-gradient(1200px 620px at 86% -6%,rgba(168,85,247,.24),transparent 60%),radial-gradient(1100px 620px at -8% 24%,rgba(255,79,216,.2),transparent 60%),var(--c-bg-main)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{border:0;background:transparent;cursor:pointer}img,canvas{display:block;max-width:100%}.app-shell{width:min(1240px,100% - 48px);margin:0 auto}.glass-panel{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--radius-lg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-soft)}.neon-border{border-color:var(--c-border-accent);box-shadow:var(--shadow-neon)}.neon-text{color:var(--c-accent-primary);text-shadow:0 0 22px rgba(255,79,216,.4)}.text-muted{color:var(--c-text-muted)}.page-enter{animation:page-enter .42s var(--ease-snappy) both}.animate-spin{animation:spin .9s linear infinite}.landing-reveal{display:inline-block;animation:landing-reveal .68s var(--ease-snappy) both;will-change:transform,opacity}@keyframes page-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes landing-reveal{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.app-shell{width:min(100% - 24px,1240px)}.landing-grid,.editor-grid{grid-template-columns:1fr!important}}
