:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;width:100vw;height:100vh;background-color:#fff;overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;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}}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;padding:0;overflow:hidden;background:#fff}#root{margin:0;padding:0;width:100vw;height:100vh;background:#fff}.top-toolbar{position:fixed;top:12px;left:50%;transform:translate(-50%);background:#fff;border-radius:8px;padding:8px;box-shadow:0 4px 12px #00000026;border:1px solid #e5e7eb;display:flex;align-items:center;gap:4px;z-index:1000;cursor:auto!important}.top-toolbar *{cursor:pointer!important}.toolbar-btn{border:none;background:none;padding:8px;border-radius:6px;cursor:pointer!important;display:flex;align-items:center;justify-content:center;transition:all .15s ease;font-size:16px;color:#374151;min-width:36px;min-height:36px}.toolbar-btn:hover{background-color:#f3f4f6}.toolbar-btn.active{background-color:#e0e7ff;color:#3730a3}.toolbar-divider{width:1px;height:24px;background-color:#e5e7eb;margin:0 4px}.left-sidebar{position:fixed;top:80px;left:16px;background:#fff;border-radius:12px;padding:16px;box-shadow:0 4px 12px #00000026;border:1px solid #e5e7eb;width:240px;max-height:calc(100vh - 120px);overflow-y:auto;z-index:999;transition:transform .3s ease}.sidebar-section{margin-bottom:20px}.sidebar-section:last-child{margin-bottom:0}.sidebar-title{font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.color-grid{display:flex;gap:8px;padding:12px 8px;margin-bottom:8px;overflow-x:auto;overflow-y:hidden;background:#f9fafb;border-radius:8px;box-shadow:inset 0 1px 3px #0000001a;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.color-grid::-webkit-scrollbar{height:4px}.color-grid::-webkit-scrollbar-track{background:transparent}.color-grid::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:2px}.color-btn{border:none;width:32px;height:32px;min-width:32px;min-height:32px;border-radius:8px;cursor:pointer!important;transition:all .15s ease;border:2px solid transparent;flex-shrink:0;box-shadow:0 1px 3px #0003}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:#3730a3;transform:scale(1.1);box-shadow:0 0 0 2px #3730a34d}.stroke-options{display:flex;gap:8px;align-items:center}.stroke-btn{border:none;background:#f9fafb;padding:12px;border-radius:6px;cursor:pointer!important;transition:all .15s ease;border:2px solid transparent;display:flex;align-items:center;justify-content:center}.stroke-btn:hover{background-color:#f3f4f6}.stroke-btn.active{background-color:#e0e7ff;border-color:#3730a3}.opacity-slider{width:100%;height:4px;border-radius:2px;background:#e5e7eb;outline:none;-webkit-appearance:none;margin:8px 0}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#3730a3;cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0003}.opacity-labels{display:flex;justify-content:space-between;font-size:12px;color:#6b7280;margin-top:4px}.bottom-controls{position:fixed;bottom:16px;left:16px;background:#fff;border-radius:8px;padding:8px;box-shadow:0 4px 12px #00000026;border:1px solid #e5e7eb;display:flex;align-items:center;gap:8px;z-index:999}.zoom-btn{border:none;background:none;padding:6px;border-radius:4px;cursor:pointer!important;color:#374151;font-size:14px;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.zoom-btn:hover{background-color:#f3f4f6}.zoom-level{font-size:14px;color:#374151;font-weight:500;min-width:40px;text-align:center}.voice-note{position:absolute;width:40px;height:40px;border-radius:50%;background:#3b82f6;border:3px solid white;box-shadow:0 2px 8px #0003;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600;transition:all .15s ease;z-index:100}.voice-note:hover{transform:scale(1.1);box-shadow:0 4px 12px #0000004d}.voice-note.playing{animation:pulse 1s ease-in-out infinite}.voice-note.dragging{transform:scale(1.1);z-index:1000;box-shadow:0 8px 20px #0006}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.library-btn{position:fixed;top:16px;right:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 16px;box-shadow:0 4px 12px #00000026;cursor:pointer!important;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#374151;z-index:1000}.library-btn:hover{background-color:#f9fafb}.sidebar-toggle{position:fixed;top:16px;left:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px;box-shadow:0 4px 12px #00000026;cursor:pointer!important;z-index:1001;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}.sidebar-toggle:hover{background-color:#f9fafb}.eraser-cursor{position:fixed;pointer-events:none;z-index:10000;border:2px solid #374151;border-radius:50%;background:#ffffff1a;transform:translate(-50%,-50%)}.eraser-trail-point{position:fixed;pointer-events:none;z-index:9999;background:#ef44444d;border-radius:50%;transform:translate(-50%,-50%);animation:eraser-fade .3s ease-out forwards}@keyframes eraser-fade{0%{opacity:.6;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.3)}}#root{width:100vw;height:100vh;margin:0;padding:0;background:#fff;overflow:hidden}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
