:root{--bg: #eae9d3;--surface: #ffffed;--surface-hover: #f5f4de;--surface-elevated: #ffffff;--border: #d4d3bd;--border-muted: #e2e1cb;--border-strong: #a8a895;--primary: #6b8ea3;--primary-hover: #5a7a8f;--primary-subtle: #6b8ea315;--secondary: #a3b2b5;--text-1: #081118;--text-2: #456377;--text-3: #7a8a95;--icon: #081118;--icon-muted: #456377;--success: #3ac461;--success-subtle: #3ac46115;--warning: #c4ad3a;--warning-subtle: #c4ad3a15;--error: #c43a3c;--error-subtle: #c43a3c15;--hover: #45637715;--disabled: #c2d7e2;--stroke: var(--border);--stroke-strong: var(--border-strong);--text-on-primary: #ffffed;--c-card: var(--surface);--c-card-2: var(--surface-hover);--c-border: var(--border);--c-border-2: var(--border-muted);--c-text: var(--text-1);--c-text-2: var(--text-2);--c-muted: var(--text-2);--c-muted-2: var(--text-3);--c-primary: var(--primary);--c-accent: var(--primary);--c-input: var(--surface-hover);--c-red: var(--error);--c-red-bg: var(--error-subtle);--c-green: var(--success);--c-yellow: var(--warning)}html.dark{--bg: #151515;--surface: #222222;--surface-hover: #2a2a2a;--surface-elevated: #2e2e2e;--border: #3a3a3a;--border-muted: #2e2e2e;--border-strong: #4a4a4a;--primary: #a0c7cf;--primary-hover: #8dafb8;--primary-subtle: #a0c7cf18;--secondary: #7a979d;--text-1: #eae9d3;--text-2: #7a979d;--text-3: #637a7f;--icon: #eae9d3;--icon-muted: #7a979d;--success: #3ac461;--success-subtle: #3ac46118;--warning: #c4ad3a;--warning-subtle: #c4ad3a18;--error: #c43a3c;--error-subtle: #c43a3c18;--hover: #a0c7cf12;--disabled: #2a2a2a;--stroke: var(--border);--stroke-strong: var(--border-strong);--text-on-primary: #151515}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:Gravity,system-ui,sans-serif;background:var(--bg);color:var(--text-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .3s ease,color .3s ease}code,.mono{font-family:JetBrains Mono,monospace}svg{color:var(--icon);stroke:currentColor;flex-shrink:0}svg.muted,.icon-muted svg{color:var(--icon-muted)}.rc-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.rc-card--flush{padding:0}.rc-divider{height:1px;background:var(--border-muted);border:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-spin{animation:spin .7s linear infinite}.animate-fadeIn{animation:fadeIn .2s ease forwards}.animate-slideUp{animation:slideUp .25s ease forwards}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:var(--primary-subtle);color:var(--text-1)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.anim-slide-right{animation:slideInRight .24s cubic-bezier(.16,1,.3,1) forwards}@keyframes modalIn{0%{transform:scale(.95) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.anim-modal{animation:modalIn .2s cubic-bezier(.16,1,.3,1) forwards}@keyframes subForward{0%{transform:translate(28px);opacity:0}to{transform:translate(0);opacity:1}}.anim-sub-forward{animation:subForward .18s ease forwards}@keyframes subBack{0%{transform:translate(-28px);opacity:0}to{transform:translate(0);opacity:1}}.anim-sub-back{animation:subBack .18s ease forwards}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.anim-page{animation:pageEnter .22s ease forwards}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.anim-backdrop{animation:backdropIn .18s ease forwards}.anim-fade-slide{animation:fadeIn .18s ease forwards}html.dark img[src^="/icons/"]:not([src*=logo]){filter:invert(.92)}
