:root{--bg-page: #f8fafc;--bg-panel-dark: #1e1e1e;--bg-panel-light: #ffffff;--text-dark: #cbd5e1;--text-light: #334155;--border-color: #e2e8f0;--border-dark: #334155;--primary-color: #3b82f6;--primary-hover: #2563eb;--error-color: #ef4444;--success-color: #10b981}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-page);color:var(--text-light);height:100vh;overflow:hidden}#root{height:100%}.app-container{display:flex;height:100vh;width:100vw}.panel{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden}.input-panel{background-color:var(--bg-panel-light);border-right:1px solid var(--border-color)}.output-panel{background-color:var(--bg-panel-dark);color:var(--text-dark)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.output-panel .panel-header{border-bottom-color:var(--border-dark);padding:0}.panel-title{font-size:1.125rem;font-weight:600;color:var(--text-light);display:flex;align-items:center;gap:.5rem}.output-panel .panel-title{color:var(--text-dark)}.editor-area{flex:1;padding:1.5rem;font-family:Fira Code,monospace;font-size:.875rem;line-height:1.5;border:none;resize:none;width:100%;height:100%;outline:none;background:transparent}.input-area{color:var(--text-light)}.actions{display:flex;gap:.75rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:transparent;color:var(--text-light);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:#f1f5f9}.output-panel .btn-icon{background:transparent;color:var(--text-dark);padding:.5rem;border-radius:.375rem}.output-panel .btn-icon:hover{background-color:#ffffff1a;color:#fff}.tabs{display:flex}.tab{padding:1rem 1.5rem;color:#94a3b8;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;font-weight:500}.tab:hover{color:#cbd5e1}.tab.active{color:#fff;border-bottom-color:var(--primary-color)}.code-wrapper{flex:1;overflow:auto;padding:1.5rem;position:relative}.code-wrapper pre{margin:0;font-family:Fira Code,monospace!important;font-size:.875rem!important;background:transparent!important}.error-message{color:var(--error-color);padding:1rem 1.5rem;background-color:#fef2f2;border-top:1px solid #fecaca;font-size:.875rem}
