body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;min-height:100dvh;overscroll-behavior:none}textarea::-webkit-scrollbar{width:8px}textarea::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:4px}#preview-container{background-color:#ffffff;background-image:radial-gradient(#d6d3d1 2px,transparent 2px);background-size:24px 24px;overflow:hidden;position:relative}#graph-div{width:100%;height:100%;display:flex;justify-content:center;align-items:center;overflow:hidden}#graph-div svg{height:100% !important;width:100% !important;max-width:none !important;min-height:100% !important}.app-theme{--surface:#fafafc;--text:#1f2937;--accent:#7c3aed;--accent-50:#f5f3ff;--accent-100:#ede9fe;--accent-200:#ddd6fe;--accent-300:#c4b5fd;--border:#e5e7eb}.app-header{background-color:var(--surface) !important;border-color:var(--accent-200) !important}.btn{border-color:var(--accent-300) !important;color:var(--text) !important}.btn:hover{box-shadow:0 1px 3px rgba(124,58,237,0.2)}.btn-primary{background-color:var(--accent) !important;border-color:var(--accent) !important;color:#ffffff !important}.btn-primary:hover{background-color:#6d28d9 !important}.btn-secondary{background-color:var(--accent-50) !important;border-color:var(--accent-200) !important;color:var(--text) !important}.badge-toggle{background-color:var(--accent-50) !important;border-color:var(--accent-200) !important;color:var(--text) !important}#code-input{background-color:var(--accent-50) !important;border-top:1px solid var(--accent-200) !important}.lang-switch .active{background-color:var(--accent) !important;color:#ffffff !important;border-color:var(--accent) !important}.mobile-action-bar{display:none}#graph-div svg{cursor:-webkit-grab !important;cursor:grab !important}#graph-div svg:active{cursor:-webkit-grabbing !important;cursor:grabbing !important}@media (max-width:640px){.desktop-actions{display:none !important}.editor-panel{border-right:0 !important;border-bottom:1px solid var(--accent-200)}.app-main{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 76px)}.mobile-action-bar{position:fixed;left:0;right:0;bottom:0;padding:12px;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;background:#ffffff;border-top:1px solid var(--accent-200);box-shadow:0 -6px 16px rgba(0,0,0,0.08);z-index:40}.mobile-action-bar .bar-btn{border:1px solid var(--accent-200);background:#fff;color:#334155;border-radius:10px;padding:8px 10px;font-size:12px}.mobile-action-bar .bar-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.mobile-action-bar .bar-toggle{border:1px solid var(--accent-200);background:#fff;border-radius:10px;padding:8px 10px;font-size:12px;display:inline-flex;align-items:center;gap:6px}}.editor-panel.hidden{display:none !important}.preview-panel.fullwidth{flex:1 !important;width:100% !important;max-width:100% !important}.code-editor-wrapper{display:flex;flex:1;overflow:hidden;background:var(--accent-50)}.line-numbers{flex-shrink:0;width:2.5em;padding:1rem 0;background:#F1F5F9;border-right:1px solid var(--accent-200);text-align:right;font-family:'SF Mono','Fira Code','Consolas',monospace;font-size:14px;line-height:1.5;color:#94A3B8;user-select:none;overflow:hidden}.line-number{height:1.5em;padding-right:0.5rem}.code-editor-container{flex:1;overflow:hidden;background:var(--accent-50)}.code-input{width:100%;height:100%;padding:1rem;font-family:'SF Mono','Fira Code','Consolas',monospace;font-size:14px;line-height:1.5;tab-size:2;white-space:pre-wrap;word-wrap:break-word;overflow:auto;border:none;background:transparent;color:#374151;caret-color:#374151;resize:none;outline:none;transition:border-color 0.2s,box-shadow 0.2s}.code-input.drag-over{border:2px dashed var(--accent) !important;background-color:var(--accent-100) !important;box-shadow:inset 0 0 0 4px rgba(124,58,237,0.1)}.code-input::selection{background:rgba(124,58,237,0.25)}.code-editor-container::-webkit-scrollbar,.line-numbers::-webkit-scrollbar{width:8px;height:8px}.code-editor-container::-webkit-scrollbar-thumb,.line-numbers::-webkit-scrollbar-thumb{background-color:#CBD5E1;border-radius:4px}.code-editor-container::-webkit-scrollbar-track,.line-numbers::-webkit-scrollbar-track{background:transparent}button:hover{opacity:0.9}