:root{--bg: #000000;--bg2: #0a0a0a;--bg3: #111111;--bg4: #1a1a1a;--green: #00d400;--green-dim: #00a000;--green-bright: #00ff44;--red: #ff5f56;--yellow: #ffbd2e;--blue: #57bdff;--cyan: #5ff3e3;--magenta: #c678dd;--gray: #666666;--white: #d4d4d4;--prompt-user: #00d400;--prompt-host: #57bdff;--prompt-path: #c678dd;--font: "Menlo", "Monaco", "Courier New", "SF Mono", monospace;--font-size: 12px;--status-h: 44px;--titlebar-h: 40px;--input-area-h: 100px;--bottom-h: 22px;--radius: 16px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;background:#1a1a2e}.app-root{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.ios-terminal{width:100%;max-width:430px;height:100%;max-height:100svh;background:var(--bg);display:flex;flex-direction:column;font-family:var(--font);font-size:var(--font-size);color:var(--green);position:relative;overflow:hidden;border-radius:0}@media(min-width:500px){.ios-terminal{border-radius:var(--radius);max-height:900px;height:900px;box-shadow:0 0 0 1px #ffffff14,0 30px 80px #000c,0 0 60px #00c8000d}.app-root{padding:20px}}.ios-status-bar{height:var(--status-h);background:var(--bg);display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 20px;flex-shrink:0;position:relative}.status-time{font-size:15px;font-weight:600;color:var(--white);letter-spacing:-.3px;min-width:44px}.status-notch{width:120px;height:30px;background:#000;border-radius:0 0 16px 16px;position:absolute;left:50%;transform:translate(-50%);top:0;box-shadow:0 2px #000}.status-icons{display:flex;align-items:center;gap:6px;color:var(--white)}.status-signal{display:flex;align-items:flex-end;gap:2px;height:12px}.status-signal .bar{width:3px;background:var(--white);border-radius:1px;display:block}.status-wifi svg{display:block}.status-battery{display:flex;align-items:center;gap:1px}.battery-body{width:22px;height:11px;border:1.5px solid var(--white);border-radius:3px;padding:1.5px;display:flex;align-items:stretch}.battery-fill{width:75%;background:var(--white);border-radius:1px;display:block}.battery-tip{width:2px;height:5px;background:var(--white);border-radius:0 1px 1px 0;display:block;align-self:center}.terminal-titlebar{height:var(--titlebar-h);background:var(--bg2);border-bottom:1px solid #1a1a1a;display:flex;align-items:center;justify-content:space-between;padding:0 16px;flex-shrink:0}.terminal-dots{display:flex;gap:7px;align-items:center}.terminal-dots-spacer{width:52px}.dot{width:12px;height:12px;border-radius:50%;display:block}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27c93f}.terminal-title{font-size:13px;font-weight:500;color:var(--white);letter-spacing:.2px}.terminal-output{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 10px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.terminal-output::-webkit-scrollbar{width:3px}.terminal-output::-webkit-scrollbar-track{background:transparent}.terminal-output::-webkit-scrollbar-thumb{background:var(--gray);border-radius:2px}.terminal-line{display:flex;align-items:flex-start;line-height:1.5;white-space:pre-wrap;word-break:break-all;min-height:18px;font-size:12px}.terminal-line-cmd .terminal-text{color:var(--white)}.terminal-line-stdout .terminal-text{color:var(--green-dim)}.terminal-line-stderr .terminal-text{color:var(--red)}.terminal-line-info .terminal-text{color:var(--cyan)}.terminal-line-success .terminal-text{color:var(--green-bright)}.terminal-prompt{color:var(--green);white-space:nowrap;flex-shrink:0;font-weight:600;margin-right:0}.terminal-text{flex:1;word-break:break-all}.terminal-input-line{display:flex;align-items:flex-start;line-height:1.5;min-height:18px;font-size:12px}.terminal-input-display{color:var(--white);word-break:break-all}.terminal-cursor{animation:blink 1s step-end infinite;color:var(--green-bright)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.tab-candidates{display:flex;flex-wrap:wrap;gap:4px;padding:4px 0;border-top:1px solid #222;margin:4px 0}.tab-candidate{background:#1a2a1a;border:1px solid var(--green-dim);color:var(--green);font-family:var(--font);font-size:11px;padding:2px 8px;border-radius:4px;cursor:pointer;touch-action:manipulation}.tab-candidate:active{background:#2a3a2a}.terminal-input-area{background:var(--bg2);border-top:1px solid #1e1e1e;flex-shrink:0;padding:8px 10px;padding-bottom:max(8px,env(safe-area-inset-bottom,8px))}.terminal-input-row{display:flex;align-items:center;gap:6px;background:var(--bg3);border:1px solid #2a2a2a;border-radius:10px;padding:6px 10px;margin-bottom:8px}.terminal-prompt-mini{color:var(--green);font-size:11px;white-space:nowrap;font-weight:600;flex-shrink:0}.terminal-real-input{flex:1;background:transparent;border:none;outline:none;color:var(--white);font-family:var(--font);font-size:13px;caret-color:var(--green-bright);min-width:0}.terminal-real-input::-moz-placeholder{color:var(--gray)}.terminal-real-input::placeholder{color:var(--gray)}.terminal-run-btn{background:var(--green-dim);border:none;color:#000;font-size:16px;font-weight:700;width:30px;height:30px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;touch-action:manipulation;line-height:1}.terminal-run-btn:active{background:var(--green-bright);transform:scale(.95)}.terminal-shortcuts{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.terminal-shortcuts::-webkit-scrollbar{display:none}.terminal-shortcuts button{background:#1e1e1e;border:1px solid #2a2a2a;color:var(--white);font-family:var(--font);font-size:12px;padding:4px 10px;border-radius:6px;cursor:pointer;white-space:nowrap;flex-shrink:0;touch-action:manipulation;min-width:36px}.terminal-shortcuts button:active{background:#2a2a2a;transform:scale(.95)}.ios-home-indicator{height:var(--bottom-h);display:flex;align-items:center;justify-content:center;background:var(--bg);flex-shrink:0}.ios-home-indicator:after{content:"";width:130px;height:5px;background:#fff3;border-radius:3px}.app-overlay{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.vim-editor{outline:none}.vim-titlebar{background:#0a2a0a;border-bottom:1px solid #1a3a1a;padding:4px 10px;font-size:12px;color:var(--green-dim);text-align:center;flex-shrink:0;font-style:italic}.vim-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.vim-lines{flex:1;overflow-y:auto;padding:2px 0}.vim-lines::-webkit-scrollbar{width:3px}.vim-lines::-webkit-scrollbar-thumb{background:#333}.vim-line{display:flex;align-items:baseline;min-height:20px;padding:1px 6px;line-height:1.4}.vim-line-active{background:#1a2a1a}.vim-linenum{color:#4a6a4a;width:32px;min-width:32px;font-size:11px;text-align:right;margin-right:8px;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vim-linecontent{color:var(--green-dim);font-size:12px;white-space:pre-wrap;word-break:break-all;flex:1}.vim-tilde .vim-tilde-char{color:#2a4a2a}.vim-textarea{flex:1;width:100%;background:var(--bg);border:none;outline:none;color:var(--green-dim);font-family:var(--font);font-size:12px;padding:8px 10px;resize:none;line-height:1.5;caret-color:var(--green-bright)}.vim-statusbar{background:#0a2a0a;border-top:1px solid #1a3a1a;padding:4px 10px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;min-height:26px}.vim-status,.vim-cmdline{font-size:12px;color:var(--green-dim)}.vim-pos{font-size:11px;color:#4a6a4a}.vim-cursor{color:var(--green-bright);animation:blink 1s step-end infinite}.vim-shortcuts{display:flex;gap:6px;padding:8px 10px;background:#080808;border-top:1px solid #1a1a1a;overflow-x:auto;flex-shrink:0}.vim-shortcuts button{background:#1a2a1a;border:1px solid #2a4a2a;color:var(--green);font-family:var(--font);font-size:12px;padding:5px 12px;border-radius:6px;cursor:pointer;white-space:nowrap;flex-shrink:0;touch-action:manipulation}.vim-shortcuts button:active{background:#2a4a2a}.nano-titlebar{background:#002030;padding:4px 10px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;font-size:12px;color:#5ff3e3;border-bottom:1px solid #003a50}.nano-textarea{flex:1;width:100%;background:var(--bg);border:none;outline:none;color:var(--white);font-family:var(--font);font-size:12px;padding:8px 10px;resize:none;line-height:1.5;caret-color:var(--cyan)}.nano-statusmsg{background:#002030;padding:4px 10px;font-size:11px;color:var(--cyan);flex-shrink:0}.nano-shortcuts{background:#002030;border-top:1px solid #003a50;padding:6px 10px;flex-shrink:0}.nano-shortcut-row{display:flex;gap:16px;font-size:11px;color:#5ff3e3;padding:2px 0}.nano-shortcut-row kbd{background:#003a50;border:1px solid #005a70;border-radius:3px;padding:1px 4px;font-family:var(--font);font-size:10px}.nano-btn-row{display:flex;gap:10px;margin-top:8px}.nano-btn-row button{flex:1;background:#003a50;border:1px solid #005a70;color:var(--cyan);font-family:var(--font);font-size:12px;padding:8px;border-radius:8px;cursor:pointer;touch-action:manipulation}.nano-btn-row button:active{background:#005a70}.repl-header{background:#0a0a1a;border-bottom:1px solid #1a1a2a;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;font-size:12px;color:var(--blue)}.repl-quit{background:#1a1a2a;border:1px solid #2a2a4a;color:var(--blue);font-family:var(--font);font-size:11px;padding:4px 12px;border-radius:6px;cursor:pointer;touch-action:manipulation}.repl-output{flex:1;overflow-y:auto;padding:8px 12px;font-size:12px;-webkit-overflow-scrolling:touch}.repl-output::-webkit-scrollbar{width:3px}.repl-output::-webkit-scrollbar-thumb{background:#333}.repl-line{line-height:1.5;white-space:pre-wrap;word-break:break-all;color:var(--blue);min-height:18px}.repl-input-row{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#0a0a1a;border-top:1px solid #1a1a2a;flex-shrink:0}.repl-prompt{color:var(--blue);font-weight:600;white-space:nowrap;flex-shrink:0}.repl-input{flex:1;background:transparent;border:none;outline:none;color:var(--white);font-family:var(--font);font-size:13px;caret-color:var(--blue);min-width:0}.repl-send{background:var(--blue);border:none;color:#000;font-size:16px;font-weight:700;width:30px;height:30px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;touch-action:manipulation}.repl-send:active{transform:scale(.95)}.repl-tips{background:#080810;padding:4px 12px;font-size:10px;color:#346;flex-shrink:0}.top-monitor{font-size:11px}.top-header{background:#0a1a0a;border-bottom:1px solid #1a2a1a;padding:6px 10px;flex-shrink:0}.top-row{line-height:1.6;color:var(--green-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.top-table-header{display:flex;padding:4px 10px;background:#002000;border-bottom:1px solid #1a2a1a;font-size:11px;font-weight:700;color:var(--green-bright);flex-shrink:0}.top-proc{display:flex;padding:3px 10px;border-bottom:1px solid #0a0a0a;align-items:center}.top-proc:hover{background:#0a1a0a}.top-col-pid{width:40px;min-width:40px;color:#aaa;text-align:right;padding-right:8px}.top-col-user{width:70px;min-width:70px;color:var(--cyan)}.top-col-cpu{width:45px;min-width:45px;text-align:right;padding-right:8px;color:var(--green)}.top-col-mem{width:40px;min-width:40px;text-align:right;padding-right:8px;color:var(--green-dim)}.top-col-s{width:20px;min-width:20px;color:var(--yellow)}.top-col-cmd{flex:1;color:var(--white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-high-cpu{color:var(--red)!important}.top-quit-btn{padding:10px 12px;border-top:1px solid #1a2a1a;display:flex;align-items:center;gap:12px;flex-shrink:0;background:#050a05}.top-quit-btn button{background:#1a2a1a;border:1px solid #2a4a2a;color:var(--green);font-family:var(--font);font-size:12px;padding:6px 16px;border-radius:6px;cursor:pointer;touch-action:manipulation}.top-quit-btn button:active{background:#2a4a2a}.top-hint{font-size:10px;color:#2a4a2a}*{scrollbar-width:thin;scrollbar-color:#333 transparent}::-moz-selection{background:#00c8004d;color:var(--green-bright)}::selection{background:#00c8004d;color:var(--green-bright)}
