:root{color-scheme:dark;--bg:#0a0e13;--bg-sidebar:#14191f;--bg-surface:#1b222a;--bg-hover:#212a34;--text:#dfe5ed;--text-muted:#939eac;--border:#35404d;--accent:#68bfbd;--terminal-size:13px;--app-height:100dvh;--app-top:0px}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{background:var(--bg);color:var(--text);font:14px 'Source Sans 3',-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer;color:var(--text);touch-action:manipulation}button:focus-visible,input:focus-visible,.terminal:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}button:disabled{cursor:default;opacity:.4}.app-layout{position:fixed;top:var(--app-top);left:0;width:100%;height:var(--app-height);display:flex;padding-top:env(safe-area-inset-top)}.sidebar{width:272px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-sidebar);border-right:1px solid var(--border);padding-left:env(safe-area-inset-left)}.sidebar-header{height:52px;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border)}.logo{font:700 23px 'Instrument Sans',sans-serif;letter-spacing:-1px}.mock-badge{border:1px solid #467a78;border-radius:4px;padding:1px 5px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.8px}.sidebar-label{font-size:10px;letter-spacing:1.3px;color:var(--text-muted);padding:22px 16px 10px}.session-list{overflow:auto;padding:0 8px}.session-button{width:100%;display:block;text-align:left;border:1px solid transparent;border-radius:6px;background:none;padding:12px 9px;margin:3px 0}.session-button[aria-current=true]{background:#26313d;border-color:#41515f}.session-button:hover{background:var(--bg-hover)}.session-name{display:block;font-weight:600;font-size:14px}.session-meta{display:block;color:var(--text-muted);font-size:12px;margin-top:5px}.session-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#81c78b;margin-right:7px}.sidebar-footer{margin-top:auto;padding:18px 16px 22px;color:var(--text-muted);font-size:12px;line-height:1.6}.sidebar-footer span{color:#687584}.main{display:flex;flex-direction:column;min-width:0;flex:1;padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);overflow:hidden}.toolbar{display:flex;align-items:center;gap:10px;min-height:52px;padding:5px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.session-heading{flex:1;min-width:0}.session-heading strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-heading span{display:block;font-size:11px;color:var(--text-muted);margin-top:2px}.status{color:#91c89a;white-space:nowrap;font-size:11px}.status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#81c78b;margin-right:5px}.compact-button{border:1px solid var(--border);background:var(--bg-sidebar);border-radius:6px;padding:6px 9px;min-height:36px;font-size:11px;white-space:nowrap}.icon-button{width:40px;height:40px;border:0;background:transparent;font-size:20px}.close-sidebar,#menu{display:none}.iphone-font-control{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.iphone-font-description{display:flex;flex-direction:column;min-width:0;gap:2px;font-size:12px;color:var(--text)}.iphone-font-description output,.iphone-font-scope{font-size:11px;color:var(--text-muted)}.iphone-font-actions{display:flex;gap:4px}.iphone-font-actions button{min-width:44px;min-height:44px;padding:0 7px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text);font:inherit;font-size:14px;touch-action:manipulation}.iphone-font-actions .iphone-font-reset{font-size:11px}.mock-notice{padding:6px 12px;background:#112323;color:var(--accent);font-size:10px;letter-spacing:.6px;flex-shrink:0}.mock-notice span{font-size:11px;letter-spacing:0;color:#9ab8b7;margin-left:7px}.terminal{min-height:0;flex:1;overflow:auto;padding:14px 12px;font-family:'Fira Code','Symbols Nerd Font Mono',monospace;font-size:var(--terminal-size);font-weight:400;font-variant-ligatures:none;line-height:1.25;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;-webkit-overflow-scrolling:touch;scrollbar-color:#35404d transparent}.line{min-height:1.25em}.line.muted{color:#8b99a9}.line.accent{color:#68bfbd}.line.success{color:#93c995}.line.command{color:#d9dfe8;margin-top:.5em}.line.warning{color:#e3bd7c}.session-actions{display:flex;align-items:center;gap:6px;padding:6px 10px;border-top:1px solid var(--border);flex-shrink:0}.session-actions span{margin-left:auto;color:var(--text-muted);font-size:10px;white-space:nowrap}.keybar{display:flex;gap:5px;padding:0 10px 6px;flex-shrink:0}.keybar button{flex:1;min-width:0;height:38px;border:1px solid var(--border);background:var(--bg-sidebar);border-radius:5px;font-size:12px}#command-form{display:flex;align-items:center;gap:7px;margin:0;padding:6px 10px;border-top:1px solid var(--border);flex-shrink:0;min-height:50px}.prompt{color:var(--accent);font-family:'Fira Code',monospace;font-size:12px;white-space:nowrap}#command{flex:1;min-width:0;width:1px;color:var(--text);background:transparent;border:0;padding:8px 1px;font:16px 'Fira Code',monospace;outline:none}#command::placeholder{font-size:12px;color:#728093}.send-button{border:1px solid #3e6868;border-radius:6px;background:#193333;color:var(--accent);width:40px;height:38px;font-size:22px}.bottom-note{padding:0 10px 6px;color:#74818e;font-size:10px;flex-shrink:0}.backdrop{display:none}.no-scroll{overflow:hidden}@media(max-width:700px){.sidebar{position:absolute;z-index:20;height:100%;left:0;top:0;transform:translateX(-100%);width:min(280px,85vw);box-shadow:10px 0 40px #0005}.sidebar.open{transform:translateX(0)}.backdrop:not([hidden]){display:block;position:absolute;inset:0;z-index:19;background:#0008;border:0}.close-sidebar,#menu{display:block}.close-sidebar{margin-left:auto}.toolbar{gap:6px;padding-left:4px}.status{display:none}.main{padding-left:env(safe-area-inset-left)}.mock-notice span{display:block;margin:2px 0 0}.terminal{padding:10px}.session-actions{gap:5px}#viewport-info{font-size:9px}.iphone-font-control{padding:7px 10px}.toolbar .compact-button{padding:6px;font-size:10px}.session-heading strong{font-size:13px}}@media(max-height:500px){.toolbar{min-height:38px}.session-heading span,.iphone-font-scope,.bottom-note,.mock-notice{display:none}.iphone-font-control{padding-top:3px;padding-bottom:3px}.iphone-font-description{flex-direction:row;gap:8px}.iphone-font-actions button{min-height:36px}.session-actions{padding-top:3px;padding-bottom:3px}.session-actions button{min-height:30px}.keybar button{height:30px}#command-form{padding-top:2px;padding-bottom:2px;min-height:42px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Wide synthetic code and tables preserve their terminal columns. */
.terminal.wide{white-space:pre;overflow-wrap:normal}.terminal.wide #output{width:max-content;min-width:100%}.terminal.wide .line{white-space:pre}.session-actions{flex-wrap:wrap}.session-actions #wrap{min-width:70px}.session-actions #viewport-info{margin-left:auto}@media(max-width:380px){.session-actions #viewport-info{display:none}.session-actions .compact-button{font-size:10px;padding-left:7px;padding-right:7px}}
