:root{--primary:#06b6d4;--secondary:#8b5cf6;--warning:#f59e0b;--error:#ef4444;--bg-main:#0f172a;--bg-panel:#1e293b;--bg-input:#0b1120;--text-main:#f8fafc;--text-hero:#fff;--text-dim:#94a3b8;--border:#334155;--shadow:#0006;--scroll-thumb:#475569}.light-mode{--primary:#0891b2;--bg-main:#f8fafc;--bg-panel:#fff;--bg-input:#f1f5f9;--text-main:#1e293b;--text-hero:#0f172a;--text-dim:#64748b;--border:#e2e8f0;--shadow:#0000000d;--scroll-thumb:#cbd5e1}*{box-sizing:border-box}body,button,div,header,input,select,textarea{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}body{font-family:Inter,sans-serif;margin:0;padding:0}.app-shell,body{background-color:#0f172a;background-color:var(--bg-main);color:#f8fafc;color:var(--text-main);height:100vh;overflow:hidden}.app-shell{display:flex;transition:background-color .3s ease,color .3s ease;width:100%}.main-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.scrollable-workspace{flex:1 1;overflow-x:hidden;overflow-y:auto}.welcome-hero{padding:40px 20px;text-align:center;transition:all .5s ease}.welcome-hero.hidden{margin:0;max-height:0;opacity:0;overflow:hidden;padding:0}.editor-wrapper{display:flex;flex-direction:column;transition:all .5s ease}.editor-wrapper.initial{height:100%;margin:0 auto;max-width:900px;width:70%}.editor-wrapper.analyzed{height:100%;margin:0;width:100%}.analysis-panel{animation:slideIn .5s forwards;background-color:#1e293b;background-color:var(--bg-panel);border-left:1px solid #334155;border-left:1px solid var(--border);opacity:0}@keyframes slideIn{to{opacity:1}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#475569;background:var(--scroll-thumb);border-radius:4px}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton-wrapper{display:flex;flex-direction:column;gap:20px;padding:4px 0}.skeleton-bone{animation:shimmer 1.6s ease-in-out infinite;background:linear-gradient(90deg,#0b1120 25%,#334155 50%,#0b1120 75%);background:linear-gradient(90deg,var(--bg-input) 25%,var(--border) 50%,var(--bg-input) 75%);background-size:600px 100%}.skeleton-card{background-color:#0b1120;background-color:var(--bg-input);border-radius:6px;border-top:3px solid #0000;box-shadow:0 2px 4px #0006;box-shadow:0 2px 4px var(--shadow);padding:15px}.skeleton-card--primary{border-top-color:#06b6d4;border-top-color:var(--primary)}.skeleton-card--secondary{border-top-color:#8b5cf6;border-top-color:var(--secondary)}.skeleton-section{border-left:4px solid #0000;border-radius:4px;padding:14px}.skeleton-section--warning{background-color:#f59e0b12;border-left-color:#f59e0b;border-left-color:var(--warning)}.skeleton-section--tip{background-color:#06b6d412;border-left-color:#06b6d4;border-left-color:var(--primary)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-page{align-items:center;background:radial-gradient(ellipse at 20% 50%,#06b6d41f 0,#0000 60%),radial-gradient(ellipse at 80% 20%,#815cf81a 0,#0000 55%),radial-gradient(ellipse at 60% 80%,#06b6d412 0,#0000 50%),#0f172a;background:radial-gradient(ellipse at 20% 50%,#06b6d41f 0,#0000 60%),radial-gradient(ellipse at 80% 20%,#815cf81a 0,#0000 55%),radial-gradient(ellipse at 60% 80%,#06b6d412 0,#0000 50%),var(--bg-main);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative;width:100%}.auth-orb{animation:orbFloat 8s ease-in-out infinite;border-radius:50%;filter:blur(80px);pointer-events:none;position:absolute}.auth-orb-1{animation-delay:0s;background:#06b6d41f;height:400px;left:-100px;top:-100px;width:400px}.auth-orb-2{animation-delay:-3s;background:#815cf81a;bottom:-80px;height:300px;right:-80px;width:300px}.auth-orb-3{animation-delay:-5s;background:#06b6d414;height:200px;right:15%;top:50%;width:200px}@keyframes orbFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-30px) scale(1.05)}}.auth-card{animation:cardEntrance .5s cubic-bezier(.16,1,.3,1) forwards;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#1e293bd9;border:1px solid #334155cc;border-radius:20px;box-shadow:0 25px 60px #00000080,0 0 0 1px #06b6d40d,inset 0 1px 0 #ffffff0d;max-width:420px;padding:40px 36px;position:relative;width:100%;z-index:1}@keyframes cardEntrance{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-logo{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:28px}.auth-logo-img{animation:logoPulse 3s ease-in-out infinite;border-radius:10px;filter:drop-shadow(0 0 10px rgba(108,99,255,.65));height:44px;object-fit:contain;width:44px}@keyframes logoPulse{0%,to{filter:drop-shadow(0 0 8px rgba(108,99,255,.6))}50%{filter:drop-shadow(0 0 18px rgba(0,212,255,.85))}}.auth-logo-text{font-size:1.4rem;letter-spacing:-.3px}.auth-logo-text,.auth-title{color:#fff;color:var(--text-hero);font-weight:700}.auth-title{font-size:1.6rem;letter-spacing:-.4px;margin:0 0 6px;text-align:center}.auth-subtitle{color:#94a3b8;color:var(--text-dim);font-size:.875rem;margin:0 0 28px;text-align:center}.auth-form{gap:18px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-label{color:#94a3b8;color:var(--text-dim);font-size:.8rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.auth-input-wrapper{align-items:center;display:flex;position:relative}.auth-input-icon{align-items:center;color:#94a3b8;color:var(--text-dim);display:flex;left:14px;pointer-events:none;position:absolute;z-index:1}.auth-input{background:#0b1120b3;border:1px solid #334155;border:1px solid var(--border);border-radius:10px;color:#f8fafc;color:var(--text-main);font-family:Inter,sans-serif;font-size:.9rem;outline:none;padding:12px 14px 12px 42px;transition:border-color .2s,box-shadow .2s,background .2s;width:100%}.auth-input:focus{background:#06b6d40a;border-color:#06b6d4;border-color:var(--primary);box-shadow:0 0 0 3px #06b6d41f}.auth-input::placeholder{color:#94a3b8;color:var(--text-dim);opacity:.7}.auth-input-error{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441f!important}.auth-eye-btn{align-items:center;background:none;border:none;border-radius:4px;color:#94a3b8;color:var(--text-dim);cursor:pointer;display:flex;padding:4px;position:absolute;right:12px;transition:color .2s}.auth-eye-btn:hover{color:#f8fafc;color:var(--text-main)}.auth-strength{align-items:center;display:flex;gap:10px;margin-top:4px}.auth-strength-bars{display:flex;flex:1 1;gap:4px}.auth-strength-bar{border-radius:2px;flex:1 1;height:3px;transition:background-color .3s ease}.auth-strength-label{font-size:.75rem;font-weight:600;min-width:42px;text-align:right;transition:color .3s}.auth-field-hint{font-size:.75rem;font-weight:500;margin:0}.auth-error{align-items:center;animation:shake .35s ease;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#fca5a5;display:flex;font-size:.85rem;gap:8px;padding:11px 14px}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}60%{transform:translateX(6px)}}.auth-btn{align-items:center;background:linear-gradient(135deg,#06b6d4,#0891b2);background:linear-gradient(135deg,var(--primary),#0891b2);border:none;border-radius:10px;box-shadow:0 4px 20px #06b6d459;color:#000;cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:10px;justify-content:center;letter-spacing:.2px;margin-top:4px;padding:13px;transition:opacity .2s,transform .15s,box-shadow .2s;width:100%}.auth-btn:hover:not(:disabled){box-shadow:0 6px 25px #06b6d473;opacity:.9;transform:translateY(-1px)}.auth-btn:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{background:#334155;background:var(--border);box-shadow:none;color:#94a3b8;color:var(--text-dim);cursor:not-allowed}.auth-spinner{animation:spin .7s linear infinite;border:2px solid #0003;border-radius:50%;border-top-color:#000;flex-shrink:0;height:16px;width:16px}.auth-switch{color:#94a3b8;color:var(--text-dim);font-size:.875rem;margin:20px 0 0;text-align:center}.auth-switch-link{background:none;border:none;color:#06b6d4;color:var(--primary);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px;transition:opacity .2s}.auth-switch-link:hover{opacity:.8}