:root{--paper: #f5efe4;--paper-2: #ede4d3;--paper-3: #e3d8c2;--ink: #1a1612;--ink-2: #3a322a;--ink-3: #6b5f50;--ink-4: #9a8c78;--accent: #c64a1f;--accent-deep: #9a3818;--accent-soft: #f4d8c8;--moss: #4a5a3a;--line: rgba(26, 22, 18, .12);--line-strong: rgba(26, 22, 18, .32);--font-display: "Fraunces", "Times New Roman", serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius-sm: 4px;--radius: 10px;--radius-lg: 18px;--ease: cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background-image:radial-gradient(rgba(26,22,18,.035) 1px,transparent 1px),radial-gradient(rgba(26,22,18,.025) 1px,transparent 1px);background-size:3px 3px,7px 7px;background-position:0 0,1px 2px;opacity:.7;mix-blend-mode:multiply}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;line-height:1.05;margin:0;color:var(--ink)}h1{font-size:clamp(2.8rem,6vw,5.2rem)}h2{font-size:clamp(2rem,4vw,3.2rem)}h3{font-size:1.5rem;letter-spacing:-.01em}p{margin:0}button{font-family:var(--font-body);font-size:.95rem;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:var(--font-body);font-size:.95rem;color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;font-weight:500;border-radius:var(--radius);transition:transform .18s var(--ease),background .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease);white-space:nowrap;letter-spacing:-.005em}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--accent);color:var(--paper)}.btn-accent{background:var(--accent);color:var(--paper)!important}.btn-accent:hover{background:var(--accent-deep);color:var(--paper)!important}a.btn-accent,a.btn-accent:visited{color:var(--paper)}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}.btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-sm{padding:8px 14px;font-size:.85rem}.btn-lg{padding:16px 30px;font-size:1.05rem}.input,.select,.textarea{width:100%;padding:12px 14px;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius);outline:none;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink);box-shadow:0 0 0 4px #1a161214}.label{display:block;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-bottom:6px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px}.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.container{max-width:1200px;margin:0 auto;padding:0 28px;position:relative;z-index:2}.container-narrow{max-width:720px;margin:0 auto;padding:0 28px;position:relative;z-index:2}.stack-sm>*+*{margin-top:8px}.stack>*+*{margin-top:16px}.stack-lg>*+*{margin-top:24px}.stack-xl>*+*{margin-top:40px}.row{display:flex;align-items:center;gap:16px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:16px}.row-tight{display:flex;align-items:center;gap:8px}.muted{color:var(--ink-3)}.tiny{font-size:.82rem}.mono{font-family:var(--font-mono)}.serif{font-family:var(--font-display)}.tag{display:inline-block;padding:4px 10px;font-size:.75rem;background:var(--paper-2);border:1px solid var(--line);border-radius:999px;color:var(--ink-2);font-weight:500}.tag-accent{background:var(--accent-soft);border-color:#c64a1f4d;color:var(--accent-deep)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:rise .7s var(--ease) both}.reveal-1{animation-delay:.05s}.reveal-2{animation-delay:.15s}.reveal-3{animation-delay:.25s}.reveal-4{animation-delay:.35s}.reveal-5{animation-delay:.45s}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;position:relative;z-index:2}.sidebar{background:var(--paper-2);border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-logo{font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-.02em;margin-bottom:36px;padding:0 10px;display:flex;align-items:baseline;gap:6px}.sidebar-logo .dot{width:8px;height:8px;background:var(--accent);border-radius:50%;display:inline-block;transform:translateY(-2px)}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);font-size:.94rem;color:var(--ink-2);transition:background .15s var(--ease),color .15s var(--ease);margin-bottom:2px}.nav-link:hover{background:#1a16120d;color:var(--ink)}.nav-link.active{background:var(--ink);color:var(--paper)}.nav-icon{width:16px;height:16px;display:inline-block;opacity:.85}.nav-section{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-4);padding:0 12px;margin:20px 0 8px}.main{padding:40px 48px;overflow-x:hidden}.page-header{margin-bottom:36px}.page-title{font-family:var(--font-display);font-size:2.4rem;font-weight:500;letter-spacing:-.02em;line-height:1;margin-bottom:6px}.page-sub{color:var(--ink-3);font-size:1rem}.toast-stack{position:fixed;bottom:28px;right:28px;z-index:50;display:flex;flex-direction:column;gap:10px}.toast{background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:var(--radius);font-size:.9rem;box-shadow:0 12px 32px -16px #00000073;animation:rise .3s var(--ease) both}.toast.error{background:var(--accent-deep)}@media (max-width: 880px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;flex-direction:row;overflow-x:auto;padding:14px 18px}.sidebar-logo{margin-bottom:0;margin-right:18px}.nav-section{display:none}.nav-link{white-space:nowrap;padding:8px 12px}.main{padding:28px 22px}}
