@import "https://fonts.googleapis.css2?family=Outfit:wght@300;400;600;800&family=JetBrains+Mono:wght@400;600&display=swap";:root{--bg-color:#0f111a;--panel-bg:#ffffff0d;--border-color:#ffffff1a;--text-primary:#f0f0f0;--text-secondary:#8e95aa;--accent-color:#00e5ff;--accent-hover:#00b3cc;--danger:#ff4757;--glass-blur:blur(12px);--shadow-sm:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-xl:0 20px 25px -5px #0006, 0 10px 10px -5px #0003}body{background-color:var(--bg-color);color:var(--text-primary);letter-spacing:.02em;background-image:radial-gradient(circle at 15%,#00e5ff14,#0000 25%),radial-gradient(circle at 85% 30%,#8a2be21f,#0000 25%);margin:0;padding:0;font-family:Outfit,sans-serif;overflow:hidden}*{box-sizing:border-box}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-container{flex-direction:column;width:100vw;height:100vh;display:flex}.header{background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-color);z-index:10;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.header h1{background:linear-gradient(90deg, #fff, var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:1.5rem;font-weight:800}.user-info{color:var(--text-secondary);margin-right:1rem;font-size:.9rem}.header-controls{align-items:center;display:flex}.run-button{background:linear-gradient(135deg, var(--accent-color), #07f);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 2rem;font-family:Outfit,sans-serif;font-size:1rem;font-weight:600;transition:all .3s cubic-bezier(.25,.8,.25,1);box-shadow:0 4px 15px #00e5ff4d}.run-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00e5ff66}.run-button:active{transform:translateY(1px)}.run-button:disabled{background:var(--text-secondary);cursor:not-allowed;box-shadow:none;transform:none}.main-content{flex:1;display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--border-color);background:#0006;flex-direction:column;width:250px;display:flex;overflow-y:auto}.sidebar h2{border-bottom:1px solid var(--border-color);color:var(--text-primary);margin:0;padding:1rem;font-size:1.1rem}.history-list{margin:0;padding:0;list-style:none}.history-item{cursor:pointer;border-bottom:1px solid #ffffff0d;flex-direction:column;gap:.3rem;padding:.8rem 1rem;transition:background .2s;display:flex}.history-item:hover{background:#00e5ff1a}.history-time{color:var(--text-secondary);font-size:.8rem}.history-status{border-radius:4px;align-self:flex-start;padding:2px 6px;font-size:.75rem}.status-success{color:#8f8;background:#0f03}.status-error{color:#f88;background:#f003}.status-running{color:#ff8;background:#ff03}.status-compile_error{color:#f88;background:#f003}.status-crash{color:#fa8;background:#ff640033}.editor-pane{border-right:1px solid var(--border-color);background:#0000004d;flex:1}.viewer-pane{background:radial-gradient(circle,#ffffff05 0%,#0000 100%);flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:1rem;padding:2rem;display:flex;position:relative;overflow-y:auto}.playback-info{flex-direction:column;align-items:center;margin-bottom:.5rem;font-family:JetBrains Mono,monospace;display:flex}.log-id-display{color:var(--text-secondary);opacity:.8;font-size:.75rem}.time-display{color:var(--text-primary);margin-top:.2rem;font-size:1.25rem;font-weight:700}.replay-code-box{border:1px solid var(--border-color);background:#00000080;border-radius:8px;flex-direction:column;width:100%;max-width:90%;display:flex;overflow:hidden}.replay-code-box h3{color:var(--text-secondary);border-bottom:1px solid var(--border-color);background:#000c;margin:0;padding:.5rem 1rem;font-size:.9rem}.simulation-canvas{box-shadow:var(--shadow-xl);object-fit:contain;background-color:#fff;border-radius:12px;max-width:90%;max-height:90%}.error-box{border:1px solid var(--danger);color:#ffb8b8;background:#ff47571a;border-radius:8px;width:100%;max-width:90%;max-height:300px;padding:1rem;font-family:JetBrains Mono,monospace;font-size:.9rem;overflow-y:auto}.error-box pre{white-space:pre-wrap;margin:0}
