: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}:root{font-family: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;--bg-primary: #242424;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--bg-hover: #3a3a3a;--bg-selected: #646cff;--text-primary: rgba(255, 255, 255, .87);--text-secondary: #888;--text-muted: #666;--border-primary: #333;--border-secondary: #444;--border-tertiary: #555;--link-color: #646cff;--link-hover: #535bf2;--shadow: rgba(0, 0, 0, .3);--kbd-bg: #333;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary)}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #f0f0f0;--bg-hover: #e8e8e8;--bg-selected: #ddd8ff;--text-primary: #213547;--text-secondary: #666;--text-muted: #888;--border-primary: #ddd;--border-secondary: #ccc;--border-tertiary: #bbb;--link-color: #4f46e5;--link-hover: #4338ca;--shadow: rgba(0, 0, 0, .15);--kbd-bg: #eee;color-scheme:light;color:var(--text-primary);background-color:var(--bg-primary)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}a{font-weight:500;color:var(--link-color);text-decoration:inherit}a:hover{color:var(--link-hover)}h1{font-size:2em;line-height:1.2;margin-bottom:.5em}h2{font-size:1.5em;margin-bottom:.5em}kbd{display:inline-block;padding:.2em .5em;font-family:ui-monospace,monospace;font-size:.9em;background:var(--kbd-bg);border-radius:4px;border:1px solid var(--border-tertiary)}code{font-family:ui-monospace,monospace;background:var(--kbd-bg);padding:.1em .3em;border-radius:3px}.app{display:flex;flex-direction:column;min-height:100vh}.nav{display:flex;align-items:center;gap:1.5rem;padding:1rem 2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.nav-separator{color:var(--text-secondary);font-size:.85rem}.nav-separator:before{content:"|";margin-right:1.5rem;opacity:.4}.main{flex:1;padding:2rem;max-width:900px;margin:0 auto;width:100%}@media(max-width:600px){.nav{padding:.75rem 1rem;gap:.75rem;flex-wrap:wrap}.nav-separator{display:none}.main{padding:1rem}}.home{max-width:700px}.home h1{margin-bottom:.5rem}.home h1+p{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.home h1+p img{height:20px}.home>h2{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-primary)}.home .code-block,.home .code-block-loading{margin:1rem 0}.home .code-block pre,.home .code-block-loading pre{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;padding:1rem;overflow-x:auto;font-size:.85em;line-height:1.6;margin:0}.home .code-block pre code,.home .code-block-loading pre code{background:transparent;padding:0;display:flex;flex-direction:column;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;width:fit-content;min-width:100%}.home .code-block pre .line,.home .code-block-loading pre .line{padding:0 1rem;margin:0 -1rem;border-left:3px solid transparent;min-height:1lh}.home .code-block pre .line.highlighted,.home .code-block pre .line.diff.add,.home .code-block-loading pre .line.highlighted,.home .code-block-loading pre .line.diff.add{background:#2ea04326;border-left-color:#2ea043}.home .code-block pre .line.diff.remove,.home .code-block-loading pre .line.diff.remove{background:#f8514926;border-left-color:#f85149}.home .code-block-wrapper{position:relative}.home .code-block-wrapper .code-copy-btn{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-secondary);font-size:1rem;cursor:pointer;opacity:0;transition:opacity .15s,background .15s;z-index:1}.home .code-block-wrapper .code-copy-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.home .code-block-wrapper:hover .code-copy-btn{opacity:1}.home pre:not(.shiki){background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;padding:1rem;overflow-x:auto;font-size:.9em}.home pre:not(.shiki) code{background:transparent;padding:0}.home code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.home p code{background:var(--bg-secondary);padding:.15em .4em;border-radius:4px;font-size:.9em}.home ol,.home ul{padding-left:1.5rem}@media(max-width:480px){.home ol,.home ul{padding-left:1rem}.home ol ul,.home ul ul,.home ol ol,.home ul ol{padding-left:.75rem}}.home .try-intro{display:block;margin-bottom:.5rem}@media(hover:none){.home .desktop-only{display:none}}.home .mobile-only{display:none}@media(hover:none){.home .mobile-only{display:block}}.home .mobile-search-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:50%;color:var(--text-secondary);cursor:pointer;vertical-align:middle;margin:0 .25rem;transition:background .15s,color .15s}.home .mobile-search-btn:active{background:var(--accent-color);color:#fff}.home .components-table-wrapper{overflow-x:auto;margin:1rem 0}.home .components-table{border-collapse:collapse;min-width:100%}.home .components-table th,.home .components-table td{padding:.4rem .75rem;border-bottom:1px solid var(--border-primary)}.home .components-table th{text-align:left;font-weight:600;color:var(--text-secondary)}.home .components-table th,.home .components-table td{text-align:right}.home .components-table th:last-child,.home .components-table td:last-child{color:var(--text-secondary);max-width:150px;text-align:right}.home .components-table tbody tr:last-child td{border-bottom:none}.demos-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.demo-item{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1rem 1.25rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-primary)}.demo-item .demo-title{margin:0;font-size:1.1rem}.demo-thumbnail{width:120px;height:75px;object-fit:cover;border-radius:4px;border:1px solid var(--border-primary)}.demo-content{display:flex;flex-direction:column;gap:.25rem}.demo-content>p{margin:0;font-size:.9rem;color:var(--text-secondary)}.demo-content ul{margin:.25rem 0 0;padding-left:1.25rem;font-size:.85rem}.demo-content li{margin:.15rem 0;color:var(--text-secondary)}.demo-content li strong{color:var(--text-primary)}.hint{color:var(--text-secondary);margin-bottom:1.5rem}.demo-title{display:flex;align-items:center;gap:.5rem}.demo-github-link{color:#888;font-size:.9em;line-height:1}.demo-github-link:hover{color:var(--link-color)}.features{margin-top:2rem;padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px}.features h2{margin-top:0}.features ul{margin:0;padding-left:1.5rem}.features li{margin-bottom:.5rem}.data-table-app{width:100%;min-height:100%;padding:0 1rem}.data-table-app>*:not(.kbd-backdrop){max-width:600px}.data-table{width:100%;border-collapse:collapse;margin-top:1rem}.data-table th,.data-table td{padding:.35rem .75rem;text-align:left;border-bottom:1px solid var(--border-primary)}.data-table th{font-weight:600;color:var(--text-secondary);font-size:.9em}.data-table tbody tr{cursor:pointer;transition:background .15s;border-left:3px solid transparent}.data-table tbody tr:hover{background:var(--bg-tertiary)}.data-table tbody tr.cursor{background:var(--bg-tertiary);outline:2px solid var(--link-color);outline-offset:-2px}.data-table tbody tr.selected{background:var(--bg-selected);border-left-color:var(--link-color)}.data-table tbody tr.cursor.selected,.data-table tbody tr.selected:hover{background:var(--bg-selected);filter:brightness(1.1)}.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;font-size:.9rem;color:#888}.pagination-buttons{display:flex;align-items:center;gap:.25rem}.pagination-buttons .page-info{margin:0 .5rem;white-space:nowrap}.pagination-btn{background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:4px;padding:.3em .6em;color:inherit;cursor:pointer;font-size:.9em;line-height:1}.pagination-btn:hover:not(:disabled){border-color:#646cff;color:#646cff}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.page-size-control{position:relative}.page-size-btn{background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:4px;padding:.4em .8em;color:inherit;cursor:pointer;font-size:inherit}.page-size-btn:hover,.page-size-btn.open{border-color:#646cff}.page-size-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:6px;overflow:hidden;z-index:100;min-width:120px}.page-size-option{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.5em .8em;background:none;border:none;color:inherit;cursor:pointer;font-size:inherit;text-align:left}.page-size-option:hover{background:var(--bg-hover)}.page-size-option.selected{background:#252545;color:#646cff}.page-size-option.focused{outline:2px solid #646cff;outline-offset:-2px}.page-size-key{font-size:.75em;background:#444;padding:.15em .4em;border-radius:3px;border:1px solid #555}.status-badge{display:inline-block;padding:.15em .5em;border-radius:4px;font-size:.8em;font-weight:500}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.inactive{background:#e5e7eb;color:#4b5563}[data-theme=dark] .status-badge.active{background:#065f46;color:#10b981}[data-theme=dark] .status-badge.pending{background:#78350f;color:#fbbf24}[data-theme=dark] .status-badge.inactive{background:#374151;color:#9ca3af}.route-canvas .kbd-modal{max-width:400px}.route-canvas .kbd-action,.route-canvas .kbd-group-title{padding-left:1rem;padding-right:1rem}.canvas-app{max-width:900px}.canvas-toolbar{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;margin-bottom:1rem}.tool-group{display:flex;align-items:center;gap:.25rem}.group-label{font-size:.75rem;color:#888;margin-right:.25rem}.tool-btn{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-secondary);border-radius:4px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:.875rem}.tool-btn:hover{background:var(--bg-hover)}.tool-btn.active{background:#646cff;border-color:#646cff}.color-btn{width:1.5rem;height:1.5rem;border:2px solid transparent;border-radius:50%;cursor:pointer;padding:0}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:#fff;box-shadow:0 0 0 2px #646cff}.size-btn{min-width:2rem;height:1.75rem;border:1px solid var(--border-secondary);border-radius:4px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:.75rem}.size-btn:hover{background:var(--bg-hover)}.size-btn.active{background:#646cff;border-color:#646cff}.canvas-container{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.canvas-container.canvas-viewport-active{border-color:#4fc3f7}.canvas-viewport{transform-origin:center center;transition:transform .1s ease-out}.drawing-canvas{display:block;cursor:crosshair;touch-action:none}.canvas-status{display:flex;gap:1.5rem;padding:.5rem;font-size:.75rem;color:#888}.route-3d .kbd-modal{max-width:400px}.route-3d .kbd-action,.route-3d .kbd-group-title{padding-left:1rem;padding-right:1rem}.viewer-app{max-width:900px}.viewer-container{width:100%;height:500px;border-radius:8px;overflow:hidden;border:1px solid var(--border);margin:1rem 0 .5rem}.viewer-container canvas{display:block;width:100%;height:100%}.viewer-status{display:flex;flex-wrap:wrap;gap:16px;font-family:monospace;font-size:13px;padding:8px 0;color:var(--text-secondary)}.route-calendar{--kbd-sequence-max-height: 50vh;--kbd-sequence-row-padding: 4px 10px;--kbd-sequence-row-gap: 4px}.route-calendar .kbd-remove-btn{position:static;display:inline-flex;align-items:center;justify-content:center;width:0;height:14px;margin-left:0;padding:0;background:var(--kbd-text-secondary);border-radius:50%;color:var(--kbd-bg);font-size:10px;font-weight:700;line-height:1;opacity:0;overflow:hidden;transform:none;transition:width .15s,opacity .15s,margin .15s,background .15s}.route-calendar .kbd-kbd:hover .kbd-remove-btn,.route-calendar .kbd-kbd:focus-within .kbd-remove-btn{width:14px;margin-left:4px;opacity:1}.route-calendar .kbd-remove-btn:hover{background:var(--kbd-conflict)}.calendar-app{max-width:800px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.calendar-nav{display:flex;gap:.25rem}.calendar-nav button{padding:.4em .8em;border:1px solid var(--border-secondary);border-radius:4px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer}.calendar-nav button:hover{background:var(--bg-hover)}.calendar-title{margin:0;font-size:1.25rem}.view-toggle{display:flex;gap:.25rem}.view-toggle button{padding:.4em .8em;border:1px solid var(--border-secondary);border-radius:4px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer}.view-toggle button:hover{background:var(--bg-hover)}.view-toggle button.active{background:#646cff;border-color:#646cff}.calendar-grid{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:.5rem}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.5rem}.weekday{text-align:center;font-size:.75rem;color:#888;padding:.25rem}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{aspect-ratio:1;min-height:60px;padding:.25rem;background:var(--bg-tertiary);border-radius:4px;cursor:pointer;position:relative}.calendar-day:hover{background:var(--bg-hover)}.calendar-day.empty{background:transparent;cursor:default}.calendar-day.today{border:2px solid #646cff}.calendar-day.selected{background:#646cff}.day-number{font-size:.875rem;font-weight:500}.day-events{display:flex;flex-direction:column;gap:1px;margin-top:.25rem;overflow:hidden}.event-chip{font-size:.6rem;padding:1px 3px;border-radius:2px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.event-more{font-size:.6rem;color:#888;padding:1px 0}.week-view.timeline,.day-view.timeline{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:0;text-align:left;overflow:auto;max-height:500px}.timeline-header{display:grid;grid-template-columns:60px repeat(7,1fr);position:sticky;top:0;background:var(--bg-secondary);z-index:1;border-bottom:1px solid var(--border-primary)}.timeline-header.single-day{grid-template-columns:60px 1fr}.timeline-gutter{padding:.5rem .25rem;font-size:.7rem;color:#666;text-align:right;min-width:60px}.timeline-day-header{display:flex;flex-direction:column;align-items:center;padding:.5rem;cursor:pointer;border-left:1px solid var(--border-primary)}.timeline-day-header:hover{background:var(--bg-hover)}.timeline-day-header.today .day-num{background:#646cff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.timeline-day-header.selected{background:#646cff33}.timeline-day-header .day-name{font-size:.7rem;color:#888;text-transform:uppercase}.timeline-day-header .day-num{font-size:1.25rem;font-weight:500}.timeline-body{display:flex;flex-direction:column}.timeline-body.single-day .timeline-row{grid-template-columns:60px 1fr}.timeline-row{display:grid;grid-template-columns:60px repeat(7,1fr);min-height:48px;border-bottom:1px solid var(--border-primary)}.timeline-cell{border-left:1px solid var(--border-primary);position:relative;padding:2px}.timeline-cell.today{background:#646cff0d}.timeline-event{font-size:.7rem;padding:2px 4px;border-radius:3px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:20px}.selected-date-panel{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px}.selected-date-panel h3{margin:0 0 .75rem;font-size:1rem}.no-events{color:#666;font-size:.875rem}.event-list{list-style:none;padding:0;margin:0}.event-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border-primary)}.event-item:last-child{border-bottom:none}.event-color{width:8px;height:8px;border-radius:50%;flex-shrink:0}.event-title{font-size:.875rem}@media(max-width:600px){.calendar-app{max-width:100%;overflow-x:hidden}.calendar-header{flex-direction:column;align-items:flex-start}.calendar-nav,.view-toggle{width:100%;justify-content:space-between}.calendar-title{font-size:1.1rem;order:-1;width:100%;text-align:center;margin-bottom:.5rem}.calendar-day{min-height:40px;aspect-ratio:auto;padding:2px}.day-number{font-size:.75rem}.day-events{display:none}.event-chip{font-size:.5rem;padding:0 2px}.weekday{font-size:.65rem;padding:.125rem}.week-view.timeline,.day-view.timeline{max-height:400px}.timeline-header{display:flex;flex-wrap:nowrap;overflow-x:auto}.timeline-header.single-day{grid-template-columns:unset}.timeline-gutter{min-width:40px;font-size:.6rem;padding:.25rem .125rem}.timeline-day-header{min-width:60px;flex-shrink:0;padding:.25rem}.timeline-day-header .day-name{font-size:.6rem}.timeline-day-header .day-num{font-size:1rem}.timeline-day-header.today .day-num{width:24px;height:24px}.timeline-body{overflow-x:auto}.timeline-row{display:flex;flex-wrap:nowrap;min-height:36px}.timeline-cell{min-width:60px;flex-shrink:0}.timeline-event{font-size:.6rem;padding:1px 2px;min-height:16px}.selected-date-panel{padding:.75rem}.selected-date-panel h3{font-size:.9rem}.event-item{padding:.375rem 0;gap:.375rem}.event-title{font-size:.8rem}}
