@import url("https://fonts.googleapis.com/css2?family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap");:root{color-scheme:light dark;--accent:#38b06a;--accent-strong:#2b8f55;--accent-contrast:#04140b;--danger:#d9534f;--warn:#e0913a;--ok:#4caf50;--radius-sm:6px;--radius:10px;--radius-lg:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:72px;--font:"Red Hat Display",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:ui-monospace,"Cascadia Code","Consolas",monospace;--transition:140ms ease;--content-width:1100px;--bg:#0e1210;--bg-raised:#161b19;--bg-inset:#0a0d0c;--border:#262d2a;--border-strong:#36403c;--text:#e8efea;--text-muted:#94a29b;--shadow:0 1px 2px rgb(0 0 0/40%),0 8px 24px rgb(0 0 0/30%)}@media (prefers-color-scheme:light){:root{--bg:#f6f8f7;--bg-raised:#ffffff;--bg-inset:#eceff0;--border:#dde3e0;--border-strong:#c3ccc7;--text:#17201c;--text-muted:#5d6b64;--shadow:0 1px 2px rgb(16 24 20/8%),0 8px 24px rgb(16 24 20/6%)}}*,:after,:before{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;background-color:var(--bg);color:var(--text);font-family:var(--font);font-optical-sizing:auto;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.15;font-weight:700;letter-spacing:-.02em;text-wrap:balance}p{text-wrap:pretty}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.page{width:100%;max-width:var(--content-width);margin-inline:auto;padding:var(--space-5)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-5)}.btn,.card{background:var(--bg-raised)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 18px;border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font-weight:600;cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition),opacity var(--transition);white-space:nowrap;text-decoration:none}.btn:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn--primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn--danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:var(--danger)}.btn--ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn--ghost:hover:not(:disabled){background:var(--bg-inset);color:var(--text)}.btn--sm{padding:5px 12px;font-size:.85rem}.input{width:100%;padding:10px 14px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition)}.input:hover:not(:disabled){border-color:var(--border-strong)}.input:disabled{opacity:.55}.input::placeholder{color:var(--text-muted)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field>label{font-size:.85rem;font-weight:600;color:var(--text-muted);letter-spacing:.01em}.badge,.hint{font-size:.8rem;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg-inset);font-weight:600}.muted{color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.scroll-x{overflow-x:auto;max-width:100%}.spinner{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(1turn)}}