.container{display:flex;flex-direction:column;height:100vh}.top-bar{background-color:#f0f0f0;padding:8px;border-bottom:1px solid #ccc;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:12px;gap:12px;max-height:44px}.header-left{justify-self:start}.header-center{justify-self:center;gap:10px}.header-center,.header-right{display:flex;align-items:center}.header-right{justify-self:end;gap:12px;white-space:nowrap}.back-link{display:inline-block;padding:6px 10px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;text-decoration:none;font-size:.95rem;line-height:1;transition:background .12s ease,border-color .12s ease}.back-link:hover{background:#f9fafb;border-color:#cbd5e1}.back-link:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.btn{border:0;border-radius:10px;padding:8px 14px;font-weight:700;font-size:.98rem;line-height:1;color:#fff;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.12);transition:transform 40ms ease,filter .12s ease,opacity .12s ease}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.btn-run{background:#dc2626}.btn-run:hover{filter:brightness(.95)}.btn-save{background:#3b82f6}.btn-save:hover{filter:brightness(.95)}.btn-save:disabled{background:#9ca3af;color:#fff;cursor:default;opacity:.9;box-shadow:none}.editor-status{font-size:.95rem;color:#374151;max-width:48ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#main-container{flex:1 1;display:flex;overflow:hidden}#left-pane{overflow:scroll;background-color:#fff}.editor{height:100%}#right-pane{display:flex;flex-direction:column;overflow:hidden;position:relative}.placeholder-pane{margin:auto;text-align:center;color:#666}#vpythonOutput{background-color:transparent;overflow:auto}#consoleArea{display:flex;flex-direction:column;overflow:hidden}.errorArea{background:rgba(255,0,0,.05);padding:8px}.errorText{color:red;font-weight:700}#print{width:100%;height:flex;flex:1 1;resize:none;font-family:monospace;border:1px solid #ccc;box-sizing:border-box;outline:none;padding:4px;margin:0;flex-shrink:0}.gutter,.gutterhorizontal{background-color:#444;background-repeat:no-repeat;background-position:50%;background-size:contain}@font-face{font-family:Fira Code;src:url(/styles/FiraCode-VariableFont_wght.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Cascadia Code;src:url(/styles/CascadiaCode.ttf) format("truetype");font-weight:400;font-style:normal}.cm-line{font-family:Cascadia Code,monospace;font-size:12px}