:root{--si-font-ui: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--si-font-display: "Sora", "Inter", ui-sans-serif, system-ui, sans-serif;--si-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--si-fs-11: .6875rem;--si-lh-11: 1.35;--si-fs-12: .75rem;--si-lh-12: 1.4;--si-fs-13: .8125rem;--si-lh-13: 1.45;--si-fs-14: .875rem;--si-lh-14: 1.5;--si-fs-16: 1rem;--si-lh-16: 1.55;--si-fs-18: 1.125rem;--si-lh-18: 1.4;--si-fs-21: 1.3125rem;--si-lh-21: 1.3;--si-fs-26: 1.625rem;--si-lh-26: 1.2;--si-fs-32: 2rem;--si-lh-32: 1.15;--si-fs-42: 2.625rem;--si-lh-42: 1.08;--si-fs-56: 3.5rem;--si-lh-56: 1.02;--si-fw-regular: 400;--si-fw-medium: 500;--si-fw-semibold: 600;--si-fw-bold: 700;--si-s1: .25rem;--si-s2: .5rem;--si-s3: .75rem;--si-s4: 1rem;--si-s5: 1.25rem;--si-s6: 1.5rem;--si-s7: 2rem;--si-s8: 2.5rem;--si-s9: 3.5rem;--si-s10: 4.5rem;--si-r-xs: 6px;--si-r-sm: 8px;--si-r-md: 12px;--si-r-lg: 16px;--si-r-xl: 22px;--si-r-pill: 999px;--si-bg: #f4f6fb;--si-bg-2: #eaeef6;--si-surface: #ffffff;--si-surface-2: #f8fafc;--si-surface-3: #eff3f9;--si-line: #e2e8f0;--si-line-strong: #c8d2e0;--si-ink: #0b1220;--si-ink-2: #334155;--si-muted: #556377;--si-faint: #667384;--si-d-bg: #070b16;--si-d-surface: #0d1526;--si-d-surface-2: #131e36;--si-d-line: rgba(148, 163, 184, .18);--si-d-ink: #e8eef9;--si-d-ink-2: #c3d0e4;--si-d-muted: #9dafc8;--si-d-faint: #7e90aa;--si-ok: #15803d;--si-ok-soft: #e6f5ec;--si-ok-ink: #0f5a2b;--si-ok-d: #34d399;--si-warn: #b45309;--si-warn-soft: #fdf1df;--si-warn-ink: #7a3b00;--si-warn-d: #fbbf24;--si-danger: #b3261e;--si-danger-soft:#fdecea;--si-danger-ink:#8e1b15;--si-danger-d:#f87171;--si-info: #0e7490;--si-info-soft: #e6f4f8;--si-info-ink: #0b4f70;--si-info-d: #22d3ee;--si-grad: linear-gradient(120deg, #22d3ee 0%, #3b82f6 45%, #8b5cf6 100%);--si-grad-soft: linear-gradient(120deg, rgba(34, 211, 238, .14), rgba(139, 92, 246, .14));--si-sh-1: 0 1px 2px rgba(11, 18, 32, .06);--si-sh-2: 0 1px 2px rgba(11, 18, 32, .05), 0 4px 14px rgba(11, 18, 32, .07);--si-sh-3: 0 12px 32px -8px rgba(11, 18, 32, .18);--si-sh-4: 0 24px 64px -12px rgba(11, 18, 32, .32);--si-focus: 0 0 0 3px rgba(59, 130, 246, .45);--si-dur-1: .12s;--si-dur-2: .2s;--si-dur-3: .32s;--si-ease: cubic-bezier(.2, .8, .2, 1);--si-rail-w: 236px;--si-topbar-h: 56px;--si-maxw: 1180px;--si-maxw-prose: 68ch}:root{--si-brand: #4f46e5;--si-brand-strong: #4338ca;--si-brand-soft: #eef2ff;--si-brand-ink: #3730a3;--si-accent-2: var(--si-brand);--si-brand-on: #ffffff}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--si-font-ui);font-size:var(--si-fs-14);line-height:var(--si-lh-14);color:var(--si-ink);background:var(--si-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--si-font-display);color:var(--si-ink);margin:0}h1{font-size:var(--si-fs-26);line-height:var(--si-lh-26);font-weight:var(--si-fw-bold);letter-spacing:-.02em}h2{font-size:var(--si-fs-18);line-height:var(--si-lh-18);font-weight:var(--si-fw-semibold);letter-spacing:-.01em}h3{font-size:var(--si-fs-16);line-height:var(--si-lh-16);font-weight:var(--si-fw-semibold)}h4{font-size:var(--si-fs-14);line-height:var(--si-lh-14);font-weight:var(--si-fw-semibold)}p{margin:0 0 var(--si-s3)}a{color:var(--si-brand-ink);text-underline-offset:2px}a:hover{color:var(--si-brand-strong)}code,kbd,samp,.si-mono,.si-numeric{font-family:var(--si-font-mono);font-variant-numeric:tabular-nums}code{font-size:.9em;background:var(--si-surface-3);color:var(--si-brand-ink);padding:1px 6px;border-radius:var(--si-r-xs)}hr{border:0;border-top:1px solid var(--si-line);margin:var(--si-s5) 0}::selection{background:#3b82f647}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:none;box-shadow:var(--si-focus);border-radius:var(--si-r-xs)}.si-app{min-height:100vh;background:var(--si-bg)}.si-topbar{position:sticky;top:0;z-index:20;height:var(--si-topbar-h);display:flex;align-items:center;gap:var(--si-s4);padding:0 var(--si-s5);background:color-mix(in srgb,var(--si-surface) 88%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--si-line)}.si-topbar .si-brand{display:flex;align-items:center;gap:var(--si-s2);font-weight:var(--si-fw-semibold);letter-spacing:-.01em}.si-topbar .si-spacer{flex:1}.si-rail{position:sticky;top:var(--si-topbar-h);align-self:start;width:var(--si-rail-w);flex:0 0 var(--si-rail-w);height:calc(100vh - var(--si-topbar-h));overflow-y:auto;padding:var(--si-s5) var(--si-s3) var(--si-s7);background:var(--si-surface);border-right:1px solid var(--si-line)}.si-content{flex:1;min-width:0;padding:var(--si-s6) var(--si-s6) var(--si-s9)}.si-content>*{max-width:var(--si-maxw)}.si-navitem{display:flex;align-items:center;gap:var(--si-s3);padding:var(--si-s2) var(--si-s3);border-radius:var(--si-r-sm);color:var(--si-ink-2);text-decoration:none;font-size:var(--si-fs-13);font-weight:var(--si-fw-medium);transition:background var(--si-dur-1) var(--si-ease),color var(--si-dur-1) var(--si-ease)}.si-navitem:hover{background:var(--si-surface-3);color:var(--si-ink)}.si-navitem[aria-current=page],.si-navitem.is-active{background:var(--si-brand-soft);color:var(--si-brand-ink);font-weight:var(--si-fw-semibold)}.si-navgroup{margin-bottom:var(--si-s5)}.si-navgroup>.si-navgroup-label{font-size:var(--si-fs-11);text-transform:uppercase;letter-spacing:.08em;color:var(--si-faint);font-weight:var(--si-fw-semibold);padding:0 var(--si-s3) var(--si-s2)}.si-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--si-s4);flex-wrap:wrap;margin-bottom:var(--si-s5)}.si-page-head .si-sub{color:var(--si-muted);font-size:var(--si-fs-13);margin-top:var(--si-s1)}.si-head-actions{display:flex;gap:var(--si-s2);align-items:center;flex-wrap:wrap}.si-card,.panel,.card{background:var(--si-surface);border:1px solid var(--si-line);border-radius:var(--si-r-md);box-shadow:var(--si-sh-1);padding:var(--si-s5)}.si-card+.si-card{margin-top:var(--si-s4)}.si-card-title{display:flex;align-items:center;justify-content:space-between;gap:var(--si-s3);margin-bottom:var(--si-s3)}.si-card-title h2,.si-card-title h3{margin:0}.si-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:var(--si-s3)}.si-stat{background:var(--si-surface);border:1px solid var(--si-line);border-radius:var(--si-r-md);padding:var(--si-s4) var(--si-s5);display:flex;flex-direction:column;gap:var(--si-s1);text-align:left}button.si-stat{cursor:pointer;transition:border-color var(--si-dur-1) var(--si-ease),box-shadow var(--si-dur-1) var(--si-ease)}button.si-stat:hover{border-color:color-mix(in srgb,var(--si-brand) 45%,var(--si-line));box-shadow:var(--si-sh-2)}.si-stat dt,.si-stat .si-stat-label{font-size:var(--si-fs-11);text-transform:uppercase;letter-spacing:.07em;color:var(--si-muted);font-weight:var(--si-fw-semibold)}.si-stat dd,.si-stat .si-stat-value{margin:0;font-family:var(--si-font-display);font-size:var(--si-fs-26);line-height:var(--si-lh-26);font-weight:var(--si-fw-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.si-stat .si-stat-note{font-size:var(--si-fs-12);color:var(--si-muted)}.si-btn,button{display:inline-flex;align-items:center;justify-content:center;gap:var(--si-s2);font-family:inherit;font-size:var(--si-fs-13);font-weight:var(--si-fw-semibold);line-height:1;padding:.55rem .9rem;border-radius:var(--si-r-sm);border:1px solid transparent;background:var(--si-brand);color:var(--si-brand-on);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--si-dur-1) var(--si-ease),border-color var(--si-dur-1) var(--si-ease),color var(--si-dur-1) var(--si-ease),transform 60ms var(--si-ease)}.si-btn:hover:not(:disabled),button:hover:not(:disabled){background:var(--si-brand-strong)}.si-btn:active:not(:disabled),button:active:not(:disabled){transform:translateY(1px)}.si-btn:disabled,button:disabled{opacity:.55;cursor:not-allowed}.si-btn-secondary,button.si-btn-secondary,button.btn-secondary{background:var(--si-surface);color:var(--si-ink);border-color:var(--si-line-strong)}.si-btn-secondary:hover:not(:disabled),button.si-btn-secondary:hover:not(:disabled),button.btn-secondary:hover:not(:disabled){background:var(--si-surface-3);border-color:var(--si-ink-2);color:var(--si-ink)}.si-btn-ghost,button.si-btn-ghost,button.btn-link{background:transparent;color:var(--si-brand-ink);padding:.45rem .6rem}.si-btn-ghost:hover:not(:disabled),button.si-btn-ghost:hover:not(:disabled),button.btn-link:hover:not(:disabled){background:var(--si-brand-soft);color:var(--si-brand-ink)}.si-btn-danger{background:var(--si-danger);color:#fff}.si-btn-danger:hover:not(:disabled){background:#8e1b15}.si-btn-sm{padding:.35rem .6rem;font-size:var(--si-fs-12)}.si-btn-lg{padding:.75rem 1.2rem;font-size:var(--si-fs-16)}.si-btn-block{width:100%}.si-field{display:flex;flex-direction:column;gap:var(--si-s2)}.si-label{font-size:var(--si-fs-12);font-weight:var(--si-fw-semibold);color:var(--si-ink-2)}.si-hint{font-size:var(--si-fs-12);color:var(--si-muted)}.si-error-text{font-size:var(--si-fs-12);color:var(--si-danger)}input,select,textarea,.si-input{font-family:inherit;font-size:var(--si-fs-14);color:var(--si-ink);background:var(--si-surface);border:1px solid var(--si-line-strong);border-radius:var(--si-r-sm);padding:.55rem .7rem;width:100%;transition:border-color var(--si-dur-1) var(--si-ease),box-shadow var(--si-dur-1) var(--si-ease)}input::placeholder,textarea::placeholder{color:var(--si-faint)}input:hover,select:hover,textarea:hover{border-color:var(--si-ink-2)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--si-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--si-brand) 22%,transparent)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--si-danger);box-shadow:none}input[type=color]{padding:2px 4px;height:38px;width:46px}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--si-brand)}.si-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--si-s3)}.si-form-inline{display:flex;gap:var(--si-s3);align-items:flex-end;flex-wrap:wrap}.si-table,table{width:100%;border-collapse:separate;border-spacing:0;background:var(--si-surface);border:1px solid var(--si-line);border-radius:var(--si-r-md);overflow:hidden;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:.6rem .85rem;border-bottom:1px solid var(--si-line);font-size:var(--si-fs-13);vertical-align:middle}thead th{position:sticky;top:0;z-index:1;background:var(--si-surface-2);font-size:var(--si-fs-11);text-transform:uppercase;letter-spacing:.06em;color:var(--si-muted);font-weight:var(--si-fw-bold)}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--si-surface-2)}td.si-num,th.si-num{text-align:right;font-family:var(--si-font-mono)}.si-table-wrap{overflow-x:auto;border-radius:var(--si-r-md)}.si-table-dense th,.si-table-dense td{padding:.4rem .6rem;font-size:var(--si-fs-12)}@media (max-width: 640px){.si-stack thead{display:none}.si-stack tr{display:block;border:1px solid var(--si-line);border-radius:var(--si-r-md);margin-bottom:var(--si-s3);padding:var(--si-s2) var(--si-s3);background:var(--si-surface)}.si-stack td{display:flex;justify-content:space-between;gap:var(--si-s4);border:0;padding:var(--si-s1) 0;text-align:left}.si-stack td:before{content:attr(data-label);color:var(--si-muted);font-weight:var(--si-fw-semibold);font-size:var(--si-fs-12)}.si-stack td.si-cell-actions{justify-content:flex-end}}.si-badge,.badge{display:inline-flex;align-items:center;gap:var(--si-s1);font-size:var(--si-fs-11);font-weight:var(--si-fw-semibold);padding:.18rem .5rem;border-radius:var(--si-r-pill);background:var(--si-surface-3);color:var(--si-ink-2);white-space:nowrap;letter-spacing:.01em}.si-badge-ok{background:var(--si-ok-soft);color:var(--si-ok-ink)}.si-badge-warn{background:var(--si-warn-soft);color:var(--si-warn-ink)}.si-badge-danger{background:var(--si-danger-soft);color:var(--si-danger-ink)}.si-badge-info{background:var(--si-info-soft);color:var(--si-info-ink)}.si-badge-brand{background:var(--si-brand-soft);color:var(--si-brand-ink)}.si-alert{display:flex;gap:var(--si-s3);align-items:flex-start;padding:var(--si-s3) var(--si-s4);border-radius:var(--si-r-sm);border:1px solid transparent;font-size:var(--si-fs-13)}.si-alert-info{background:var(--si-info-soft);border-color:color-mix(in srgb,var(--si-info) 30%,transparent);color:var(--si-info-ink)}.si-alert-ok{background:var(--si-ok-soft);border-color:color-mix(in srgb,var(--si-ok) 30%,transparent);color:var(--si-ok-ink)}.si-alert-warn{background:var(--si-warn-soft);border-color:color-mix(in srgb,var(--si-warn) 32%,transparent);color:var(--si-warn-ink)}.si-alert-danger{background:var(--si-danger-soft);border-color:color-mix(in srgb,var(--si-danger) 30%,transparent);color:var(--si-danger-ink)}.error,.si-alert-danger{background:var(--si-danger-soft);color:var(--si-danger-ink);border:1px solid color-mix(in srgb,var(--si-danger) 30%,transparent);border-radius:var(--si-r-sm);padding:var(--si-s3) var(--si-s4);font-size:var(--si-fs-13)}.notice{background:var(--si-ok-soft);color:var(--si-ok-ink);border:1px solid color-mix(in srgb,var(--si-ok) 30%,transparent);border-radius:var(--si-r-sm);padding:var(--si-s3) var(--si-s4);font-size:var(--si-fs-13)}.si-tabs{display:flex;gap:var(--si-s1);flex-wrap:wrap;border-bottom:1px solid var(--si-line);margin-bottom:var(--si-s5)}.si-tabs>a,.si-tabs>button{background:transparent;color:var(--si-muted);border:0;border-bottom:2px solid transparent;border-radius:0;padding:var(--si-s2) var(--si-s3);font-weight:var(--si-fw-semibold)}.si-tabs>a:hover,.si-tabs>button:hover:not(:disabled){color:var(--si-ink);background:var(--si-surface-3)}.si-tabs>a[aria-current=page],.si-tabs>a.is-active,.si-tabs>button.active,.si-tabs>button[aria-selected=true]{color:var(--si-brand-ink);border-bottom-color:var(--si-brand)}.segmented{display:inline-flex;padding:2px;gap:2px;background:var(--si-surface-3);border-radius:var(--si-r-pill)}.segmented button{background:transparent;color:var(--si-ink-2);border-radius:var(--si-r-pill);padding:.3rem .7rem;font-size:var(--si-fs-12)}.segmented button[aria-pressed=true],.segmented button.active{background:var(--si-surface);color:var(--si-brand-ink);box-shadow:var(--si-sh-1)}.si-empty{display:flex;flex-direction:column;align-items:center;gap:var(--si-s2);padding:var(--si-s8) var(--si-s5);text-align:center;border:1px dashed var(--si-line-strong);border-radius:var(--si-r-md);background:var(--si-surface-2);color:var(--si-muted)}.si-empty h3{color:var(--si-ink)}.si-empty p{max-width:46ch;margin:0;font-size:var(--si-fs-13)}.si-loading{display:flex;align-items:center;gap:var(--si-s3);color:var(--si-muted);font-size:var(--si-fs-13)}.si-spinner{width:16px;height:16px;flex:0 0 16px;border-radius:50%;border:2px solid var(--si-line-strong);border-top-color:var(--si-brand);animation:si-spin .7s linear infinite}@keyframes si-spin{to{transform:rotate(360deg)}}.si-skeleton{background:linear-gradient(90deg,var(--si-surface-3) 25%,var(--si-surface-2) 37%,var(--si-surface-3) 63%);background-size:400% 100%;border-radius:var(--si-r-xs);min-height:.9em;animation:si-shimmer 1.4s ease-in-out infinite}@keyframes si-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.si-skeleton-row{height:12px;margin:var(--si-s2) 0}.si-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b12208c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:60;padding:var(--si-s4)}.si-dialog{background:var(--si-surface);border-radius:var(--si-r-lg);box-shadow:var(--si-sh-4);width:min(560px,100%);max-height:88vh;overflow:auto;padding:var(--si-s6)}.si-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--si-s3);margin-bottom:var(--si-s4)}.muted,.si-muted{color:var(--si-muted)}.si-faint{color:var(--si-faint)}.si-strong{font-weight:var(--si-fw-semibold)}.si-right{text-align:right}.si-row{display:flex;align-items:center;gap:var(--si-s3)}.si-row-wrap{display:flex;align-items:center;gap:var(--si-s2);flex-wrap:wrap}.si-between{display:flex;align-items:center;justify-content:space-between;gap:var(--si-s3)}.si-stack-2>*+*{margin-top:var(--si-s2)}.si-stack-3>*+*{margin-top:var(--si-s3)}.si-stack-4>*+*{margin-top:var(--si-s4)}@media (max-width: 640px){.si-hide-sm{display:none!important}}@media (min-width: 641px){.si-hide-lg{display:none!important}}.si-dark{background:var(--si-d-bg);color:var(--si-d-ink)}.si-dark h1,.si-dark h2,.si-dark h3,.si-dark h4{color:var(--si-d-ink)}.si-dark .muted,.si-dark .si-muted{color:var(--si-d-muted)}.si-dark .si-faint{color:var(--si-d-faint)}.si-dark .si-card,.si-dark .panel,.si-dark .card{background:var(--si-d-surface);border-color:var(--si-d-line);color:var(--si-d-ink)}.si-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.si-skip-link{position:absolute;left:var(--si-s3);top:-60px;z-index:100;background:var(--si-surface);color:var(--si-ink);padding:var(--si-s2) var(--si-s3);border-radius:var(--si-r-sm);box-shadow:var(--si-sh-2);text-decoration:none;transition:top var(--si-dur-2) var(--si-ease)}.si-skip-link:focus{top:var(--si-s3)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--si-brand: #7c3aed;--si-brand-strong: #6d28d9;--si-brand-soft: #1e1633;--si-brand-ink: #c4b5fd;--si-brand-on: #ffffff}body{font-family:var(--si-font-ui);background:radial-gradient(1000px 480px at 85% -10%,rgba(34,211,238,.1),transparent 60%),radial-gradient(900px 480px at -10% 10%,rgba(124,58,237,.12),transparent 62%),var(--si-d-bg);color:var(--si-d-ink);min-height:100vh}h1,h2,h3{font-family:var(--si-font-display);color:var(--si-d-ink);letter-spacing:-.02em}a{color:var(--si-info-d);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--si-d-muted);font-size:var(--si-fs-13)}.center{text-align:center}.wrap{max-width:var(--si-maxw);margin:0 auto;padding:var(--si-s6) var(--si-s5) var(--si-s9)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--si-s3) 0 var(--si-s5);gap:var(--si-s4);flex-wrap:wrap}.brand{display:flex;align-items:center;gap:var(--si-s3);font-family:var(--si-font-display);font-size:var(--si-fs-18);font-weight:var(--si-fw-bold)}.brand-mark{width:34px;height:34px;border-radius:var(--si-r-sm);display:grid;place-items:center;background:var(--si-grad);color:#04121f;font-weight:var(--si-fw-bold)}h1{font-size:var(--si-fs-32);margin-bottom:var(--si-s2)}.sub{color:var(--si-d-muted);font-size:var(--si-fs-14);margin-bottom:var(--si-s6);max-width:var(--si-maxw-prose)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--si-s4)}.card{background:var(--si-d-surface);border:1px solid var(--si-d-line);border-radius:var(--si-r-lg);padding:var(--si-s5);display:flex;flex-direction:column;gap:var(--si-s2);transition:transform var(--si-dur-2) var(--si-ease),border-color var(--si-dur-2) var(--si-ease),box-shadow var(--si-dur-2) var(--si-ease)}a.card:hover,button.card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--si-info-d) 45%,transparent);box-shadow:var(--si-sh-3);text-decoration:none}.card h3{font-size:var(--si-fs-18)}.tag{display:inline-block;padding:.15rem .6rem;border-radius:var(--si-r-pill);font-size:var(--si-fs-11);font-weight:var(--si-fw-semibold);letter-spacing:.02em;background:#22d3ee24;color:var(--si-info-d)}.price{font-family:var(--si-font-mono);font-size:var(--si-fs-18);font-weight:var(--si-fw-bold);color:var(--si-info-d);margin-top:auto;font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--si-s2);min-height:44px;background:var(--si-brand);color:var(--si-brand-on);border:none;padding:.7rem 1.1rem;border-radius:var(--si-r-md);font-weight:var(--si-fw-semibold);font-size:var(--si-fs-14);cursor:pointer;text-align:center;transition:background var(--si-dur-1) var(--si-ease),transform 60ms var(--si-ease)}.btn:hover:not(:disabled){background:var(--si-brand-strong);text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;border:1px solid var(--si-d-line);color:var(--si-d-ink)}.btn.ghost:hover:not(:disabled){background:var(--si-d-surface-2);border-color:var(--si-info-d)}.error{background:var(--si-danger-soft);color:var(--si-danger-ink);border:1px solid color-mix(in srgb,var(--si-danger) 30%,transparent);border-radius:var(--si-r-md);padding:var(--si-s3) var(--si-s4);font-size:var(--si-fs-13);margin-top:var(--si-s3)}.event-hero{background:var(--si-d-surface);border:1px solid var(--si-d-line);border-radius:var(--si-r-lg);padding:var(--si-s5);margin-bottom:var(--si-s5);display:flex;justify-content:space-between;align-items:center;gap:var(--si-s4);flex-wrap:wrap}.event-hero h1{font-size:var(--si-fs-26);margin:0}.legend{display:flex;flex-wrap:wrap;gap:var(--si-s3);font-size:var(--si-fs-12);margin-top:var(--si-s3);color:var(--si-d-muted)}.legend-item{display:flex;align-items:center;gap:var(--si-s2)}.legend-swatch{width:12px;height:12px;border-radius:4px;display:inline-block}.map-shell{background:var(--si-d-surface);border:1px solid var(--si-d-line);border-radius:var(--si-r-lg);padding:var(--si-s5)}.map-canvas{width:100%;height:auto;touch-action:manipulation}.cart{background:var(--si-d-surface);border:1px solid var(--si-d-line);border-radius:var(--si-r-lg);padding:var(--si-s4) var(--si-s5);margin-top:var(--si-s4);display:flex;justify-content:space-between;align-items:center;gap:var(--si-s4);flex-wrap:wrap;position:sticky;bottom:var(--si-s3)}.cart-seats{font-size:var(--si-fs-13);color:var(--si-d-muted);max-width:52ch;line-height:1.5}.ticket-box{background:var(--si-d-surface);border:1px solid var(--si-d-line);border-radius:var(--si-r-md);padding:var(--si-s4);display:flex;justify-content:space-between;align-items:center;gap:var(--si-s3)}.ticket-code{font-family:var(--si-font-mono);font-size:var(--si-fs-13);color:var(--si-info-d)}.si-loading,.loading{display:flex;align-items:center;gap:var(--si-s3);color:var(--si-d-muted);font-size:var(--si-fs-13)}.spinner{width:26px;height:26px;margin:var(--si-s7) auto;border:3px solid var(--si-d-line);border-top-color:var(--si-info-d);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.wrap{padding:var(--si-s5) var(--si-s3) var(--si-s8)}h1{font-size:var(--si-fs-26)}.event-hero{padding:var(--si-s4)}.cart{position:static;flex-direction:column;align-items:stretch}.cart .btn{width:100%}}
