:root{--bg:#f6f4ef;--surface:#fff;--surface-2:#faf8f4;--border:#e5e0d5;--border-strong:#cbc4b5;--text:#1f2328;--muted:#5c6168;--accent:#2f6f4f;--accent-hover:#245a3f;--accent-soft:#e7f1eb;--accent-text:#24573e;--danger:#a3271b;--danger-soft:#fcecea;--danger-border:#e8bcb6;--info-border:#c7ddd0;--notice-soft:#fff6db;--notice-border:#e8cf7a;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px rgba(31,35,40,.06),0 6px 20px rgba(31,35,40,.06);--ring:0 0 0 3px rgba(47,111,79,.35);--mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace}*,*:before,*:after{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1{margin:0 0 1rem;font-size:1.5rem;line-height:1.25;font-weight:650;letter-spacing:-.01em}h2{margin:1.75rem 0 .75rem;font-size:1.0625rem;line-height:1.3;font-weight:650}p{margin:0 0 .75rem}a{color:var(--accent-text);text-underline-offset:2px}a:hover{color:var(--accent-hover)}code{font-family:var(--mono);font-size:.875em;padding:.1em .4em;border-radius:6px;background:var(--accent-soft);color:var(--accent-text)}.muted{color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.5rem;padding:.5rem 1rem;border:1px solid var(--accent);border-radius:var(--radius-sm);font:inherit;font-weight:600;line-height:1.2;color:#fff;background:var(--accent);text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}button:hover,.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}button:disabled{opacity:.5;cursor:default;background:var(--accent);border-color:var(--accent)}button.secondary,.btn.secondary{color:var(--text);background:var(--surface);border-color:var(--border-strong)}button.secondary:hover,.btn.secondary:hover{color:var(--text);background:var(--surface-2);border-color:var(--muted)}button.danger{color:var(--danger);background:var(--surface);border-color:var(--danger-border)}button.danger:hover{color:#fff;background:var(--danger);border-color:var(--danger)}button.link{min-height:0;padding:0;border:0;background:none;font-weight:500;color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}button.link:hover{background:none;color:var(--accent-hover)}button svg,.btn svg{flex:none}input:not([type=hidden]),select,textarea{display:block;width:100%;padding:.5rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;font-weight:400;color:var(--text);background:var(--surface);transition:border-color .15s,box-shadow .15s}input:not([type=hidden]),select{min-height:2.5rem}select{padding-right:2rem;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:right 1rem center,right .7rem center;background-size:.3rem .3rem;background-repeat:no-repeat}textarea{resize:vertical}input:hover,select:hover,textarea:hover{border-color:var(--muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}::placeholder{color:#6b7077}@media(max-width:767px),(max-height:560px)and (pointer:coarse){input:not([type=hidden]),select,textarea{font-size:16px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.error,.info,.flash{padding:.625rem .875rem;border:1px solid;border-radius:var(--radius-sm);overflow-wrap:anywhere}.error{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-border)}.info{color:var(--accent-text);background:var(--accent-soft);border-color:var(--info-border)}.flash{color:var(--text);background:var(--notice-soft);border-color:var(--notice-border)}table{width:100%;border-collapse:separate;border-spacing:0;margin:0 0 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}th,td{padding:.625rem .875rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--border);overflow-wrap:anywhere}thead th{font-size:.8125rem;font-weight:600;color:var(--muted);background:var(--surface-2);overflow-wrap:normal}tbody tr:last-child>*{border-bottom:0}tbody tr:nth-child(2n){background:var(--surface-2)}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.banner{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;padding:.5rem 1.25rem;color:#5a4507;background:var(--notice-soft);border-bottom:1px solid var(--notice-border);font-weight:500}.banner button{min-height:2rem;padding:.25rem .75rem;font-size:.875rem}.brand{display:flex;align-items:center;gap:.625rem;font-weight:700;font-size:1.0625rem;letter-spacing:-.01em;color:var(--text)}.brand svg{flex:none;width:2rem;height:2rem}
