/* DamagePort theme tokens. --net-* names match the estate so shared files
   (local.deploy-toolbar.css, ui.button.css, ui.autosave.css) work unchanged. */
/* Dark is the house default, on every device. Light is opt-in via
   <html data-theme="light">; nothing sets it yet. */
:root {
    --net-color-primary: #4f8ff7;
    --net-color-primary-hover: #3b7be0;
    --net-color-secondary: #6b7280;
    --net-color-secondary-hover: #4b5563;
    --net-color-success: #2fb36a;
    --net-color-success-hover: #279a5a;
    --net-color-warning: #f0ad4e;
    --net-color-warning-hover: #e39a30;
    --net-color-danger: #e05252;
    --net-color-danger-hover: #c23e3e;
    --net-color-info: #2aa6b8;
    --net-color-info-hover: #22909f;
    --net-color-required: #e05252;
    --net-color-on-accent: #0f141b;
    --net-color-text: #e6e9ee;

    --net-bg-body: #12161c;
    --net-bg-primary: #1a2029;
    --net-bg-accent: #232b36;
    --net-bg-card: #1a2029;
    --net-bg-header: #0f141b;
    --net-text-primary: #e6e9ee;
    --net-text-muted: #9aa5b4;
    --net-text-on-header: #f5f7fa;
    --net-border: #2e3742;
    --net-border-accent: #3d4856;
    --net-alert-error-text: #ff8a80;
    --net-alert-error-border: #f04438;
    --net-alert-success-text: #6fd39a;

    --net-spacing-xs: 0.25rem;
    --net-spacing-sm: 0.5rem;
    --net-spacing-md: 0.75rem;
    --net-spacing-lg: 1rem;
    --net-spacing-xl: 1.5rem;

    --net-font-family-base: "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
    --net-font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
    --net-font-size-xs: 0.72rem;
    --net-font-size-sm: 0.85rem;
    --net-font-size-base: 0.95rem;
    --net-font-size-lg: 1.1rem;
    --net-font-size-xl: 1.3rem;

    --net-border-radius-sm: 3px;
    --net-border-radius-base: 6px;
    --net-border-radius-md: 8px;
    --net-border-radius-lg: 12px;
    --net-border-radius-xl: 999px;
    --net-shadow-base: 0 1px 3px rgba(0, 0, 0, 0.4);
    --net-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
    --net-transition-fast: 0.15s ease;

    --net-z-raised: 10; --net-z-sticky: 20; --net-z-dropdown: 200; --net-z-nav: 300;
    --net-z-overlay: 500; --net-z-modal: 1000; --net-z-notification: 2000; --net-z-top: 9999;
    --net-header-height: 52px;
    --net-nav-width: 220px;
    color-scheme: dark;
}

:root[data-theme="light"] {
    --net-color-primary: #1f6feb;
    --net-color-primary-hover: #1858c2;
    --net-color-on-accent: #ffffff;
    --net-color-text: #1f2328;
    --net-bg-body: #f4f6f9;
    --net-bg-primary: #ffffff;
    --net-bg-accent: #e9edf3;
    --net-bg-card: #ffffff;
    --net-bg-header: #1f2a3a;
    --net-text-primary: #1f2328;
    --net-text-muted: #5f6b7a;
    --net-border: #d6dbe3;
    --net-border-accent: #b9c2cf;
    --net-alert-error-text: #b42318;
    --net-alert-success-text: #1f7a48;
    --net-shadow-base: 0 1px 3px rgba(16, 24, 40, 0.12);
    --net-shadow-lg: 0 8px 24px rgba(16, 24, 40, 0.18);
    color-scheme: light;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
    font-family: var(--net-font-family-base);
    font-size: var(--net-font-size-base);
    color: var(--net-text-primary);
    background: var(--net-bg-body);
    line-height: 1.45;
    -webkit-text-size-adjust: 100%;
}
a { color: var(--net-color-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { margin: 0 0 var(--net-spacing-md); line-height: 1.25; }
h1 { font-size: var(--net-font-size-xl); }
h2 { font-size: var(--net-font-size-lg); }
small, .muted { color: var(--net-text-muted); }
code { font-family: var(--net-font-mono); font-size: 0.9em; }
