:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--space-24: 96px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--font-family-display: Fraunces, Georgia, serif;--font-family-text: Inter, system-ui, sans-serif;--font-family-mono: "IBM Plex Mono", Consolas, ui-monospace, monospace;--font-size-heading-1: 39px;--font-size-heading-2: 31px;--font-size-heading-3: 25px;--font-size-body-lg: 20px;--font-size-body: 16px;--font-size-body-sm: 13px;--font-size-mono: 14px;--font-line-height-tight: 1.2;--font-line-height-ui: 1.5;--font-line-height-body: 1.6;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--color-text-primary: #1c1b19;--color-text-secondary: #5c584f;--color-text-muted: #6e675b;--color-text-on-accent: #faf8f4;--color-surface-page: #faf8f4;--color-surface-raised: #f0ece4;--color-surface-header: #faf8f4;--color-surface-hover: #f0ece4;--color-surface-selected: #f3e7e0;--color-border-hairline: #d8d1c4;--color-action-primary: #a85c3c;--color-action-primary-hover: #c98a6b;--color-action-primary-pressed: #7a4029;--color-accent-compounding: #4e7a5e;--color-status-success: #4e7a5e;--color-status-warn: #b8860b;--color-status-error: #a4332b;--color-status-info: #3a5a78;--color-status-success-subtle: #e8efea;--color-status-warn-subtle: #f6ecd2;--color-status-error-subtle: #f5e4e1;--color-status-info-subtle: #e8ebf0;--color-status-error-border: #d29a93;--color-role-owner: #7a4029;--color-role-admin: #a85c3c;--color-role-creator: #3a5a78;--color-role-runner: #6e675b}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-family-text);font-size:var(--font-size-body);line-height:var(--font-line-height-body);color:var(--color-text-primary);background:var(--color-surface-page)}a{color:var(--color-action-primary)}:focus-visible{outline:2px solid var(--color-status-info);outline-offset:2px}button{font:inherit;cursor:pointer}.shell{display:grid;grid-template-rows:auto 1fr;min-height:100%}.topbar{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-3) var(--space-6);background:var(--color-surface-header);border-bottom:1px solid var(--color-border-hairline)}.brand{font-family:var(--font-family-display);font-size:var(--font-size-heading-3);font-weight:var(--font-weight-semibold)}.nav{display:flex;gap:var(--space-1);flex:1}.nav button{background:transparent;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.nav button:hover{background:var(--color-surface-hover)}.nav button[aria-current=page]{color:var(--color-text-primary);background:var(--color-surface-selected)}.identity-chip{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-body-sm);color:var(--color-text-secondary)}.content{padding:var(--space-8) var(--space-6);max-width:960px;width:100%;margin:0 auto}h1{font-family:var(--font-family-display);font-size:var(--font-size-heading-2);margin:0 0 var(--space-2)}.screen-intro{color:var(--color-text-secondary);margin:0 0 var(--space-6)}.table{width:100%;border-collapse:collapse;background:var(--color-surface-page);border:1px solid var(--color-border-hairline);border-radius:var(--radius-lg);overflow:hidden}.table th,.table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-hairline);vertical-align:middle}.table th{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);background:var(--color-surface-raised)}.table tr:last-child td{border-bottom:none}.mono{font-family:var(--font-family-mono);font-size:var(--font-size-mono)}.muted{color:var(--color-text-muted)}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);border:1px solid transparent;white-space:nowrap}.chip:before{content:attr(data-glyph);font-family:var(--font-family-mono)}.chip--owner{color:var(--color-role-owner);background:var(--color-status-error-subtle)}.chip--admin{color:var(--color-role-admin);background:var(--color-surface-selected)}.chip--creator{color:var(--color-role-creator);background:var(--color-status-info-subtle)}.chip--runner{color:var(--color-role-runner);background:var(--color-surface-raised)}.chip--locked{color:var(--color-status-warn);background:var(--color-status-warn-subtle)}.chip--trashed{color:var(--color-text-muted);background:var(--color-surface-raised)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-hairline);background:var(--color-surface-page);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.btn:hover:not(:disabled){background:var(--color-surface-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-action-primary);border-color:var(--color-action-primary);color:var(--color-text-on-accent)}.btn--primary:hover:not(:disabled){background:var(--color-action-primary-hover)}.btn--danger{background:var(--color-status-error);border-color:var(--color-status-error);color:var(--color-text-on-accent)}.btn--small{padding:var(--space-1) var(--space-2);font-size:var(--font-size-body-sm)}.btn--link{border:none;background:transparent;color:var(--color-action-primary);padding:var(--space-1) var(--space-2)}.row-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.field{display:block;margin-bottom:var(--space-4)}.field label{display:block;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-1)}.field input,.field select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-hairline);border-radius:var(--radius-md);font:inherit;background:var(--color-surface-page)}.banner{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;margin-bottom:var(--space-4)}.banner--error{color:var(--color-status-error);background:var(--color-status-error-subtle);border-color:var(--color-status-error-border)}.banner--info{color:var(--color-status-info);background:var(--color-status-info-subtle)}.banner--success{color:var(--color-status-success);background:var(--color-status-success-subtle)}.toast-stack{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);z-index:20}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-text-primary);color:var(--color-text-on-accent);box-shadow:0 4px 16px #0000002e;max-width:360px}.toast--error{background:var(--color-status-error)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1b1966;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:30}.modal{background:var(--color-surface-page);border-radius:var(--radius-lg);border:1px solid var(--color-border-hairline);padding:var(--space-6);max-width:460px;width:100%;box-shadow:0 8px 32px #00000038}.modal h2{font-family:var(--font-family-display);font-size:var(--font-size-heading-3);margin:0 0 var(--space-3)}.modal-body{color:var(--color-text-secondary);margin-bottom:var(--space-6)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.center-pane{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-6)}.card{background:var(--color-surface-page);border:1px solid var(--color-border-hairline);border-radius:var(--radius-lg);padding:var(--space-8);max-width:400px;width:100%}.card .brand{display:block;margin-bottom:var(--space-2)}.stack{display:flex;flex-direction:column;gap:var(--space-2)}.hr-or{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-body-sm);margin:var(--space-4) 0}.hr-or:before,.hr-or:after{content:"";flex:1;height:1px;background:var(--color-border-hairline)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
