:root{color-scheme:light;--background: oklch(.9818 .0054 95.0986);--foreground: oklch(.3438 .0269 95.7226);--card: oklch(.9665 .0067 97.3521);--card-foreground: oklch(.1908 .002 106.5859);--popover: oklch(1 0 0);--popover-foreground: oklch(.2671 .0196 98.939);--primary: oklch(.6171 .1375 39.0427);--primary-foreground: oklch(1 0 0);--secondary: oklch(.9245 .0138 92.9892);--secondary-foreground: oklch(.4334 .0177 98.6048);--muted: oklch(.9341 .0153 90.239);--muted-foreground: oklch(.5341 .0078 97.4503);--accent: oklch(.9245 .0138 92.9892);--accent-foreground: oklch(.2671 .0196 98.939);--destructive: oklch(.1908 .002 106.5859);--destructive-foreground: oklch(1 0 0);--border: oklch(.8847 .0069 97.3627);--input: oklch(.7621 .0156 98.3528);--ring: oklch(.6171 .1375 39.0427);--radius: 1rem;--font-sans: "Outfit", sans-serif;--font-mono: "Geist Mono", ui-monospace, monospace;--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 2px 4px -1px hsl(0 0% 0% / .1);--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 4px 6px -1px hsl(0 0% 0% / .1);--ok: oklch(.62 .14 150);--no: oklch(.68 .14 75)}.dark{color-scheme:dark;--background: oklch(.2679 .0036 106.6427);--foreground: oklch(.9576 .0027 106.4494);--card: oklch(.2928 .0018 106.5092);--card-foreground: oklch(.9818 .0054 95.0986);--popover: oklch(.3085 .0035 106.6039);--popover-foreground: oklch(.9211 .004 106.4781);--primary: oklch(.6724 .1308 38.7559);--primary-foreground: oklch(.1908 .002 106.5859);--secondary: oklch(.9818 .0054 95.0986);--secondary-foreground: oklch(.3085 .0035 106.6039);--muted: oklch(.2213 .0038 106.707);--muted-foreground: oklch(.7713 .0169 99.0657);--accent: oklch(.213 .0078 95.4245);--accent-foreground: oklch(.9663 .008 98.8792);--destructive: oklch(.6368 .2078 25.3313);--destructive-foreground: oklch(1 0 0);--border: oklch(.3618 .0101 106.8928);--input: oklch(.4336 .0113 100.2195);--ring: oklch(.6724 .1308 38.7559);--ok: oklch(.72 .15 150);--no: oklch(.78 .14 75)}@media(prefers-color-scheme:dark){:root:not(.light){color-scheme:dark;--background: oklch(.2679 .0036 106.6427);--foreground: oklch(.9576 .0027 106.4494);--card: oklch(.2928 .0018 106.5092);--card-foreground: oklch(.9818 .0054 95.0986);--popover: oklch(.3085 .0035 106.6039);--popover-foreground: oklch(.9211 .004 106.4781);--primary: oklch(.6724 .1308 38.7559);--primary-foreground: oklch(.1908 .002 106.5859);--secondary: oklch(.9818 .0054 95.0986);--secondary-foreground: oklch(.3085 .0035 106.6039);--muted: oklch(.2213 .0038 106.707);--muted-foreground: oklch(.7713 .0169 99.0657);--accent: oklch(.213 .0078 95.4245);--accent-foreground: oklch(.9663 .008 98.8792);--destructive: oklch(.6368 .2078 25.3313);--destructive-foreground: oklch(1 0 0);--border: oklch(.3618 .0101 106.8928);--input: oklch(.4336 .0113 100.2195);--ring: oklch(.6724 .1308 38.7559);--ok: oklch(.72 .15 150);--no: oklch(.78 .14 75)}}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:14px;letter-spacing:0em;-webkit-font-smoothing:antialiased}.page{max-width:980px;margin:0 auto;padding:2rem 1.25rem 4rem}header h1{margin:0 0 .25rem;font-size:1.4rem;font-weight:700;letter-spacing:-.01em}header .sub{color:var(--muted-foreground);margin:0 0 1rem;max-width:70ch;line-height:1.5}code{font-family:var(--font-mono);background:var(--muted);color:var(--foreground);padding:.1em .35em;border-radius:calc(var(--radius) * .25);font-size:.85em}.acting{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);padding:.75rem 1rem;border-radius:calc(var(--radius) * .75);box-shadow:var(--shadow-sm)}.acting select{background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:calc(var(--radius) * .5);padding:.35rem .5rem;font-family:inherit}.badge{font-size:.8rem;padding:.2rem .6rem;border-radius:999px;font-weight:500}.badge.ok{background:color-mix(in oklch,var(--ok) 15%,transparent);color:var(--ok)}.badge.no{background:color-mix(in oklch,var(--no) 15%,transparent);color:var(--no)}main{display:grid;gap:1.25rem;margin-top:1.25rem}.card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm)}.card-head{display:flex;align-items:baseline;gap:1rem}.card h2{margin:0 0 1rem;font-size:1.1rem;font-weight:600}.hint{color:var(--muted-foreground);font-size:.8rem}.create{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem;align-items:center}.create input{background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:calc(var(--radius) * .5);padding:.45rem .6rem;font-family:inherit}.create input:focus-visible,.acting select:focus-visible{outline:2px solid var(--ring);outline-offset:1px;border-color:var(--ring)}button{background:var(--primary);color:var(--primary-foreground);border:0;border-radius:calc(var(--radius) * .5);padding:.45rem .8rem;cursor:pointer;font-weight:600;font-family:inherit;box-shadow:var(--shadow-sm);transition:filter .15s ease,opacity .15s ease}button:hover{filter:brightness(1.05)}button:disabled{opacity:.6;cursor:not-allowed}button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}button.danger{background:transparent;border:1px solid var(--destructive);color:var(--destructive);box-shadow:none}button.danger:hover{background:color-mix(in oklch,var(--destructive) 12%,transparent);filter:none}.err{color:var(--destructive);align-self:center}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted-foreground);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.muted{color:var(--muted-foreground);font-size:.8rem}.roles{display:flex;gap:.4rem;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--border);border-radius:999px;padding:.2rem .6rem;font-size:.8rem;cursor:pointer;-webkit-user-select:none;user-select:none}.chip.on{border-color:var(--primary);background:color-mix(in oklch,var(--primary) 12%,transparent);color:var(--primary)}.chip input{accent-color:var(--primary)}.perms{display:flex;gap:.3rem;flex-wrap:wrap}.perm{font-family:var(--font-mono);font-size:.72rem;background:var(--muted);color:var(--muted-foreground);border-radius:calc(var(--radius) * .25);padding:.12rem .4rem}.endpoint{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.35rem 0 1.25rem}.endpoint code{flex:1 1 auto;min-width:0;overflow-x:auto;white-space:nowrap;background:var(--background);border:1px solid var(--input);padding:.5rem .7rem;border-radius:calc(var(--radius) * .5);font-size:.85em}.guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.guide-step{border:1px solid var(--border);border-radius:calc(var(--radius) * .75);padding:1rem;background:var(--background)}.guide-step h3{margin:0 0 .5rem;font-size:.95rem;font-weight:600}.guide-step p{margin:.35rem 0;line-height:1.5}.guide-step ol{margin:.35rem 0;padding-left:1.2rem;line-height:1.6}.guide-step li{margin:.1rem 0}.guide-step pre{margin:.5rem 0;padding:.7rem .8rem;overflow-x:auto;background:var(--muted);border-radius:calc(var(--radius) * .5)}.guide-step pre code{background:none;padding:0;font-size:.8em;white-space:pre;color:var(--foreground)}.catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.role-card{border:1px solid var(--border);border-radius:calc(var(--radius) * .75);padding:1rem;background:var(--background)}.role-card h3{margin:0 0 .5rem;text-transform:capitalize;font-weight:600}.role-card ul{margin:0;padding-left:1.1rem;color:var(--muted-foreground)}.role-card li{margin:.15rem 0;font-size:.82rem}
