:root{color-scheme:light;--colour-bg: #f3f5f4;--colour-card: #ffffff;--colour-ink: #14211c;--colour-muted: #64736d;--colour-line: #e1e7e4;--colour-accent: #16825a;--colour-accent-soft: #e6f4ee;--colour-amber: #b45309;--colour-amber-soft: #fdf1df;--colour-red: #be123c;--colour-red-soft: #fde8ec;--colour-blue: #1d5fae;--colour-blue-soft: #e6eefa;--colour-violet: #6d28d9;--colour-violet-soft: #efe8fd;--colour-accent-text: #0f6a49;--colour-amber-text: #9a4507;--colour-on-accent: #ffffff;--colour-overlay: rgb(20 33 28 / 45%);--colour-shadow: rgb(20 33 28 / 4%);--colour-shadow-strong: rgb(20 33 28 / 18%);--font-display: "Sora", "Avenir Next", system-ui, sans-serif;--font-body: "Figtree", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, menlo, monospace;--text-xs: 11.5px;--text-sm: 13px;--text-md: 14px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 24px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--radius-card: 14px;--radius-control: 9px;--radius-pill: 999px;--touch-target: 44px;--focus-ring: 3px solid var(--colour-accent)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--colour-bg);color:var(--colour-ink);font-family:var(--font-body);font-size:var(--text-md);line-height:1.4}h1,h2,h3,h4{font-family:var(--font-display);margin:0}:focus-visible{outline:var(--focus-ring);outline-offset:2px}.ps-button{align-items:center;background:var(--colour-card);border:1px solid var(--colour-line);border-radius:var(--radius-control);color:var(--colour-ink);cursor:pointer;display:inline-flex;font:inherit;font-weight:700;justify-content:center;min-height:var(--touch-target);padding:var(--space-2) var(--space-4);white-space:nowrap}.ps-button--primary{background:var(--colour-accent);border-color:var(--colour-accent);color:var(--colour-on-accent)}.ps-auth-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:var(--space-6) var(--space-4)}.ps-auth-screen>*{max-width:420px;width:100%}.ps-auth-product{color:var(--colour-accent-text);font-family:var(--font-display);font-weight:700}.ps-form{display:grid;gap:var(--space-4)}.ps-field{display:grid;gap:var(--space-1)}.ps-field label{font-weight:700}.ps-input{background:var(--colour-card);border:1px solid var(--colour-line);border-radius:var(--radius-control);color:var(--colour-ink);font:inherit;min-height:var(--touch-target);padding:var(--space-2) var(--space-3)}.ps-input[readonly]{background:var(--colour-bg);color:var(--colour-muted)}.ps-help{color:var(--colour-muted);font-size:var(--text-sm);margin:0}.ps-error{color:var(--colour-red);font-size:var(--text-sm);margin:0}.ps-alert{background:var(--colour-red-soft);border-radius:var(--radius-control);color:var(--colour-red);margin:0;padding:var(--space-3)}.ps-button:disabled{cursor:not-allowed;opacity:.6}a.ps-button{text-decoration:none}.ps-visually-hidden{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.ps-card-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));list-style:none;margin:0;padding:0}.ps-loading{color:var(--colour-muted);margin:0}.ps-button--small{min-height:var(--touch-target);padding:var(--space-1) var(--space-3)}.ps-button--danger{border-color:var(--colour-red);color:var(--colour-red)}.ps-form-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}
