:root{--green-900: #0e3220;--green-700: #1a5c3d;--green-500: #28855c;--green-100: #c8e8d4;--wood: #a87548;--wood-light: #ead8c8;--wood-dark: #6e4e2e;--stone: #f1ece3;--stone-light: #f8f5f0;--stone-dark: #d8d0c5;--amber: #b87c1a;--text: #191410;--text-muted: #78706a;--text-light: #aba39a;--white: #ffffff;--shadow: 0 2px 12px rgba(0,0,0,.06);--shadow-hover: 0 6px 24px rgba(0,0,0,.1);--radius: 14px;--radius-sm: 8px;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background:var(--stone);color:var(--text);min-height:100vh;display:flex;flex-direction:column;line-height:1.6}a{color:var(--green-700);text-decoration:none;transition:color .2s}a:hover{color:var(--green-500)}::selection{background:var(--green-100);color:var(--green-900)}.container{width:100%;max-width:640px;margin:0 auto;padding:0 1.25rem}.page-wrap{flex:1;width:100%;max-width:640px;margin:0 auto;padding:0 1.25rem}nav{padding:1.25rem 0;display:flex;align-items:center;gap:.65rem;border-bottom:1px solid var(--stone-dark);margin-bottom:2rem}.nav-mark{width:30px;height:30px;background:var(--green-900);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.95rem;line-height:1;flex-shrink:0}nav .logo{font-family:var(--font-display);font-size:1.15rem;font-weight:500;font-variation-settings:"opsz" 16;color:var(--green-900);letter-spacing:-.01em}nav .logo:hover{text-decoration:none;color:var(--green-700)}nav .spacer{flex:1}nav .gh-link{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-light)}nav .gh-link:hover{color:var(--text-muted);text-decoration:none}nav .gh-link svg{width:14px;height:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.65rem 1.4rem;background:var(--green-700);color:var(--white);border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;line-height:1;box-shadow:0 1px 4px #00000024;-webkit-font-smoothing:antialiased}.btn:hover{background:var(--green-500);transform:translateY(-1px);box-shadow:var(--shadow)}.btn:active{transform:translateY(0);box-shadow:none}.btn:focus-visible{outline:2px solid var(--green-500);outline-offset:2px}.btn-secondary{background:var(--white);color:var(--text-muted);border:1px solid var(--stone-dark);box-shadow:none}.btn-secondary:hover{background:var(--stone-light);color:var(--green-900);border-color:var(--wood);box-shadow:none}input,textarea{width:100%;padding:.7rem .9rem;border:1px solid var(--stone-dark);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.95rem;background:var(--white);color:var(--text);transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px #28855c1f}footer{margin-top:3rem;padding:2rem 0;text-align:center;border-top:1px solid var(--stone-dark);font-size:.8rem;color:var(--text-muted);line-height:1.8}footer .strong{font-weight:600;color:var(--green-900)}footer .manifesto{max-width:380px;margin:.75rem auto 0;font-family:var(--font-display);font-style:italic;font-variation-settings:"opsz" 12;font-size:.78rem;color:var(--text-light);line-height:1.65}.toast-container{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:999;display:flex;flex-direction:column;gap:.5rem;align-items:center;pointer-events:none}.toast{padding:.6rem 1.2rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;background:var(--green-900);color:#fff;box-shadow:var(--shadow-hover);animation:toast-in .25s ease-out both;pointer-events:auto;max-width:90vw;text-align:center}.toast-error{background:#991b1b}.toast-leave{animation:toast-out .2s ease-in both}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@media(max-width:520px){.page-wrap{padding:0 1rem}nav{padding:1rem 0;margin-bottom:1.5rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
