:root{--bg:#faf8f5;--surface:#ffffff;--surface-hover:#fdfbf8;--border:#ece7e0;--border-strong:#ddd5ca;--ink:#2b2320;--ink-soft:#6b625b;--ink-faint:#a89e94;--primary:#d97706;--primary-hover:#b45f04;--primary-contrast:#ffffff;--primary-tint:#fdf3e7;--danger:#b91c1c;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(43,35,32,0.06);--shadow-md:0 4px 14px rgba(43,35,32,0.08);--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--text-xs:0.8125rem;--text-sm:0.9375rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--content-max:1040px}*{box-sizing:border-box}body,html{margin:0;padding:0;max-width:100%;overflow-x:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.55;-webkit-font-smoothing:antialiased}main{max-width:var(--content-max);margin:0 auto;padding:var(--space-6) var(--space-5)}h1{font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;margin:0}h2{font-size:var(--text-lg);font-weight:650;letter-spacing:-.01em}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;border:1px solid transparent;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);background:var(--primary);color:var(--primary-contrast);font-weight:600;transition:background .15s ease,border-color .15s ease,color .15s ease}button:hover:not(:disabled){background:var(--primary-hover)}button:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--border-strong)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);border-color:var(--ink-soft)}input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);width:100%;max-width:100%;box-sizing:border-box}input::placeholder,textarea::placeholder{color:var(--ink-faint)}textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);resize:none;overflow:hidden;line-height:1.5;width:100%;max-width:100%;box-sizing:border-box;overflow-wrap:break-word}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}