*{margin:0;padding:0;box-sizing:border-box}.monaco-editor .action-widget{min-width:400px!important;max-width:600px!important}body{font-family:SF Mono,Fira Code,Cascadia Code,monospace;background:#0a0e14;color:#b3b1ad}.app{height:100vh;display:flex;flex-direction:column;position:relative}.app.dropping:after{content:attr(data-drop-info);position:absolute;top:0;right:0;bottom:0;left:0;background:#7ee78714;border:2px dashed #7ee787;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#7ee787;z-index:100;pointer-events:none}.header{padding:.75rem 1rem;border-bottom:1px solid #1a1f29;display:flex;align-items:baseline;gap:1rem;background:#0d1117}.header h1{color:#7ee787;font-size:1rem;font-weight:700;letter-spacing:.05em}.header-sub{color:#4a5568;font-size:.75rem;flex:1}.header-share{background:#21262d;border:1px solid #30363d;color:#8b949e;padding:.2rem .6rem;font-family:inherit;font-size:.7rem;border-radius:4px;cursor:pointer}.header-share:hover{color:#7ee787;border-color:#7ee787}.header-gh{color:#4a5568;font-size:.75rem;text-decoration:none}.header-gh:hover{color:#7ee787}.main{flex:1;display:grid;min-height:0}.resize-handle{width:4px;cursor:col-resize;background:#1a1f29;transition:background .15s}.resize-handle:hover{background:#7ee787}.resize-handle-h{height:4px;cursor:row-resize;background:#1a1f29;transition:background .15s;flex-shrink:0}.resize-handle-h:hover{background:#7ee787}.sidebar{background:#0d1117;border-right:1px solid #1a1f29;overflow-y:auto}.file-tree{padding:.5rem 0}.tree-section{margin-bottom:.25rem}.tree-header{padding:.25rem .75rem;font-size:.7rem;color:#7ee787;text-transform:uppercase;letter-spacing:.1em}.tree-item{display:flex;align-items:center;gap:.5rem;padding:.2rem .75rem .2rem 1rem;cursor:pointer;font-size:.75rem;color:#6b7280;border-left:2px solid transparent}.tree-item:hover{background:#111820;color:#b3b1ad}.tree-item.active{background:#111820;color:#e6e1cf;border-left-color:#7ee787}.tree-item input[type=checkbox]{accent-color:#7ee787;cursor:pointer}.tree-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{font-size:.6rem;padding:0 4px;border-radius:8px;font-weight:600;line-height:1.4}.badge-error{background:#3d1117;color:#f85149}.badge-warn{background:#2a1f00;color:#f59e0b}.tree-remove{background:none;border:none;color:#4a5568;cursor:pointer;font-size:.65rem;padding:0 2px;font-family:inherit}.tree-remove:hover{color:#f85149}.tree-actions{padding:.5rem .75rem;display:flex;flex-direction:column;gap:.25rem}.tree-actions button{background:transparent;border:1px dashed #1a1f29;color:#4a5568;padding:.25rem .5rem;font-size:.7rem;font-family:inherit;cursor:pointer;text-align:left;border-radius:3px}.tree-actions button:hover{color:#7ee787;border-color:#7ee787}.editor-section{display:flex;flex-direction:column;border-right:1px solid #1a1f29;min-height:0}.editor-header{padding:.4rem .75rem;background:#0d1117;border-bottom:1px solid #1a1f29;display:flex;align-items:center;justify-content:space-between}.filename-input{background:transparent;border:none;color:#e6e1cf;font-family:inherit;font-size:.75rem}.filename-input:disabled{color:#6b7280}.filename-input:focus{outline:none;color:#7ee787}.line-count{font-size:.65rem;color:#4a5568}.editor-wrapper{flex:1;min-height:0;overflow:hidden}.problems-wrapper{flex-shrink:0;overflow:hidden}.mobile-tabs{display:none}@media(max-width:768px){.mobile-tabs{display:flex;background:#0d1117;border-bottom:1px solid #1a1f29;overflow-x:auto;position:relative;z-index:10;flex-shrink:0}.mobile-tab{flex:1;padding:.6rem .5rem;background:transparent;border:none;border-bottom:2px solid transparent;color:#6b7280;font-family:inherit;font-size:.75rem;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}.mobile-tab.active{color:#7ee787;border-bottom-color:#7ee787}.header-sub{display:none}.header{padding:.5rem .75rem}.header h1{font-size:.9rem}.tree-item{padding:.35rem .75rem .35rem 1rem}.main{display:block!important;position:relative;overflow:hidden;flex:1;min-height:0}.resize-handle,.resize-handle-h{display:none!important}.sidebar,.editor-section,.output-section{position:absolute;top:0;right:0;bottom:0;left:0;display:none!important}.main[data-mobile-tab=files] .sidebar{display:block!important;overflow-y:auto}.main[data-mobile-tab=editor] .editor-section{display:flex!important;flex-direction:column}.main[data-mobile-tab=editor] .problems-wrapper,.main[data-mobile-tab=editor] .resize-handle-h{display:none!important}.main[data-mobile-tab=output] .output-section,.main[data-mobile-tab=problems] .editor-section{display:flex!important;flex-direction:column}.main[data-mobile-tab=problems] .editor-wrapper,.main[data-mobile-tab=problems] .editor-header{display:none!important}.main[data-mobile-tab=problems] .problems-wrapper{display:block!important;flex:1;height:auto!important}.compile-bar{flex-wrap:wrap}}.editor{width:100%;height:100%;background:#0a0e14;color:#b3b1ad;border:none;padding:.75rem;font-family:inherit;font-size:.75rem;line-height:1.6;resize:none;-moz-tab-size:2;tab-size:2}.editor:focus{outline:none}.output-section{display:flex;flex-direction:column;min-height:0;overflow:hidden}.compile-bar{padding:.4rem .75rem;background:#0d1117;border-bottom:1px solid #1a1f29;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.options-bar{display:flex;gap:.75rem}.options-bar label{display:flex;align-items:center;gap:.3rem;font-size:.7rem;color:#6b7280;cursor:pointer}.options-bar input[type=checkbox]{accent-color:#7ee787}.options-bar select{background:#111820;color:#6b7280;border:1px solid #1a1f29;border-radius:3px;padding:.15rem .4rem;font-family:inherit;font-size:.65rem;cursor:pointer}.options-bar select:hover{color:#7ee787;border-color:#7ee787}.compile-btn{padding:.3rem 1rem;background:#0e2a10;color:#7ee787;border:1px solid #7ee787;border-radius:3px;font-family:inherit;font-size:.7rem;font-weight:600;cursor:pointer;letter-spacing:.05em}.compile-btn:hover{background:#7ee787;color:#0a0e14}.output-panel{flex:1;overflow:auto;background:#0a0e14;min-width:0}.output-panel.empty{display:flex;align-items:center;justify-content:center;color:#2a2f3a;font-size:.8rem}.error-list{padding:.25rem 0}.error-item{padding:.2rem .75rem;font-size:.75rem;font-family:inherit;cursor:pointer;display:flex;gap:.5rem}.error-item:hover{background:#1a0a0a}.error-loc{color:#f85149;white-space:nowrap;text-decoration:underline}.error-msg{color:#b3b1ad}.output-panel.error h3{padding:.5rem .75rem;background:#1a0a0a;color:#f85149;font-size:.75rem}.output-panel.error pre{padding:.75rem;color:#f85149;font-size:.7rem;overflow-x:auto}.output-header{display:flex;justify-content:space-between;align-items:center;padding:.4rem .75rem;border-bottom:1px solid #1a1f29;background:#0d1117;position:sticky;top:0}.output-tabs{display:flex;gap:0}.output-tabs button{padding:.2rem .6rem;background:transparent;color:#4a5568;border:1px solid #1a1f29;border-radius:3px 3px 0 0;font-family:inherit;font-size:.65rem;cursor:pointer;margin-bottom:-1px}.output-tabs button.active{color:#7ee787;border-bottom-color:#0d1117;background:#0d1117}.output-tabs button:hover:not(.active){color:#6b7280}.output-stats{font-size:.7rem;color:#4a5568}.output-actions{display:flex;gap:.35rem}.output-actions button{padding:.15rem .5rem;background:#111820;color:#6b7280;border:1px solid #1a1f29;border-radius:3px;font-family:inherit;font-size:.65rem;cursor:pointer}.output-actions button:hover{color:#7ee787;border-color:#7ee787}.output-editor{flex:1;min-height:0;height:100%}.problems-panel{background:#0d1117;overflow:auto;height:100%}.problems-header{padding:.3rem .75rem;font-size:.7rem;color:#8b949e;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid #1a1f29;position:sticky;top:0;background:#0d1117}.problems-count{background:#21262d;padding:0 5px;border-radius:8px;font-size:.6rem}.problems-list{font-size:.7rem}.problem-item{padding:.2rem .75rem;display:flex;align-items:center;gap:.5rem;cursor:pointer}.problem-item:hover{background:#111820}.problem-icon{font-weight:700;font-size:.6rem;width:14px;height:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.problem-error .problem-icon{background:#3d1117;color:#f85149}.problem-warning .problem-icon{background:#2a1f00;color:#f59e0b}.problem-info .problem-icon{background:#0c2d6b;color:#58a6ff}.problem-message{flex:1;color:#b3b1ad}.problem-location{color:#4a5568;font-size:.65rem;white-space:nowrap}.output-panel:not(.empty):not(.error){display:flex;flex-direction:column}
