@charset "UTF-8";:root{--kbd-bg: #ffffff;--kbd-bg-secondary: #f9fafb;--kbd-text: #1f2937;--kbd-text-secondary: #6b7280;--kbd-border: #e5e7eb;--kbd-accent: #3b82f6;--kbd-accent-hover: #2563eb;--kbd-link: var(--kbd-accent);--kbd-link-hover: var(--kbd-accent-hover);--kbd-conflict: #ef4444;--kbd-conflict-bg: #fef2f2;--kbd-warning: #f59e0b;--kbd-warning-bg: #fef3c7;--kbd-timeout-bar: #10b981;--kbd-kbd-bg: #f3f4f6;--kbd-kbd-border: #d1d5db;--kbd-kbd-text: #374151;--kbd-radius: 8px;--kbd-radius-sm: 4px;--kbd-gap: 8px;--kbd-padding: 16px;--kbd-transition: .15s ease;--kbd-sequence-max-height: 300px;--kbd-sequence-row-padding: 8px 12px;--kbd-sequence-row-gap: 8px;--kbd-omnibar-max-height: 50vh}.kbd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.kbd-modal{background-color:var(--kbd-bg);border-radius:var(--kbd-radius);padding:var(--kbd-padding);width:85vw;max-width:480px;max-height:80vh;overflow:auto;box-shadow:0 4px 20px #00000026;color:var(--kbd-text);outline:none}.kbd-modal a,.kbd-lookup a,.kbd-omnibar a,.kbd-sequence a,.kbd-kbd a{color:var(--kbd-link);text-decoration:none;transition:color var(--kbd-transition),opacity var(--kbd-transition)}.kbd-modal a:hover,.kbd-lookup a:hover,.kbd-omnibar a:hover,.kbd-sequence a:hover,.kbd-kbd a:hover{color:var(--kbd-link-hover);text-decoration:underline}.kbd-modal a code,.kbd-lookup a code,.kbd-omnibar a code,.kbd-sequence a code,.kbd-kbd a code{color:inherit;background:var(--kbd-bg-secondary);padding:.1em .3em;border-radius:var(--kbd-radius-sm)}.kbd-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--kbd-gap)}.kbd-modal-title{margin:0;font-size:1.125rem;font-weight:600}.kbd-modal-footer{display:flex;justify-content:center;gap:16px;margin-top:var(--kbd-gap);padding-top:var(--kbd-gap);border-top:1px solid var(--kbd-border)}.kbd-footer-btn{display:flex;align-items:center;gap:6px;background:none;border:none;padding:6px 10px;font-size:.8125rem;cursor:pointer;color:var(--kbd-text-secondary);transition:color var(--kbd-transition);border-radius:var(--kbd-radius-sm)}.kbd-footer-btn:hover:not(:disabled){color:var(--kbd-text)}.kbd-footer-btn:disabled{opacity:.4;cursor:not-allowed}.kbd-footer-icon{width:16px;height:16px}.kbd-import-error{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;margin-bottom:var(--kbd-gap);background-color:var(--kbd-conflict-bg);border:1px solid var(--kbd-conflict);border-radius:var(--kbd-radius-sm);color:var(--kbd-conflict);font-size:.875rem}.kbd-import-error button{background:none;border:none;color:var(--kbd-conflict);cursor:pointer;font-size:1rem;line-height:1;padding:0 4px;opacity:.7;transition:opacity var(--kbd-transition)}.kbd-import-error button:hover{opacity:1}.kbd-modal-close{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:4px 8px;line-height:1;color:var(--kbd-text-secondary);transition:color var(--kbd-transition)}.kbd-modal-close:hover{color:var(--kbd-text)}.kbd-group{margin-bottom:var(--kbd-padding)}.kbd-group-title{margin:0 0 var(--kbd-gap);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--kbd-text-secondary);letter-spacing:.05em}.kbd-action{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--kbd-border);gap:var(--kbd-gap)}.kbd-action:last-child{border-bottom:none}.kbd-action-label{flex:1;font-size:.875rem}.kbd-action-bindings{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.kbd-arrow-group-binding{display:inline-flex;align-items:center;gap:2px}.kbd-arrow-group-plus{margin:0 2px;font-size:.75rem;opacity:.6}.kbd-arrow-group-arrows{display:inline-flex;align-items:center;gap:1px}.kbd-action-pair-sep{color:var(--kbd-text-secondary);margin:0 4px;font-size:12px;opacity:.5}.kbd-kbd{position:relative;display:inline-flex;align-items:center;gap:2px;background-color:var(--kbd-kbd-bg);border:1px solid var(--kbd-kbd-border);border-radius:var(--kbd-radius-sm);padding:3px 6px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.75rem;color:var(--kbd-kbd-text);min-height:24px;white-space:nowrap}.kbd-kbd.editable{cursor:pointer;transition:all var(--kbd-transition)}.kbd-kbd.editable:hover,.kbd-kbd.editable:focus{border-color:var(--kbd-accent);background-color:var(--kbd-bg-secondary);outline:none}.kbd-kbd.editable:focus-visible{box-shadow:0 0 0 2px #3b82f64d}.kbd-kbd.editing{border-color:var(--kbd-accent);box-shadow:0 0 0 2px #3b82f633}.kbd-kbd.conflict{border-color:var(--kbd-conflict);background-color:var(--kbd-conflict-bg);color:var(--kbd-conflict)}.kbd-kbd.pending-conflict{border-color:var(--kbd-warning);background-color:var(--kbd-warning-bg);color:#92400e;animation:kbd-pulse 1s ease-in-out infinite}.kbd-kbd.default-binding{border-bottom:1px solid var(--kbd-text-secondary);border-bottom-left-radius:0;border-bottom-right-radius:0}@keyframes kbd-pulse{0%,to{opacity:1}50%{opacity:.7}}.kbd-modifier-icon{width:12px;height:12px;flex-shrink:0}.kbd-key-icon{width:14px;height:14px;flex-shrink:0}.kbd-placeholder{font-family:monospace;font-weight:600;color:var(--kbd-text);background:var(--kbd-bg-secondary);border:1px solid var(--kbd-border);border-radius:var(--kbd-radius-sm);padding:0 3px;margin:0 1px}.kbd-sequence-sep{color:var(--kbd-text-secondary);margin:0 1px}.kbd-clickable{display:inline-flex;align-items:center;gap:2px;background-color:var(--kbd-kbd-bg);border:1px solid var(--kbd-kbd-border);border-radius:var(--kbd-radius-sm);padding:3px 6px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.75rem;color:var(--kbd-kbd-text);min-height:24px;white-space:nowrap;cursor:pointer;transition:all var(--kbd-transition)}@media (hover: hover){.kbd-clickable:hover{background:var(--kbd-accent);color:#fff}}@media (hover: none){.kbd-clickable:active{background:var(--kbd-accent);color:#fff}}.kbd-clickable:focus-visible{outline:2px solid var(--kbd-accent);outline-offset:2px}.kbd-add-btn{background:none;border:1px dashed var(--kbd-border);border-radius:var(--kbd-radius-sm);padding:3px 8px;font-size:.875rem;color:var(--kbd-text-secondary);cursor:pointer;transition:all var(--kbd-transition)}.kbd-add-btn:hover{border-color:var(--kbd-accent);color:var(--kbd-accent)}.kbd-remove-btn{position:absolute;top:-7px;right:-7px;display:flex;align-items:center;justify-content:center;background:var(--kbd-conflict, #dc2626);border:none;border-radius:50%;padding:0;width:13px;height:13px;font-size:10px;font-weight:700;line-height:1;color:#fff;cursor:pointer;opacity:0;transform:scale(.8);transition:opacity var(--kbd-transition),transform var(--kbd-transition),background var(--kbd-transition)}@media (hover: hover){.kbd-kbd:hover .kbd-remove-btn,.kbd-kbd:focus-within .kbd-remove-btn{opacity:1;transform:scale(1)}.kbd-remove-btn:hover{background:#b91c1c}}@media (hover: none){.kbd-kbd.editable .kbd-remove-btn{opacity:.7;transform:scale(.9)}.kbd-remove-btn:active{background:#b91c1c;opacity:1;transform:scale(1)}}.kbd-add-inline-btn{position:absolute;bottom:-7px;right:-7px;display:flex;align-items:center;justify-content:center;background:var(--kbd-success, #16a34a);border:none;border-radius:50%;padding:0;width:13px;height:13px;font-size:10px;font-weight:700;line-height:1;color:#fff;cursor:pointer;opacity:0;transform:scale(.8);transition:opacity var(--kbd-transition),transform var(--kbd-transition),background var(--kbd-transition)}@media (hover: hover){.kbd-kbd:hover .kbd-add-inline-btn,.kbd-kbd:focus-within .kbd-add-inline-btn{opacity:1;transform:scale(1)}.kbd-add-inline-btn:hover{background:#15803d}}@media (hover: none){.kbd-kbd.editable .kbd-add-inline-btn{opacity:.7;transform:scale(.9)}.kbd-add-inline-btn:active{background:#15803d;opacity:1;transform:scale(1)}}.kbd-timeout-bar{position:absolute;bottom:0;left:0;height:3px;background-color:var(--kbd-timeout-bar);animation:kbd-timeout linear forwards}@keyframes kbd-timeout{0%{width:100%}to{width:0}}.kbd-omnibar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:flex-start;justify-content:center;padding:10vh 1rem 1rem;z-index:9999;overflow:hidden}.kbd-omnibar{background-color:var(--kbd-bg);border-radius:var(--kbd-radius);box-shadow:0 4px 20px #00000026;width:100%;max-width:500px;overflow:hidden}.kbd-omnibar-header{display:flex;align-items:center;border-bottom:1px solid var(--kbd-border)}.kbd-omnibar-close{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-left:1px solid var(--kbd-border);color:var(--kbd-text-secondary);font-size:1.5rem;cursor:pointer;transition:background-color .15s,color .15s}.kbd-omnibar-close:hover{background-color:var(--kbd-hover);color:var(--kbd-text)}@media (hover: hover) and (pointer: fine){.kbd-omnibar-close{display:none}}.kbd-omnibar-input{flex:1;min-width:0;padding:16px var(--kbd-padding);border:none;font-size:1.125rem;background-color:var(--kbd-bg);color:var(--kbd-text);outline:none}.kbd-omnibar-input::placeholder{color:var(--kbd-text-secondary)}.kbd-omnibar-param-entry{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:12px var(--kbd-padding)}.kbd-omnibar-param-label{font-size:.875rem;color:var(--kbd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}.kbd-omnibar-param-input{flex:1;min-width:80px;padding:6px 10px;border:1px solid var(--kbd-border);border-radius:var(--kbd-radius-sm);font-size:1rem;background-color:var(--kbd-bg);color:var(--kbd-text);outline:none;transition:border-color var(--kbd-transition)}.kbd-omnibar-param-input:focus{border-color:var(--kbd-accent)}.kbd-omnibar-param-input::placeholder{color:var(--kbd-text-secondary)}.kbd-omnibar-param-hint{font-size:.7rem;color:var(--kbd-text-secondary);white-space:nowrap}.kbd-omnibar-results{max-height:var(--kbd-omnibar-max-height);overflow-y:auto}.kbd-omnibar-result{display:flex;align-items:center;padding:10px var(--kbd-padding);cursor:pointer;gap:var(--kbd-gap);transition:background-color var(--kbd-transition);min-width:0;overflow:hidden}.kbd-omnibar-result:hover,.kbd-omnibar-result.selected{background-color:var(--kbd-bg-secondary)}.kbd-omnibar-result.selected{border-left:3px solid var(--kbd-accent);padding-left:calc(var(--kbd-padding) - 3px)}.kbd-omnibar-result-label{flex:1;min-width:0;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbd-omnibar-result-category{font-size:.75rem;color:var(--kbd-text-secondary);flex-shrink:0}.kbd-omnibar-result-bindings{display:flex;gap:4px;flex-shrink:0}@media (max-width: 480px){.kbd-omnibar-result-category{display:none}.kbd-omnibar-result-bindings .kbd-kbd:not(:first-child){display:none}}.kbd-omnibar-no-results,.kbd-omnibar-loading{padding:var(--kbd-padding);text-align:center;color:var(--kbd-text-secondary);font-size:.875rem}.kbd-omnibar-pagination{padding:8px var(--kbd-padding);text-align:center;font-size:.75rem;color:var(--kbd-text-secondary);border-top:1px solid var(--kbd-border)}.kbd-omnibar-pagination-loading,.kbd-omnibar-pagination-more{font-style:italic}.kbd-omnibar-result-description{font-size:.75rem;color:var(--kbd-text-secondary);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.kbd-sequence-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;z-index:9998;background-color:#0003;animation:kbd-fade-in .1s ease}@keyframes kbd-fade-in{0%{opacity:0}to{opacity:1}}.kbd-sequence{background-color:var(--kbd-bg);border:1px solid var(--kbd-border);border-radius:12px;box-shadow:0 8px 32px #0003;min-width:280px;max-width:400px;overflow:hidden;animation:kbd-slide-down .15s ease;color:var(--kbd-text)}@keyframes kbd-slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.kbd-sequence-current{display:flex;align-items:center;justify-content:center;gap:4px;padding:16px 20px;border-bottom:1px solid var(--kbd-border);background-color:var(--kbd-bg-secondary)}.kbd-sequence-keys{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:1.25rem;font-weight:600;background-color:var(--kbd-bg);border:1px solid var(--kbd-border);border-radius:6px;color:var(--kbd-text)}.kbd-sequence-ellipsis{font-size:1.5rem;color:var(--kbd-text-secondary);animation:kbd-ellipsis-pulse .8s ease-in-out infinite}@keyframes kbd-ellipsis-pulse{0%,to{opacity:1}50%{opacity:.4}}.kbd-sequence-timeout{height:3px;background:linear-gradient(90deg,var(--kbd-accent),#60a5fa);transform-origin:left;animation:kbd-shrink linear forwards}@keyframes kbd-shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.kbd-sequence-completions{padding:12px 16px;display:flex;flex-direction:column;gap:var(--kbd-sequence-row-gap);max-height:var(--kbd-sequence-max-height);overflow-y:auto}.kbd-sequence-completion{display:flex;align-items:center;gap:8px;padding:var(--kbd-sequence-row-padding);border-radius:6px;transition:background-color .1s ease}.kbd-sequence-completion:hover{background-color:var(--kbd-bg-secondary)}.kbd-sequence-completion.selected{background-color:var(--kbd-bg-secondary);outline:2px solid var(--kbd-accent);outline-offset:-2px}.kbd-sequence-arrow{color:var(--kbd-text-secondary);font-size:.9rem}.kbd-sequence-actions{flex:1;font-size:.9rem;color:var(--kbd-text)}.kbd-sequence-empty{padding:16px;text-align:center;color:var(--kbd-text-secondary);font-style:italic;font-size:.9rem}.kbd-table{width:100%;border-collapse:collapse}.kbd-table th,.kbd-table td{padding:6px var(--kbd-gap);text-align:left;border-bottom:1px solid var(--kbd-border)}.kbd-table th{font-weight:600;font-size:.85rem;color:var(--kbd-text-secondary)}.kbd-table td:not(:first-child){text-align:center}.kbd-lookup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:9999;background-color:#00000080;animation:kbd-fade-in .1s ease}.kbd-lookup{background-color:var(--kbd-bg);border-radius:var(--kbd-radius);box-shadow:0 8px 32px #0003;width:90vw;max-width:500px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.kbd-lookup-header{padding:12px 16px;border-bottom:1px solid var(--kbd-border);display:flex;flex-direction:column;gap:8px}.kbd-lookup-search{display:flex;align-items:center;min-height:32px;position:relative}.kbd-lookup-pending{display:flex;align-items:center;gap:.25rem}.kbd-lookup-input{flex:1;min-width:20px;background:transparent;border:none;color:transparent;caret-color:var(--kbd-text);font-size:.875rem;outline:none}.kbd-lookup-input::placeholder{color:var(--kbd-text-secondary)}.kbd-lookup-input:not(:placeholder-shown){color:transparent}.kbd-lookup-placeholder{color:var(--kbd-text-secondary);font-size:.875rem}.kbd-lookup-hint{font-size:.75rem;color:var(--kbd-text-secondary)}.kbd-lookup-results{flex:1;overflow-y:auto;padding:8px}.kbd-lookup-result{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background-color .1s ease}.kbd-lookup-result:hover,.kbd-lookup-result.selected{background-color:var(--kbd-bg-secondary)}.kbd-lookup-result.selected{outline:2px solid var(--kbd-accent);outline-offset:-2px}.kbd-lookup-binding{display:flex;gap:4px}.kbd-lookup-labels{flex:1;font-size:.875rem;color:var(--kbd-text)}.kbd-lookup-empty{padding:24px;text-align:center;color:var(--kbd-text-secondary);font-size:.875rem}.kbd-lookup-continuations{padding:8px 16px;border-top:1px solid var(--kbd-border);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kbd-lookup-continuations-label{font-size:.75rem;color:var(--kbd-text-secondary)}.kbd-lookup-param{padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:12px}.kbd-lookup-param-label{font-size:1rem;font-weight:500;color:var(--kbd-text)}.kbd-lookup-param-input{width:120px;padding:8px 12px;font-size:1.25rem;text-align:center;background:var(--kbd-bg-secondary);border:2px solid var(--kbd-primary);border-radius:6px;color:var(--kbd-text);outline:none}.kbd-lookup-param-input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--kbd-primary) 25%,transparent)}.kbd-lookup-param-hint{font-size:.75rem;color:var(--kbd-text-secondary)}.kbd-kbd.kbd-small{font-size:.7rem;padding:2px 5px}[data-theme=dark],.dark{--kbd-bg: #1f2937;--kbd-bg-secondary: #374151;--kbd-text: #f3f4f6;--kbd-text-secondary: #9ca3af;--kbd-border: #4b5563;--kbd-kbd-bg: #374151;--kbd-kbd-border: #4b5563;--kbd-kbd-text: #e5e7eb}@media (prefers-color-scheme: dark){:root:not([data-theme=light]):not(.light){--kbd-bg: #1f2937;--kbd-bg-secondary: #374151;--kbd-text: #f3f4f6;--kbd-text-secondary: #9ca3af;--kbd-border: #4b5563;--kbd-kbd-bg: #374151;--kbd-kbd-border: #4b5563;--kbd-kbd-text: #e5e7eb}}.kbd-fab{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));right:20px;width:44px;height:44px;border-radius:50%;background-color:var(--kbd-accent);color:#fff;border:1px solid var(--kbd-border);box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:9990;opacity:.7;transition:transform .2s ease,box-shadow .2s ease,opacity .3s ease}.kbd-fab:hover,.kbd-fab:focus{opacity:1;transform:scale(1.08);box-shadow:0 4px 12px #00000040}.kbd-fab:active{transform:scale(.95);opacity:1}.kbd-fab-icon{width:20px;height:20px}.kbd-fab-hidden{opacity:0;pointer-events:none;transform:scale(.8)}.kbd-fab-auto{display:none}@media (max-width: 640px),(hover: none){.kbd-fab-auto{display:flex}}@media (max-width: 640px),(hover: none){.kbd-omnibar-backdrop{padding-top:0;align-items:stretch}.kbd-omnibar{width:100%;max-width:none;height:100%;border-radius:0;display:flex;flex-direction:column}.kbd-omnibar-input{padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));font-size:1.125rem}.kbd-omnibar-results{flex:1;max-height:none}.kbd-omnibar-result{padding:14px 16px}.kbd-omnibar-result-label{font-size:1rem}.kbd-lookup-backdrop{padding-top:0;align-items:stretch}.kbd-lookup{width:100%;max-width:none;max-height:none;height:100%;border-radius:0}.kbd-lookup-header{padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px))}.kbd-lookup-hint{display:none}.kbd-lookup-results{flex:1}.kbd-lookup-result{padding:12px 16px}.kbd-lookup-labels{font-size:1rem}.kbd-sequence-backdrop{padding-top:0;align-items:flex-end}.kbd-sequence{width:100%;max-width:none;border-radius:var(--kbd-radius) var(--kbd-radius) 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}}.kbd-mobile .kbd-omnibar-backdrop,.kbd-mobile .kbd-lookup-backdrop{padding-top:0;align-items:stretch}.kbd-mobile .kbd-omnibar,.kbd-mobile .kbd-lookup{width:100%;max-width:none;max-height:none;height:100%;border-radius:0}.kbd-mobile .kbd-omnibar{display:flex;flex-direction:column}.kbd-mobile .kbd-omnibar-input{padding-top:calc(16px + env(safe-area-inset-top,0px))}.kbd-mobile .kbd-omnibar-results,.kbd-mobile .kbd-lookup-results{flex:1;max-height:none}.kbd-mobile .kbd-lookup-header{padding-top:calc(12px + env(safe-area-inset-top,0px))}.kbd-mobile .kbd-lookup-hint{display:none}.kbd-modes-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--kbd-border)}.kbd-modes-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--kbd-text-secondary);margin:0 0 12px;padding:0 12px}.kbd-modes-entry{margin-bottom:12px;border-left:3px solid var(--kbd-mode-color, var(--kbd-border));padding-left:12px}.kbd-modes-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.kbd-modes-label{font-weight:600;font-size:13px}.kbd-modes-binding{font-size:11px;padding:1px 4px}.kbd-modes-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.kbd-modes-shortcuts{margin:0;padding:0}.kbd-modes-action-row{display:flex;align-items:center;position:relative}.kbd-modes-action-row>.kbd-action,.kbd-modes-action-row>.kbd-arrow-group-row,.kbd-modes-action-row>.kbd-action-pair-row{flex:1;min-width:0}.kbd-modes-action-row:hover{background-color:var(--kbd-bg-secondary);border-radius:var(--kbd-radius-sm)}.kbd-modes-empty{color:var(--kbd-text-secondary);font-style:italic;font-size:12px;padding:3px 8px}.kbd-modes-remove{background:none;border:none;color:var(--kbd-text-secondary);cursor:pointer;font-size:14px;padding:0 4px;opacity:0;transition:opacity .15s ease;flex-shrink:0}.kbd-modes-action-row:hover .kbd-modes-remove{opacity:1}.kbd-modes-remove:hover{color:var(--kbd-danger, #ef4444)}.kbd-modes-add-btn{background:none;border:none;color:var(--kbd-text-secondary);cursor:pointer;font-size:12px;padding:4px 8px;opacity:.7;transition:opacity .15s ease}.kbd-modes-add-btn:hover{opacity:1;color:var(--kbd-accent)}.kbd-modes-add-panel{padding:4px 0}.kbd-modes-search{width:100%;padding:4px 8px;font-size:12px;border:1px solid var(--kbd-border);border-radius:var(--kbd-radius-sm);background-color:var(--kbd-bg);color:var(--kbd-text);outline:none;box-sizing:border-box}.kbd-modes-search:focus{border-color:var(--kbd-accent)}.kbd-modes-search-results{list-style:none;margin:4px 0 0;padding:0;max-height:160px;overflow-y:auto}.kbd-modes-search-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--kbd-text);padding:4px 8px;font-size:12px;cursor:pointer;border-radius:var(--kbd-radius-sm)}.kbd-modes-search-item:hover,.kbd-modes-search-item.selected{background-color:var(--kbd-bg-secondary)}.kbd-modes-no-results{color:var(--kbd-text-secondary);font-size:12px;font-style:italic;padding:4px 8px}:root{--kbd-speed-dial-size: 48px;--kbd-speed-dial-size-sm: 40px;--kbd-speed-dial-font: 22px;--kbd-speed-dial-font-sm: 18px;--kbd-speed-dial-gap: 8px;--kbd-speed-dial-primary-bg: var(--kbd-bg);--kbd-speed-dial-primary-color: var(--kbd-text)}@media (max-width: 768px){:root{--kbd-speed-dial-size: 44px;--kbd-speed-dial-size-sm: 38px;--kbd-speed-dial-font: 20px;--kbd-speed-dial-font-sm: 17px}}.kbd-speed-dial{display:flex;flex-direction:column-reverse;align-items:center;gap:var(--kbd-speed-dial-gap);z-index:9990}.kbd-speed-dial-primary{width:var(--kbd-speed-dial-size);height:var(--kbd-speed-dial-size);border-radius:50%;background-color:var(--kbd-speed-dial-primary-bg);color:var(--kbd-speed-dial-primary-color);border:1px solid var(--kbd-border);box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--kbd-speed-dial-font);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;opacity:.85}.kbd-speed-dial-primary:hover,.kbd-speed-dial-primary:focus{opacity:1;transform:scale(1.08);box-shadow:0 4px 12px #00000040}.kbd-speed-dial-primary:active{transform:scale(.95);opacity:1}.kbd-speed-dial-icon{width:20px;height:20px}.kbd-speed-dial-chevron{width:var(--kbd-speed-dial-size-sm);height:var(--kbd-speed-dial-size-sm);border-radius:50%;background:transparent;color:var(--kbd-text-secondary);border:1px solid var(--kbd-border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--kbd-speed-dial-font-sm);opacity:.7;transition:background-color .2s ease,color .2s ease,opacity .2s ease,border-color .2s ease}.kbd-speed-dial-chevron:hover{opacity:1}.kbd-speed-dial-chevron.kbd-speed-dial-sticky{background-color:var(--kbd-accent);color:#fff;border-color:var(--kbd-accent);opacity:1}.kbd-speed-dial-action{width:var(--kbd-speed-dial-size-sm);height:var(--kbd-speed-dial-size-sm);border-radius:50%;background-color:var(--kbd-bg);color:var(--kbd-text);border:1px solid var(--kbd-border);box-shadow:0 1px 4px #0000001a;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--kbd-speed-dial-font-sm);text-decoration:none;transition:background-color .2s ease,color .2s ease,transform .2s ease;animation:kbd-speed-dial-pop-in .15s ease both}.kbd-speed-dial-action:hover{background-color:var(--kbd-bg-secondary);transform:scale(1.08)}.kbd-speed-dial-badge-mode{gap:0}.kbd-speed-dial-chevron.kbd-speed-dial-badge{width:20px;height:20px;font-size:11px;margin-bottom:-10px;z-index:1;opacity:.5;border-width:1px;box-shadow:none}.kbd-speed-dial-chevron.kbd-speed-dial-badge:hover{opacity:1}.kbd-speed-dial-chevron.kbd-speed-dial-badge.kbd-speed-dial-sticky{width:20px;height:20px;font-size:11px}@keyframes kbd-speed-dial-pop-in{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.kbd-mode-indicator{position:fixed;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:20px;background-color:var(--kbd-bg);border:2px solid var(--kbd-mode-color, var(--kbd-accent));box-shadow:0 2px 8px #00000026;z-index:9990;animation:kbd-mode-indicator-in .2s ease;font-size:.8125rem;color:var(--kbd-text)}@keyframes kbd-mode-indicator-in{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.kbd-mode-bottom-right{bottom:calc(20px + env(safe-area-inset-bottom,0px));right:20px}.kbd-mode-bottom-left{bottom:calc(20px + env(safe-area-inset-bottom,0px));left:20px}.kbd-mode-top-right{top:20px;right:20px}.kbd-mode-top-left{top:20px;left:20px}.kbd-mode-indicator-label{font-weight:600;color:var(--kbd-mode-color, var(--kbd-accent))}.kbd-mode-indicator-dismiss{background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;padding:0 2px;color:var(--kbd-text-secondary);transition:color var(--kbd-transition)}.kbd-mode-indicator-dismiss:hover{color:var(--kbd-text)}.kbd-mode-group{border-left:3px solid var(--kbd-mode-color, var(--kbd-accent));padding-left:calc(var(--kbd-padding) - 3px)}.kbd-mode-group .kbd-group-title{display:flex;align-items:center;gap:8px}.kbd-mode-activation{font-size:.6875rem;text-transform:none;letter-spacing:normal;opacity:.8}.kbd-mode-badge{font-size:.6875rem;font-weight:600;padding:2px 6px;border-radius:10px;background-color:color-mix(in srgb,var(--kbd-mode-color, var(--kbd-accent)) 15%,transparent);color:var(--kbd-mode-color, var(--kbd-accent));white-space:nowrap;flex-shrink:0}.kbd-omnibar-result.kbd-mode-inactive{opacity:.6}.kbd-omnibar-result.kbd-mode-inactive:hover,.kbd-omnibar-result.kbd-mode-inactive.selected{opacity:1}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light dark}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex}#root{width:95%;max-width:1200px;margin:auto}@media (max-width: 600px){#root{width:100%;padding:0 4px}}h1{font-size:3.2em;line-height:1.1}.heading a{color:inherit}.heading a:hover{opacity:.7}hr{border:0;border-top:1px solid #aaa;margin:1.5em 0}.loading{background-color:#eee;text-align:center;place-content:center}.error{background-color:#fcc}.abp-header{display:block;text-align:center;margin:1em 0 .5em}.abp-banner{max-width:min(100%,600px);height:auto}.abp-footer{text-align:center;padding:2em 0 3em;border-top:1px solid #aaa;margin-top:2em}.abp-footer p{margin:1em 0 .5em;color:#888}.abp-partnership{max-width:min(100%,360px);height:auto}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}.loading{background-color:#eee}.station-dropdown summary{border-color:#aaa}.station-list{background:#fff;border-color:#ccc}.station-list label:hover{background:#f0f0f0}.dropdown-row.group-active{background:#0000000d}.dropdown-row:hover{background:#f0f0f0}.dropdown-row:hover label:hover{background:none}.solo-link{background:#0000000f}.solo-link:hover{color:#333;background:#0000001f}.select-all{border-bottom-color:#ccc}.group-section:not(:last-child){border-bottom-color:#ccc}}@media (prefers-color-scheme: dark){:root{color:#e4e4e4;background-color:#1a1a2e}a{color:#818cf8}a:hover{color:#a5b4fc}button{background-color:#2a2a3e;color:#e4e4e4}hr{border-top-color:#444}.loading{background-color:#2a2a3e}.error{background-color:#4a1c1c}.abp-footer{border-top-color:#444}.MuiToggleButtonGroup-root .MuiToggleButton-root{color:#aaa;border-color:#555}.MuiToggleButtonGroup-root .MuiToggleButton-root.Mui-selected{color:#e4e4e4;background-color:#3a3a5a}}.plot-container{width:100%}.js-plotly-plot .hoverlayer{pointer-events:none!important}.plot-subtitle{font-size:.85rem;color:#999;margin-top:-.5em;margin-bottom:.3em;min-height:1.8em}.plot{width:100%}.plot-toggles{display:flex;gap:.5em;flex-wrap:wrap;margin:.5em 0;align-items:center}.station-dropdown{position:relative;display:inline-block}.station-dropdown summary{cursor:pointer;padding:.3em .6em;border:1px solid #888;border-radius:4px;font-size:.875rem;-webkit-user-select:none;user-select:none;list-style:none}.station-dropdown summary::-webkit-details-marker{display:none}.station-dropdown summary:after{content:" ▼";font-size:.7em}.station-dropdown[open] summary:after{content:" ▲"}.station-dropdown.disabled{opacity:.4;pointer-events:none}.station-list{position:absolute;top:100%;left:0;z-index:100;background:#2a2a3e;border:1px solid #555;border-radius:4px;padding:.3em 0;min-width:200px;max-height:320px;overflow-y:auto}.station-list label{display:flex;align-items:center;gap:.3em;padding:.2em .5em;cursor:pointer;font-size:.85rem;white-space:nowrap}.station-list label:hover{background:#3a3a5a}.select-all{border-bottom:1px solid #555;margin-bottom:.3em;padding-bottom:.3em!important}.color-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;flex-shrink:0}.color-swatch.solo-target{cursor:pointer}.color-swatch.solo-target:hover{outline:2px solid currentColor;outline-offset:1px}.dropdown-row{display:flex;align-items:center;padding:.2em .5em;border-left:3px solid transparent}.dropdown-row.group-active{background:#ffffff0f}.dropdown-row:hover{background:#3a3a5a}.dropdown-row:hover .solo-link{opacity:1}.dropdown-row label{display:flex;align-items:center;gap:.3em;cursor:pointer;font-size:.85rem;white-space:nowrap;flex:1;padding:0}.dropdown-row label:hover{background:none}.solo-link{opacity:0;font-size:.65rem;color:#999;cursor:pointer;padding:.1em .4em;flex-shrink:0;border-radius:3px;background:#ffffff14;letter-spacing:.03em}.solo-link:hover{color:#eee;background:#ffffff2e}.group-section:not(:last-child){border-bottom:1px solid #555;padding-bottom:.2em;margin-bottom:.2em}.group-heading{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#888;padding:.2em .5em 0}.filter-badge{display:inline-flex;align-items:center;gap:.3em;padding:.1em .5em;border:1px solid #666;border-radius:12px;font-size:.85rem;margin-right:.3em;white-space:nowrap}.clear-filter{cursor:pointer;font-size:1.1em;line-height:1;opacity:.5}.clear-filter:hover{opacity:1;color:#ef4444}.baseline-controls input[type=number]{background:transparent;color:inherit;border:1px solid #666;border-radius:4px}.baseline-controls input[type=number]:focus{outline:1px solid #999}.baseline-controls .MuiChip-root{color:#ccc;border-color:#666}.baseline-controls .MuiChip-root .MuiChip-deleteIcon{color:#999}.baseline-controls .MuiChip-root .MuiChip-deleteIcon:hover{color:#eee}html.clean .abp-header,html.clean .abp-footer,html.clean .kbd-speed-dial,html.clean h1{display:none!important}.kbd-speed-dial{color:#eee}.fui-tooltip{--tooltip-bg: #333;background:var(--tooltip-bg);color:#eee;font-size:.8rem;line-height:1.4;padding:.4em .7em;border-radius:4px;max-width:280px;z-index:1000;pointer-events:none}.info-icon{display:inline-flex;align-items:center;cursor:help;font-size:.9em;opacity:.5;vertical-align:middle}.info-icon:hover{opacity:.8}
