:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;color:#213547;background-color:#fff}body{margin:0;min-width:320px}: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;inset: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)}.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;inset: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;inset: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;inset: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}.toggle{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:.5rem}.toggle .toggle-prefix{margin-right:.3rem;font-size:.85rem;line-height:1}.toggle button{padding:.3rem .5rem;min-width:2rem;border:1px solid var(--toggle-border);background:var(--toggle-bg);cursor:pointer;font-size:.85rem;color:var(--toggle-text);transition:background .15s,color .15s}.toggle button:first-of-type{border-radius:4px 0 0 4px}.toggle button:last-of-type{border-radius:0 4px 4px 0}.toggle button:only-of-type{border-radius:4px}.toggle button:not(:first-of-type){border-left:none}.toggle button.active{background:var(--toggle-active-bg);color:var(--toggle-active-text);border-color:var(--toggle-active-bg)}.toggle button:hover:not(.active){background:var(--toggle-hover)}.toggle-standalone{padding:.3rem .5rem;border:1px solid var(--toggle-border);background:var(--toggle-bg);border-radius:4px;cursor:pointer;font-size:.85rem;color:var(--toggle-text);transition:background .15s,color .15s}.toggle-standalone.active{background:var(--toggle-active-bg);color:var(--toggle-active-text);border-color:var(--toggle-active-bg)}.toggle-standalone:hover:not(.active){background:var(--toggle-hover)}.toggle-tooltip{background:var(--tooltip-bg);border:1px solid var(--tooltip-border);color:var(--text);font-size:.75rem;padding:.25rem .5rem;border-radius:4px;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 2px 8px #0000004d}.palette-trigger{padding:.3rem .5rem;border:1px solid var(--toggle-border);background:var(--toggle-bg);border-radius:4px;cursor:pointer;font-size:.85rem;line-height:1;transition:background .15s}.palette-trigger:hover{background:var(--toggle-hover)}.palette-popover{background:var(--tooltip-bg);border:1px solid var(--tooltip-border);border-radius:6px;padding:.25rem;z-index:1000;box-shadow:0 4px 16px #0006;display:flex;flex-direction:column;gap:.15rem}.palette-option{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border:none;background:none;border-radius:4px;cursor:pointer;color:var(--text);font-size:.8rem;white-space:nowrap;transition:background .15s}.palette-option:hover{background:var(--toggle-hover)}.palette-option.active{background:var(--toggle-active-bg);color:var(--toggle-active-text)}.palette-option-name{font-size:.75rem}:root{--bg: #1a1a2e;--bg-surface: #16213e;--bg-hover: #0f3460;--text: #e0e0e0;--text-muted: #a0a0b0;--link: #6b9fd4;--border: #2a2a4a;--toggle-bg: #2a2a4a;--toggle-border: #3a3a5a;--toggle-text: #b0b0c0;--toggle-hover: #3a3a5a;--toggle-active-bg: #4a6fa5;--toggle-active-text: #fff;--plot-bg: rgba(0,0,0,0);--plot-font: #ccc;--plot-grid: #333;--ann-font: #e0e0e0;--ann-bg: #2a2a4a;--tooltip-bg: #1e2a45;--tooltip-border: #4a6fa5}[data-theme=light]{--bg: #fff;--bg-surface: #fff;--bg-hover: #f0f4f8;--text: #333;--text-muted: #666;--link: #4a6fa5;--border: #eee;--toggle-bg: #f5f5f5;--toggle-border: #ccc;--toggle-text: #555;--toggle-hover: #e8e8e8;--toggle-active-bg: #4a6fa5;--toggle-active-text: #fff;--plot-bg: rgba(0,0,0,0);--plot-font: #444;--plot-grid: #e5e5e5;--ann-font: #000;--ann-bg: #fff;--tooltip-bg: #fff;--tooltip-border: #bbb}@media(prefers-color-scheme:light){[data-theme=system]{--bg: #fff;--bg-surface: #fff;--bg-hover: #f0f4f8;--text: #333;--text-muted: #666;--link: #4a6fa5;--border: #eee;--toggle-bg: #f5f5f5;--toggle-border: #ccc;--toggle-text: #555;--toggle-hover: #e8e8e8;--toggle-active-bg: #4a6fa5;--toggle-active-text: #fff;--plot-bg: rgba(0,0,0,0);--plot-font: #444;--plot-grid: #e5e5e5;--ann-font: #000;--ann-bg: #fff;--tooltip-bg: #fff;--tooltip-border: #bbb}}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);transition:background .2s,color .2s}.app{max-width:1200px;margin:0 auto;padding:0 1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.subtitle{color:var(--text-muted)}.subtitle a{color:var(--link)}main section{padding:0}main section h2{margin:0;padding-top:.25rem;font-size:1.3rem;text-align:center}main section .chart-subtitle{text-align:center;color:var(--text-muted);margin:0;font-size:.95rem}main section .toggle-bar{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.25rem}.chart-with-legend{position:relative}.logo-legend{position:absolute;top:0;right:0;width:150px;pointer-events:none}.logo-legend-connectors{position:absolute;top:0;left:0;pointer-events:none}.logo-legend-entry{position:absolute;left:0;width:100%;display:flex;align-items:flex-start;gap:.3rem;pointer-events:auto;transition:opacity .15s}.logo-legend-entry.faded{opacity:.3}.logo-legend-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;margin-top:3px}.logo-legend-content{display:flex;flex-direction:column;gap:1px}.logo-legend-icons{display:flex;align-items:center;gap:4px}.logo-legend-icon-slot{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.logo-legend-overlay{position:relative}.logo-legend-overlay>*{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.logo-legend-icon{display:inline-block;background-color:var(--text);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;opacity:.8}.logo-legend-icon.agency{background-color:transparent;mask-image:none;-webkit-mask-image:none;object-fit:contain;opacity:.9}.logo-legend-icon-pill{display:inline-flex;align-items:center;justify-content:center}.logo-legend-icon-pill .logo-legend-icon{opacity:1}.logo-legend-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted);font-size:.8rem;line-height:1.2}.logo-legend-grid{display:flex;gap:.75rem;padding:0 .5rem;margin-bottom:.5rem}.logo-legend-grid-col{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.logo-legend-grid-item{display:flex;align-items:center;gap:.25rem;min-width:0;transition:opacity .15s}.logo-legend-grid-item.faded{opacity:.3}.logo-legend-grid-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted);font-size:.75rem;line-height:1.2}footer{text-align:center;padding:2rem 0;border-top:1px solid var(--border);color:var(--text-muted);font-size:.85rem}footer a{color:var(--link)}.hover-tooltip{background:var(--tooltip-bg);border:1px solid var(--tooltip-border);border-radius:8px;padding:.6rem .75rem;font-size:.8rem;box-shadow:0 4px 16px #00000080;z-index:1000;color:var(--text);min-width:260px}.hover-tooltip .hover-year{font-weight:700;font-size:.95rem;text-align:left}.hover-tooltip table{width:100%;border-collapse:collapse;border-spacing:0}.hover-tooltip thead th{font-weight:600;font-size:.7rem;color:var(--text-muted);padding:.15rem .3rem;text-align:right;border-bottom:1px solid var(--border)}.hover-tooltip tbody td,.hover-tooltip tfoot td{padding:.12rem .3rem}.hover-tooltip .color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle}.hover-tooltip .hover-name{white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.hover-tooltip .hover-num,.hover-tooltip .hover-pct,.hover-tooltip .hover-rec{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.hover-tooltip tfoot td{border-top:1px solid var(--border);padding-top:.25rem;font-weight:600}@media(max-width:600px){header h1{font-size:1.3rem}.chart-bleed{margin-left:-1rem;margin-right:-1rem}}
