@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap";:root{color:#111827;background:#f8fafc;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1,h2,h3,p{margin:0}button,input,textarea{font:inherit}:root{--bg-base:#090b10;--bg-surface:#0e1118;--bg-card:#13171f;--bg-card-hover:#181d28;--bg-input:#0e1118;--border:#ffffff12;--border-focus:#8b5cf699;--text-primary:#f0f2f8;--text-secondary:#8b93a8;--text-muted:#4a5268;--accent:#8b5cf6;--accent-glow:#8b5cf659;--accent-2:#06b6d4;--accent-2-glow:#06b6d440;--danger:#f43f5e;--danger-glow:#f43f5e4d;--success:#10b981;--shadow-card:0 8px 32px #0000008c;--shadow-glow:0 0 40px #8b5cf61f;--noise-opacity:.04;--scheme:dark}[data-theme=light]{--bg-base:#f5f3ff;--bg-surface:#ece9ff;--bg-card:#fff;--bg-card-hover:#f9f7ff;--bg-input:#f0edff;--border:#8b5cf624;--border-focus:#8b5cf68c;--text-primary:#1a1033;--text-secondary:#6052a1;--text-muted:#a99fd6;--accent:#7c3aed;--accent-glow:#7c3aed38;--accent-2:#0891b2;--accent-2-glow:#0891b233;--danger:#e11d48;--danger-glow:#e11d482e;--success:#059669;--shadow-card:0 4px 24px #6450c81a;--shadow-glow:0 0 40px #8b5cf612;--noise-opacity:.025;--scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text-primary);background-color:var(--bg-base);min-height:100dvh;font-family:DM Sans,sans-serif;font-size:15px;line-height:1.6;transition:background-color .4s,color .4s;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;opacity:var(--noise-opacity);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)'/%3E%3C/svg%3E");position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(ellipse 60% 40% at 15% 20%, var(--accent-glow) 0%, transparent 70%), radial-gradient(ellipse 50% 35% at 85% 75%, var(--accent-2-glow) 0%, transparent 70%);transition:opacity .5s;position:fixed;inset:0}.theme-toggle{z-index:1000;background:var(--bg-card);border:1.5px solid var(--border);cursor:pointer;width:48px;height:28px;box-shadow:var(--shadow-card), 0 0 12px var(--accent-glow);border-radius:999px;align-items:center;padding:0;transition:background .35s,border-color .35s,box-shadow .35s;display:flex;position:fixed;top:1.25rem;right:1.25rem;overflow:hidden}.theme-toggle:hover{border-color:var(--border-focus);box-shadow:var(--shadow-card), 0 0 20px var(--accent-glow)}.theme-toggle-knob{background:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .35s;display:flex;position:absolute;left:4px;box-shadow:0 2px 8px #00000059}[data-theme=light] .theme-toggle-knob{transform:translate(20px)}.shell{z-index:1;flex-direction:column;gap:2rem;max-width:780px;margin:0 auto;padding:3rem 1.5rem 5rem;animation:.6s both fadeUp;display:flex;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card), var(--shadow-glow);border-radius:20px;padding:2rem;transition:background .35s,border-color .35s,box-shadow .35s;animation:.5s both cardIn;position:relative;overflow:hidden}.card:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff0a 0%,#0000 60%);position:absolute;inset:0}@keyframes cardIn{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.centered{justify-content:center;align-items:center;min-height:180px;display:flex}.auth-card{text-align:center;max-width:440px;margin:6rem auto 0;padding:2.5rem 2rem}.auth-card h1{letter-spacing:-.03em;background:linear-gradient(135deg, var(--text-primary) 30%, var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.4rem;font-family:Playfair Display,serif;font-size:2.6rem;font-weight:900;animation:4s infinite alternate gradientShift}@keyframes gradientShift{0%{filter:hue-rotate()}to{filter:hue-rotate(30deg)}}.subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.9rem;font-weight:300}.auth-form{flex-direction:column;gap:.85rem;margin-bottom:1rem;display:flex}.auth-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.auth-divider{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin:.75rem 0;font-size:.8rem;position:relative}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);width:38%;height:1px;position:absolute;top:50%}.auth-divider:before{left:0}.auth-divider:after{right:0}.dashboard-header{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:20px;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 2rem;animation:.5s both cardIn;display:flex;position:relative;overflow:hidden}.dashboard-header:after{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent));background-size:200% 100%;height:2px;animation:3s linear infinite shimmer;position:absolute;bottom:0;left:0;right:0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.profile-wrap{align-items:center;gap:1.1rem;display:flex}.profile-wrap h1{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:.1rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700}.profile-wrap>div>p{color:var(--text-secondary);font-size:.85rem;font-weight:500}.avatar{object-fit:cover;border:2px solid var(--accent);width:52px;height:52px;box-shadow:0 0 16px var(--accent-glow);border-radius:50%;flex-shrink:0;transition:transform .3s,box-shadow .3s}.avatar:hover{box-shadow:0 0 28px var(--accent-glow);transform:scale(1.08)}.avatar.fallback{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;cursor:default;justify-content:center;align-items:center;font-family:Playfair Display,serif;font-size:1.3rem;font-weight:700;display:flex}input,textarea{background:var(--bg-input);border:1.5px solid var(--border);width:100%;color:var(--text-primary);resize:vertical;border-radius:12px;outline:none;padding:.75rem 1rem;font-family:DM Sans,sans-serif;font-size:.92rem;transition:border-color .25s,box-shadow .25s,background .25s}input::placeholder,textarea::placeholder{color:var(--text-muted);font-weight:300}input:focus,textarea:focus{border-color:var(--border-focus);background:var(--bg-card);box-shadow:0 0 0 3px var(--accent-glow)}button{cursor:pointer;letter-spacing:.01em;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.72rem 1.3rem;font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .25s,opacity .2s;display:inline-flex;position:relative;overflow:hidden}button:after{content:"";background:#fff0;transition:background .2s;position:absolute;inset:0}button:hover:after{background:#ffffff0f}button:active{transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.primary-btn{background:linear-gradient(135deg, var(--accent), #7c3aed);color:#fff;box-shadow:0 4px 20px var(--accent-glow)}.primary-btn:hover:not(:disabled){box-shadow:0 8px 28px var(--accent-glow);transform:translateY(-2px)}.secondary-btn{background:var(--bg-surface);color:var(--text-primary);border:1.5px solid var(--border)}.secondary-btn:hover:not(:disabled){border-color:var(--border-focus);box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-1px)}.text-btn{color:var(--text-secondary);background:0 0;border-radius:6px;padding:.4rem .6rem;font-size:.82rem}.text-btn:hover:not(:disabled){color:var(--accent);background:#8b5cf614}.danger-btn{color:var(--danger);background:#f43f5e1a;border:1px solid #f43f5e40;padding:.5rem 1rem;font-size:.82rem}.danger-btn:hover:not(:disabled){border-color:var(--danger);box-shadow:0 4px 16px var(--danger-glow);background:#f43f5e2e;transform:translateY(-1px)}.danger-text{color:var(--danger);font-size:.8rem}.danger-text:hover:not(:disabled){color:var(--danger);background:#f43f5e1a}.create-card h2{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:1.2rem;font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700}.note-form{flex-direction:column;gap:.85rem;display:flex}.add-field-row{align-items:center;gap:.5rem;display:flex}.dynamic-field{align-items:center;gap:.6rem;animation:.3s cubic-bezier(.34,1.56,.64,1) both fieldIn;display:flex}@keyframes fieldIn{0%{opacity:0;transform:translate(-10px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.dynamic-field input{flex:1}.notes-card h2{letter-spacing:-.02em;color:var(--text-primary);font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700}.notes-head{justify-content:space-between;align-items:baseline;margin-bottom:1.25rem;display:flex}.notes-head p{color:var(--text-muted);font-size:.8rem;font-weight:500}.notes-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:.5rem;display:grid}.note-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:.65rem;padding:1.25rem;transition:transform .25s,box-shadow .25s,border-color .25s,background .25s;animation:.4s both noteIn;display:flex;position:relative;overflow:hidden}.note-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));opacity:0;height:3px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.note-card:hover{background:var(--bg-card-hover);border-color:#8b5cf640;transform:translateY(-4px);box-shadow:0 16px 40px #00000059,0 0 0 1px #8b5cf61a}.note-card:hover:before{opacity:1}@keyframes noteIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.note-card h3{color:var(--text-primary);letter-spacing:-.01em;font-family:Playfair Display,serif;font-size:1.05rem;font-weight:700;line-height:1.35}.note-card p{color:var(--text-secondary);font-size:.87rem;line-height:1.55}.note-block{flex-direction:column;gap:.35rem;margin-top:.2rem;display:flex}.note-link{color:var(--accent-2);word-break:break-all;background:#06b6d414;border:1px solid #06b6d42e;border-radius:6px;align-items:center;padding:.3rem .6rem;font-size:.8rem;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.note-link:hover{color:#fff;background:#06b6d42e}.note-link:before{content:"↗";margin-right:4px;font-size:.75rem}.meta{color:var(--text-muted);font-size:.75rem;font-weight:400}.status{color:var(--text-muted);text-align:center;padding:1rem 0;font-size:.88rem;font-style:italic}.status:first-child{animation:1.8s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.error{color:var(--danger);background:#f43f5e14;border:1px solid #f43f5e33;border-radius:10px;padding:.65rem 1rem;font-size:.83rem;animation:.25s slideIn}.success{color:var(--success);background:#10b98114;border:1px solid #10b98133;border-radius:10px;padding:.65rem 1rem;font-size:.83rem;animation:.25s slideIn}.global-error{z-index:999;text-align:center;min-width:220px;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #f43f5e4d}@keyframes slideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.reset-wrap{flex-direction:column;gap:.65rem;margin-top:.25rem;animation:.3s both fieldIn;display:flex}.reset-feedback{margin-top:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media (width<=640px){.shell{padding:2rem 1rem 4rem}.card{padding:1.5rem 1.25rem}.auth-card{margin-top:3.5rem}.dashboard-header{flex-direction:column;align-items:flex-start}.notes-grid,.auth-actions{grid-template-columns:1fr}}.note-card:first-child{animation-delay:50ms}.note-card:nth-child(2){animation-delay:.1s}.note-card:nth-child(3){animation-delay:.15s}.note-card:nth-child(4){animation-delay:.2s}.note-card:nth-child(5){animation-delay:.25s}.note-card:nth-child(6){animation-delay:.3s}
