@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;1,600&family=Outfit:wght@300;400;500;600&family=Inter:wght@300;400;500;600&family=Lora:ital,wght@0,400;0,500;0,600;1,400&family=Merriweather:ital,wght@0,300;0,400;0,700;1,400&family=Source+Sans+3:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap");:root{--manila:#2a2118;--manila-dark:#332819;--manila-deeper:#3d3020;--tan:#cb9976;--tan-dark:#a87855;--tan-light:#b8875f;--cream:#1c1510;--cream-dark:#231a11;--paper:#201812;--ink:#e8d5b0;--ink-mid:#c4a878;--ink-light:#8b7355;--ink-faint:#5c4a30;--rust:#c0614a;--sage:#7a9e7a;--navy:#4a6a8f;--sidebar-bg:#241c13;--sidebar-hover:#2e2318;--sidebar-active:#3a2c1c;--header-bg:#2a2016;--divider:#3d2e1a;--shadow-sm:0 1px 3px rgba(0,0,0,.4);--shadow-md:0 4px 12px rgba(0,0,0,.5);--shadow-lg:0 8px 24px rgba(0,0,0,.6);--shadow-paper:2px 2px 8px rgba(0,0,0,.4);--font-display:"Playfair Display",Georgia,serif;--font-body:"Outfit",system-ui,sans-serif;--font-mono:"JetBrains Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:var(--font-body);background:var(--cream);color:var(--ink);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(180,140,60,.04) 0,rgba(180,140,60,.04) 29px);pointer-events:none;z-index:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--tan-dark);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--tan)}::selection{background:hsla(25,45%,63%,.35);color:var(--ink)}button{cursor:pointer;border:none;background:none}button,input,textarea{font-family:var(--font-body)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes tabOpen{0%{opacity:0;transform:scaleY(.96)}to{opacity:1;transform:scaleY(1)}}.animate-fade{animation:fadeIn .25s ease forwards}.animate-slide{animation:slideIn .2s ease forwards}