:root{font-family:Fira Code,monospace;line-height:1.5;font-weight:400;color:#fff;background-color:#181818}*{box-sizing:border-box}body{margin:0;display:flex;align-items:flex-start;justify-content:center;min-width:320px;min-height:100vh;background-color:#181818;padding:20px}#app,#root,.app{max-width:1400px;width:100%;margin:0;padding:0;text-align:left;box-sizing:border-box}.animation-selector{display:flex;gap:10px;align-items:center;justify-content:flex-start;margin-bottom:20px}.animation-selector label{font-size:14px;font-weight:500;color:#fff}.animation-selector select{background-color:#181818;color:#fff;border:1px solid #ffffff;padding:6px 12px;font-family:Fira Code,monospace;font-size:12px;border-radius:4px;cursor:pointer;min-width:200px}.animation-selector select:focus{outline:none;border-color:#9c72db}.version-control{display:flex;gap:10px;align-items:center;justify-content:flex-start;margin-bottom:20px}.version-control label{font-size:14px;font-weight:500;color:#fff}.version-control input{background-color:#181818;color:#fff;border:1px solid #ffffff;padding:6px 12px;font-family:Fira Code,monospace;font-size:12px;border-radius:4px;min-width:160px}.version-control input:focus{outline:none;border-color:#9c72db}.terminal-screen{font-family:Fira Code,monospace;font-size:min(14px,calc((100vw - 64px) / 60));color:#fff;background-color:#181818;border:1px solid #ffffff;padding:20px;min-height:400px;width:100%;resize:none;line-height:1.2;border-radius:4px;margin-bottom:20px;white-space:pre;overflow:auto}.terminal-screen-container{font-family:Fira Code,monospace;font-size:min(14px,calc((100vw - 64px) / 60));background-color:#181818;border:1px solid #ffffff;padding:20px;min-height:400px;width:100%;line-height:1.2;border-radius:4px;margin-bottom:20px;white-space:pre;overflow:auto;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.terminal-grid,.terminal-row{display:block;white-space:pre}.terminal-char{display:inline;white-space:pre;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.terminal-char.editable{cursor:pointer}.terminal-char.editable:hover{background-color:#ffffff1a}.terminal-screen-container.edit-mode .terminal-char.editable{cursor:crosshair}.terminal-screen-container.edit-mode .terminal-char.editable.eyedropper-hover{background-color:#9c72db33;cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="white"><path d="M20.71,4.63L19.37,3.29C19,2.9 18.35,2.9 17.96,3.29L9,12.25L11.75,15L20.71,6.04C21.1,5.65 21.1,5 20.71,4.63M7,14A3,3 0 0,0 4,17C4,18.31 2.84,19 2,19C2.92,20.22 4.5,21 6,21A4,4 0 0,0 10,17A3,3 0 0,0 7,14Z"/></svg>') 10 10,crosshair}.terminal-screen-container.edit-mode .terminal-char.editable.line-mode-hover{background-color:#00ff8033;cursor:crosshair;box-shadow:0 0 2px #00ff8080}.terminal-screen-container.edit-mode .terminal-char.editable:hover{background-color:#ffffff1a}.terminal-screen-container.edit-mode .terminal-char.editable.bucket-hover{background-color:#ffc10733;cursor:crosshair;box-shadow:0 0 2px #ffc10780}.color-palette{background-color:#2a2a2a;border:1px solid #ffffff;border-radius:4px;padding:15px;margin-bottom:20px}.color-palette h3{margin:0 0 15px;color:#fff;font-size:14px;font-weight:500}.color-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;max-width:100%;width:100%}.color-swatch{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.color-display{width:28px;height:28px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:border-color .2s ease}.color-swatch.selected .color-display{border-color:#9c72db;box-shadow:0 0 8px #9c72db80}.color-display:hover{border-color:#ffffff80}.color-picker{width:20px;height:16px;border:none;border-radius:2px;cursor:pointer;opacity:.7;transition:opacity .2s ease}.color-picker:hover{opacity:1}.color-index{font-size:10px;color:#ccc;font-family:Fira Code,monospace}.terminal-palette-selector{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #444}.terminal-palette-selector label{display:block;color:#fff;font-size:12px;margin-bottom:6px;font-weight:500}.terminal-select{width:100%;background-color:#1a1a1a;color:#fff;border:1px solid #555;border-radius:3px;padding:6px 8px;font-size:11px;font-family:Fira Code,monospace;cursor:pointer}.terminal-select:hover{border-color:#777}.terminal-select:focus{outline:none;border-color:#9c72db;box-shadow:0 0 4px #9c72db4d}.color-editor-tools{background-color:#2a2a2a;border:1px solid #ffffff;border-radius:4px;padding:15px;margin-bottom:20px}.color-editor-tools h3{margin:0 0 10px;color:#fff;font-size:14px;font-weight:500}.tool-section,.action-section,.export-section,.help-section{margin-bottom:20px}.help-section:last-child{margin-bottom:0}.help-text{font-size:11px;color:#ccc;line-height:1.4}.help-text p{margin:0 0 8px}.help-text kbd{background-color:#444;border:1px solid #666666;border-radius:3px;padding:2px 6px;font-family:Fira Code,monospace;font-size:10px;color:#fff}.tool-buttons,.action-buttons,.color-action-buttons{display:flex;flex-wrap:wrap;gap:10px}.color-action-buttons{margin-top:10px}.tool-button,.action-button,.export-button{background-color:#181818;color:#fff;border:1px solid #ffffff;padding:8px 12px;font-family:Fira Code,monospace;font-size:12px;border-radius:4px;cursor:pointer;transition:all .2s ease;min-width:80px;flex:0 0 auto;text-align:center}.tool-button:hover,.action-button:hover,.export-button:hover{background-color:#9c72db33;border-color:#9c72db}.tool-button.active{background-color:#9c72db;border-color:#9c72db}.action-button:disabled{opacity:.5;cursor:not-allowed}.action-button:disabled:hover{background-color:#181818;border-color:#fff}.export-button{background-color:#0d7377;border-color:#0d7377;min-width:150px}.export-button:hover{background-color:#14a085;border-color:#14a085}.app-layout{display:flex;gap:30px;align-items:flex-start}.main-content{flex:1;min-width:0}.sidebar{width:320px;flex-shrink:0}@media (max-width: 1024px){.app-layout{flex-direction:column}.sidebar{width:100%}}.controls{display:flex;flex-direction:column;gap:15px;justify-content:flex-start;align-items:flex-start;margin-bottom:20px}.frame-controls{display:flex;gap:5px;align-items:center}.loop-control{display:flex;justify-content:flex-start;align-items:center}.bottom-controls{display:flex;flex-direction:column;gap:15px;justify-content:flex-start;align-items:flex-start}.speed-control{display:flex;gap:10px;align-items:center}button{background-color:#181818;color:#fff;border:1px solid #ffffff;padding:8px 16px;cursor:pointer;font-family:Fira Code,monospace;font-size:12px;border-radius:4px;transition:all .2s;min-width:80px;box-sizing:border-box}button:hover{background-color:#ffffff1a}button:active{background-color:#fff3}button:disabled{opacity:.5;cursor:not-allowed}.run-button{width:85px;height:36px;text-align:center;display:flex;align-items:center;justify-content:center}.loop-button{min-width:100px;background-color:#181818;border:1px solid #ffffff;transition:all .2s}.loop-button.active{background-color:#9c72db33;border-color:#9c72db;color:#9c72db}.frame-info{display:flex;gap:10px;align-items:center}input[type=text]{background-color:#181818;color:#fff;border:1px solid #ffffff;padding:6px 8px;font-family:Fira Code,monospace;font-size:12px;width:40px;border-radius:4px;text-align:center}input[type=text]:focus{outline:none;box-shadow:0 0 5px #ffffff4d}input[type=number]{background-color:#181818;color:#fff;border:1px solid #ffffff;padding:6px 8px;font-family:Fira Code,monospace;font-size:12px;width:80px;border-radius:4px}input[type=number]:focus{outline:none;box-shadow:0 0 5px #ffffff4d}label{color:#fff;font-family:Fira Code,monospace;font-size:12px}@media (max-width: 768px){.terminal-screen{font-size:min(12px,calc((100vw - 40px) / 60));width:80ch;max-width:calc(100vw - 40px)}.bottom-controls{flex-direction:column;gap:15px}.frame-controls{flex-wrap:wrap;justify-content:flex-start}button{padding:10px 12px;font-size:11px;min-width:75px;height:38px}.run-button{width:80px;height:38px}.loop-button{min-width:90px}}@media (max-width: 480px){.terminal-screen{font-size:min(10px,calc((100vw - 16px)/50));width:70ch;max-width:calc(100vw - 16px)}#app{padding:1rem .5rem}button{padding:8px 10px;font-size:10px;min-width:70px;height:34px}.run-button{width:75px;height:34px}.loop-button{min-width:80px;font-size:9px}input[type=number]{width:60px;font-size:10px}input[type=text]{width:30px;font-size:10px}label{font-size:10px}}.loading,.error{display:flex;align-items:center;justify-content:center;min-height:200px;font-size:16px;color:#fff;background-color:#181818}.error{color:#ff6b6b}
