:root{--paper:#efe7da;--ink:#2a241f;--field-bg:#e9decc;--field-border:rgba(0,0,0,.26);--field-border-focus:rgba(0,0,0,.45);--field-radius:12px;--error:#9c2b2b}.form-control{display:block;width:100%;min-height:44px;padding:.65rem .9rem;color:var(--ink);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--field-radius);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.form-control::placeholder{color:#00000073}.form-control:focus{border-color:var(--field-border-focus);box-shadow:0 0 0 3px #00000014;background:color-mix(in srgb,var(--field-bg) 92%,black 8%)}select.form-control{padding-right:2.2rem;appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(0,0,0,.55) 50%),linear-gradient(135deg,rgba(0,0,0,.55) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 12px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}textarea.form-control{resize:vertical;line-height:1.5}.form-control[aria-invalid=true]{border-color:color-mix(in srgb,var(--error) 70%,black 10%);box-shadow:0 0 0 3px color-mix(in srgb,var(--error) 20%,transparent 80%)}.field-error{font-size:.82rem;color:var(--error);min-height:1em}.btn,.btn-primary,.btn-ghost{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.65rem 1.05rem;border-radius:12px;border:1px solid transparent;line-height:1;text-decoration:none;cursor:pointer;user-select:none;transition:transform .06s ease,box-shadow .15s ease,opacity .15s ease,background-color .15s ease,border-color .15s ease;white-space:nowrap}.btn-primary{color:#fff;background:var(--ink);border-color:#0009;box-shadow:0 1px #ffffff14 inset,0 2px 6px #00000014}.btn-primary:hover{transform:translateY(1px)}.btn-primary:active{transform:translateY(1px) scale(.99)}.btn-ghost{color:var(--ink);background:transparent;border-color:color-mix(in srgb,var(--ink) 18%,transparent);box-shadow:0 1px #ffffff14 inset,0 2px 6px #0000000a}.btn-ghost:hover{background:color-mix(in srgb,var(--field-bg) 70%,white 30%)}.btn-ghost:active{transform:translateY(1px) scale(.99)}.btn:disabled,.btn-primary:disabled,.btn-ghost:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.dropzone{background:var(--field-bg);border:1px dashed var(--field-border);border-radius:var(--field-radius);padding:2rem;cursor:pointer}.dz-inner{display:flex;align-items:center;gap:1rem;justify-content:center}.dz-icon{font-size:1.25rem;opacity:.7}.dz-title{font-weight:600}.dz-subtitle{font-size:.9rem;opacity:.75}.dropzone.dz-over{outline:3px solid rgba(0,0,0,.12);outline-offset:2px;background:#00000008}.upload-progress{margin-top:10px;display:grid;gap:6px;color:var(--ink)}.upload-progress.hidden{display:none}.upload-progress-bar{width:100%;height:8px;border-radius:9999px;background:color-mix(in srgb,var(--field-bg) 85%,black 15%);overflow:hidden;border:1px solid var(--field-border)}.upload-progress-bar-fill{height:100%;width:0%;background:var(--ink);transition:width .15s linear}.upload-progress-label{font-size:.875rem;opacity:.75}.page-lock{position:fixed;inset:0;z-index:9999;background:#efe7da8c;backdrop-filter:saturate(1.1) blur(1px);display:none;align-items:center;justify-content:center}.page-lock.visible{display:flex}.page-lock .spinner{width:38px;height:38px;border-radius:9999px;border:3px solid color-mix(in srgb,var(--ink) 20%,transparent);border-top-color:var(--ink);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
