.sm{display:block;--sm-gap: var(--space-4)}.sm [hidden]{display:none!important}.sm-dim{color:var(--color-muted);font-size:var(--text-sm)}.sm-note{color:var(--color-muted);font-size:var(--text-sm);margin:var(--space-3) 0 0;max-width:var(--measure)}.sm-notes{margin:var(--space-3) 0 0;padding-left:1.1rem;display:grid;gap:var(--space-1)}.sm-notes:empty{display:none}.sm-h2{font-size:var(--text-lg);margin:0 0 var(--space-3)}.sm-h3{font-size:var(--text-md);margin:var(--space-4) 0 var(--space-2)}.sm-sec{margin-top:var(--space-7)}.sm-controls{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);align-items:flex-end;margin:0}.sm-field{display:grid;gap:var(--space-1);min-width:0;border:0;padding:0;margin:0}.sm-field label,.sm-field legend{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);padding:0}.sm-field select{font:inherit;font-weight:500;padding:var(--space-2) var(--space-4);min-height:2.75rem;max-width:100%;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-rule-strong);border-radius:var(--radius-pill);transition:border-color .2s var(--ease)}.sm-field select:hover{border-color:var(--color-ink)}.sm-field--mun{margin-bottom:var(--space-3);max-width:24rem}.sm-modes{display:inline-flex;flex-wrap:wrap;gap:var(--space-1);padding:4px;border:1px solid var(--color-rule-strong);border-radius:var(--radius-pill);background:var(--color-surface)}.sm-mode{font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;padding:var(--space-2) var(--space-4);min-height:2.5rem;background:transparent;color:var(--color-text);border:0;border-radius:var(--radius-pill);transition:background .2s var(--ease),color .2s var(--ease)}.sm-mode:hover{background:var(--color-surface-2)}.sm-mode[aria-pressed=true]{background:var(--color-ink);color:var(--color-bg)}.sm-mode:focus-visible,.sm-btn:focus-visible,.sm-field select:focus-visible,.sm-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.sm-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.sm-crumb .sm-h2{margin:0}.sm-crumb .sm-h2:focus{outline:none}.sm-hint{margin:var(--space-3) 0 0;color:var(--color-muted);font-size:var(--text-sm);max-width:var(--measure);min-height:1.4em}.sm-btn{font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;padding:var(--space-2) var(--space-4);min-height:2.75rem;min-width:2.75rem;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-rule-strong);border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;transition:background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.sm-btn:hover{background:var(--color-surface-2);border-color:var(--color-ink);transform:translateY(-1px)}.sm-grid{display:grid;gap:var(--space-5);margin-top:var(--space-4)}@media(min-width:64rem){.sm-grid{grid-template-columns:minmax(0,2.2fr) minmax(16rem,1fr);align-items:start}}.sm-fig{margin:0;min-width:0}.sm-tools{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.sm-stage{position:relative;border:var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:var(--color-surface);overflow:hidden;touch-action:pan-y}.sm-svg{display:block;width:100%;height:auto;max-height:78vh}.sm-p{fill:var(--color-surface-2);stroke:var(--color-surface);stroke-width:.6;cursor:pointer;vector-effect:non-scaling-stroke;outline:none}.sm-p[data-state=none]{stroke:var(--color-rule)}.sm-p:hover{stroke:var(--color-ink);stroke-width:1.5}.sm-p:focus-visible{stroke:var(--color-focus);stroke-width:3}.sm-inset{fill:none;stroke:var(--color-faint);stroke-width:1;stroke-dasharray:3 3;pointer-events:none}.sm-inset-label{fill:var(--color-muted);font-size:11px;font-family:var(--font-mono);pointer-events:none}.sm-canvas{display:block;max-width:100%;cursor:grab}.sm-canvas:active{cursor:grabbing}.sm-loading{position:absolute;inset:0;display:none;place-items:center;margin:0;background:color-mix(in srgb,var(--color-surface) 70%,transparent);color:var(--color-muted)}.sm[data-loading] .sm-loading{display:grid}.sm-attr{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-muted)}.sm-side{display:grid;gap:var(--space-4);min-width:0}.sm-legend{border:var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:var(--color-surface);padding:var(--space-4) var(--space-5);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.sm-lg-title{margin:0 0 var(--space-2);font-weight:600;color:var(--color-ink)}.sm-lg-list{list-style:none;margin:0 0 var(--space-2);padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4)}.sm-lg-item{display:inline-flex;align-items:center;gap:var(--space-1)}.sm-lg-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin:var(--space-2) 0 0}.sm-lg-note{margin:var(--space-1) 0 0}.sm-lg-grad{flex:1;min-width:6rem;height:.7rem;border:1px solid var(--color-rule);border-radius:var(--radius-pill)}.sm-lg-ramp{display:inline-flex;border:1px solid var(--color-rule);border-radius:var(--radius-pill);overflow:hidden}.sm-ramp-step{width:1.4rem;height:.7rem}.sm-sw{display:inline-block;width:.8rem;height:.8rem;border-radius:2px;margin-right:var(--space-1);vertical-align:-.1em;flex:none;border:1px solid color-mix(in srgb,var(--color-ink) 25%,transparent)}.sm-dot{border-radius:50%}.sm-hatch{background-color:var(--color-surface-2)}.sm-card{min-height:1rem}.sm-card:not(:empty){border:var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:var(--color-surface);padding:var(--space-4) var(--space-5);font-variant-numeric:tabular-nums}.sm-card-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.sm-card-head h3{margin:0;font-size:var(--text-md)}.sm-card-head .sm-btn{min-height:2rem;padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.sm-dl{display:grid;gap:var(--space-1);margin:var(--space-3) 0;font-size:var(--text-sm)}.sm-dl>div{display:flex;justify-content:space-between;gap:var(--space-3)}.sm-dl dt{color:var(--color-muted)}.sm-dl dd{margin:0;text-align:right;color:var(--color-ink)}.sm-warn{color:var(--color-text);background:var(--color-warn-bg);border-radius:10px;padding:var(--space-1) var(--space-3);font-size:var(--text-sm);margin:var(--space-2) 0}.sm-mini{list-style:none;margin:var(--space-2) 0;padding:0;display:grid;gap:var(--space-1)}.sm-mini li{display:flex;gap:var(--space-2);align-items:center;font-size:var(--text-sm)}.sm-pn{flex:1;font-weight:600;color:var(--color-ink)}.sm-tip{position:absolute;left:0;top:0;z-index:3;pointer-events:none;background:var(--color-glass);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);color:var(--color-text);border:1px solid var(--color-rule-strong);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);line-height:1.35;border-radius:14px;max-width:18rem;box-shadow:var(--shadow-up);font-variant-numeric:tabular-nums}.sm-scroll{overflow-x:auto;border:var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:var(--color-surface);max-height:26rem;overflow-y:auto}.sm-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);min-width:34rem;font-variant-numeric:tabular-nums lining-nums}.sm-table th,.sm-table td{padding:var(--space-3) var(--space-4);border-bottom:var(--rule);text-align:left;vertical-align:middle}.sm-table thead th{position:sticky;top:0;background:var(--color-surface-2);border-bottom:1px solid var(--color-rule-strong);white-space:nowrap;font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.sm-table tbody tr:hover{background:var(--color-surface-2)}.sm-table .num{text-align:right}.sm-table tr.is-selected{background:var(--color-surface-2)}.sm-link{font:inherit;font-size:var(--text-xs);background:none;border:0;padding:0 var(--space-1);color:var(--color-accent);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:1.5rem}.sm-link:disabled{color:var(--color-faint);cursor:default;text-decoration:none}@media(max-width:40rem){.sm-controls{gap:var(--space-3)}.sm-field select{max-width:100%}.sm-field--mun,.sm-field--mun select{width:100%;min-width:0}.sm-field--mode{width:100%}.sm-mode{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){.sm *{transition:none!important;animation:none!important}}
