:root{--paper: #f5f2ea;--paper-raised: #fdfbf6;--paper-sunken: #eceadf;--ink: #1d2823;--ink-soft: #4c5a52;--ink-faint: #79857d;--line: #ddd7c8;--line-strong: #c8c1ae;--pine: #14584a;--pine-deep: #0d4033;--pine-bright: #1d7a63;--pine-wash: #e3ece7;--amber: #b97f1f;--amber-wash: #f6ecd8;--error: #a83c2a;--error-wash: #f7e6e1;--ok: #2c6e4f;--ok-wash: #e2efe6;--font-display: "Fraunces", Georgia, serif;--font-ui: "IBM Plex Sans", "Helvetica Neue", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--radius: 10px;--radius-lg: 16px;--shadow-card: 0 1px 2px rgba(29, 40, 35, .05), 0 6px 24px -8px rgba(29, 40, 35, .12);--shadow-pop: 0 2px 4px rgba(29, 40, 35, .08), 0 18px 48px -12px rgba(29, 40, 35, .22)}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--font-ui);font-size:15px;line-height:1.55;color:var(--ink);background-color:var(--paper);background-image:linear-gradient(rgba(29,40,35,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(29,40,35,.028) 1px,transparent 1px);background-size:32px 32px;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:560;letter-spacing:-.015em;color:var(--ink);margin:0}p{margin:0}a{color:var(--pine);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease}a:hover{border-bottom-color:currentColor}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.field input,.field select{font:inherit;color:var(--ink);background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius);padding:10px 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus{border-color:var(--pine);box-shadow:0 0 0 3px #14584a29}.field input::placeholder{color:var(--ink-faint)}.btn{font:inherit;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,transform .1s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--pine);color:#f4f6f3;box-shadow:0 1px 2px #0d403366}.btn-primary:hover:not(:disabled){background:var(--pine-deep);transform:translateY(-1px);box-shadow:0 4px 12px -2px #0d403373}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-ghost{background:transparent;color:var(--pine);border-color:var(--line-strong)}.btn-ghost:hover:not(:disabled){background:var(--pine-wash);border-color:var(--pine)}.btn-quiet{background:transparent;color:var(--ink-soft);padding:6px 10px}.btn-quiet:hover:not(:disabled){color:var(--ink);background:var(--paper-sunken)}.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.alert{border-radius:var(--radius);padding:10px 14px;font-size:14px;border:1px solid transparent}.alert-error{background:var(--error-wash);color:var(--error);border-color:#a83c2a40}.alert-ok{background:var(--ok-wash);color:var(--ok);border-color:#2c6e4f40}.mono{font-family:var(--font-mono)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;letter-spacing:.04em;padding:2px 9px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.badge-ok{background:var(--ok-wash);color:var(--ok);border-color:#2c6e4f4d}.badge-muted{background:var(--paper-sunken);color:var(--ink-soft);border-color:var(--line)}.badge-amber{background:var(--amber-wash);color:var(--amber);border-color:#b97f1f59}.badge-error{background:var(--error-wash);color:var(--error);border-color:#a83c2a4d}.grecaptcha-badge{visibility:hidden}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise-in .5s cubic-bezier(.22,1,.36,1) both}.rise-1{animation-delay:.05s}.rise-2{animation-delay:.12s}.rise-3{animation-delay:.19s}.rise-4{animation-delay:.26s}@media(prefers-reduced-motion:reduce){.rise,.rise-1,.rise-2,.rise-3,.rise-4{animation:none}}
