@font-face{font-family:Sora;src:url(fonts/sora-variable.woff2) format('woff2');font-weight:100 800;font-style:normal;font-display:swap}
.g-app{font-family:var(--g-font);font-size:var(--g-text-base);line-height:var(--g-leading-body);color:var(--g-text);background:var(--g-page)}
.g-app *{box-sizing:border-box}.g-app p{max-width:65ch}.g-app :focus-visible{outline:3px solid var(--g-focus);outline-offset:3px}
.g-app h1,.g-app h2,.g-app h3{line-height:var(--g-leading-heading);font-weight:600;letter-spacing:-.035em}
.g-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--g-space-2);min-height:var(--g-control-height);border:1px solid var(--g-action);border-radius:var(--g-radius-control);padding:var(--g-space-3) var(--g-space-5);font:500 var(--g-text-sm)/1.4 var(--g-font);color:var(--g-on-action);background:var(--g-action);text-decoration:none;cursor:pointer;transition:background var(--g-motion-feedback) var(--g-ease),transform var(--g-motion-feedback) var(--g-ease)}
.g-button:hover:not(:disabled):not([aria-disabled=true]){background:var(--g-action-hover);border-color:var(--g-action-hover)}
.g-button:active:not(:disabled):not([aria-disabled=true]){background:var(--g-action-active);transform:translateY(1px)}
.g-button--secondary{color:var(--g-action);background:var(--g-panel);border-color:var(--g-field-border)}
.g-button--secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--g-selected);border-color:var(--g-action)}
.g-button--secondary:active:not(:disabled){color:var(--g-action);background:var(--g-selected)}
.g-button--danger{background:var(--g-error);border-color:var(--g-error);color:var(--g-error-surface)}
.g-button--danger:hover:not(:disabled){background:var(--g-error);border-color:var(--g-error);box-shadow:inset 0 0 0 1px currentColor}
.g-button--danger:active:not(:disabled){background:var(--g-error);border-color:var(--g-error)}
.g-button:disabled,.g-button[aria-disabled=true]{background:var(--g-disabled-surface);border-color:var(--g-border);color:var(--g-disabled-ink);cursor:not-allowed;transform:none}
.g-button[aria-busy=true]{cursor:progress}.g-actions{display:flex;align-items:center;gap:var(--g-space-3);flex-wrap:wrap}
.g-field{margin-bottom:var(--g-space-6)}.g-field>label{display:block;font-size:var(--g-text-sm);font-weight:600;margin-bottom:var(--g-space-2)}
.g-input{display:block;width:100%;min-height:var(--g-control-height);padding:var(--g-space-3);border:1px solid var(--g-field-border);border-radius:var(--g-radius-control);font:400 var(--g-text-base)/1.5 var(--g-font);background:var(--g-panel);color:var(--g-text)}
textarea.g-input{resize:vertical;min-height:128px}.g-input::placeholder{color:var(--g-text-muted)}
.g-input:disabled{background:var(--g-disabled-surface);color:var(--g-disabled-ink);cursor:not-allowed}
.g-input[aria-invalid=true]{border-color:var(--g-error);box-shadow:0 0 0 1px var(--g-error)}
.g-help,.g-error{font-size:var(--g-text-sm);line-height:1.6;margin:var(--g-space-2) 0 0}.g-help{color:var(--g-text-muted)}.g-error{color:var(--g-error)}
.g-checkbox{display:flex;align-items:center;gap:var(--g-space-3);font-size:var(--g-text-sm);min-height:var(--g-touch-target);cursor:pointer}
.g-checkbox input{accent-color:var(--g-action);width:20px;height:20px;flex:none}
.g-panel{background:var(--g-panel);border:1px solid var(--g-border);border-radius:var(--g-radius-panel);padding:var(--g-space-6)}
.g-alert{display:flex;align-items:start;gap:var(--g-space-3);padding:var(--g-space-4);border:1px solid currentColor;border-radius:var(--g-radius-control);font-size:var(--g-text-sm);line-height:1.6;background:var(--g-info-surface);color:var(--g-info)}
.g-alert p{margin:0}.g-alert[data-tone=success]{background:var(--g-success-surface);color:var(--g-success)}
.g-alert[data-tone=warning]{background:var(--g-warning-surface);color:var(--g-warning)}
.g-alert[data-tone=error]{background:var(--g-error-surface);color:var(--g-error)}
.g-tag{display:inline-flex;align-items:center;gap:var(--g-space-1);font-size:var(--g-text-xs);font-weight:500;line-height:1.5;padding:var(--g-space-1) var(--g-space-2);border-radius:var(--g-radius-tag);background:var(--g-info-surface);color:var(--g-info);white-space:nowrap}
.g-tag[data-tone=success]{background:var(--g-success-surface);color:var(--g-success)}
.g-tag[data-tone=warning]{background:var(--g-warning-surface);color:var(--g-warning)}
.g-tag[data-tone=error]{background:var(--g-error-surface);color:var(--g-error)}
.g-tabs{display:flex;gap:var(--g-space-6);border-bottom:1px solid var(--g-border);overflow-x:auto}
.g-tabs>[role=tab]{border:0;border-bottom:2px solid transparent;padding:var(--g-space-3) 0;min-height:var(--g-control-height);background:transparent;color:var(--g-text-muted);font:500 var(--g-text-sm)/1.5 var(--g-font);cursor:pointer;white-space:nowrap}
.g-tabs>[role=tab]:hover{color:var(--g-action)}.g-tabs>[role=tab][aria-selected=true]{color:var(--g-action);border-bottom-color:var(--g-action);font-weight:600}
.g-table-wrap{max-width:100%;overflow-x:auto}.g-table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--g-text-sm);font-variant-numeric:tabular-nums}
.g-table caption{text-align:left;font-size:var(--g-text-sm);color:var(--g-text-muted);padding-bottom:var(--g-space-4)}
.g-table th,.g-table td{padding:var(--g-space-4) var(--g-space-3);border-bottom:1px solid var(--g-border);vertical-align:top}
.g-table th{font-weight:600;color:var(--g-text)}.g-table th:first-child,.g-table td:first-child{padding-left:0}.g-table th:last-child,.g-table td:last-child{padding-right:0}
.g-empty{padding:var(--g-space-8) 0;max-width:48ch}.g-empty h3{font-size:var(--g-text-lg);margin:0 0 var(--g-space-2)}.g-empty p{font-size:var(--g-text-sm);color:var(--g-text-muted);margin:0 0 var(--g-space-5)}
.g-numeric{font-variant-numeric:tabular-nums}.g-wordmark{display:block;width:220px;max-width:100%;height:auto}
[data-g-surface=brand]{--g-focus:var(--g-color-on-brand);color:var(--g-on-action);background:var(--g-action)}
@media(prefers-reduced-motion:reduce){.g-app *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.g-app{background:var(--g-panel);color:var(--g-text)}.g-app .g-button,.g-app .g-tabs{display:none}.g-panel{border:0;padding:0}.g-table-wrap{overflow:visible}.g-alert{background:transparent;color:var(--g-text);break-inside:avoid}.g-tag{background:transparent;color:var(--g-text);border:1px solid currentColor}}
