:root{--paper:#fff;--paper-2:#f6f6f4;--white:#fff;--ink:#121212;--ink-2:#363636;--muted:#5a5a5a;--faint:#999;--rule:#e2e2e2;--rule-strong:#121212;--accent:#ffbf00;--accent-ink:#111;--accent-text:color-mix(in srgb, var(--accent) 52%, #000);--danger:#b3261e;--danger-bg:#fbeceb;--ok:#1d7a46;--ok-bg:#e8f4ec;--focus:#2f6fdb;--font-nameplate:"UnifrakturMaguntia", "Old English Text MT", serif;--font-display:"Source Serif 4", Georgia, "Times New Roman", serif;--font-body:"Source Serif 4", Georgia, "Times New Roman", serif;--font-ui:"Libre Franklin", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius:3px;--radius-lg:6px;--shadow:0 1px 2px #0000000f, 0 4px 14px #0000000f;--shadow-lg:0 18px 50px #0000002e;--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:1rem;line-height:1.6}img,svg,canvas{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}[hidden]{display:none!important}img.is-broken{visibility:hidden}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}mark{background:color-mix(in srgb, var(--accent) 45%, transparent);color:inherit;padding:0 1px}.kicker{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:700}.meta{font-family:var(--font-ui);color:var(--muted);font-size:.78rem}.btn{border:1px solid var(--ink);border-radius:var(--radius);background:var(--white);min-height:36px;color:var(--ink);font-family:var(--font-ui);white-space:nowrap;justify-content:center;align-items:center;gap:.45em;padding:0 14px;font-size:.82rem;font-weight:600;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--paper-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--white)}.btn-primary:hover{background:#2a2a2a}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-accent:hover{background:color-mix(in srgb, var(--accent) 85%, black)}.btn-quiet{border-color:var(--rule)}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger-bg)}.btn-sm{min-height:28px;padding:0 10px;font-size:.75rem}.btn-icon{width:32px;min-height:32px;padding:0}.link-btn{font-family:var(--font-ui);text-underline-offset:3px;font-size:.8rem;font-weight:600;text-decoration:underline}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field>label,.field-label{font-family:var(--font-ui);color:var(--ink-2);font-size:.75rem;font-weight:600}.field-hint{font-family:var(--font-ui);color:var(--muted);font-size:.72rem}.input,.select,.textarea{border:1px solid var(--rule);border-radius:var(--radius);background:var(--white);width:100%;min-height:38px;font-family:var(--font-ui);padding:8px 10px;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.textarea{font-family:var(--font-body);resize:vertical;font-size:1rem;line-height:1.6}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 18%, transparent);outline:none}.checkbox{font-family:var(--font-ui);cursor:pointer;align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.checkbox input{width:16px;height:16px;accent-color:var(--ink)}.notice{border-radius:var(--radius);font-family:var(--font-ui);background:var(--paper-2);padding:10px 12px;font-size:.82rem;line-height:1.45}.notice-error{background:var(--danger-bg);color:var(--danger)}.notice-ok{background:var(--ok-bg);color:var(--ok)}.empty{text-align:center;font-family:var(--font-ui);color:var(--muted);padding:32px 16px;font-size:.85rem}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--paper-2) 25%, #ececea 37%, var(--paper-2) 63%);background-size:400% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
