@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500&family=Syne:wght@400;600;700&display=swap";.home{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.home__logo{letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:3rem;font-size:.75rem;font-weight:600}.home__card{background:var(--bg-elevated);border:1px solid var(--bg-border);width:100%;max-width:420px;padding:2.5rem}.home__title{margin-bottom:.5rem;font-size:1.75rem;font-weight:700;line-height:1.2}.home__subtitle{color:var(--text-muted);font-size:.85rem;font-family:var(--font-mono);margin-bottom:2rem}.home__input{background:var(--bg);border:1px solid var(--bg-border);width:100%;color:var(--text);outline:none;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.9rem;transition:border-color .2s}.home__input:focus{border-color:var(--accent)}.home__btn{letter-spacing:.1em;text-transform:uppercase;border:none;width:100%;padding:.75rem;font-size:.85rem;font-weight:600;transition:opacity .2s}.home__btn--primary{background:var(--accent);color:#000}.home__btn--primary:hover{opacity:.85}.home__divider{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);align-items:center;gap:1rem;margin:1.5rem 0;display:flex}.home__divider:before,.home__divider:after{content:"";background:var(--bg-border);flex:1;height:1px}.home__btn--secondary{color:var(--text);border:1px solid var(--bg-border);background:0 0}.home__btn--secondary:hover{border-color:var(--accent);color:var(--accent)}.home__btn--github{color:var(--text);border:1px solid var(--bg-border);background:0 0}.home__btn--github:hover{color:#9b8bc4;border-color:#6e5494}.home__repo-list{border:1px solid var(--bg-border);background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--bg-border) transparent;width:100%;max-height:200px;margin-bottom:.75rem;overflow-y:auto}.home__repo-empty{color:var(--text-muted);font-family:var(--font-mono);padding:.75rem;font-size:.78rem}.home__repo-item{cursor:pointer;border-bottom:1px solid var(--bg-border);border-left:2px solid #0000;justify-content:space-between;align-items:center;padding:.45rem .75rem;transition:background .1s;display:flex}.home__repo-item:last-child{border-bottom:none}.home__repo-item:hover{background:var(--bg-elevated)}.home__repo-item--selected{border-left-color:var(--accent);background:var(--accent-dim)!important}.home__repo-name{font-family:var(--font-mono);color:var(--text);font-size:.78rem}.home__repo-badge{font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--bg-border);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:.65rem}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.session{background:var(--bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.session__toolbar{border-bottom:1px solid var(--bg-border);background:var(--bg-elevated);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 1.25rem;display:flex}.session__toolbar-left{align-items:center;gap:1.5rem;display:flex}.session__logo{letter-spacing:.3em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:600}.session__id,.session__repo{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem}.session__code{font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;border:1px solid var(--bg-border);white-space:nowrap;border-radius:3px;padding:3px 8px;font-size:.72rem;transition:border-color .15s,color .15s}.session__code:hover{border-color:var(--accent);color:var(--text)}.session__code-value{color:var(--accent)}.session__toolbar-right{align-items:center;gap:.75rem;display:flex}.session__btn{letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;padding:.4rem 1rem;font-size:.75rem;font-weight:600;transition:opacity .2s}.session__btn--run{background:var(--accent);color:#000}.session__btn--run:hover{opacity:.85}.session__btn--run:disabled{opacity:.4;cursor:not-allowed}.session__btn--share{color:var(--text-muted);border:1px solid var(--bg-border);background:0 0}.session__btn--share:hover{border-color:var(--accent);color:var(--accent)}.session__body{flex:1;min-height:0;overflow:hidden}.resize-handle--vertical{background:var(--bg-border);cursor:col-resize;flex-shrink:0;width:4px;transition:background .2s;position:relative;overflow:visible}.resize-handle--vertical:hover,.resize-handle--vertical[data-resize-handle-active]{background:var(--accent)}.panel-bookmark{z-index:20;width:14px;height:44px;color:var(--accent);cursor:pointer;background:#000;border:1px solid #222;justify-content:center;align-items:center;padding:0;font-size:.7rem;transition:border-color .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.panel-bookmark:hover{border-color:var(--accent)}.panel-bookmark--left{border-left:none;border-radius:0 5px 5px 0;left:4px}.panel-bookmark--right{border-right:none;border-radius:5px 0 0 5px;right:4px}.resize-handle--horizontal{background:var(--bg-border);cursor:row-resize;flex-shrink:0;height:4px;transition:background .2s}.resize-handle--horizontal:hover,.resize-handle--horizontal[data-resize-handle-active]{background:var(--accent)}.session__body>div{width:100%;height:100%}.session__btn--ports{color:var(--text-muted);border:1px solid var(--bg-border);background:0 0}.session__btn--ports:hover,.session__btn--ports-active{border-color:var(--accent);color:var(--accent)}.session__btn{color:var(--text-muted);border:1px solid var(--bg-border);background:0 0}.session__btn:hover,.session__btn--active{border-color:var(--accent);color:var(--accent)}.ports-panel{background:var(--bg-elevated);border:1px solid var(--bg-border);z-index:100;border-top:none;flex-direction:column;width:380px;display:flex;position:fixed;top:48px;right:0}.ports-panel__header{border-bottom:1px solid var(--bg-border);justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.ports-panel__title{letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:600}.ports-panel__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;line-height:1}.ports-panel__close:hover{color:var(--text)}.ports-panel__body{scrollbar-width:thin;scrollbar-color:var(--bg-border) transparent;max-height:260px;overflow-y:auto}.ports-panel__empty{color:var(--text-muted);font-size:.78rem;font-family:var(--font-mono);margin:0;padding:.75rem 1rem}.ports-panel__entry{border-bottom:1px solid var(--bg-border);justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.ports-panel__entry:last-child{border-bottom:none}.ports-panel__entry-info{align-items:center;gap:.4rem;display:flex}.ports-panel__entry-label{color:var(--text);font-size:.82rem}.ports-panel__entry-port{font-family:var(--font-mono);color:var(--accent);font-size:.75rem}.ports-panel__entry-actions{align-items:center;gap:.4rem;display:flex}.ports-panel__action{border:1px solid var(--bg-border);color:var(--text-muted);cursor:pointer;font-size:.7rem;font-family:var(--font-mono);background:0 0;border-radius:2px;padding:2px 6px;text-decoration:none;transition:border-color .15s,color .15s;display:inline-block}.ports-panel__action:hover{border-color:var(--accent);color:var(--accent)}.ports-panel__action--remove:hover{color:#ff4d4d;border-color:#ff4d4d}.ports-panel__footer{border-top:1px solid var(--bg-border);gap:.5rem;padding:.75rem 1rem;display:flex}.ports-panel__input{background:var(--bg);border:1px solid var(--bg-border);color:var(--text);font-size:.8rem;font-family:var(--font-mono);outline:none;flex:1;min-width:0;padding:.35rem .6rem}.ports-panel__input--port{flex:0 0 72px;width:72px}.ports-panel__input:focus{border-color:var(--accent)}.ports-panel__btn-add{background:var(--accent);color:#000;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;border:none;flex-shrink:0;padding:.35rem .8rem;font-size:.72rem;font-weight:600}.ports-panel__btn-add:hover{opacity:.85}.ports-panel__error{color:#ff4d4d;font-size:.75rem;font-family:var(--font-mono);margin:0;padding:0 1rem .6rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0a;--bg-elevated:#111;--bg-border:#1a1a1a;--accent:#00ff94;--accent-dim:#00ff941a;--text:#e8e8e8;--text-muted:#555;--font-ui:"Syne", sans-serif;--font-mono:"JetBrains Mono", monospace}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;min-height:100vh}button{cursor:pointer;font-family:var(--font-ui)}input{font-family:var(--font-mono)}
