:root{--nx-font-sans: "Inter", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--nx-font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, "Courier New", monospace;--nx-text-page-title: 1.5rem;--nx-text-section-title: 1.125rem;--nx-text-card-title: .9375rem;--nx-text-body: .875rem;--nx-text-body-strong: .875rem;--nx-text-table: .8125rem;--nx-text-table-header: .75rem;--nx-text-helper: .8125rem;--nx-text-caption: .75rem;--nx-text-code: .8125rem;--nx-text-code-inline: .75rem;--nx-text-badge: .6875rem;--nx-text-button: .875rem;--nx-text-button-sm: .8125rem;--nx-space-1: 4px;--nx-space-2: 8px;--nx-space-3: 12px;--nx-space-4: 16px;--nx-space-5: 20px;--nx-space-6: 24px;--nx-space-8: 32px;--nx-space-10: 40px;--nx-space-12: 48px;--nx-space-16: 64px;--nx-space-20: 80px;--nx-radius-sm: 4px;--nx-radius-md: 6px;--nx-radius-lg: 8px;--nx-radius-xl: 12px;--nx-radius-full: 9999px;--nx-transition-fast: .1s ease;--nx-transition-base: .15s ease;--nx-transition-slow: .2s ease;--nx-sidebar-width: 240px;--nx-sidebar-width-collapsed: 64px;--nx-sidebar-width-mobile: 280px;--nx-topbar-height: 56px;--nx-content-max-prose: 720px;--nx-breakpoint-mobile: 768px;--nx-breakpoint-tablet: 1024px;--nx-breakpoint-desktop: 1280px;--nx-z-dropdown: 1000;--nx-z-sticky: 1020;--nx-z-navigation-overlay: 1030;--nx-z-modal-backdrop: 1040;--nx-z-modal: 1050;--nx-z-popover: 1060;--nx-z-tooltip: 1070;--nx-z-toast: 1080;--nx-shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--nx-shadow-md: 0 2px 8px rgba(0, 0, 0, .12);--nx-shadow-lg: 0 4px 16px rgba(0, 0, 0, .16);--nx-shadow-drawer: 8px 0 32px rgba(0, 0, 0, .5);--nx-btn-height-compact: 28px;--nx-btn-icon-size: 14px;--nx-action-max-width: 168px;--nx-action-help-width: 28px;--nx-dialog-max-width: 560px;--nx-scrim: rgba(0, 0, 0, .6);--nx-text-on-success: #FFFFFF;--nx-text-on-danger: #FFFFFF}html,html[data-theme=dark]{--nx-bg-base: #0B1322;--nx-bg-surface: #111C2E;--nx-bg-elevated: #172437;--nx-bg-overlay: #1D2E48;--nx-bg-subtle: #0E1828;--nx-brand-deep: #1B3D6F;--nx-brand-mid: #1D4B82;--nx-accent: #00CFFF;--nx-accent-hover: #00B8E0;--nx-accent-subtle: #00CFFF1A;--nx-accent-border: #00CFFF40;--nx-text-primary: #EEF4FF;--nx-text-secondary: #94A3B8;--nx-text-tertiary: #64748B;--nx-text-disabled: #475569;--nx-text-accent: #00CFFF;--nx-text-inverse: #0B1322;--nx-border-subtle: #1A2D45;--nx-border-default: #253C58;--nx-border-strong: #3A5475;--nx-border-accent: #00CFFF40;--nx-success: #10B981;--nx-success-subtle: #10B98120;--nx-warning: #F59E0B;--nx-warning-subtle: #F59E0B20;--nx-danger: #EF4444;--nx-danger-subtle: #EF444420;--nx-info: #3B82F6;--nx-info-subtle: #3B82F620;--nx-code-bg: #0E1828;--nx-code-text: #CBD5E1;--nx-code-keyword: #00CFFF;--nx-code-string: #7DD3AA;--nx-code-number: #FDA4AF;--nx-code-comment: #475569}html[data-theme=light]{--nx-bg-base: #EEF3FC;--nx-bg-surface: #FFFFFF;--nx-bg-elevated: #F8FAFF;--nx-bg-overlay: #E5EDF8;--nx-bg-subtle: #E8EFF9;--nx-brand-deep: #1B3D6F;--nx-brand-mid: #1D4B82;--nx-accent: #0099CC;--nx-accent-hover: #007BAA;--nx-accent-subtle: #0099CC1A;--nx-accent-border: #0099CC40;--nx-text-primary: #0C1829;--nx-text-secondary: #364E6B;--nx-text-tertiary: #5E7A9A;--nx-text-disabled: #94AECB;--nx-text-accent: #006E8F;--nx-text-inverse: #EEF4FF;--nx-border-subtle: #D6E0F0;--nx-border-default: #B8CCDF;--nx-border-strong: #8AA5C5;--nx-border-accent: #0099CC40;--nx-success: #059669;--nx-success-subtle: #D1FAE5;--nx-warning: #B45309;--nx-warning-subtle: #FEF3C7;--nx-danger: #DC2626;--nx-danger-subtle: #FEE2E2;--nx-info: #1D4ED8;--nx-info-subtle: #DBEAFE;--nx-code-bg: #E8EFF9;--nx-code-text: #1E2D40;--nx-code-keyword: #0085B5;--nx-code-string: #047857;--nx-code-number: #BE185D;--nx-code-comment: #5E7A9A}.nx-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:var(--nx-btn-height-compact);gap:var(--nx-space-2);padding:0 var(--nx-space-3);border-radius:var(--nx-radius-md);border:1px solid transparent;font-family:var(--nx-font-sans);font-size:var(--nx-text-button-sm);font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;position:relative;transition:background-color var(--nx-transition-fast),border-color var(--nx-transition-fast),color var(--nx-transition-fast),transform 80ms ease}.nx-button:not(.nx-button--icon-only):not(.nx-button--link){max-width:var(--nx-action-max-width)}.nx-button:not(.nx-button--icon-only):not(.nx-button--link) .nx-button__label{overflow:hidden;text-overflow:ellipsis;min-width:0}.nx-button__icon{display:inline-flex;flex:none;line-height:0}.nx-button__icon svg{width:var(--nx-btn-icon-size);height:var(--nx-btn-icon-size);display:block}.nx-button__label{display:inline-flex;align-items:center;min-width:0}.nx-button:active{transform:scale(.97)}.nx-button:focus-visible{outline:2px solid var(--nx-accent-border);outline-offset:1px;box-shadow:0 0 0 3px var(--nx-accent-subtle)}.nx-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.nx-button__spinner{display:none;position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:nx-button-spin .6s linear infinite}.nx-button--loading .nx-button__icon,.nx-button--loading .nx-button__label{visibility:hidden}.nx-button--loading .nx-button__spinner{display:inline-block}@keyframes nx-button-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.nx-button__spinner{animation-duration:1.4s}.nx-button{transition-duration:.01ms}}.nx-button--primary{background:var(--nx-accent);color:var(--nx-text-inverse);border-color:var(--nx-accent)}.nx-button--primary:hover:not(:disabled){background:var(--nx-accent-hover)}.nx-button--primary:active:not(:disabled){background:color-mix(in srgb,var(--nx-accent-hover) 85%,black)}.nx-button--secondary{background:var(--nx-bg-elevated);color:var(--nx-text-primary);border-color:var(--nx-border-default)}.nx-button--secondary:hover:not(:disabled){background:var(--nx-bg-overlay)}.nx-button--secondary:active:not(:disabled){background:color-mix(in srgb,var(--nx-bg-overlay) 85%,black)}.nx-button--neutral{background:transparent;color:var(--nx-text-secondary);border-color:var(--nx-border-default)}.nx-button--neutral:hover:not(:disabled){background:var(--nx-bg-overlay);color:var(--nx-text-primary)}.nx-button--neutral:active:not(:disabled){background:color-mix(in srgb,var(--nx-bg-overlay) 85%,black)}.nx-button--success{background:var(--nx-success);color:var(--nx-text-on-success);border-color:var(--nx-success)}.nx-button--success:hover:not(:disabled){background:color-mix(in srgb,var(--nx-success) 88%,black)}.nx-button--success:active:not(:disabled){background:color-mix(in srgb,var(--nx-success) 78%,black)}.nx-button--warning{background:var(--nx-warning);color:var(--nx-text-inverse);border-color:var(--nx-warning)}.nx-button--warning:hover:not(:disabled){background:color-mix(in srgb,var(--nx-warning) 88%,black)}.nx-button--warning:active:not(:disabled){background:color-mix(in srgb,var(--nx-warning) 78%,black)}.nx-button--danger{background:var(--nx-danger);color:var(--nx-text-on-danger);border-color:var(--nx-danger)}.nx-button--danger:hover:not(:disabled){background:color-mix(in srgb,var(--nx-danger) 88%,black)}.nx-button--danger:active:not(:disabled){background:color-mix(in srgb,var(--nx-danger) 78%,black)}.nx-button--ghost{background:transparent;color:var(--nx-text-secondary);border-color:transparent}.nx-button--ghost:hover:not(:disabled){background:var(--nx-bg-overlay);color:var(--nx-text-primary)}.nx-button--ghost:active:not(:disabled){background:color-mix(in srgb,var(--nx-bg-overlay) 85%,black)}.nx-button--outline{background:transparent;color:var(--nx-text-primary);border-color:var(--nx-border-strong)}.nx-button--outline:hover:not(:disabled){background:var(--nx-bg-overlay);border-color:var(--nx-border-accent)}.nx-button--outline:active:not(:disabled){background:color-mix(in srgb,var(--nx-bg-overlay) 85%,black)}.nx-button--link{background:transparent;color:var(--nx-text-accent);border-color:transparent;padding:0;height:auto;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.nx-button--link:hover:not(:disabled){text-decoration-color:currentColor}.nx-button--link .nx-button__label{overflow:visible;text-overflow:clip}.nx-button--icon-only{width:var(--nx-btn-height-compact);padding:0;flex:none}.nx-dialog__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--nx-space-2)}.nx-dialog__footer:has(>*~*){display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.nx-dialog__footer:has(>*~*)>*{width:100%;min-width:84px;max-width:var(--nx-action-max-width)}.nx-dialog__footer>.nx-button--ghost,.nx-dialog__footer>.nx-button--neutral{border-color:var(--nx-border-default)}.nx-dialog__footer>.nx-button--ghost:hover:not(:disabled),.nx-dialog__footer>.nx-button--neutral:hover:not(:disabled){border-color:var(--nx-border-strong)}@media(max-width:480px){.nx-dialog__footer:has(>*~*){grid-auto-flow:row;width:100%}.nx-dialog__footer:has(>*~*)>*{max-width:none}}.nx-compound-action{display:flex;align-items:stretch;width:100%;min-width:0;max-width:var(--nx-action-max-width)}.nx-compound-action__main{flex:1 1 auto;min-width:0;width:auto;max-width:none;border-radius:var(--nx-radius-md) 0 0 var(--nx-radius-md)}.nx-compound-action__main .nx-button__label{overflow:hidden;text-overflow:ellipsis}.nx-help-popover__trigger{flex:0 0 var(--nx-action-help-width);width:var(--nx-action-help-width);min-width:var(--nx-action-help-width);height:var(--nx-btn-height-compact);padding:0;border:1px solid transparent;border-left-color:#0000002e;border-radius:0 var(--nx-radius-md) var(--nx-radius-md) 0;font-family:var(--nx-font-sans);font-size:var(--nx-text-button-sm);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--nx-transition-fast),color var(--nx-transition-fast);background:color-mix(in srgb,var(--nx-compound-tone, var(--nx-bg-elevated)) 80%,black);color:var(--nx-compound-tone-text, var(--nx-text-secondary))}.nx-help-popover__trigger:hover{background:color-mix(in srgb,var(--nx-compound-tone, var(--nx-bg-overlay)) 66%,black)}.nx-help-popover__trigger:focus-visible{outline:2px solid var(--nx-accent-border);outline-offset:1px;box-shadow:0 0 0 3px var(--nx-accent-subtle);position:relative;z-index:1}.nx-compound-action--primary{--nx-compound-tone: var(--nx-accent);--nx-compound-tone-text: var(--nx-text-inverse)}.nx-compound-action--success{--nx-compound-tone: var(--nx-success);--nx-compound-tone-text: var(--nx-text-on-success)}.nx-compound-action--warning{--nx-compound-tone: var(--nx-warning);--nx-compound-tone-text: var(--nx-text-inverse)}.nx-compound-action--danger{--nx-compound-tone: var(--nx-danger);--nx-compound-tone-text: var(--nx-text-on-danger)}.nx-help-popover__panel{position:fixed;margin:0;padding:var(--nx-space-3);width:max-content;max-width:240px;border:1px solid var(--nx-border-default);border-radius:var(--nx-radius-md);background:var(--nx-bg-elevated);color:var(--nx-text-secondary);font-size:var(--nx-text-helper);line-height:1.55;box-shadow:var(--nx-shadow-md);z-index:var(--nx-z-tooltip)}.nx-help-popover__panel:popover-open{animation:nx-help-popover-in var(--nx-transition-base) ease-out}@keyframes nx-help-popover-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.nx-help-popover__panel:popover-open{animation-duration:.01ms}}.nx-dialog{padding:0;border:1px solid var(--nx-border-strong);border-radius:var(--nx-radius-lg);background:var(--nx-bg-elevated);color:var(--nx-text-primary);width:min(var(--nx-dialog-max-width),92vw);max-width:var(--nx-dialog-max-width);box-shadow:var(--nx-shadow-lg),0 0 0 1px var(--nx-accent-subtle);font-family:var(--nx-font-sans);opacity:1;transform:scale(1) translateY(0);transition:opacity var(--nx-transition-slow),transform var(--nx-transition-slow)}.nx-dialog::backdrop{background:var(--nx-scrim);backdrop-filter:blur(7px) saturate(1.1);-webkit-backdrop-filter:blur(7px) saturate(1.1)}@media(prefers-reduced-motion:reduce){.nx-dialog{transition-duration:.01ms}}.nx-dialog__header{display:flex;align-items:center;gap:var(--nx-space-3);padding:var(--nx-space-3) var(--nx-space-5);border-bottom:1px solid var(--nx-border-subtle)}.nx-dialog__title{flex:1;min-width:0;margin:0;font-size:var(--nx-text-section-title);font-weight:700;color:var(--nx-text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nx-dialog__body{padding:var(--nx-space-4) var(--nx-space-5);font-size:var(--nx-text-body);line-height:1.65;color:var(--nx-text-secondary);max-height:52vh;overflow:auto}.nx-dialog__body p{margin:0 0 var(--nx-space-3)}.nx-dialog__body p:last-child{margin-bottom:0}.nx-dialog__kv{margin:0 0 var(--nx-space-3);border:1px solid var(--nx-border-subtle);border-radius:var(--nx-radius-md);overflow:hidden;background:var(--nx-bg-subtle)}.nx-dialog__kv-row{display:flex;justify-content:space-between;gap:var(--nx-space-3);padding:var(--nx-space-2) var(--nx-space-3);font-size:var(--nx-text-table)}.nx-dialog__kv-row+.nx-dialog__kv-row{border-top:1px solid var(--nx-border-subtle)}.nx-dialog__kv-key{color:var(--nx-text-tertiary);flex:none}.nx-dialog__kv-val{color:var(--nx-text-primary);font-weight:500;text-align:right}.nx-dialog__footer{padding:var(--nx-space-3) var(--nx-space-5);border-top:1px solid var(--nx-border-subtle);background:color-mix(in srgb,var(--nx-bg-subtle) 88%,transparent);border-radius:0 0 var(--nx-radius-lg) var(--nx-radius-lg)}@media(max-width:767px){.nx-dialog{display:flex;flex-direction:column;width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;border:none}.nx-dialog__footer{border-radius:0}.nx-dialog__body{max-height:none;flex:1}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--nx-font-sans);font-size:14px;line-height:1.5;color:var(--nx-text-primary);background-color:var(--nx-bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.nx-text-page-title{font-size:1.5rem;font-weight:700;line-height:1.2}.nx-text-section-title{font-size:1.125rem;font-weight:600;line-height:1.3}.nx-text-card-title{font-size:.9375rem;font-weight:600;line-height:1.3}.nx-text-body{font-size:.875rem;font-weight:400;line-height:1.5}.nx-text-body-strong{font-size:.875rem;font-weight:500;line-height:1.5}.nx-text-table{font-size:.8125rem;font-weight:400;line-height:1.4}.nx-text-table-header{font-size:.75rem;font-weight:500;line-height:1.4;text-transform:uppercase;letter-spacing:.05em}.nx-text-helper{font-size:.8125rem;font-weight:400;line-height:1.4}.nx-text-caption{font-size:.75rem;font-weight:400;line-height:1.4}.nx-text-code{font-size:.8125rem;font-weight:400;line-height:1.5;font-family:var(--nx-font-mono)}.nx-text-badge{font-size:.6875rem;font-weight:500;line-height:1}a{color:var(--nx-text-accent);text-decoration:none}a:hover{color:var(--nx-accent-hover);text-decoration:underline}:focus-visible{outline:2px solid var(--nx-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--nx-bg-base)}::-webkit-scrollbar-thumb{background:var(--nx-border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--nx-border-strong)}.ph-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--nx-space-4);padding:var(--nx-space-16) var(--nx-space-8);text-align:center}.ph-state--compact{padding:var(--nx-space-8) var(--nx-space-6)}.ph-state-icon{width:40px;height:40px;color:var(--nx-text-tertiary);flex-shrink:0}.ph-state--error .ph-state-icon{color:var(--nx-danger)}.ph-state-title{color:var(--nx-text-primary);margin:0}.ph-state-msg{color:var(--nx-text-secondary);margin:0;max-width:480px}.ph-loading-pulse{width:36px;height:36px;border-radius:50%;border:3px solid var(--nx-border-default);border-top-color:var(--nx-accent);animation:ph-spin .8s linear infinite}@keyframes ph-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ph-loading-pulse{animation:none;border-top-color:var(--nx-accent)}}.ph-card{background:var(--nx-bg-surface);border:1px solid var(--nx-border-default);border-radius:var(--nx-radius-lg);padding:var(--nx-space-6)}.ph-page{max-width:960px;margin:0 auto;padding:var(--nx-space-8) var(--nx-space-6);display:flex;flex-direction:column;gap:var(--nx-space-6)}@media(max-width:767px){.ph-page{padding:var(--nx-space-4)}}.ph-page-header{display:flex;flex-direction:column;gap:var(--nx-space-1)}.ph-page-header__desc{color:var(--nx-text-secondary);margin:0}.ph-field{display:flex;flex-direction:column;gap:var(--nx-space-1)}.ph-field-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--nx-text-tertiary)}.ph-field-hint{font-size:.8125rem;color:var(--nx-text-tertiary)}.ph-field-error{font-size:.8125rem;color:var(--nx-danger)}.ph-input,.ph-select{height:36px;padding:0 var(--nx-space-3);border:1px solid var(--nx-border-default);border-radius:var(--nx-radius-md);background:var(--nx-bg-elevated);color:var(--nx-text-primary);font-family:var(--nx-font-sans);font-size:.875rem;transition:border-color var(--nx-transition-base);width:100%;min-width:0}.ph-input--mono{font-family:var(--nx-font-mono)}.ph-input:focus,.ph-select:focus{outline:none;border-color:var(--nx-accent-border)}.ph-input.ph-input--invalid{border-color:var(--nx-danger)}.ph-input::placeholder{color:var(--nx-text-disabled)}.ph-checkbox-row{display:flex;align-items:center;gap:var(--nx-space-2)}.ph-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--nx-space-2);height:36px;padding:0 var(--nx-space-4);border-radius:var(--nx-radius-md);font-family:var(--nx-font-sans);font-size:.875rem;font-weight:500;cursor:pointer;transition:background var(--nx-transition-base),border-color var(--nx-transition-base),color var(--nx-transition-base);white-space:nowrap}.ph-btn--primary{background:var(--nx-accent);border:1px solid var(--nx-accent);color:var(--nx-text-inverse)}.ph-btn--primary:hover{background:var(--nx-accent-hover);border-color:var(--nx-accent-hover)}.ph-btn--ghost{background:transparent;border:1px solid var(--nx-border-default);color:var(--nx-text-secondary)}.ph-btn--ghost:hover{background:var(--nx-bg-overlay);color:var(--nx-text-primary)}.ph-btn--danger{background:transparent;border:1px solid var(--nx-danger);color:var(--nx-danger)}.ph-btn--danger:hover{background:var(--nx-danger-subtle)}.ph-btn--sm{height:28px;padding:0 var(--nx-space-3);font-size:.8125rem}.ph-btn:focus-visible{outline:2px solid var(--nx-accent);outline-offset:2px}.ph-btn:disabled,.ph-btn[disabled]{opacity:.4;cursor:not-allowed}.ph-btn--primary:disabled,.ph-btn--primary[disabled]{background:var(--nx-accent);border-color:var(--nx-accent)}.ph-badge{display:inline-block;padding:2px var(--nx-space-2);border-radius:var(--nx-radius-full);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-family:var(--nx-font-sans)}.ph-badge--neutral{color:var(--nx-text-tertiary)}.ph-badge--info{color:var(--nx-info)}.ph-badge--warning{color:var(--nx-warning)}.ph-badge--success{color:var(--nx-success)}.ph-badge--danger{color:var(--nx-danger)}.ph-id-chip{display:inline-flex;align-items:center;gap:var(--nx-space-2);padding:2px var(--nx-space-2);border-radius:var(--nx-radius-md);background:var(--nx-code-bg);color:var(--nx-code-text);font-family:var(--nx-font-mono);font-size:.8125rem}.ph-id-chip__copy{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--nx-text-tertiary);border-radius:var(--nx-radius-sm);cursor:pointer}.ph-id-chip__copy:hover{background:var(--nx-bg-overlay);color:var(--nx-text-primary)}
