@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500&family=DM+Mono:wght@400&display=swap";:root{--ink: #0f0e17;--paper: #fffffe;--cream: #f4f1e8;--sage: #e8ede9;--accent: #c84b31;--accent-soft: #f5e9e6;--gold: #c9963a;--gold-soft: #fdf5e0;--teal: #2a7c6f;--teal-soft: #e2f0ee;--muted: #6b6861;--border: #d6d0c4;--border-light: #ece8df;--sidebar-bg: #0f0e17;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:DM Sans,sans-serif;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased}.serif{font-family:Playfair Display,serif}.mono{font-family:DM Mono,monospace}input,textarea,select{font-family:DM Sans,sans-serif;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;background:var(--paper);color:var(--ink);width:100%;outline:none;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--teal)}textarea{resize:vertical;min-height:80px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.anim-fade-up{animation:fadeUp .32s ease both}.anim-fade-up-2{animation:fadeUp .32s .07s ease both}.anim-fade-up-3{animation:fadeUp .32s .14s ease both}.anim-fade-up-4{animation:fadeUp .32s .21s ease both}.anim-slide-in{animation:slideIn .28s ease both}.anim-scale-in{animation:scaleIn .25s ease both}.btn{display:inline-flex;align-items:center;gap:7px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;border-radius:var(--radius-md);padding:9px 18px;cursor:pointer;transition:all .15s;border:none;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover:not(:disabled){background:#2a2820}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){filter:brightness(1.08)}.btn-teal{background:var(--teal);color:#fff}.btn-teal:hover:not(:disabled){filter:brightness(1.08)}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--paper);color:var(--ink);border-color:#aaa8a0}.btn-danger{background:transparent;color:var(--accent);border:1px solid #e8c4bb}.btn-danger:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.btn-icon{background:none;border:none;padding:6px;border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;transition:all .15s;line-height:0}.btn-icon:hover{background:var(--cream);color:var(--ink)}.btn-icon.danger:hover{background:var(--accent-soft);color:var(--accent)}.card{background:var(--paper);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px 24px}.tag{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border-radius:20px}.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--border-light);border-top-color:var(--teal);border-radius:50%;animation:spin .65s linear infinite}.spinner-sm{width:14px;height:14px}.divider{height:1px;background:var(--border-light);margin:20px 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0e178c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-box{background:var(--paper);border-radius:var(--radius-xl);border:1px solid var(--border-light);width:100%;display:flex;flex-direction:column;animation:scaleIn .22s ease both}
