:root{--space-xs:.25rem;--space-s:.5rem;--space-m:1rem;--space-l:2rem;--radius-m:.5rem;--radius-l:.75rem;--bg:#f6f7f9;--surface:#fff;--text:#1a1d23;--text-muted:#4b5563;--border:#d1d5db;--primary:#1d4ed8;--primary-hover:#1e40af;--primary-text:#fff;--danger:#b91c1c;--focus:#1d4ed8;color:var(--text);background:var(--bg);font-family:system-ui,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;margin:0}h1,h2,h3{line-height:1.25}a{color:var(--primary)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.btn{justify-content:center;align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-m);font:inherit;border-radius:var(--radius-m);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-weight:600;display:inline-flex}.btn:hover{background:#eef0f3}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn--primary:hover{background:var(--primary-hover)}.btn--danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn--danger:hover{background:#991b1b}.btn--link{color:var(--primary);background:0 0;border:0;align-self:flex-start;padding:0;font-weight:400;text-decoration:underline}.btn--link:hover{color:var(--primary-hover);background:0 0}.btn--icon{background:0 0;border-color:#0000;min-width:44px;padding:0;font-size:1.5rem;line-height:1}.field{gap:var(--space-xs);flex-direction:column;display:flex}.field label{font-weight:600}.field input,.field textarea,.field select{font:inherit;padding:var(--space-s);border-radius:var(--radius-m);background:var(--surface);min-height:44px;color:var(--text);border:1px solid #6b7280}.field-hint{color:var(--text-muted);font-size:.875rem}.field-error{color:var(--danger);font-size:.875rem;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l)}.card h3{margin-top:0}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-between{justify-content:space-between}.flex-end{justify-content:flex-end}.flex-center{justify-content:center;align-items:center}.flex-start{align-items:flex-start}.flex-middle{align-items:center}.flex-1{flex:1}.gap-xs{gap:var(--space-xs)}.gap-s{gap:var(--space-s)}.gap-m{gap:var(--space-m)}.gap-l{gap:var(--space-l)}.pad-s{padding:var(--space-s)}.pad-m{padding:var(--space-m)}.pad-l{padding:var(--space-l)}.mar-0{margin:0}.mar-b-s{margin-bottom:var(--space-s)}.mar-b-m{margin-bottom:var(--space-m)}.mar-b-l{margin-bottom:var(--space-l)}.mar-top-auto{margin-top:auto}.text-muted{color:var(--text-muted)}.text-s{font-size:.875rem}.grid-cards{gap:var(--space-m);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));display:grid}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modal-overlay{z-index:1000;background:#0f172a99;transition:opacity .2s}.modal{width:100%;max-height:calc(100dvh - 2 * var(--space-m));background:var(--surface);color:var(--text);border-radius:var(--radius-l);transition:opacity .2s,transform .2s;box-shadow:0 24px 48px #00000040}.modal--s{max-width:28rem}.modal--m{max-width:40rem}.modal--l{max-width:64rem}.modal-overlay[data-status=initial],.modal-overlay[data-status=close]{opacity:0}.modal[data-status=initial],.modal[data-status=close]{opacity:0;transform:translateY(8px)scale(.98)}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal{transition:none}}.modal__header{border-bottom:1px solid var(--border)}.modal__title{margin:0;font-size:1.25rem;line-height:1.3}.modal__description{margin:var(--space-xs) 0 0;color:var(--text-muted)}.modal__body{flex:1;min-height:0;overflow-y:auto}.modal__footer{border-top:1px solid var(--border);flex-wrap:wrap}.carousel__track{gap:var(--space-m);padding:var(--space-xs) var(--space-xs) var(--space-m);scroll-snap-type:x mandatory;overscroll-behavior-x:contain;border-radius:var(--radius-m);list-style:none;display:flex;overflow-x:auto}.carousel__item{scroll-snap-align:start;flex:0 0 min(15rem,75%);overflow:hidden}.carousel__image{height:8rem;font-size:3rem}.carousel__nav[aria-disabled=true]{opacity:.4;cursor:not-allowed}.demo-panel{left:var(--space-m);bottom:var(--space-m);z-index:2000;width:min(22rem, calc(100vw - 2 * var(--space-m)));pointer-events:none;color:#e5e7eb;border-radius:var(--radius-m);background:#111827f0;max-height:45vh;font-size:.8125rem;line-height:1.4;position:fixed;overflow:auto;box-shadow:0 8px 24px #0000004d}.demo-panel__title{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;font-size:.75rem;font-weight:700}.demo-panel__list{gap:var(--space-xs) var(--space-s);grid-template-columns:auto 1fr;display:grid;margin-bottom:var(--space-m)!important}.demo-panel__list dt{font-weight:600}.demo-panel__list dd{word-break:break-word;margin:0}.demo-panel code{color:#93c5fd}.demo-panel .ok{color:#86efac}.demo-panel .warn{color:#fca5a5}.demo-panel .text-muted{color:#9ca3af}.demo-panel__log{padding-left:1.1rem}.table-scroll{overscroll-behavior-x:contain;border:1px solid var(--border);border-radius:var(--radius-m);overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:100%}.data-table th,.data-table td{padding:var(--space-s) var(--space-m);border-bottom:1px solid var(--border);text-align:right}.data-table thead th{background:#f3f4f6}.data-table abbr{text-decoration:none}.data-table th:first-child{z-index:1;text-align:left;background:var(--surface);box-shadow:1px 0 0 var(--border);position:sticky;left:0}.data-table thead th:first-child{background:#f3f4f6}.data-table__total{font-weight:700}html{scroll-padding-top:6rem}.container{max-width:72rem;margin:0 auto}.skip-link{left:var(--space-m);z-index:100;padding:var(--space-s) var(--space-m);background:var(--primary);color:var(--primary-text);border-radius:var(--radius-m);position:absolute;top:-100px}.skip-link:focus{top:var(--space-m)}.site-header{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header .container{flex-wrap:wrap}.site-header__logo{font-weight:700}.site-header__nav{padding:0;list-style:none}.site-header .btn[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--surface)}.intro h1{margin-bottom:var(--space-s);font-size:clamp(1.75rem,4vw,2.5rem)}.intro code{padding:0 var(--space-xs);background:#e5e7eb;border-radius:4px}.status-message:empty{display:none}.status-message{padding:var(--space-s) var(--space-m);color:#14532d;border-radius:var(--radius-m);background:#dcfce7;font-weight:600}.newsletter__submit{align-self:flex-end}.site-footer{border-top:1px solid var(--border);background:var(--surface)}
