:root{--graphite-950:#121212;--graphite-900:#1b1b1d;--graphite-850:#202023;--graphite-800:#242427;--graphite-750:#29292d;--graphite-700:#2e2e32;--graphite-650:#36363b;--graphite-600:#404046;--graphite-500:#55555b;--graphite-300:#9a9a94;--graphite-50:#f1f1ee;--paper-0:#fff;--paper-50:#f4f4f0;--paper-100:#efefeb;--paper-150:#e8e8e3;--paper-200:#dcdcd5;--paper-250:#d2d2cb;--paper-300:#c4c4bc;--paper-400:#b3b3ab;--paper-600:#62625c;--paper-900:#17171a;--ink-500:#6b7382;--lime-300:#d7f46c;--lime-500:#a8cc2a;--lime-700:#6f8f0a;--lime-800:#4f6a00;--lime-950:#1a1f05;--blue-300:#7aa7ff;--blue-600:#2f6fe0;--blue-700:#1f52b0;--amber-300:#f5b86b;--amber-700:#b86a0b;--amber-800:#8a4f06;--violet-300:#c792ea;--violet-700:#8a3fc4;--pink-300:#f38ba8;--pink-700:#c2386b;--cyan-300:#67d8ef;--cyan-700:#0f8aa3;--coral-300:#ff9677;--coral-700:#c24a2c;--red-200:#ff9494;--red-300:#ff6b6b;--red-600:#d43d3d;--red-700:#b02a2a;--green-300:#6ee7a8;--green-700:#1f9d5c;--green-800:#146b3e;--font-sans:"Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Code", Consolas, monospace;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:26px;--dur-fast:.14s;--ease-out:cubic-bezier(.2, .8, .2, 1);--toggle-knob-day:linear-gradient(180deg, var(--paper-0), var(--paper-200));--toggle-knob-night:linear-gradient(180deg, var(--graphite-500), var(--graphite-800));--toggle-sun:var(--amber-700);--toggle-moon:var(--graphite-50);--print-paper:var(--paper-0);--print-outline:var(--ink-500)}:root,:root[data-theme=dark]{--bg:var(--graphite-950);--surface:var(--graphite-900);--surface-2:var(--graphite-800);--surface-3:var(--graphite-700);--border:var(--graphite-700);--border-strong:var(--graphite-600);--text:var(--graphite-50);--text-muted:var(--graphite-300);--accent:var(--lime-300);--accent-text:var(--lime-300);--accent-soft:color-mix(in srgb, var(--lime-300) 13%, transparent);--accent-contrast:var(--lime-950);--focus-ring:var(--lime-300);--accent-line:var(--lime-300);--danger:var(--red-300);--danger-soft:color-mix(in srgb, var(--red-300) 12%, transparent);--success:var(--green-300);--success-soft:color-mix(in srgb, var(--green-300) 12%, transparent);--warning-soft:color-mix(in srgb, var(--amber-300) 14%, transparent);--warning:var(--amber-300);--info:var(--blue-300);--success-text:var(--green-300);--warning-text:var(--amber-300);--info-text:var(--blue-300);--danger-text:var(--red-200);--keycap:var(--graphite-850);--keycap-top:var(--graphite-750);--keycap-edge:var(--graphite-650);--keycap-shadow:#00000080;--key-layer:var(--blue-300);--key-hold:var(--amber-300);--key-macro:var(--violet-300);--key-dim:var(--graphite-500);--kind-holdtap:var(--amber-300);--kind-modmorph:var(--pink-300);--kind-tapdance:var(--cyan-300);--kind-encoder:var(--blue-300);--kind-macro:var(--violet-300);--kind-module:var(--graphite-300);--wire-row:var(--cyan-300);--wire-row-soft:color-mix(in srgb, var(--cyan-300) 14%, transparent);--wire-col:var(--coral-300);--wire-col-soft:color-mix(in srgb, var(--coral-300) 14%, transparent);--shadow-sm:0 2px 5px #00000059;--shadow-md:0 8px 24px #00000040;--shadow-inset:inset 0 2px 4px #00000040;--shadow-float:0 10px 30px #00000059, inset 0 1px 0 #ffffff0a;--scrim:#0000008c;--chevron-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9a94' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light],.print-sheet{--bg:var(--paper-100);--surface:var(--paper-0);--surface-2:var(--paper-50);--surface-3:var(--paper-150);--border:var(--paper-200);--border-strong:var(--paper-300);--text:var(--paper-900);--text-muted:var(--paper-600);--accent:var(--lime-500);--accent-text:var(--lime-800);--accent-soft:color-mix(in srgb, var(--lime-500) 18%, transparent);--accent-contrast:var(--lime-950);--focus-ring:var(--lime-800);--accent-line:var(--lime-700);--danger:var(--red-600);--danger-soft:color-mix(in srgb, var(--red-600) 10%, transparent);--success:var(--green-700);--success-soft:color-mix(in srgb, var(--green-700) 12%, transparent);--warning-soft:color-mix(in srgb, var(--amber-700) 14%, transparent);--warning:var(--amber-700);--info:var(--blue-600);--success-text:var(--green-800);--warning-text:var(--amber-800);--info-text:var(--blue-700);--danger-text:var(--red-700);--keycap:var(--paper-0);--keycap-top:var(--paper-0);--keycap-edge:var(--paper-250);--keycap-shadow:#1e1e141f;--key-layer:var(--blue-600);--key-hold:var(--amber-700);--key-macro:var(--violet-700);--key-dim:var(--paper-400);--kind-holdtap:var(--amber-700);--kind-modmorph:var(--pink-700);--kind-tapdance:var(--cyan-700);--kind-encoder:var(--blue-600);--kind-macro:var(--violet-700);--kind-module:var(--paper-600);--wire-row:var(--cyan-700);--wire-row-soft:color-mix(in srgb, var(--cyan-700) 12%, transparent);--wire-col:var(--coral-700);--wire-col-soft:color-mix(in srgb, var(--coral-700) 12%, transparent);--shadow-sm:0 2px 5px #1e1e141f;--shadow-md:0 8px 24px #1e1e141a;--shadow-inset:inset 0 2px 4px #1e1e141a;--shadow-float:0 10px 30px #1e1e141a, 0 1px 2px #1e1e140f;--scrim:#1e1e1459;--chevron-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2362625c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.print-sheet{--bg:var(--print-paper);--surface:var(--print-paper);--surface-2:var(--print-paper);--keycap:var(--print-paper);--keycap-top:var(--print-paper)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;line-height:1.5}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.app{flex-direction:column;height:100%;display:flex}.muted{color:var(--text-muted)}.small{font-size:var(--fs-xs)}.mono{font-family:var(--font-mono)}.panel-title{margin:0 0 var(--s-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700}.button,.icon-button{justify-content:center;align-items:center;gap:var(--s-2);min-height:36px;padding:var(--s-1) var(--s-4);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-weight:600;line-height:1.2;display:inline-flex}.icon{flex-shrink:0}.icon-button{border-radius:50%;width:32px;min-width:32px;height:32px;min-height:32px;padding:0}.icon-button>.icon{width:18px;height:18px}.icon-button.labelled{position:relative}.icon-button-label{z-index:60;padding:3px var(--s-2);border-radius:var(--r-sm);background:var(--text);color:var(--bg);font-size:var(--fs-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-weight:600;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-2px)}.icon-button.labelled:is(:hover,:focus-visible) .icon-button-label{opacity:1;transform:translate(-50%)}.icon-button.danger{color:var(--danger)}.button:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong)}.button:active:not(:disabled),.icon-button:active:not(:disabled){transform:translateY(1px)}.button:disabled,.icon-button:disabled{opacity:.45;cursor:default}.icon-button.danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft);border-color:var(--danger)}.link-button{color:var(--accent-text);cursor:pointer;padding:0 0 0 var(--s-2);background:0 0;border:none;font-weight:600}.link-button:hover{text-decoration:underline}.button.primary{background:var(--accent);color:var(--accent-contrast);border-color:#0000}.button.primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.06);border-color:#0000}.button.active{background:var(--accent-soft);border-color:var(--accent-line)}.button.danger{color:var(--danger)}.button.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.menu-anchor{display:inline-flex;position:relative}.menu{z-index:40;min-width:220px;padding:var(--s-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-float);flex-direction:column;gap:2px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.menu.start{left:0;right:auto}.menu-item{align-items:center;gap:var(--s-3);min-height:36px;padding:0 var(--s-3);border-radius:var(--r-sm);font-size:var(--fs-sm);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;font-weight:500;display:flex}.menu-item:is(:hover,:focus-visible):not(:disabled){background:var(--surface-3)}.menu-item:focus-visible{outline-offset:-2px}.menu-item .icon{color:var(--text-muted)}.menu-item.danger,.menu-item.danger .icon{color:var(--danger)}.menu-item:disabled{opacity:.45;cursor:default}.menu-separator{height:1px;margin:var(--s-1) 0;background:var(--border)}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:var(--fs-sm);color:var(--text);font-weight:600}.input{width:100%;min-height:40px;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--surface-2);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:1px solid #0000;line-height:1.4}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input::placeholder{color:var(--text-muted)}select.input{appearance:none;background-image:var(--chevron-down);cursor:pointer;background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.input.invalid{border-color:var(--danger)}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.field.checkbox{align-items:flex-start;gap:var(--s-2);flex-direction:row}.field.checkbox .field-help{display:block}.field-help{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.45}.field-error{font-size:var(--fs-xs);color:var(--danger);font-weight:600}.fieldset{gap:var(--s-3);padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;margin:0;display:flex}.fieldset legend{padding:0 var(--s-1);font-size:var(--fs-sm);color:var(--text);font-weight:600}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{min-height:30px;padding:0 var(--s-3);border:1px solid var(--border);border-radius:var(--r-pill);font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;align-items:center;font-weight:500;display:inline-flex}.chip:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.chip.active,.chip.active:hover:not(:disabled){background:var(--accent);color:var(--accent-contrast);border-color:#0000}.chip:disabled{opacity:.45;cursor:default}.segmented{padding:var(--s-1);border-radius:var(--r-pill);background:var(--surface-2);gap:2px;display:inline-flex}.segment{min-height:30px;padding:0 var(--s-4);border-radius:var(--r-pill);color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;font-weight:600}.segment:hover{color:var(--text)}.segment.active{background:var(--accent);color:var(--accent-contrast)}.item-list{margin:0 0 var(--s-3);flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.item{justify-content:space-between;align-items:center;gap:var(--s-2);width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--surface-2);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border:1px solid #0000;flex-wrap:wrap;display:flex}.item:hover{background:var(--surface-3)}.item.active{border-color:var(--accent-line);background:var(--accent-soft)}.badge{padding:2px var(--s-2);border-radius:var(--r-pill);background:var(--surface-3);color:var(--text-muted);white-space:nowrap;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.row{gap:var(--s-2);display:flex}.row.wrap{flex-wrap:wrap}.grow{flex:1}.notice{margin:var(--s-3) 0;padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);box-shadow:inset 4px 0 0 var(--warning);font-size:var(--fs-sm)}.notice.warn{box-shadow:inset 4px 0 0 var(--danger)}.app>.notice{bottom:var(--s-6);z-index:50;width:max-content;max-width:min(640px, calc(100vw - 2 * var(--s-4)));box-shadow:inset 4px 0 0 var(--accent-line), var(--shadow-float);margin:0;position:fixed;left:50%;transform:translate(-50%)}input.switch{appearance:none;border-radius:var(--r-pill);background:var(--surface-3);width:36px;height:20px;box-shadow:inset 0 0 0 1px var(--border-strong);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);flex:none;margin:0;position:relative}input.switch:after{content:"";background:var(--text-muted);width:14px;height:14px;transition:transform var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}input.switch:checked{background:var(--accent);box-shadow:none}input.switch:checked:after{background:var(--accent-contrast);transform:translate(16px)}input.switch:disabled{opacity:.45;cursor:default}.dialog{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);width:min(720px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text);box-shadow:var(--shadow-float);padding:0}.dialog::backdrop{background:var(--scrim)}.dialog-body{gap:var(--s-4);padding:var(--s-5) var(--s-6) var(--s-6);flex-direction:column;display:flex}.dialog-header{justify-content:space-between;align-items:flex-start;gap:var(--s-4);display:flex}.dialog-title{font-size:var(--fs-xl);margin:0;font-weight:700}.dialog-header p{margin:var(--s-1) 0 0}.section{gap:var(--s-3);padding:var(--s-4) var(--s-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.section.flat{background:0 0;border:none;border-radius:0;padding:0}.section-head{align-items:flex-start;gap:var(--s-3);display:flex}.section-icon{border-radius:var(--r-md);background:var(--accent-soft);width:32px;height:32px;color:var(--accent-text);flex:none;place-items:center;display:inline-grid}.section-heading{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.section-title{font-size:var(--fs-md);margin:0;font-weight:700;line-height:1.3}.section-head.centered{align-items:center}.section-description{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.45}.section-actions{align-items:center;gap:var(--s-2);flex:none;display:flex}@media (width<=600px){.section-head{flex-wrap:wrap}.section-actions{flex-wrap:wrap;flex-basis:100%}}.badge.tone-accent{background:var(--accent-soft);color:var(--accent-text)}.badge.tone-success{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success-text)}.badge.tone-warning{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning-text)}.badge.tone-danger{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger-text)}.badge.tone-info{background:color-mix(in srgb, var(--info) 16%, transparent);color:var(--info-text)}.section p{margin:0}.section a:not(.button){color:var(--accent-text)}.topbar{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-5);background:var(--bg);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--s-4);letter-spacing:-.01em;font-weight:700;display:flex}.brand-name{align-items:center;gap:8px;display:flex}.brand-mark{color:var(--accent-text)}.version-pill{min-height:36px;padding-left:var(--s-4);border-radius:var(--r-pill);background:var(--surface-2);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out);border:1px solid #0000;align-items:center;display:inline-flex}.version-pill:hover{border-color:var(--border-strong)}.version-pill-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:10px;font-weight:700}.top-select{min-height:34px;padding:0 var(--s-3) 0 var(--s-2);border-radius:var(--r-pill);color:var(--text);font-size:var(--fs-md);cursor:pointer;background:0 0;border:0;font-weight:700}.keyboard-button{align-items:center;gap:var(--s-3);border:1.5px solid var(--accent-line);border-radius:var(--r-pill);background:var(--surface);min-height:48px;color:var(--text);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:5px 6px 5px 5px;display:flex}.keyboard-button:hover,.keyboard-button.active{background:var(--surface-2);box-shadow:0 0 0 3px var(--accent-soft)}.keyboard-button-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;display:inline-grid}.keyboard-button-text{flex-direction:column;line-height:1.15;display:flex}.keyboard-button-name{font-size:var(--fs-md);white-space:nowrap;font-weight:700}.keyboard-button-meta{color:var(--text-muted);white-space:nowrap;font-size:11px}.keyboard-button-change{padding:0 var(--s-3);border-left:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-sm);align-self:stretch;align-items:center;font-weight:600;display:flex}.keyboard-button:hover .keyboard-button-change,.keyboard-button.active .keyboard-button-change{color:var(--accent-text)}.topbar-end{align-items:center;gap:10px;display:flex}.coffee-link{min-height:34px;padding:0 var(--s-3);border-radius:var(--r-pill);color:var(--text-muted);border:1px solid var(--border);font-size:var(--fs-sm);white-space:nowrap;background:0 0;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.coffee-link:hover{background:var(--surface-2);color:var(--text)}.topbar-actions{justify-content:flex-end;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-left:auto;display:flex}.toolbar{padding:var(--s-1);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-float);align-items:center;gap:2px;display:flex}.toolbar .icon-button{background:0 0;border-color:#0000;width:36px;height:36px;min-height:36px}.toolbar .icon-button:hover:not(:disabled){background:var(--surface-3);border-color:#0000}.toolbar-sep{width:1px;height:20px;margin:0 var(--s-1);background:var(--border)}.workspace{flex:1;grid-template-columns:minmax(0,1fr) 360px;min-height:0;display:grid}.canvas-area{flex-direction:column;min-width:0;min-height:0;display:flex}.canvas{padding:var(--s-4) var(--s-6) var(--s-8);-webkit-user-select:none;user-select:none;flex:1;place-items:center;display:grid;position:relative;overflow:hidden;container-type:size}.camera-stage{transform-origin:0 0;align-content:center;justify-items:center;gap:16px;width:100%;display:grid}.canvas.dot-grid{background-image:radial-gradient(circle, var(--border-strong) 1px, transparent 1.5px);background-size:24px 24px}.canvas.panning,.canvas.panning *{cursor:grabbing}.camera-controls{right:var(--s-3);bottom:var(--s-3);border-radius:var(--r-pill);background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-float);align-items:center;gap:2px;padding:3px;display:flex;position:absolute}.camera-controls .icon-button[aria-pressed=true]{color:var(--accent-text)}.camera-zoom{min-width:48px;color:var(--text);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;text-align:center;font-weight:700}.camera-lost{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border:1px solid var(--accent-line);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-float);color:var(--text);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;font-weight:700;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.camera-lost:hover{background:var(--surface-2)}.camera-divider{background:var(--border);width:1px;height:20px;margin:0 2px}.panel{margin:var(--s-3) var(--s-3) var(--s-3) 0;padding:var(--s-5);border-radius:var(--r-lg);background:var(--surface);overflow:auto}.notes{color:var(--text-muted);margin:0;padding-left:18px;font-size:12px}.studio-pill{align-items:center;gap:var(--s-3);min-height:48px;padding:5px var(--s-4) 5px 5px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text);text-align:left;white-space:nowrap;display:flex}.studio-status{padding-right:4px}button.studio-pill{cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}button.studio-pill:hover:not(:disabled){background:var(--surface-2)}button.studio-pill:disabled{color:var(--text-muted);cursor:not-allowed}.studio-icon{background:var(--surface-2);width:34px;height:34px;color:var(--text-muted);border-radius:50%;flex:none;place-items:center;display:inline-grid}.studio-status.connected .studio-icon{background:var(--success-soft);color:var(--success-text)}.studio-status.locked .studio-icon{background:var(--warning-soft);color:var(--warning-text);animation:1.2s ease-in-out infinite studio-pulse}@keyframes studio-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.studio-status.locked .studio-icon{animation:none}}.studio-text{flex-direction:column;line-height:1.15;display:flex}.studio-name{font-size:var(--fs-md);font-weight:700}.studio-meta{color:var(--text-muted);font-size:11px}.studio-status.connected .studio-meta{color:var(--success-text)}.studio-pending{color:var(--warning-text);font-weight:600}.studio-savebar{align-items:center;gap:var(--s-3);margin:0 var(--s-5) var(--s-3);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-4);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);box-shadow:inset 4px 0 0 var(--warning);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.studio-savebar-text{flex:1;min-width:12em}.studio-diff{margin:0 0 var(--s-4);padding-left:var(--s-5);font-size:var(--fs-sm);line-height:1.7}.studio-choices{gap:var(--s-2)}.studio-only-note{align-items:flex-start;gap:var(--s-3);max-width:34rem;margin:var(--s-8) auto;padding:var(--s-6);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.studio-only-note h2{font-size:var(--fs-lg);margin:0}.studio-only-note p{color:var(--text-muted);margin:0}.studio-only-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-text);border-radius:50%;place-items:center;display:inline-grid}.canvas-row{min-height:0;padding-left:var(--s-4);flex:1;display:flex}.layer-rail-scroll{--rail-overhang:64px;z-index:2;max-height:100%;margin-right:calc(var(--s-6) + var(--s-2) - var(--rail-overhang));padding:var(--s-3) var(--rail-overhang) var(--s-3) 0;pointer-events:none;scrollbar-width:none;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden auto}.layer-rail-scroll::-webkit-scrollbar{display:none}.canvas-row>.canvas{flex:1;min-width:0}@media (width>=901px){.canvas-row{padding-left:0;position:relative}.layer-rail-scroll{top:0;bottom:0;left:var(--s-4);margin-right:0;position:absolute}.canvas-row>.canvas{padding-left:calc(var(--s-4) + var(--rail-width,180px) + var(--s-6))}}.layer-rail{gap:var(--s-2);border-radius:var(--r-lg);background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-float);pointer-events:auto;flex-direction:column;margin-block:auto;padding:6px;display:flex}.layer-rail-list{gap:var(--s-1);flex-direction:column;display:flex}.layer-row{align-items:center;gap:var(--s-1);border-radius:var(--r-pill);grid-template-columns:16px 1fr;display:grid;position:relative}.layer-pill{border-radius:var(--r-pill);background:var(--surface-2);min-width:92px;transition:background var(--dur-fast) var(--ease-out);border:1px solid #0000;align-items:center;display:flex;position:relative}.layer-pill:hover{background:var(--surface-3)}.layer-row.active .layer-pill{background:var(--accent);color:var(--accent-contrast)}.layer-grip{color:var(--text-muted);cursor:grab;place-items:center;display:grid}.layer-grip,.layer-row-actions{opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.layer-row:is(:hover,:focus-within) :is(.layer-grip,.layer-row-actions){opacity:1}.layer-row-actions{top:-1px;bottom:-1px;left:calc(100% - var(--s-5));padding:0 3px 0 var(--s-5);border-radius:0 var(--r-pill) var(--r-pill) 0;background:inherit;pointer-events:none;align-items:center;gap:2px;display:flex;position:absolute}.layer-row:is(:hover,:focus-within) .layer-row-actions{pointer-events:auto}.layer-row:is(:hover,:focus-within,.renaming) .layer-pill{border-top-right-radius:0;border-bottom-right-radius:0}.layer-row-actions .icon-button{width:30px;min-width:30px;height:30px;min-height:30px;color:inherit;background:0 0;border-color:#0000}.layer-row-actions .icon-button:hover:not(:disabled){background:color-mix(in srgb, currentcolor 12%, transparent);border-color:#0000}.layer-row-actions .icon-button.danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.layer-row.active .layer-row-actions .icon-button.danger:hover:not(:disabled){color:var(--accent-contrast);background:color-mix(in srgb, currentcolor 14%, transparent)}.layer-row-actions .icon-button>.icon{width:16px;height:16px}.layer-tab{align-items:center;gap:var(--s-2);height:38px;padding:0 var(--s-2) 0 var(--s-4);border-radius:var(--r-pill);color:inherit;font-family:var(--font-mono);font-size:var(--fs-md);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out);background:0 0;border:none;flex:1;font-weight:700;display:flex}.layer-row.active .layer-index{color:inherit;opacity:.7}.layer-row.drag-hover .layer-pill{border:1px dashed var(--accent-line)}.layer-row.drop-before:before,.layer-row.drop-after:after{content:"";left:calc(16px + var(--s-1));background:var(--accent-line);pointer-events:none;border-radius:1px;height:2px;position:absolute;right:0}.layer-row.drop-before:before{top:calc(var(--s-1) / -2 - 1px)}.layer-row.drop-after:after{bottom:calc(var(--s-1) / -2 - 1px)}.layer-index{color:var(--text-muted);font-size:10px}.layer-row.renaming .layer-pill,.layer-row.renaming .layer-row-actions{background:var(--surface-3);color:var(--text)}.layer-row.renaming .layer-pill{box-shadow:inset 2px 0 0 var(--accent-line), inset 0 2px 0 var(--accent-line), inset 0 -2px 0 var(--accent-line)}.layer-row.renaming .layer-row-actions{opacity:1;pointer-events:auto;box-shadow:inset -2px 0 0 var(--accent-line), inset 0 2px 0 var(--accent-line), inset 0 -2px 0 var(--accent-line);top:0;bottom:0}.layer-row.renaming .layer-grip{opacity:0}.layer-rename-field{align-items:center;gap:var(--s-2);min-width:0;height:38px;padding:0 var(--s-2) 0 var(--s-4);flex:1;display:flex}.layer-rename{width:0;min-width:0;color:var(--text);font-family:var(--font-mono);font-size:var(--fs-md);background:0 0;border:none;outline:none;flex:1;padding:0;font-weight:700}.layer-rename::selection{background:var(--accent-soft)}.layer-row-actions .icon-button.layer-rename-save{background:var(--accent);color:var(--accent-contrast)}.layer-row-actions .icon-button.layer-rename-save:hover:not(:disabled){background:var(--accent);filter:brightness(1.05)}.layer-add{align-self:center}.keyboard{width:min(100%, calc(100cqh * var(--ratio,3)));max-width:1100px;position:relative;container-type:inline-size}.keycap{justify-content:center;align-items:center;gap:calc(var(--unit) * .02);padding:calc(var(--unit) * .05);border:calc(var(--unit) * .015) solid var(--keycap-edge);border-radius:calc(var(--unit) * .16);background:linear-gradient(180deg, var(--keycap-top), var(--keycap));box-shadow:0 calc(var(--unit) * .04) 0 var(--keycap-edge), 0 calc(var(--unit) * .08) calc(var(--unit) * .14) var(--keycap-shadow);cursor:pointer;text-align:center;flex-direction:column;margin:0;line-height:1.05;transition:border-color .1s,transform .1s;display:flex;position:absolute;overflow:hidden;scale:.92}.keycap:hover{border-color:var(--text-muted)}.keycap.selected{border-color:var(--accent-line);box-shadow:0 0 0 calc(var(--unit) * .03) var(--accent-line), 0 calc(var(--unit) * .08) calc(var(--unit) * .2) var(--accent-soft)}.keycap-main{overflow-wrap:break-word;width:100%;font-weight:600}.keycap-main.size-l{font-size:calc(var(--unit) * .3)}.keycap-main.size-m{font-size:calc(var(--unit) * .21)}.keycap-main.size-s{font-size:calc(var(--unit) * .16)}.keycap-main.size-xs{font-size:calc(var(--unit) * .13)}.keycap-sub{text-overflow:ellipsis;white-space:nowrap;width:100%;font-family:var(--font-mono);font-size:calc(var(--unit) * .15);color:var(--key-hold);overflow:hidden}.keycap.kind-trans .keycap-main,.keycap.kind-none .keycap-main{color:var(--key-dim);font-weight:400}.keycap.kind-layer .keycap-main{color:var(--key-layer)}.keycap.kind-layer .keycap-sub{color:var(--key-layer);opacity:.8}.keycap.kind-macro .keycap-main,.keycap.kind-mod-morph .keycap-sub{color:var(--key-macro)}.keycap.kind-other .keycap-sub{color:var(--text-muted)}.keycap.drop-target{border-color:var(--accent-line);background:var(--accent-soft);box-shadow:0 0 0 calc(var(--unit) * .04) var(--accent-line)}.select-box{border:1px dashed var(--accent-line);background:var(--accent-soft);pointer-events:none;position:absolute}.keycap>span{pointer-events:none}.clipboard{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:10px;display:flex}.clipboard p{margin:0}.behavior-select{position:relative}.behavior-list{z-index:20;border:1px solid var(--border);background:var(--surface);max-height:320px;box-shadow:var(--shadow-md);border-radius:8px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.behavior-list ul{margin:0;padding:0;list-style:none}.behavior-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:6px 8px 2px;font-size:11px;font-weight:600}.behavior-option{cursor:pointer;border-radius:6px;flex-direction:column;gap:1px;padding:5px 8px;display:flex}.behavior-option.active{background:var(--accent-soft)}.behavior-option.current .behavior-option-name{color:var(--accent-text)}.behavior-option-name{font-size:13px;font-weight:600}.behavior-option-description{color:var(--text-muted);font-size:11px}.behavior-empty{padding:6px 8px}.layer-name{text-overflow:ellipsis;max-width:12ch;overflow:hidden}.keycap.needs-build:after{content:"";background:var(--warning);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px}.key-knob{border:calc(var(--unit) * .03) solid var(--keycap-edge);background:repeating-conic-gradient(var(--keycap) 0 6deg, var(--keycap-edge) 6deg 12deg);color:var(--text);font-size:calc(var(--unit) * .13);cursor:pointer;border-radius:50%;grid-template-columns:1fr 1fr;padding:0;font-weight:700;line-height:1.1;display:grid;position:absolute;overflow:hidden}.key-knob:hover{border-color:var(--text-muted)}.key-knob.selected{border-color:var(--accent-line);box-shadow:0 0 0 calc(var(--unit) * .04) var(--accent-soft)}.key-knob-half{padding:0 calc(var(--unit) * .04);background:color-mix(in srgb, var(--surface) 72%, transparent);overflow-wrap:anywhere;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex}.key-knob-half.ccw{border-right:1px solid var(--keycap-edge)}.key-knob-half.drop-target{background:var(--accent-soft)}.key-knob-arrow{color:var(--text-muted);font-size:calc(var(--unit) * .16)}.palette{min-height:0;max-height:clamp(280px,40vh,480px);margin:0 var(--s-3) var(--s-3) var(--s-4);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-float);flex-direction:column;flex-shrink:0;display:flex}.palette.collapsed{max-height:none}.palette.sized{max-height:none;position:relative}.palette-resizer{z-index:1;cursor:row-resize;touch-action:none;height:10px;margin-bottom:-10px;position:relative}.palette-resizer:after{content:"";border-radius:var(--r-pill);background:var(--border-strong);opacity:0;width:40px;height:4px;transition:opacity var(--dur-fast) var(--ease-out);margin-left:-20px;position:absolute;top:3px;left:50%}.palette:hover .palette-resizer:after,.palette-resizer:focus-visible:after{opacity:1}.palette-head{align-items:center;gap:var(--s-3);padding:var(--s-1) var(--s-2) var(--s-1) var(--s-4);border-bottom:1px solid var(--border);display:flex}.palette.collapsed .palette-head{border-bottom:none}.palette-status{color:var(--text-muted);font-size:var(--fs-sm);flex:1;margin:0}.palette-status.armed{color:var(--text);font-weight:600}.palette-status.armed:before{content:"";width:8px;height:8px;margin-right:var(--s-2);background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);vertical-align:1px;border-radius:50%;display:inline-block}.palette-body{flex:1;grid-template-columns:168px minmax(0,1fr);min-height:0;display:grid}.palette-side{border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.palette-halves{margin:var(--s-2) var(--s-2) var(--s-1);display:flex}.palette-halves .segment{padding:0 var(--s-2);flex:1}.palette-rail{min-height:0;padding:var(--s-2);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.palette-rail-item{display:contents}.palette-rail-heading{margin:var(--s-2) var(--s-3) var(--s-1);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.palette-rail-button{min-height:30px;padding:0 var(--s-3);border-radius:var(--r-sm);color:var(--text-muted);font-size:var(--fs-sm);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;flex-shrink:0;font-weight:500}.palette-rail-button:hover{background:var(--surface-2);color:var(--text)}.palette-rail-button[aria-current=true]{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent-line);color:var(--text);font-weight:600}.palette-main{flex-direction:column;min-width:0;min-height:0;display:flex}.palette-tools{align-items:center;gap:var(--s-2) var(--s-3);padding:var(--s-3) var(--s-4) var(--s-2);flex-wrap:wrap;display:flex}.palette-search{flex:240px;max-width:380px}.palette-mods{align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-2);border-radius:var(--r-md);transition:background var(--dur-fast) var(--ease-out);flex-wrap:wrap;display:flex}.palette-mods.active{background:var(--accent-soft);box-shadow:inset 4px 0 0 var(--accent-line)}.palette-mods-label{color:var(--text-muted);font-size:var(--fs-xs);font-weight:600}.palette-mods .mod-toggles{gap:2px}.palette-mods .mod-toggle{min-width:36px;padding:3px 6px;font-size:11px}.palette-mods-summary{font-size:var(--fs-xs);font-weight:600}.palette-scroll{gap:var(--s-3);min-height:0;padding:var(--s-1) var(--s-4) var(--s-4);scroll-padding-top:var(--s-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.palette-special{gap:var(--s-2);display:flex}.palette-special .palette-tile{width:64px}.palette-group-head{align-items:baseline;gap:var(--s-2);display:flex}.palette-group-title{margin:0 0 var(--s-2);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.palette-tiles{align-content:start;gap:var(--s-1);grid-template-columns:repeat(auto-fill,minmax(56px,1fr));padding-bottom:2px;display:grid}.palette-tile{min-width:0;min-height:46px;padding:var(--s-1);border:1px solid var(--keycap-edge);background:linear-gradient(180deg, var(--keycap-top), var(--keycap));box-shadow:0 2px 0 var(--keycap-edge), 0 4px 10px var(--keycap-shadow);cursor:grab;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;line-height:1.1;display:flex}.palette-tile:hover{border-color:var(--text-muted)}.palette-tile:active{cursor:grabbing}.palette-tile.armed{border-color:var(--accent-line);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-line)}.palette-tile-main{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;font-size:var(--fs-sm);overflow:hidden}.palette-tile-sub{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:var(--font-mono);color:var(--text-muted);font-size:9px;overflow:hidden}.palette-tile.kind-mods .palette-tile-sub{font-family:var(--font-sans);color:var(--accent-text);font-size:10px;font-weight:600}.palette-tile.kind-layer .palette-tile-main,.palette-tile.kind-layer .palette-tile-sub{color:var(--key-layer)}.palette-tile.kind-hold-tap .palette-tile-sub{color:var(--key-hold)}.palette-tile.kind-macro .palette-tile-main,.palette-tile.kind-mod-morph .palette-tile-sub{color:var(--key-macro)}.palette-tile.kind-trans .palette-tile-main,.palette-tile.kind-none .palette-tile-main{color:var(--key-dim);font-weight:400}.palette-group-title:focus{outline:none}.palette-group-title:focus-visible{-webkit-text-decoration:underline 2px var(--accent-line);text-decoration:underline 2px var(--accent-line);text-underline-offset:4px}.binding-panel{flex-direction:column;gap:10px;display:flex}.key-value{text-align:left;cursor:pointer;align-items:baseline;gap:8px;display:flex}.key-value .muted{font-family:var(--font-mono);font-size:12px}.picker{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;gap:8px;padding:8px;display:flex}.mod-toggles{flex-wrap:wrap;gap:4px;display:flex}.mod-toggle{border:1px solid var(--keycap-edge);background:var(--surface-2);min-width:48px;font-family:var(--font-mono);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600}.mod-toggle:hover{border-color:var(--text-muted)}.mod-toggle.active{border-color:var(--accent-line);background:var(--accent);color:var(--accent-contrast)}.picker-results{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:4px;max-height:260px;display:grid;overflow:auto}.picker-key{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:6px 4px;display:flex}.picker-key:hover{border-color:var(--text-muted)}.picker-key.selected{border-color:var(--accent-line);background:var(--accent-soft)}.picker-key-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.picker-key-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:var(--font-mono);color:var(--text-muted);font-size:9px;overflow:hidden}.combo-banner{align-items:center;gap:var(--s-2) var(--s-3);margin:var(--s-3) var(--s-4) 0;padding:var(--s-2) var(--s-2) var(--s-2) var(--s-5);border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 4px 0 0 var(--key-hold), var(--shadow-float);flex-wrap:wrap;display:flex}.combo-banner-text{font-weight:600}.combo-banner-error{color:var(--danger);font-size:var(--fs-sm);font-weight:600}.combo-banner-done{margin-left:auto}.combo-formula{align-items:center;gap:var(--s-1);flex-wrap:wrap;display:inline-flex}.combo-formula-part{align-items:center;gap:var(--s-1);display:inline-flex}.combo-formula-op{color:var(--text-muted);font-size:var(--fs-sm)}.mini-key{border:1px solid var(--keycap-edge);background:var(--keycap-top);min-width:26px;box-shadow:0 2px 0 var(--keycap-edge);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-xs);text-align:center;border-radius:6px;padding:2px 6px;font-weight:600}.mini-key.sends{border-color:var(--key-hold);box-shadow:0 2px 0 var(--key-hold)}.mini-key-tag{color:var(--key-layer);margin-left:4px;font-size:10px;font-weight:700}.combo-item{align-items:flex-start;gap:var(--s-2);padding:var(--s-3);flex-direction:column}.combo-item-head{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.badge.warn{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning)}.combo-editor-head{justify-content:space-between;align-items:center;display:flex}.combo-editor-head .panel-title{margin:0}.combo-step{gap:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--border);flex-direction:column;display:flex}.combo-step-title{align-items:center;gap:var(--s-2);font-size:var(--fs-md);margin:0;font-weight:700;display:flex}.step-no{background:var(--surface-3);width:22px;height:22px;font-size:var(--fs-xs);border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.combo-options>summary{cursor:pointer;list-style:none}.combo-options>summary::-webkit-details-marker{display:none}.combo-options>summary:after{content:"";border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);width:8px;height:8px;transition:transform var(--dur-fast) var(--ease-out);margin-left:auto;transform:rotate(45deg)}.combo-options[open]>summary:after{transform:rotate(-135deg)}@media (width<=900px){.workspace{grid-template-columns:1fr}.panel{margin:0 var(--s-3) var(--s-3)}.workspace:has(.palette){grid-template-rows:auto auto;overflow:auto}.workspace:has(.palette) .canvas-area{min-height:auto}.workspace:has(.palette) .canvas{flex:none;container-type:normal}.workspace:has(.palette) .keyboard{width:100%}.canvas-row{padding:0 var(--s-3);flex-direction:column}.layer-rail-scroll{max-height:none;padding:0 0 var(--s-2);pointer-events:auto;margin:0;overflow:visible}.layer-rail{flex-direction:row;align-self:stretch;align-items:center;max-height:none;overflow-x:auto}.layer-rail-list{flex-direction:row}.layer-grip,.layer-row-actions{opacity:1}.layer-row-actions{pointer-events:auto;padding:0 3px 0 0;position:static}.palette{margin:0 var(--s-3) var(--s-3)}.palette-body{grid-template-columns:1fr}.palette-side{border-right:none;border-bottom:1px solid var(--border)}.palette-halves{align-self:flex-start;min-width:220px}.palette-rail{flex-direction:row;overflow-x:auto}.palette-rail-heading{display:none}}.panel>.section.flat+.section.flat,.binding-panel>.section.flat+.clipboard{padding-top:var(--s-4);border-top:1px solid var(--border)}.panel>.section.flat+.section.flat{margin-top:var(--s-4)}.binding-panel{gap:var(--s-4)}.panel-key{text-overflow:ellipsis;white-space:nowrap;min-width:36px;max-width:96px;height:36px;padding:0 var(--s-2);line-height:34px;font-size:var(--fs-sm);flex:none;display:inline-block;overflow:hidden}.panel-key.kind-layer{color:var(--key-layer)}.panel-key.kind-hold-tap{color:var(--key-hold)}.panel-key.kind-macro,.panel-key.kind-mod-morph{color:var(--key-macro)}.panel-key.kind-trans,.panel-key.kind-none{color:var(--key-dim)}.panel-count{color:var(--accent-text)}.knob.panel-knob{width:32px;height:32px}.kbd{border:1px solid var(--keycap-edge);background:var(--keycap-top);min-width:22px;height:22px;box-shadow:0 1px 0 var(--keycap-edge);color:var(--text);font-family:var(--font-mono);border-radius:6px;place-items:center;padding:0 5px;font-size:11px;font-weight:600;display:inline-grid}.shortcut-list{gap:var(--s-2);flex-direction:column;margin:0;display:flex}.shortcut-row{align-items:center;gap:var(--s-3);grid-template-columns:8.5rem minmax(0,1fr);display:grid}.shortcut-row dd{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.shortcut-keys,.shortcut-combo{flex-wrap:wrap;align-items:center;gap:3px;display:inline-flex}.shortcut-keys{gap:var(--s-1)}.conditional-then{align-items:flex-end}.add-conditional{align-self:flex-start}.layer-warnings{margin:0 0 var(--s-3);padding:0;list-style:none}.layer-warnings .notice{margin:0 0 var(--s-2);line-height:1.6}.layer-usage{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.layer-usage>li{gap:var(--s-1);padding:var(--s-2) 0;border-top:1px solid var(--border);flex-direction:column;display:flex}.layer-usage-name{font-weight:600}.chip.layer-ref{min-height:24px;padding:0 var(--s-2);gap:6px;font-weight:500}.chip.layer-ref.static,.chip.layer-ref.static:hover{border-color:var(--border);cursor:default;background:0 0}.layer-ref-behavior{color:var(--text-muted);font-family:var(--font-mono);font-size:11px}.welcome-choices{gap:var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.welcome-choices:has(>:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-choice{align-items:flex-start;gap:var(--s-2);padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text);font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);flex-direction:column;display:flex}.welcome-choice:hover{border-color:var(--accent-line);background:var(--surface-3)}.welcome-choice strong{font-size:var(--fs-md)}.welcome-choice>span:last-child{color:var(--text-muted);line-height:1.45}.welcome-choice-icon{border-radius:var(--r-md);background:var(--accent-soft);width:40px;height:40px;color:var(--accent-text);place-items:center;display:inline-grid}.welcome-choice.primary{border-color:var(--accent-line);background:color-mix(in srgb, var(--accent) 8%, var(--surface-2))}@media (width<=700px){.welcome-choices{grid-template-columns:1fr}}.viewtabs{align-items:center;gap:var(--s-3);padding:0 var(--s-5) var(--s-3);background:var(--bg);scroll-padding-inline-end:180px;display:flex;overflow-x:auto}.viewtabs-group{padding:var(--s-1);border-radius:var(--r-pill);background:var(--surface);flex-shrink:0;gap:2px;display:flex}.viewtab{align-items:center;gap:var(--s-2);min-height:36px;padding:0 var(--s-3);border-radius:var(--r-pill);color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;font-weight:600;display:inline-flex}.viewtab:hover{color:var(--text);background:var(--surface-2)}.viewtab.active{color:var(--accent-contrast);background:var(--accent)}.viewtab-count{border-radius:var(--r-pill);background:var(--surface-3);min-width:20px;color:var(--text);text-align:center;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.4}.viewtab.active .viewtab-count{background:color-mix(in srgb, var(--accent-contrast) 15%, transparent);color:inherit}.viewtab.build-tab{min-height:40px;padding:0 var(--s-5);border:1px solid var(--accent-line);background:var(--accent);color:var(--accent-contrast);margin-left:auto;font-weight:700;position:sticky;right:0}.viewtab.build-tab:hover{color:var(--accent-contrast);filter:brightness(1.06)}.viewtab.build-tab.active{box-shadow:0 0 0 3px var(--accent-soft)}.workspace.single{display:block;overflow:auto}.canvas{align-content:center;gap:16px}.keycap.highlighted{border-color:var(--key-hold);box-shadow:0 0 0 calc(var(--unit) * .03) var(--key-hold), 0 calc(var(--unit) * .08) calc(var(--unit) * .14) var(--keycap-shadow)}.encoders{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.encoder{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:8px 14px;display:grid}.encoder:hover{border-color:var(--text-muted)}.encoder.selected{border-color:var(--accent-line);background:var(--accent-soft)}.encoder-knob{background:radial-gradient(circle at 50% 18%, var(--accent) 0 3px, transparent 4px), repeating-conic-gradient(var(--keycap) 0 6deg, var(--keycap-edge) 6deg 12deg);border:2px solid var(--keycap-edge);border-radius:50%;width:34px;height:34px}.encoder-dir{white-space:nowrap;border:1px dashed #0000;border-radius:6px;padding:2px 6px;font-size:13px;font-weight:600}.encoder-dir.drop-target{border-color:var(--accent-line);background:var(--accent-soft)}.encoder-name{text-align:center;font-family:var(--font-mono);color:var(--text-muted);grid-column:1/-1;font-size:11px}.build-tab-status{min-width:20px;height:20px;margin-left:var(--s-1);border-radius:var(--r-pill);background:var(--accent-contrast);color:var(--accent);font-size:var(--fs-xs);place-items:center;padding:0 5px;font-weight:800;display:inline-grid}.build-tab-status.ready{background:var(--success-text);color:var(--surface)}.build-tab-status.failed{background:var(--danger);color:var(--surface)}.build-tab-status.building{border:2.5px solid color-mix(in srgb, var(--accent-contrast) 25%, transparent);border-top-color:var(--accent-contrast);background:0 0;width:18px;min-width:18px;height:18px;padding:0;animation:.9s linear infinite build-spin}@keyframes build-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.build-tab-status.building{animation:none}}.editor-section{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;display:flex}.split{grid-template-columns:260px minmax(0,1fr);gap:24px;max-width:1100px;margin:0 auto;padding:16px 24px 48px;display:grid}.behavior-editor{flex-direction:column;gap:12px;max-width:560px;display:flex}.binding-editor,.property-fields{flex-direction:column;gap:10px;display:flex}.source{border:1px solid var(--border);background:var(--bg);font-family:var(--font-mono);border-radius:6px;margin:0;padding:10px;font-size:12px;overflow:auto}.steps{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.step{gap:4px;display:flex}.step-main{text-align:left;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;flex:1;align-items:baseline;gap:8px;min-width:0;padding:5px 8px;display:flex}.step.active .step-main{border-color:var(--accent-line);background:var(--accent-soft)}.grip{color:var(--text-muted);letter-spacing:-1px;cursor:grab;-webkit-user-select:none;user-select:none;align-self:center;padding:0 2px;font-size:14px}.step[draggable=true],.tap-header[draggable=true]{cursor:grab}.step.drop-before{box-shadow:0 -3px 0 var(--accent-line)}.step.drop-after{box-shadow:0 3px 0 var(--accent-line)}.step-index{min-width:18px;font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.step-label{font-weight:600}.step-label.kind-other{color:var(--key-macro)}@media (width<=900px){.split{grid-template-columns:1fr}}.kind-tone-holdtap{--kind:var(--kind-holdtap)}.kind-tone-modmorph{--kind:var(--kind-modmorph)}.kind-tone-tapdance{--kind:var(--kind-tapdance)}.kind-tone-encoder{--kind:var(--kind-encoder)}.kind-tone-macro{--kind:var(--kind-macro)}.kind-tone-module{--kind:var(--kind-module)}.kind-disc{background:color-mix(in srgb, var(--kind) 16%, transparent);width:32px;height:32px;color:var(--kind);border-radius:50%;flex:none;place-items:center;display:inline-grid}.kind-disc.small{width:24px;height:24px}.kind-disc.large{border-radius:var(--r-md);width:44px;height:44px}.kind-dot{background:var(--kind);border-radius:50%;flex:none;width:8px;height:8px}.diagram-eyebrow{align-items:center;gap:var(--s-1);color:var(--kind,var(--text-muted));font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:700;display:inline-flex}.behaviors-page{grid-template-columns:300px minmax(0,1fr)}.behaviors-list-head{justify-content:space-between;align-items:center;gap:var(--s-2);margin-bottom:var(--s-4);display:flex}.behaviors-list-head .panel-title{margin:0}.behaviors-list-head .button{gap:var(--s-1)}.behavior-groups{gap:var(--s-5);flex-direction:column;display:flex}.behavior-group-head{align-items:center;gap:var(--s-2);margin:0 0 var(--s-2);font-size:var(--fs-sm);font-weight:700;display:flex}.behavior-item{justify-content:flex-start;gap:var(--s-3);flex-wrap:nowrap}.behavior-item-text{flex-direction:column;min-width:0;display:flex}.behavior-item-name{font-size:var(--fs-sm);font-weight:600}.behavior-item-summary{color:var(--text-muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.behavior-empty{align-items:flex-start;gap:var(--s-3);padding:var(--s-5);border:1px dashed var(--border-strong);border-radius:var(--r-lg);flex-direction:column;display:flex}.behavior-empty p{margin:0}.behavior-intro{padding:var(--s-6);border:1px dashed var(--border);border-radius:var(--r-lg)}.behavior-intro p{margin:0}.type-cards{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.type-card{align-items:flex-start;gap:var(--s-2);padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);flex-direction:column;display:flex}.type-card:hover{border-color:var(--kind);background:var(--surface-3)}.type-card-head{align-items:center;gap:var(--s-2);font-size:var(--fs-md);display:flex}.type-card-about{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.45}.type-picture{align-items:center;gap:var(--s-2);padding-top:var(--s-2);color:var(--kind);margin-top:auto;display:inline-flex}.type-picture-note{color:var(--text-muted);font-size:var(--fs-xs)}.mini-key.split-key{flex-direction:column;line-height:1.1;display:inline-flex}@media (width<=640px){.type-cards{grid-template-columns:1fr}}.split-editor .behavior-editor{gap:var(--s-4);max-width:760px}.behavior-head{align-items:flex-start;gap:var(--s-4);padding:var(--s-4) var(--s-5);border:1px solid var(--border);border-left:4px solid var(--kind);border-radius:var(--r-lg);background:var(--surface);display:flex}.behavior-head-main{gap:var(--s-1);flex-direction:column;flex:1;min-width:0;display:flex}.input-prefixed{align-items:center;gap:var(--s-1);display:flex}.input-prefix{color:var(--kind,var(--text-muted));font-size:var(--fs-lg);font-weight:700}.input-prefixed .input{flex:1}.diagram-card{gap:var(--s-3);padding:var(--s-4) var(--s-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.diagram-card>p{margin:0}.diagram-card-head{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.diagram-title{align-items:center;gap:var(--s-2);font-size:var(--fs-md);margin:0;font-weight:700;display:inline-flex}.diagram-card.advanced summary{cursor:pointer;font-weight:600}.diagram-card.advanced[open] summary{margin-bottom:var(--s-2)}.big-key{min-width:72px;min-height:64px;padding:var(--s-2) var(--s-3);border:1px solid var(--keycap-edge);background:var(--keycap-top);box-shadow:0 3px 0 var(--keycap-edge);color:var(--text);font-family:inherit;font-size:var(--fs-lg);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:700;display:inline-flex}.big-key.morphed{border-color:var(--kind);box-shadow:0 3px 0 var(--kind)}.big-key-name{color:var(--kind);font-size:var(--fs-xs)}.big-key.split-key{border-color:var(--kind);min-width:120px;min-height:96px;box-shadow:0 3px 0 var(--kind);font-size:var(--fs-sm)}.big-key-hold{color:var(--kind)}.ht-diagram{align-items:center;gap:var(--s-5);display:flex}.ht-arms{gap:var(--s-3);flex-direction:column;flex:1;min-width:0;display:flex}.ht-arm{align-items:center;gap:var(--s-2);grid-template-columns:90px minmax(0,1fr);display:grid;position:relative}.ht-arm:before{content:"";top:50%;left:calc(-1 * var(--s-5));width:var(--s-4);border-top:2px solid var(--border-strong);position:absolute}.ht-arm-label{align-items:center;gap:var(--s-1);font-weight:700;display:inline-flex}.ht-arm-hold .ht-arm-label{color:var(--kind)}.timing-value{align-items:center;gap:var(--s-1);display:inline-flex}.input.compact{width:84px;min-height:32px;padding-block:0}.timing-strip{gap:var(--s-1);flex-direction:column;display:flex;position:relative}.timing-bar{border-radius:var(--r-sm);height:32px;font-size:var(--fs-xs);font-weight:700;display:flex;overflow:hidden}.timing-zone{padding:0 var(--s-2);align-items:center;display:flex}.timing-zone.tap{width:var(--term);background:var(--accent-soft);min-width:0;color:var(--accent-text)}.timing-zone.hold{background:color-mix(in srgb, var(--kind) 18%, transparent);color:var(--kind);flex:1;justify-content:flex-end}.timing-range{appearance:none;cursor:ew-resize;background:0 0;width:100%;height:32px;margin:0;position:absolute;top:0;left:0}.timing-range::-webkit-slider-runnable-track{background:0 0;height:32px}.timing-range::-moz-range-track{background:0 0;height:32px}.timing-range::-webkit-slider-thumb{border:2px solid var(--surface);border-radius:var(--r-pill);background:var(--text);appearance:none;width:6px;height:40px;margin-top:-4px}.timing-range::-moz-range-thumb{border:2px solid var(--surface);border-radius:var(--r-pill);background:var(--text);width:6px;height:40px}.timing-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--focus-ring)}.timing-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--focus-ring)}.timing-extra{border-radius:var(--r-sm);background:var(--surface-2);height:18px;position:relative}.timing-extra-zone{border-radius:var(--r-sm);background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--info) 30%, transparent) 0 6px, transparent 6px 12px);position:absolute;inset:0 auto 0 0}.timing-extra-label{padding:0 var(--s-2);color:var(--text-muted);font-size:11px;line-height:18px;position:relative}.timing-ticks{color:var(--text-muted);font-family:var(--font-mono);justify-content:space-between;font-size:11px;display:flex}.segmented.wrap{border-radius:var(--r-lg);flex-wrap:wrap}.mm-diagram{align-items:start;gap:var(--s-4);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.mm-case{align-items:flex-start;gap:var(--s-3);flex-direction:column;min-width:0;display:flex}.mm-case>.binding-editor,.mm-case>.property-fields{align-self:stretch}.mm-arrow{color:var(--kind);font-size:var(--fs-2xl);align-self:start;margin-top:36px;font-weight:700}.td-row{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.td-card{gap:var(--s-2);padding:var(--s-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;display:flex}.td-card.active{border-color:var(--kind);background:color-mix(in srgb, var(--kind) 8%, var(--surface-2))}.td-key{align-items:center;gap:var(--s-2);padding:var(--s-1) 0 var(--s-2);border-radius:var(--r-sm);color:var(--text);cursor:pointer;background:0 0;border:none;flex-direction:column;display:flex}.td-name{color:var(--text-muted);font-size:var(--fs-xs);font-weight:600}.td-editor{gap:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--border);flex-direction:column;display:flex}.td-card .tap-header{align-items:center;gap:var(--s-1);display:flex}.td-count{border-radius:var(--r-pill);background:color-mix(in srgb, var(--kind) 18%, transparent);min-width:28px;height:22px;color:var(--kind);font-size:var(--fs-xs);place-items:center;font-weight:700;display:inline-grid}.td-card .icon-button.small{width:26px;min-width:26px;height:26px}.td-card .icon-button.small .icon{width:14px;height:14px}.td-card.drop-before{box-shadow:-3px 0 0 var(--accent-line)}.td-card.drop-after{box-shadow:3px 0 0 var(--accent-line)}.td-add{justify-content:center;align-items:center;gap:var(--s-2);border:2px dashed var(--border-strong);border-radius:var(--r-md);min-height:120px;color:var(--text-muted);cursor:pointer;background:0 0;flex-direction:column;font-weight:600;display:flex}.td-add:hover{border-color:var(--kind);color:var(--kind)}.enc-diagram{align-items:center;gap:var(--s-4);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.enc-side{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.knob{border:1px solid var(--keycap-edge);background:radial-gradient(circle at 50% 40%, var(--keycap-top), var(--keycap));width:72px;height:72px;box-shadow:0 3px 0 var(--keycap-edge), 0 0 0 6px color-mix(in srgb, var(--kind,var(--kind-encoder)) 16%, transparent);border-radius:50%;flex:none;display:inline-block;position:relative}.knob:after{content:"";border-radius:var(--r-pill);background:var(--kind,var(--kind-encoder));width:4px;height:16px;position:absolute;top:8px;left:calc(50% - 2px)}.knob.small{width:26px;height:26px;box-shadow:0 2px 0 var(--keycap-edge)}.knob.small:after{width:3px;height:7px;top:3px}.behavior-tip{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-sm);display:flex}@media (width<=900px){.behaviors-page{grid-template-columns:1fr}.ht-diagram,.mm-diagram,.enc-diagram{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.ht-arm:before,.mm-arrow{display:none}}.modules{max-width:1100px;margin:0 auto;padding:16px 24px 48px}.module-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin:12px 0 24px;display:grid}.module-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.module-card.installed{border-color:var(--accent-line)}.module-card p{margin:0}.module-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.module-head h3{margin:0 0 2px;font-size:15px}.module-head a{color:var(--text-muted)}.module-settings{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:6px;padding-top:10px;display:flex}.check{align-items:center;gap:8px;font-size:13px;display:flex}.module-filters{align-items:center;gap:12px}.module-filters .input{width:220px}.screens{max-width:1200px;margin:0 auto;padding:16px 24px 48px}.screen-slots{flex-wrap:wrap;gap:12px;margin:12px 0 20px;display:flex}.screen-slot{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:6px;min-width:240px;padding:10px 12px;display:flex}.screen-slot-body{align-items:center;gap:10px;display:flex}.screen-slot-thumb{object-fit:cover;background:var(--surface-2);border-radius:6px;width:56px;height:56px}.screen-slot-thumb.stock{font-family:var(--font-mono);color:var(--text-muted);border:1px dashed var(--border);place-items:center;font-size:12px;display:grid}.screens-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.screen-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.screen-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.screen-card.in-use{border-color:var(--accent-line)}.screen-card.selected{box-shadow:0 0 0 3px var(--accent-soft)}.screen-card-preview{border:0;border-bottom:1px solid var(--border);background:var(--surface-2);cursor:pointer;height:160px;padding:0;display:block;position:relative;overflow:hidden}.screen-card-preview img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.screen-card-preview>span{place-items:center;display:grid;position:absolute;inset:0}img.pixel-art{image-rendering:pixelated}.screen-card-body{flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex}.screen-card-body h3{margin:0;font-size:14px}.screen-card-body p{flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;display:flex}.badge.in-use{color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-line)}.screen-card-actions{gap:4px;margin-top:auto}.screen-card-actions .button{padding:3px 10px;font-size:12px}.screen-detail{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex;position:sticky;top:12px}.screen-detail h3,.screen-detail p{margin:0}.screen-detail-previews{gap:8px;display:flex;overflow-x:auto}.screen-detail-previews figure{flex:none;max-width:100%;margin:0}.screen-detail-previews img{border-radius:6px;max-width:100%;max-height:260px;display:block}.screen-option-help{margin:2px 0 0 24px}.screen-credits{grid-template-columns:auto 1fr;gap:2px 10px;margin:0;display:grid}.screen-credits dt{color:var(--text-muted)}.screen-credits dd{overflow-wrap:anywhere;margin:0}@media (width<=900px){.screens{padding:12px 16px 40px}.screens-layout{grid-template-columns:minmax(0,1fr)}.screen-detail{order:-1;position:static}.screen-slot{flex:200px;min-width:0}}.module-finder{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:8px;padding-top:16px;display:flex}.module-finder p{margin:0}.finder-details{max-width:640px}.finder-results{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.finder-result{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.finder-result p{margin:4px 0 0}.finder-result .badge{margin-left:6px}.source-editor{width:100%;min-height:180px;font-family:var(--font-mono);resize:vertical;font-size:12px;line-height:1.5}.version-select select{font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;padding:1px 4px;font-size:11px}.version-select select:hover{color:var(--text);border-color:var(--accent-line)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.build-view{flex-direction:column;gap:16px;max-width:900px;margin:0 auto;padding:16px 24px 48px;display:flex}.connect-form{grid-template-columns:1fr 1fr;align-items:end;gap:10px;display:grid}.connect-form .field:first-child{grid-column:1/-1}.change-list,.firmware-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.firmware-item{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.firmware-item .mono{flex:1;min-width:200px}.diff{border:1px solid var(--border);background:var(--bg);max-height:420px;font-family:var(--font-mono);border-radius:6px;margin:6px 0 4px;padding:8px 0;font-size:12px;line-height:1.45;overflow:auto}.diff>div{white-space:pre;padding:0 10px}.diff-added{background:var(--success-soft)}.diff-removed{background:var(--danger-soft)}.diff-fold{color:var(--text-muted)}.diff-added-text{color:var(--accent-text)}.diff-removed-text{color:var(--danger)}@media (width<=700px){.connect-form{grid-template-columns:1fr}}.login{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.login-button{padding:8px 16px;font-size:15px}.repo-picker{flex-direction:column;gap:10px;display:flex}.user-row{align-items:center;gap:10px}.avatar{border:1px solid var(--border);border-radius:50%}.token-details summary{cursor:pointer;color:var(--text-muted);margin-bottom:8px;font-size:13px}.keyboard-badges,.module-meta{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.repo-picker-actions{align-items:center;gap:var(--s-3)}.new-repo{gap:var(--s-3);padding:var(--s-4);border:1px solid var(--accent-line);border-radius:var(--r-md);background:color-mix(in srgb, var(--accent) 5%, var(--surface));flex-direction:column;display:flex}.new-repo p{margin:0}.new-repo-title{font-weight:700}.new-repo-fields{align-items:flex-end;gap:var(--s-4);flex-wrap:wrap;display:flex}.new-repo-fields .input-prefix{color:var(--text-muted);font-size:var(--fs-sm);font-weight:600}.new-repo-private{align-items:center;min-height:40px}.failed-jobs{gap:var(--s-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.failed-job{gap:var(--s-2);padding:var(--s-3) var(--s-4);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);border-radius:var(--r-md);background:color-mix(in srgb, var(--danger) 6%, var(--surface));flex-direction:column;display:flex}.failed-job p{margin:0}.failed-job-head{align-items:center;gap:var(--s-2);display:flex}.failed-job-head .icon{color:var(--danger-text)}.failed-job-hint{font-weight:600}.failed-job-lines{padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);background:var(--bg);color:var(--danger-text);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.5;overflow-x:auto}.settings{max-width:1100px;padding:var(--s-4) var(--s-6) var(--s-8);margin:0 auto}.settings-head{justify-content:space-between;align-items:flex-start;gap:var(--s-4);margin-bottom:var(--s-4);display:flex}.settings-head .panel-title{margin:0 0 var(--s-1)}.settings-head p{margin:0}.settings-filter{gap:var(--s-2);flex:none}.settings-count{border-radius:var(--r-pill);background:var(--surface-3);min-width:20px;color:var(--text-muted);font-size:var(--fs-xs);text-align:center;padding:0 6px;font-weight:700}.settings-filter.active .settings-count{background:color-mix(in srgb, var(--accent-contrast) 14%, transparent);color:var(--accent-contrast)}.settings-warnings{gap:var(--s-2);margin-bottom:var(--s-4);flex-direction:column;display:flex}.settings-warning{align-items:center;gap:var(--s-3);display:flex}.settings-layout{align-items:start;gap:var(--s-5);grid-template-columns:260px minmax(0,1fr);display:grid}.settings-nav{top:var(--s-4);padding:var(--s-2);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;gap:2px;display:flex;position:sticky}.settings-nav-item{align-items:center;gap:var(--s-2);min-height:38px;padding:0 var(--s-3);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;font-weight:600;display:flex}.settings-nav-item:hover{background:var(--surface-2);color:var(--text)}.settings-nav-item.active{background:var(--accent-soft);color:var(--text)}.settings-nav-item.active .icon{color:var(--accent-text)}.settings-nav-count{white-space:nowrap;color:var(--accent-text);font-size:var(--fs-xs);flex:none;font-weight:700}.settings-nav-count.muted{color:var(--text-muted)}.settings-nav-rule{width:100%;margin:var(--s-1) 0;border:none;border-top:1px solid var(--border)}.settings-group{gap:var(--s-3);padding:var(--s-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.settings-changed{gap:var(--s-4);flex-direction:column;display:flex}.settings-changed>p{margin:0}.settings-group-head{align-items:flex-start;gap:var(--s-3);display:flex}.settings-group-head.compact{align-items:center}.settings-group-head h3{font-size:var(--fs-lg);margin:0}.settings-group-head.compact h3{font-size:var(--fs-md)}.settings-group-head p{margin:2px 0 0}.settings-group-icon{border-radius:var(--r-md);background:var(--accent-soft);width:36px;height:36px;color:var(--accent-text);flex:none;place-items:center;display:inline-grid}.settings-group-head.compact .settings-group-icon{width:28px;height:28px}.settings-subhead{margin:0 0 var(--s-2);font-size:var(--fs-sm)}.setting-rows{flex-direction:column;display:flex}.setting-rows.advanced{padding-top:var(--s-2);border-top:1px dashed var(--border-strong)}.settings-advanced-toggle{align-items:center;gap:var(--s-1);align-self:flex-start;display:inline-flex}.setting-row{justify-content:space-between;align-items:center;gap:var(--s-5);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-4);border-radius:var(--r-sm);border-left:3px solid #0000;display:flex}.setting-row+.setting-row{box-shadow:0 -1px 0 var(--border)}.setting-row.is-set{border-left-color:var(--accent-line);background:color-mix(in srgb, var(--accent) 4%, transparent)}.setting-row.unavailable .setting-control{opacity:.55}.setting-row.unavailable .setting-title{color:var(--text-muted)}.setting-text{flex-direction:column;gap:2px;min-width:0;display:flex}.setting-title{align-items:center;gap:var(--s-2);font-size:var(--fs-md);font-weight:600;display:flex}.setting-changed{background:var(--accent-soft);color:var(--accent-text)}.setting-help{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.45}.setting-default{color:var(--text-muted);font-style:italic}.setting-control{align-items:center;gap:var(--s-2);flex:none;display:flex}.setting-control select.input{width:230px}.setting-control>.input:not(select){width:200px}.setting-number{align-items:center;display:inline-flex;position:relative}.setting-number .input{width:150px;padding-right:34px}.setting-unit{color:var(--text-muted);font-size:var(--fs-sm);pointer-events:none;position:absolute;right:12px}.setting-readout{min-width:52px;color:var(--accent-text);font-size:var(--fs-sm);font-weight:600}.setting-reset-space{width:32px}.settings-empty{align-items:center;gap:var(--s-2);padding:var(--s-8) var(--s-4);border:1px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--accent-text);flex-direction:column;display:flex}.settings-empty p{margin:0}.raw-conf textarea{resize:vertical;margin-bottom:var(--s-2)}@media (width<=900px){.settings-layout{grid-template-columns:1fr}.settings-nav{flex-flow:wrap;position:static}.settings-nav-rule{display:none}.setting-row{flex-direction:column;align-items:stretch}.setting-control{flex:auto;min-width:0}.setting-control select.input,.setting-control>.input:not(select),.setting-number{flex:1;width:auto;min-width:0}.setting-number .input{width:100%}}.settings-nav-item>.grow{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.studio-checklist{gap:var(--s-2);margin:var(--s-4) 0;flex-direction:column;padding:0;list-style:none;display:flex}.studio-checklist li{align-items:center;gap:var(--s-3);min-height:40px;padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);display:flex}.studio-checklist li.done{color:var(--text)}.studio-checklist li.done svg{color:var(--success-text)}.badge-button{cursor:pointer;font-family:var(--font-mono);background:0 0}.badge-button:hover,.badge-button.active{color:var(--text);border-color:var(--accent-line)}.keyboard-view{flex-direction:column;gap:16px;max-width:1100px;margin:0 auto;padding:16px 24px 48px;display:flex}.keyboard-picker{grid-template-columns:300px minmax(0,1fr);gap:20px;display:grid}.keyboard-list-column{flex-direction:column;gap:8px;display:flex}.keyboard-list{max-height:460px;overflow:auto}.keyboard-details{flex-direction:column;gap:10px;display:flex}.keyboard-details h3,.keyboard-details p{margin:0}.layout-preview{border:1px solid var(--border);background:var(--bg);border-radius:10px;width:100%;max-width:640px;position:relative}.preview-key{box-sizing:border-box;border:1.5px solid var(--keycap-edge);background:var(--keycap);border-radius:4px;position:absolute;scale:.88}@media (width<=800px){.keyboard-picker{grid-template-columns:1fr}}.designer{grid-template-columns:minmax(0,1fr) 320px;gap:20px;padding:16px 24px 48px;display:grid}.designer-main{flex-direction:column;gap:8px;min-width:0;display:flex}.designer-head p{margin:0}.designer-canvas{border:1px solid var(--border);background:linear-gradient(var(--border) 1px, transparent 1px) 0 0 / 25px 25px, linear-gradient(90deg, var(--border) 1px, transparent 1px) 0 0 / 25px 25px, var(--bg);background-blend-mode:normal;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:10px;width:100%;max-height:70vh}.designer-key{cursor:grab;outline:none}.designer-key rect{fill:var(--keycap);stroke:var(--keycap-edge);stroke-width:3px}.designer-key:hover rect{stroke:var(--text-muted)}.designer-key.selected rect,.designer-key:focus-visible rect{stroke:var(--accent);stroke-width:6px}.designer-key.flagged rect{stroke:var(--danger);stroke-width:6px}.designer-knob{cursor:grab;outline:none}.designer-knob circle{fill:var(--surface-2);stroke:var(--keycap-edge);stroke-width:4px;stroke-dasharray:10 6}.designer-knob:hover circle{stroke:var(--text-muted)}.designer-knob.selected circle,.designer-knob:focus-visible circle{stroke:var(--accent);stroke-width:6px;stroke-dasharray:none}.designer-label{fill:var(--text);pointer-events:none;font-size:26px;font-weight:600}.designer-index{fill:var(--text-muted);font-size:18px;font-family:var(--font-mono);pointer-events:none}.designer-panel{flex-direction:column;gap:12px;display:flex}.designer-panel .stack{flex-direction:column;gap:6px;display:flex}.field-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (width<=900px){.designer{grid-template-columns:1fr}}.hardware-wizard{box-sizing:border-box;flex-direction:column;gap:16px;max-width:1600px;margin:0 auto;padding:20px 24px 0;display:flex}.hardware-wizard.narrow{max-width:880px}.wizard-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.wizard-head .panel-title{margin:0}.wizard-steps{row-gap:var(--s-2);color:var(--text-muted);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.wizard-steps li+li:before{content:"";width:28px;height:2px;margin:0 var(--s-2);background:var(--border-strong);vertical-align:middle;border-radius:1px;display:inline-block}.wizard-steps li.done+li:before,.wizard-steps li.done:before{background:var(--accent-line)}.wizard-step-label,.wizard-step-button{align-items:center;gap:var(--s-2);display:inline-flex}.wizard-dot{border:2px solid var(--border-strong);width:24px;height:24px;font-size:var(--fs-xs);border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.wizard-steps .active{color:var(--text)}.wizard-steps .active .wizard-dot{border-color:var(--accent-line);background:var(--accent);color:var(--accent-contrast)}.wizard-steps .done .wizard-dot{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-text)}.wizard-step-button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.wizard-step-button:hover{color:var(--accent-text)}.choice-cards{gap:var(--s-2);border:none;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0;padding:0;display:grid}.choice-cards legend{margin-bottom:var(--s-2);padding:0}.choice-card{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-sm);cursor:pointer;font-weight:600;display:flex}.choice-card:hover{border-color:var(--border-strong)}.choice-card.active{border-color:var(--accent-line);background:var(--accent-soft)}.choice-card:has(input:disabled){opacity:.6;cursor:default}.wizard-card{padding:var(--s-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.wizard-card>.stack{gap:var(--s-4);flex-direction:column;display:flex}.wizard-footer{border-top:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;gap:12px;padding:12px 0 16px;display:flex;position:sticky;bottom:0}.hardware-wizard .designer{padding:0}.wiring-step{flex-direction:column;gap:16px;display:flex}.wiring-halves{gap:16px;display:grid}.wiring-halves.two{grid-template-columns:repeat(2,minmax(0,1fr))}.wiring-half{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.wiring-half-title{margin:0;font-size:.95rem}.wiring-half-body{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.wiring-half.right .wiring-half-body{grid-template-columns:auto minmax(0,1fr)}.wiring-half.right .pinout{order:-1}.wiring-tables{flex-direction:column;gap:12px;min-width:0;display:flex}.pin-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.display-halves{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.display-half{flex-direction:column;align-items:stretch;gap:8px;display:flex}.display-half .link-button{align-self:flex-start}.display-half .pin-grid{align-items:end}.encoder-pins{grid-template-columns:repeat(2,minmax(104px,1fr)) auto;align-items:end;gap:8px;margin-bottom:8px;display:grid}.pin-grid select.active-pin,.encoder-pins select.active-pin{outline:2px solid var(--accent-line);outline-offset:1px}.pinout{margin:0}.pinout figcaption{max-width:330px;margin-bottom:8px}.pinout-view{align-items:center;gap:6px;margin-bottom:8px;display:flex}.pinout-board{border:1px solid var(--keycap-edge);background:var(--surface);border-radius:10px;gap:8px;padding:12px;display:flex}.pinout-column{flex-direction:column;gap:4px;width:138px;margin:0;padding:0;list-style:none;display:flex}.pinout-usb{border:1px solid var(--keycap-edge);color:var(--text-muted);border-radius:6px;align-self:start;padding:4px 10px}.pinout-pad{box-sizing:border-box;border:1px solid var(--keycap-edge);background:var(--keycap);width:100%;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:6px;align-items:baseline;gap:6px;padding:2px 8px;display:flex;overflow:hidden}.pinout-pad.power{cursor:default;color:var(--text-muted)}.pinout-pad.used{border-color:var(--accent-line);background:var(--accent-soft)}.pinout-pad.used.use-row{border-color:var(--wire-row);background:var(--wire-row-soft)}.pinout-pad.used.use-col{border-color:var(--wire-col);background:var(--wire-col-soft)}.pinout-pad.used.use-encoder{border-color:var(--kind-encoder)}.pinout-pad.used.use-display{border-color:var(--kind-macro)}.pinout-pad.used.use-clash{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent)}.pinout-sub,.pinout-use{color:var(--text-muted);font-size:.8em}.pinout-use{text-overflow:ellipsis;overflow:hidden}.designer-marquee{fill:var(--accent-soft);stroke:var(--accent);stroke-width:3px;stroke-dasharray:12 8;pointer-events:none}@media (width<=1300px){.wiring-halves.two{grid-template-columns:1fr}}@media (width<=800px){.hardware-wizard{padding:16px 16px 0}.wiring-half-body,.wiring-half.right .wiring-half-body{grid-template-columns:1fr}.wiring-half.right .pinout{order:0}}.conditional{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;margin-bottom:8px;padding:8px 0 10px;display:flex}.designer-head-title{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.designer-head-title .panel-title{margin:0}.theme-toggle{border:1px solid var(--border);background:var(--surface-2);width:68px;height:34px;box-shadow:var(--shadow-inset);color:var(--text-muted);cursor:pointer;border-radius:999px;justify-content:space-between;align-items:center;padding:0 9px;display:inline-flex;position:relative}.theme-toggle:hover{border-color:var(--accent-line)}.theme-toggle-icon{z-index:1;transition:color .2s;display:inline-flex;position:relative}.theme-toggle-knob{background:var(--toggle-knob-day);width:26px;height:26px;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .2s;position:absolute;top:3px;left:3px}.theme-toggle.dark .theme-toggle-knob{background:var(--toggle-knob-night);transform:translate(34px)}.theme-toggle:not(.dark) .sun{color:var(--toggle-sun)}.theme-toggle.dark .moon{color:var(--toggle-moon)}.help-link{font-size:inherit;white-space:nowrap}.help{grid-template-columns:220px minmax(0,760px);justify-content:center;gap:32px;padding:24px;display:grid}.help-toc{flex-direction:column;align-self:start;gap:10px;display:flex;position:sticky;top:0}.help-toc ol{margin:0;padding:0;list-style:none}.help-toc-link{width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);color:var(--text-muted);font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;border-left:3px solid #0000;font-weight:500}.help-toc-link:hover{color:var(--text);background:var(--surface-2)}.help-toc-link.active{border-left-color:var(--accent-line);background:var(--accent-soft);color:var(--text);font-weight:600}.help-toc-select{display:none}.help-content{line-height:1.6}.help-title{margin:0 0 8px;font-size:24px}.help-content section{border-bottom:1px solid var(--border);padding-bottom:16px;scroll-margin-top:12px}.help-content h2{margin:24px 0 8px;font-size:19px}.help-content h3{margin:18px 0 6px;scroll-margin-top:12px;font-size:15px}.help-content li{margin:4px 0}.help-content code,.help-content kbd{border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-mono);border-radius:4px;padding:1px 5px;font-size:.9em}.help-ui{color:var(--accent-text);font-weight:600}.help-content .link-button{font-size:inherit;padding:0}.help-content a{color:var(--accent-text)}.help-table{border-collapse:collapse;width:100%;font-size:14px}.help-table th,.help-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 8px}.help-table td:first-child{white-space:nowrap}.help-faq dt{margin-top:14px;font-weight:600}.help-faq dd{margin:4px 0 0}::highlight(help-search){background-color:var(--accent-soft);color:var(--text);-webkit-text-decoration:underline 2px var(--accent-line);text-decoration:underline 2px var(--accent-line)}@media (width<=800px){.help{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.help-toc{position:static}.help-toc ol{display:none}.help-toc-select{display:block}.help-table td:first-child{white-space:normal}}.popover-anchor{display:inline-flex;position:relative}.popover{z-index:30;gap:var(--s-3);width:360px;max-width:calc(100vw - 32px);padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-float);flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);right:0}.popover p{margin:0}.print-view{grid-template-columns:240px minmax(0,900px);justify-content:center;gap:24px;padding:24px;display:grid}.print-controls{flex-direction:column;align-self:start;gap:12px;display:flex;position:sticky;top:0}.print-sheet{background:var(--print-paper);color:var(--text);border-radius:8px;padding:24px}.print-sheet .keycap,.print-sheet .encoder{box-shadow:none;border:1.5px solid var(--print-outline);background:0 0}.print-sheet .encoder-knob{display:none}.print-header h1{margin:0 0 4px;font-size:22px}.print-header p{color:var(--text-muted);margin:0 0 12px;font-size:12px}.print-layer,.print-combos{break-inside:avoid;padding:8px 4mm 16px}.print-layer h2,.print-combos h2{margin:8px 0;font-size:16px}.print-layer .keyboard{width:100%;max-width:none}.print-layer .keycap{cursor:default;box-shadow:none}.print-layer .encoders{margin-top:8px}.print-combos table{border-collapse:collapse;width:100%;font-size:13px}.print-combos th,.print-combos td{border-bottom:1px solid var(--border);text-align:left;padding:4px 8px}@media (width<=800px){.print-view{grid-template-columns:minmax(0,1fr)}.print-controls{position:static}}@media print{@page{margin:12mm}:root,:root[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body,#root,.app{background:var(--print-paper);height:auto}.topbar,.viewtabs,.notice,.print-controls{display:none}.workspace.single{overflow:visible}.print-view{padding:0;display:block}.print-sheet{background:var(--print-paper);padding:0}.print-layer:nth-of-type(odd):not(:first-of-type){break-before:page}.print-sheet,.print-sheet *{box-shadow:none!important;background:0 0!important}}.design-system{gap:var(--s-6);max-width:1100px;padding:var(--s-8) var(--s-6) 64px;flex-direction:column;margin:0 auto;display:flex}.ds-header{justify-content:space-between;align-items:flex-start;gap:var(--s-4);display:flex}.ds-header h1{margin:0 0 var(--s-2);font-size:var(--fs-2xl);letter-spacing:-.02em}.ds-header p{margin:0}.ds-section{gap:var(--s-4);padding:var(--s-6);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.ds-section h2{font-size:var(--fs-xl);letter-spacing:-.01em;margin:0}.ds-group{flex-direction:column;display:flex}.ds-swatches{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.ds-swatch{gap:var(--s-2);font-size:var(--fs-xs);flex-direction:column;display:flex}.ds-swatch-colour{border:1px solid var(--border);border-radius:var(--r-md);height:56px}.ds-type-sample{margin:0}.ds-type-sample code{min-width:110px;color:var(--text-muted);font-size:var(--fs-xs);display:inline-block}.ds-row{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.ds-radius{border:1px solid var(--border-strong);background:var(--surface-2);width:110px;height:72px;font-size:var(--fs-xs);place-items:center;display:grid}.ds-spacing{gap:var(--s-2);flex-direction:column;display:flex}.ds-space{align-items:center;gap:var(--s-3);font-size:var(--fs-xs);display:flex}.ds-space-bar{border-radius:var(--r-sm);background:var(--accent);height:12px}.ds-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.ds-narrow{max-width:420px}.ds-section>.segmented{align-self:flex-start}
