@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans:wght@400;500;600;700&display=swap");:root{--bg:#070f08;--panel:#0d1a0e;--panel2:#122016;--panel3:#182a1c;--border:#263b2b;--border2:#2e4a35;--teal:#6ee7b7;--teal2:#34d399;--gold:#f59e0b;--gold-l:#fcd34d;--sky:#38bdf8;--ember:#fb923c;--rose:#f87171;--violet:#a78bfa;--text:#e2e8f0;--mid:#94a3b8;--dim:#4b5563;--white:#f8fafc;--font-serif:"Instrument Serif","Noto Sans",Georgia,serif;--font-mono:"JetBrains Mono","Noto Sans",ui-monospace,monospace;--font-body:"Manrope","Noto Sans",system-ui,sans-serif;--sidebar-w:224px;--topbar-h:56px;--radius:12px;--radius-sm:8px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.font-serif{font-family:var(--font-serif)}.font-mono{font-family:var(--font-mono)}.text-white{color:var(--white)}.text-mid{color:var(--mid)}.text-dim{color:var(--dim)}.text-teal{color:var(--teal)}.text-gold{color:var(--gold)}.text-sky{color:var(--sky)}.text-ember{color:var(--ember)}.rf-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;position:relative;overflow:hidden;transition:border-color .2s}.rf-panel:hover{border-color:var(--border2)}.rf-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(110,231,183,.1),transparent)}.rf-badge{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;letter-spacing:.04em}.rf-bar{height:4px;background:var(--panel3);border-radius:2px;overflow:hidden}.rf-bar-fill{height:100%;border-radius:2px;transition:width .8s ease}@keyframes rf-fadeup{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rf-anim{animation:rf-fadeup .3s ease both}