[data-theme=dark]{--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-tertiary: #252540;--text-primary: #e0e0e0;--text-secondary: #a0a0b0;--text-muted: #606070;--accent: #7c5cbf;--accent-hover: #9b7fd4;--border: #2a2a40;--shadow: rgba(0, 0, 0, .4);--drop-zone-bg: #1a1a2e;--drop-zone-border: #3a3a50;--drop-zone-hover: #252540;--toast-bg: #2a2a40;--toast-text: #e0e0e0;--scrollbar-thumb: #3a3a50;--scrollbar-track: #1a1a2e}[data-theme=light]{--bg-primary: #f5f5f8;--bg-secondary: #ffffff;--bg-tertiary: #eeeef2;--text-primary: #1a1a2e;--text-secondary: #4a4a5a;--text-muted: #8a8a9a;--accent: #7c5cbf;--accent-hover: #6a4aad;--border: #d0d0d8;--shadow: rgba(0, 0, 0, .1);--drop-zone-bg: #f0f0f5;--drop-zone-border: #c0c0cc;--drop-zone-hover: #e8e8f0;--toast-bg: #1a1a2e;--toast-text: #e0e0e0;--scrollbar-thumb: #c0c0cc;--scrollbar-track: #f0f0f5}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s,color .3s}#app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.header__title{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.header__theme-toggle{background:none;border:1px solid var(--border);border-radius:6px;padding:6px 10px;cursor:pointer;color:var(--text-secondary);font-size:.875rem;transition:background-color .2s,border-color .2s}.header__theme-toggle:hover{background:var(--bg-tertiary);border-color:var(--text-muted)}[data-theme=dark] .theme-icon:before{content:"Light"}[data-theme=light] .theme-icon:before{content:"Dark"}.editor{display:flex;flex:1;overflow:hidden}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--toast-bg);color:var(--toast-text);padding:10px 20px;border-radius:8px;font-size:.875rem;box-shadow:0 4px 12px var(--shadow);z-index:100;animation:toast-in .3s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0000004d;z-index:10}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sidebar{width:280px;min-width:280px;display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--bg-secondary);border-right:1px solid var(--border);overflow-y:auto}.sidebar__preview{flex-shrink:0}.sidebar__controls{display:flex;flex-direction:column;gap:12px}.sidebar__actions{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:16px}.drop-zone{border:2px dashed var(--drop-zone-border);border-radius:8px;padding:32px 16px;text-align:center;cursor:pointer;background:var(--drop-zone-bg);transition:background-color .2s,border-color .2s}.drop-zone:hover,.drop-zone--active{background:var(--drop-zone-hover);border-color:var(--accent)}.drop-zone__text{color:var(--text-muted);font-size:.875rem;line-height:1.5}.preview-container{position:relative;border-radius:8px;overflow:hidden}.preview-container img{width:100%;display:block;border-radius:8px}.preview-container__change{position:absolute;bottom:8px;right:8px;background:#0009;color:#fff;border:none;border-radius:4px;padding:4px 10px;font-size:.75rem;cursor:pointer;transition:background-color .2s}.preview-container__change:hover{background:#000c}.control{display:flex;flex-direction:column;gap:4px}.control__label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.control__range{width:100%;accent-color:var(--accent);cursor:pointer}.control__value{font-size:.75rem;color:var(--text-muted);text-align:right}.control__select{width:100%;padding:6px 8px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:.875rem;cursor:pointer;outline:none;transition:border-color .2s}.control__select:focus{border-color:var(--accent)}.control__checkbox{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-primary);cursor:pointer}.control__checkbox input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s,opacity .2s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn--secondary:hover:not(:disabled){background:var(--border)}.output{flex:1;position:relative;overflow:auto;background:var(--bg-primary)}.output__content{padding:16px;min-height:100%}.output__placeholder{color:var(--text-muted);font-size:1rem;text-align:center;padding-top:40vh}.output-row{font-family:Courier New,Courier,monospace;font-size:10px;line-height:1.1;white-space:pre;color:var(--text-primary);letter-spacing:.05em}
