:root{--ds-version:"2.2.0";--font-size-xs:.72rem;--font-size-sm:.8125rem;--font-size-md:.875rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-xxl:1.75rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-base:1.5;--line-height-loose:1.8;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--control-height-sm:1.75rem;--control-height-md:2rem;--control-height-lg:2.5rem;--control-height-touch:2.75rem;--shadow-sm:0 1px 3px var(--shadow-elevation), 0 1px 2px var(--shadow-elevation);--shadow-md:0 4px 6px var(--shadow-elevation), 0 1px 3px var(--shadow-elevation);--shadow-lg:0 10px 20px var(--shadow-elevation), 0 6px 6px var(--shadow-elevation);--shadow-glow-accent:0 0 15px color-mix(in srgb, var(--accent) 35%, transparent);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1)}:root,:root[data-skin=rtlabs]{--font-display:"Outfit", "IBM Plex Sans", system-ui, sans-serif;--font-title:"IBM Plex Sans", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-code:"IBM Plex Mono", ui-monospace, monospace;--font-control:var(--font-body);--radius-control:var(--radius-md);--radius-surface:var(--radius-lg);--radius-chip:var(--radius-sm);--radius-full:9999px;--border-width:1px;--border-width-accent:3px;--clip-surface:none;--clip-control:none;--shadow-surface:var(--shadow-sm);--shadow-overlay:var(--shadow-sm);--focus-ring:0 0 0 3px var(--accent-dim);--glass-blur:blur(8px);--texture-image:radial-gradient(var(--accent-dim) 1px, transparent 1px), linear-gradient(to bottom, var(--bg) 0%, transparent 40%, var(--bg) 100%);--texture-size:32px 32px, 100% 100%;--decor-1:radial-gradient(circle, var(--accent-dim) 0%, transparent 70%);--decor-2:radial-gradient(circle, var(--success-dim) 0%, transparent 70%);--overlay-image:none;--overlay-size:auto;--overlay-opacity:0}:root,:root[data-skin=rtlabs][data-theme=dark]{--bg:#0e1116;--surface-1:#161b22;--surface-2:#1b222c;--surface-glass:#161b22d9;--border:#232c39;--border-strong:#3b4b61;--border-hover:#3b4b61;--text-primary:#e6edf3;--text-secondary:#8b949e;--text-on-accent:#0d1117;--accent:#58a6ff;--accent-2:#5ed39e;--accent-dim:#1f3a5f;--accent-hover:#79b8ff;--success:#5ed39e;--success-dim:#5ed39e26;--warning:#f5b14c;--warning-dim:#f5b14c26;--error:#f0795b;--error-dim:#f0795b26;--shadow-elevation:#00000073}:root[data-skin=rtlabs][data-theme=light]{--bg:#f6f8fa;--surface-1:#fff;--surface-2:#f6f8fa;--surface-glass:#ffffffd9;--border:#d0d7de;--border-strong:#b4bfc9;--border-hover:#b4bfc9;--text-primary:#24292f;--text-secondary:#57606a;--text-on-accent:#fff;--accent:#0969da;--accent-2:#1a7f37;--accent-dim:#a9d1f5;--accent-hover:#0349b4;--success:#1a7f37;--success-dim:#1a7f3726;--warning:#9a6700;--warning-dim:#9a670026;--error:#cf222e;--error-dim:#cf222e26;--shadow-elevation:#00000014;--glass-blur:blur(6px)}:root[data-skin=rtlabs][data-theme=violet]{--bg:#12101a;--surface-1:#1b1826;--surface-2:#22202f;--surface-glass:#1b1826d9;--border:#302c40;--border-strong:#4a4460;--border-hover:#4a4460;--text-primary:#f1eef9;--text-secondary:#9d97b3;--text-on-accent:#12101a;--accent:#b389f9;--accent-2:#6fd6a8;--accent-dim:#3a2e5c;--accent-hover:#c7a6ff;--success:#6fd6a8;--success-dim:#6fd6a826;--warning:#f0c168;--warning-dim:#f0c16826;--error:#ef7d8a;--error-dim:#ef7d8a26;--shadow-elevation:#00000080;--glass-blur:blur(4px)}:root[data-skin=accessible]{--font-display:"Atkinson Hyperlegible", system-ui, sans-serif;--font-title:"Atkinson Hyperlegible", system-ui, sans-serif;--font-body:"Atkinson Hyperlegible", system-ui, sans-serif;--font-code:"IBM Plex Mono", ui-monospace, monospace;--font-control:var(--font-body);--radius-control:var(--radius-md);--radius-surface:10px;--radius-chip:var(--radius-sm);--radius-full:9999px;--border-width:3px;--border-width-accent:6px;--clip-surface:none;--clip-control:none;--shadow-surface:none;--shadow-overlay:none;--focus-ring:0 0 0 3px var(--bg), 0 0 0 7px var(--accent);--glass-blur:blur(0px);--texture-image:none;--texture-size:auto;--decor-1:none;--decor-2:none;--overlay-image:none;--overlay-size:auto;--overlay-opacity:0;--font-size-xs:.8125rem;--font-size-sm:.9375rem;--font-size-md:1rem;--control-height-sm:2rem;--control-height-md:2.5rem;--line-height-base:1.6}:root[data-skin=accessible][data-theme=dark]{--bg:#000;--surface-1:#0a0e13;--surface-2:#161b22;--surface-glass:#0a0e13fa;--border:#a9b6c4;--border-strong:#fff;--border-hover:#fff;--text-primary:#fff;--text-secondary:#d6dee7;--text-on-accent:#000;--accent:#ffd400;--accent-2:#6ee7ff;--accent-dim:#4a3d00;--accent-hover:#ffe44d;--success:#55f08a;--success-dim:#55f08a33;--warning:#ffd400;--warning-dim:#ffd40033;--error:#ff8a80;--error-dim:#ff8a8033;--shadow-elevation:#0000}:root[data-skin=accessible][data-theme=light]{--bg:#fff;--surface-1:#fff;--surface-2:#f0f0f0;--surface-glass:#fffffffa;--border:#4a4a4a;--border-strong:#000;--border-hover:#000;--text-primary:#000;--text-secondary:#333;--text-on-accent:#fff;--accent:#0b4fa8;--accent-2:#7a1fa2;--accent-dim:#cfe0f5;--accent-hover:#073a7d;--success:#005c2e;--success-dim:#005c2e26;--warning:#6b4600;--warning-dim:#6b460026;--error:#a10014;--error-dim:#a1001426;--shadow-elevation:#0000}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-md);line-height:var(--line-height-base);min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal)}img,svg{max-width:100%;display:block}.hide{display:none!important}.skin-overlay{pointer-events:none;z-index:9999;background-image:var(--overlay-image);background-size:var(--overlay-size);opacity:var(--overlay-opacity);transition:opacity var(--transition-normal);position:fixed;inset:0}.alert{padding:var(--space-3);border-radius:var(--radius-surface);margin-bottom:var(--space-3);border:var(--border-width) solid var(--border);gap:var(--space-3);font-size:var(--font-size-sm);background:var(--surface-2);align-items:flex-start;display:flex}.alert-info{border-left:var(--border-width-accent) solid var(--accent)}.alert-success{border-left:var(--border-width-accent) solid var(--success)}.alert-warning{border-left:var(--border-width-accent) solid var(--warning)}.alert-error{border-left:var(--border-width-accent) solid var(--error)}.alert-icon{font-size:1.2rem;line-height:1}.alert p{margin-top:var(--space-1);color:var(--text-secondary)}.fade-in-up{opacity:0;animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeInUp;transform:translateY(16px)}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.badge{font-family:var(--font-code);font-size:var(--font-size-xs);color:var(--accent);background:var(--accent-dim);border:var(--border-width) solid var(--accent);padding:3px var(--space-2);border-radius:var(--radius-chip);letter-spacing:.04em;display:inline-flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-height-md);padding-inline:var(--space-3);border-radius:var(--radius-control);clip-path:var(--clip-control);font-family:var(--font-control);font-weight:500;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);border:none;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:translateY(1px)}.btn-ghost{color:var(--text-secondary);border:var(--border-width) solid var(--border);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--text-primary);border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-fill{flex:1}.btn-row{gap:var(--space-3);margin-top:var(--space-2);display:flex}@media (max-width:767px),(pointer:coarse){.btn{height:var(--control-height-touch);padding-inline:var(--space-4)}}.color-grid{gap:var(--space-3);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));display:grid}.color-swatch{border-radius:var(--radius-surface);border:var(--border-width) solid var(--border);background:var(--surface-2);cursor:pointer;transition:border-color var(--transition-fast);flex-direction:column;display:flex;overflow:hidden}.color-swatch:hover{border-color:var(--accent)}.swatch-fill{width:100%;height:56px}.swatch-info{padding:var(--space-2) var(--space-3)}.swatch-name{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:600}.swatch-var{font-family:var(--font-code);font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:4px}@media (min-width:480px){.color-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.swatch-fill{height:64px}}@media (min-width:1024px){.color-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.swatch-fill{height:72px}}.console{background:var(--bg);border:var(--border-width) solid var(--border);border-radius:var(--radius-surface);padding:var(--space-2) var(--space-3);font-family:var(--font-code);font-size:var(--font-size-xs);color:var(--text-secondary);white-space:pre-wrap;max-height:260px;overflow:auto}.table-scroll{border:var(--border-width) solid var(--border);border-radius:var(--radius-surface);max-height:360px;overflow:auto}table.data-table{border-collapse:collapse;width:100%;font-family:var(--font-code);font-size:var(--font-size-xs);white-space:nowrap}.data-table th,.data-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);text-align:left}.data-table th{color:var(--accent);background:var(--surface-2);z-index:1;font-weight:600;position:sticky;top:0}.data-table td{color:var(--text-secondary)}.data-table tbody tr{cursor:pointer;transition:background var(--transition-fast)}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table tr.selected td{background:var(--accent-dim);color:var(--text-primary)}.dropzone-demo{border:calc(var(--border-width) * 2) dashed var(--border);border-radius:var(--radius-surface);clip-path:var(--clip-surface);padding:var(--space-6) var(--space-4);text-align:center;transition:border-color var(--transition-fast), background var(--transition-fast);background:var(--surface-1);cursor:pointer}.dropzone-demo:hover,.dropzone-demo.hover{border-color:var(--accent);background:var(--surface-2)}.dropzone-demo .icon{color:var(--accent);margin-bottom:var(--space-2);justify-content:center;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex}.dropzone-demo .icon svg{width:32px;height:32px}.dropzone-demo:hover .icon{transform:translateY(-4px)}.dropzone-demo .dz-title{font-size:var(--font-size-md);margin-bottom:var(--space-1);font-weight:600}.dropzone-demo .dz-sub{color:var(--text-secondary);font-size:var(--font-size-sm)}.dropzone-status-row{margin-top:var(--space-4);color:var(--text-secondary);font-size:var(--font-size-sm);justify-content:space-between;align-items:center;display:flex}.input-demo,select.input-demo{background:var(--bg);border:var(--border-width) solid var(--border);color:var(--text-primary);height:var(--control-height-md);padding-inline:var(--space-3);border-radius:var(--radius-control);clip-path:var(--clip-control);font-family:var(--font-code);font-size:var(--font-size-sm);width:100%;transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}select.input-demo{cursor:pointer}.input-demo:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.input-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-2);display:block}.input-narrow{flex:none;width:4.5rem}.input-inline-label{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary);font-family:var(--font-code);display:flex}details.disclosure summary{cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-sm)}details.disclosure[open] summary{color:var(--text-primary);margin-bottom:var(--space-2)}@media (max-width:767px),(pointer:coarse){.input-demo,select.input-demo{height:var(--control-height-touch);padding-inline:var(--space-4)}}.panel{background:var(--surface-1);border:var(--border-width) solid var(--border);border-radius:var(--radius-surface);clip-path:var(--clip-surface);padding:var(--space-4);box-shadow:var(--shadow-surface);transition:border-color var(--transition-normal), transform var(--transition-normal);position:relative}.panel:hover{border-color:var(--border-hover);transform:translateY(-1px)}.panel.glow-on-hover:hover{box-shadow:var(--shadow-md), var(--shadow-glow-accent)}.panel h2,.panel h3{font-family:var(--font-code);text-transform:uppercase;letter-spacing:.12em;font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--space-4);font-weight:600}.panel-desc{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}@media (max-width:767px){.panel{padding:var(--space-3)}}.pill{padding:1px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);border:var(--border-width) solid var(--border);color:var(--text-secondary);display:inline-block}.pill-success{color:var(--success);border-color:var(--success)}.pill-warning{color:var(--warning);border-color:var(--warning)}.pill-error{color:var(--error);border-color:var(--error)}.status-dot{background:var(--text-secondary);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status-dot-success{background:var(--success)}.status-dot-warning{background:var(--warning)}.status-dot-error{background:var(--error)}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--border) 50%, var(--surface-2) 75%);border-radius:var(--radius-chip);background-size:200% 100%;animation:1.5s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:16px;margin-bottom:var(--space-2)}.skeleton-line--80{width:80%}.skeleton-line--60{width:60%}.skeleton-line--40{width:40%}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-6);display:flex;overflow-x:auto}.tab{color:var(--text-secondary);padding:var(--space-2) var(--space-3);font-family:var(--font-control);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000}.tab:hover:not(.active){color:var(--text-primary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}@media (max-width:767px),(pointer:coarse){.tab{padding:var(--space-3) var(--space-3)}}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);line-height:var(--line-height-tight)}h2.section-title{font-family:var(--font-display);font-size:var(--font-size-xxl);margin-bottom:var(--space-2);letter-spacing:-.02em;background:linear-gradient(135deg, var(--text-primary) 0%, var(--text-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700}.section-desc{color:var(--text-secondary);font-size:var(--font-size-md);margin-bottom:var(--space-8);max-width:620px}code.inline{font-family:var(--font-code);background:var(--surface-2);border-radius:var(--radius-chip);color:var(--accent);padding:2px 6px;font-size:.9em}.section-header{justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.subsection-title{font-family:var(--font-title);font-size:var(--font-size-xl);margin-bottom:var(--space-6);font-weight:600}.group-label{font-family:var(--font-title);font-size:var(--font-size-md);color:var(--text-secondary);margin:var(--space-8) 0 var(--space-4);font-weight:600}.section-header-title{font-size:var(--font-size-xl);font-weight:600}.stack{gap:var(--space-4);flex-direction:column;display:flex}@media (max-width:767px){h2.section-title{font-size:var(--font-size-xl)}}
*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--background,var(--surface-1));color:var(--text-primary);font-family:var(--font-sans);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}
