:root{--bg-main: #131417;--text-light: white;--text-dark: #131417;--accent: #f9de60;--button-bg: #333;--button-hover: #444;--input-bg: #222;--border-light: #444;--border-dark: #2f2f2f;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.no-select{-webkit-user-select:none;-webkit-touch-callout:none;-ms-user-select:none;user-select:none}.scale-150{transform:scale(1.5)}.highlight{color:var(--accent)}body{margin:0;background-color:var(--bg-main);color:var(--text-light);height:100dvh}#app{display:flex;justify-content:center;align-items:center;flex-direction:column;height:100%}.canvas-container{position:relative;margin:16px 0;width:100%;max-width:500px;aspect-ratio:5 / 4}.static-canvas,.dynamic-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.toggle-button{border:none;padding:10px 0;width:76px}:is(.toggle-button,.curve-picker,.duration>button){text-transform:capitalize;background-color:var(--button-bg);font-size:15px;border-radius:5px;cursor:pointer;color:var(--text-light);transition:background-color .3s,border-color .3s}:is(.toggle-button,.curve-picker,.duration>button):hover{background-color:var(--button-hover)}:is(.toggle-button,.curve-picker,.duration>button):active{opacity:.8}.controls{display:flex;justify-content:center;gap:12px}.curve-title{margin:0 0 8px;padding:0;text-transform:capitalize}.curve-picker{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--input-bg);padding:10px 35px 10px 15px;border:1px solid var(--border-light);background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-chevron-down-icon%20lucide-chevron-down'%3e%3cpath%20d='m6%209%206%206%206-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:1.1rem}.progress{font-weight:600;color:var(--accent);transition:transform .2s ease-in-out}.main-header{position:absolute;top:16px;right:16px;display:flex;align-items:center;justify-content:center;gap:12px}.onboard-button{border:none;background:none;cursor:pointer;padding:0;margin:0}.onboard-button>img{width:26px;height:26px}.github-link>img{width:24px;height:24px}.duration{display:flex;justify-content:center;align-items:center;gap:4px}.duration-display{border:1px solid var(--border-dark);padding:8px 0;border-radius:5px;width:48px;display:flex;align-items:center;justify-content:center;font-size:15px}.duration>button{border:none;padding:10px;display:grid;place-items:center}.duration>button:disabled{opacity:.5;pointer-events:none}.progress,.control-points{font-family:Source Code Pro,Consolas,monospace;font-style:italic}.control-points{padding-top:20px;font-size:12px;color:#696969;display:grid;gap:6px;grid-template-columns:repeat(2,minmax(98px,1fr));grid-template-rows:repeat(3,1em)}.control-points span{transition:color .1s ease-in-out}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}.control-point-popover{translate:0 40px}@media (hover: none) and (pointer: coarse){.control-point-popover{translate:0 -30px}.curve-picker-popover .driver-popover-arrow{right:auto;translate:48px 0}}.onboard-theme.driver-popover{background-color:var(--accent);color:var(--text-dark)}.onboard-theme .driver-popover-arrow-side-left{border-left-color:var(--accent)}.onboard-theme .driver-popover-arrow-side-right{border-right-color:var(--accent)}.onboard-theme .driver-popover-arrow-side-top{border-top-color:var(--accent)}.onboard-theme .driver-popover-arrow-side-bottom{border-bottom-color:var(--accent)}.onboard-theme .driver-popover-close-btn{color:var(--text-dark)}.onboard-theme .driver-popover-footer button{padding:6px 8px;background-color:var(--bg-main);color:var(--text-light);text-shadow:none;border:none}.onboard-theme .driver-popover-footer button:hover{opacity:.9;background-color:var(--bg-main)}.onboard-theme .driver-popover-progress-text{color:var(--text-dark)}
