@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";/**
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
* https://github.com/chjj/term.js
* @license MIT
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* Originally forked from (with the author's permission):
*   Fabrice Bellard's javascript vt100 for jslinux:
*   http://bellard.org/jslinux/
*   Copyright (c) 2011 Fabrice Bellard
*   The original design remains. The terminal itself
*   has been extended to include xterm CSI codes, among
*   other features.
*/.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.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{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{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;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{--bg: #0a0a14;--panel: #13131f;--panel-2: #1c1c2c;--border: #2a2a3d;--border-strong: #3a3a52;--text: #ece9f4;--muted: #8a8aa3;--muted-strong: #a5a5c0;--accent: #a78bff;--accent-soft: #7c6bff;--aurum: #f0b95c;--verdigris: #48d4b5;--sigil: #ff6f9c;--success: var(--verdigris);--warn: var(--aurum);--danger: var(--sigil);--accent-grad: linear-gradient(135deg, #a78bff 0%, #7c6bff 50%, #ff6f9c 100%);--aurum-grad: linear-gradient(135deg, #f0b95c 0%, #ff6f9c 100%);--verdigris-grad: linear-gradient(135deg, #48d4b5 0%, #a78bff 100%);--shadow-glow: 0 0 0 1px rgba(167, 139, 255, .35), 0 8px 32px -8px rgba(167, 139, 255, .4);--shadow-glow-soft: 0 8px 28px -12px rgba(167, 139, 255, .5);--shadow-aurum: 0 0 0 1px rgba(240, 185, 92, .35), 0 8px 28px -10px rgba(240, 185, 92, .45);--shadow-verdigris: 0 0 0 1px rgba(72, 212, 181, .35), 0 8px 28px -10px rgba(72, 212, 181, .45);--shadow-sigil: 0 0 0 1px rgba(255, 111, 156, .35), 0 8px 28px -10px rgba(255, 111, 156, .45);--shadow-lift: 0 12px 40px -16px rgba(0, 0, 0, .7);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--r-lg: 8px;--r-xl: 12px;--r-2xl: 16px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background-color:var(--bg);color:var(--text);font-family:Manrope,ui-sans-serif,system-ui,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(at 12% 8%,rgba(167,139,255,.1) 0px,transparent 45%),radial-gradient(at 88% 12%,rgba(72,212,181,.07) 0px,transparent 50%),radial-gradient(at 50% 100%,rgba(255,111,156,.07) 0px,transparent 55%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.35;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}#root{position:relative;z-index:1}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#2a2a3d,#1f1f2e);border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#3a3a52,#2a2a3d);background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}::selection{background:#a78bff59;color:var(--text)}.mono,code,pre,.crumb{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.display-italic{font-family:Fraunces,ui-serif,Georgia,serif;font-style:italic;font-variation-settings:"SOFT" 100,"opsz" 144;letter-spacing:-.01em}a{color:var(--accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--text)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes glow-pulse{0%,to{box-shadow:0 0 #a78bff00}50%{box-shadow:0 0 24px 2px #a78bff59}}.anim-fade-in{animation:fade-in .24s ease-out both}.anim-fade-in-up{animation:fade-in-up .28s ease-out both}.anim-fade-in-down{animation:fade-in-down .22s ease-out both}.anim-scale-in{animation:scale-in .2s ease-out both}.shell{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;gap:2rem;padding:.875rem 1.75rem;background:#13131fb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.topbar .brand{display:inline-flex;align-items:baseline;gap:.4rem;font-family:Fraunces,serif;font-size:1.5rem;letter-spacing:-.01em;line-height:1}.topbar .brand .brand-grad{font-weight:600;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.topbar .brand .brand-italic{font-style:italic;font-variation-settings:"SOFT" 100,"opsz" 144;color:#ece9f4eb;font-weight:500}.topbar nav{display:flex;gap:.25rem;padding:.25rem;background:#1c1c2c99;border:1px solid var(--border);border-radius:var(--r-xl)}.topbar nav a{position:relative;padding:.4rem .85rem;border-radius:var(--r-lg);font-size:.875rem;color:var(--muted);transition:color .2s ease,background .2s ease}.topbar nav a:hover{color:var(--text);background:#1c1c2c99}.topbar nav a.active{color:var(--text);background:#1c1c2cf2}.topbar nav a.active:after{content:"";position:absolute;left:12%;right:12%;bottom:-2px;height:2px;border-radius:2px;background:var(--accent-grad)}.topbar .user{margin-left:auto;display:flex;align-items:center;gap:.85rem}.topbar .user .email{display:inline-flex;align-items:center;gap:.55rem;color:var(--muted-strong);font-size:.85rem}.topbar .user .avatar{width:30px;height:30px;border-radius:999px;background:var(--accent-grad);color:var(--bg);font-weight:600;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-glow-soft)}main{padding:2.25rem 2rem 3rem;position:relative;z-index:1}.page{width:100%;animation:fade-in .24s ease-out both}.page h2,.page h3{display:flex;align-items:center;gap:.75rem;font-family:Fraunces,ui-serif,Georgia,serif;font-style:italic;font-variation-settings:"SOFT" 100,"opsz" 144;letter-spacing:-.01em;font-weight:500;margin:0 0 1rem}.page h2{font-size:1.65rem}.page h3{font-size:1.15rem;margin-top:2.25rem}.page h2:after,.page h3:after{content:"";flex:1;height:1px;background:linear-gradient(to right,var(--border),transparent)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.card{position:relative;background:#13131fcc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--r-2xl);padding:1.25rem;overflow:hidden;transition:transform .2s var(--ease-out-quart),border-color .2s ease}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.06;background:var(--accent-grad)}.card:hover{transform:translateY(-2px);border-color:#a78bff66}.card>*{position:relative}.card-title{display:inline-flex;align-items:center;gap:.5rem;color:#8a8aa3d9;font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:600}.card-title:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--accent);box-shadow:0 0 8px var(--accent)}.card-value{font-family:Fraunces,serif;font-size:1.95rem;font-weight:600;margin:.55rem 0 .4rem;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;color:var(--text)}.card-value.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-size:1.5rem;letter-spacing:0}.card a{color:var(--accent);font-size:.85rem}.card a:hover{color:var(--text)}.card span{color:var(--muted);font-size:.8rem}input,textarea,select{background:#1c1c2cb3;color:var(--text);border:1px solid var(--border);border-radius:var(--r-xl);padding:.55rem .85rem;font-size:.9rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}input::placeholder,textarea::placeholder{color:#8a8aa3b3}input:focus,textarea:focus,select:focus{outline:none;border-color:#a78bff99;box-shadow:var(--shadow-glow-soft)}select{background:var(--panel-2);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8aa3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:1.8rem}.form-row{display:flex;gap:.6rem;margin:1rem 0 1.25rem;flex-wrap:wrap}.form-row input{flex:1;min-width:200px}.workspace-form{margin:1rem 0 1.25rem}.workspace-form .form-row{margin-bottom:.65rem}.ssh-fields{display:grid;grid-template-columns:minmax(180px,1.4fr) 96px minmax(140px,1fr) minmax(240px,2fr);gap:.6rem;align-items:start}.ssh-fields select,.ssh-fields textarea,.ssh-fields input[type=file]{min-width:0}.ssh-fields textarea{grid-column:1 / -1;min-height:130px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem}button{position:relative;border:none;cursor:pointer;font-family:inherit;font-weight:500;font-size:.875rem;padding:.55rem 1rem;border-radius:var(--r-xl);color:var(--bg);background:var(--accent-grad);background-size:200% 200%;animation:gradient-shift 6s ease infinite;overflow:hidden;transition:transform .2s var(--ease-out-quart),box-shadow .2s ease,opacity .2s ease;box-shadow:var(--shadow-glow-soft)}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-glow)}button:disabled{opacity:.5;cursor:not-allowed;transform:none;animation:none}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border);box-shadow:none;animation:none}button.secondary:hover:not(:disabled){border-color:#a78bff80;color:var(--accent);background:#a78bff0f;transform:translateY(-1px);box-shadow:none}button.danger{background:transparent;color:var(--sigil);border:1px solid rgba(255,111,156,.35);box-shadow:none;animation:none}button.danger:hover:not(:disabled){background:#ff6f9c14;border-color:var(--sigil);box-shadow:var(--shadow-sigil);transform:translateY(-1px)}button.small{padding:.3rem .65rem;font-size:.78rem;border-radius:var(--r-lg)}button.link{background:transparent;color:var(--accent);padding:.25rem 0;font-weight:400;font-size:.875rem;border-radius:0;animation:none;box-shadow:none}button.link:hover:not(:disabled){color:var(--text);transform:none;box-shadow:none}.btn-link{display:inline-flex;align-items:center;gap:.35rem;background:transparent;color:var(--text);border:1px solid var(--border);padding:.3rem .7rem;border-radius:var(--r-lg);font-size:.8rem;text-decoration:none;transition:border-color .2s ease,color .2s ease,background .2s ease}.btn-link:hover{border-color:#48d4b580;color:var(--verdigris);background:#48d4b50f;text-decoration:none}.table-wrap{background:#13131fb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--r-2xl);overflow:hidden}.table{width:100%;border-collapse:collapse;margin-top:1rem;background:#13131fb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--r-2xl);overflow:hidden}.table th,.table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--border);font-size:.875rem}.table th{background:#1c1c2cb3;color:#8a8aa3d9;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background .2s ease}.table tbody tr:hover{background:#a78bff0a}.table .empty{text-align:center;color:var(--muted);padding:2.5rem 1rem;font-family:Fraunces,serif;font-style:italic;font-variation-settings:"SOFT" 100,"opsz" 144;font-size:1rem}.badge{display:inline-block;padding:.18rem .55rem;border-radius:999px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border:1px solid transparent}.badge.ready{background:#48d4b51f;color:var(--verdigris);border-color:#48d4b54d}.badge.provisioning{background:#f0b95c1a;color:var(--aurum);border-color:#f0b95c4d}.badge.error{background:#ff6f9c1f;color:var(--sigil);border-color:#ff6f9c4d}.status-message{max-width:260px;margin-top:.35rem;color:var(--muted);font-size:.72rem;line-height:1.35;overflow-wrap:anywhere}.reachability{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.reachability span{width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 8px currentColor}.reachability.online{color:var(--verdigris)}.reachability.offline{color:var(--sigil)}.code,pre.code{background:#1c1c2cb3;border:1px solid var(--border);padding:1rem 1.15rem;border-radius:var(--r-2xl);overflow-x:auto;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.825rem;line-height:1.55;color:#ece9f4eb}p>code,li>code,td>code,span>code{background:#a78bff14;border:1px solid rgba(167,139,255,.18);color:var(--accent);padding:.1rem .4rem;border-radius:6px;font-size:.8em}.error{color:var(--sigil);margin:.6rem 0;font-size:.875rem;padding:.55rem .8rem;background:#ff6f9c14;border:1px solid rgba(255,111,156,.25);border-radius:var(--r-xl);animation:fade-in-down .22s ease-out both}.alert{background:#f0b95c14;border:1px solid rgba(240,185,92,.3);padding:1rem 1.15rem;border-radius:var(--r-2xl);margin:1rem 0;animation:fade-in-up .28s ease-out both}.alert strong{color:var(--aurum)}.alert .code{margin:.75rem 0}.loading{padding:3rem;text-align:center;color:var(--muted);font-family:Fraunces,serif;font-style:italic;font-variation-settings:"SOFT" 100,"opsz" 144;font-size:1.05rem}.muted{color:var(--muted)}.breadcrumbs{display:flex;align-items:center;gap:.15rem;background:#13131fb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:.55rem .85rem;border-radius:var(--r-xl);border:1px solid var(--border);margin-bottom:1rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.825rem;flex-wrap:wrap}.breadcrumbs .sep{color:#8a8aa399;margin:0 .15rem}.breadcrumbs .crumb{background:transparent;color:var(--accent);padding:.1rem .3rem;font-family:inherit;font-size:inherit;font-weight:400;border-radius:4px;animation:none;box-shadow:none;transition:color .2s ease,background .2s ease}.breadcrumbs .crumb:hover:not(:disabled){color:var(--text);background:#a78bff14;transform:none;box-shadow:none}.files-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.files-header .actions{display:flex;gap:.5rem;flex-wrap:wrap}.files-header h2{margin-bottom:.25rem}.files-header h2:after{display:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a14b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:100;padding:2rem;animation:fade-in .2s ease-out both}.modal{background:#13131ff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--r-2xl);width:100%;max-width:960px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lift);overflow:hidden;animation:scale-in .2s ease-out both}.modal-head{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:#1c1c2c73}.modal-head strong{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text)}.modal-head .muted{font-size:.78rem}.modal-foot{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;border-top:1px solid var(--border);background:#1c1c2c73;gap:.75rem;flex-wrap:wrap}.modal-body{padding:1rem 1.25rem;overflow:auto}.workspace-edit-modal{max-width:980px}.host-key-modal{max-width:900px}.host-key-grid{display:grid;grid-template-columns:120px minmax(0,1fr);gap:.65rem 1rem;align-items:start}.host-key-grid span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.host-key-grid code{overflow-wrap:anywhere}.secret-field{display:flex;flex-direction:column;gap:.35rem}.secret-field span,.secret-note{color:var(--muted);font-size:.72rem;line-height:1.3}.edit-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:.6rem;margin-bottom:.8rem}.edit-ssh-fields{margin-top:.8rem}.api-key-form{margin:1rem 0 1.25rem}.api-key-scope-modal{max-width:780px}.scope-picker{display:flex;flex-direction:column;gap:.65rem}.scope-picker select{max-width:280px}.workspace-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.45rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--r-xl);background:#1c1c2c59}.workspace-checks label{display:flex;align-items:center;gap:.5rem;color:var(--text)}.editor{flex:1;width:100%;min-height:50vh;background:#0a0a1499;color:var(--text);border:none;border-radius:0;padding:1.1rem 1.25rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.85rem;line-height:1.55;resize:none;outline:none}.editor:focus{box-shadow:none}.terminal-modal{max-width:1100px;height:85vh;max-height:85vh}.terminal-modal .modal-head{gap:.85rem;padding-right:.85rem}.term-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;padding:.18rem .55rem;border-radius:999px;border:1px solid transparent}.term-status .pip{width:6px;height:6px;border-radius:999px;background:currentColor;box-shadow:0 0 6px currentColor}.term-status-connecting{color:var(--aurum);background:#f0b95c1a;border-color:#f0b95c4d}.term-status-connecting .pip{animation:glow-pulse 1.4s ease-in-out infinite}.term-status-open{color:var(--verdigris);background:#48d4b51f;border-color:#48d4b54d}.term-status-closed{color:var(--muted);background:#8a8aa314;border-color:#8a8aa340}.term-status-error{color:var(--sigil);background:#ff6f9c1a;border-color:#ff6f9c4d}.terminal-host{flex:1;min-height:0;padding:.85rem .6rem .4rem;background:#0a0a14;display:flex}.terminal-host .xterm{width:100%;height:100%}.terminal-host .xterm-viewport{background:#0a0a14!important}.terminal-host .xterm-viewport::-webkit-scrollbar{width:8px}.terminal-host .xterm-viewport::-webkit-scrollbar-thumb{background:#a78bff40;border-radius:4px}.auth-page{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;overflow:hidden}.auth-page:before,.auth-page:after{content:"";position:absolute;border-radius:999px;filter:blur(80px);pointer-events:none;z-index:0}.auth-page:before{top:-160px;left:-160px;width:480px;height:480px;background:#a78bff40;animation:glow-pulse 4s ease-in-out infinite}.auth-page:after{bottom:-140px;right:-140px;width:420px;height:420px;background:#48d4b533}.auth-card{position:relative;z-index:1;background:#13131fd1;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--r-2xl);padding:2rem 1.85rem;width:100%;max-width:380px;box-shadow:var(--shadow-lift);animation:fade-in-up .28s ease-out both}.auth-card .brand{display:inline-flex;align-items:baseline;gap:.4rem;font-family:Fraunces,serif;font-size:1.85rem;line-height:1;letter-spacing:-.02em}.auth-card .brand .brand-grad{font-weight:600;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-card .brand .brand-italic{font-style:italic;font-variation-settings:"SOFT" 100,"opsz" 144;color:#ece9f4eb;font-weight:500}.auth-card h1{margin:0}.auth-card .sub{color:var(--muted);margin:.5rem 0 1.65rem;font-family:Fraunces,serif;font-style:italic;font-variation-settings:"SOFT" 100,"opsz" 144;font-size:1rem}.auth-card form{display:flex;flex-direction:column;gap:1rem}.auth-card label{display:flex;flex-direction:column;gap:.4rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:#8a8aa3d9;font-weight:600}.auth-card label input{text-transform:none;letter-spacing:normal;font-weight:400}.auth-card hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0 1rem}.auth-card .link{margin-top:.55rem;align-self:flex-start;font-size:.825rem}.oauth{display:flex;flex-direction:column;gap:.5rem}.oauth-btn{display:block;text-align:center;background:#1c1c2cb3;border:1px solid var(--border);padding:.55rem 1rem;border-radius:var(--r-xl);color:var(--text);font-size:.875rem;transition:border-color .2s ease,background .2s ease,color .2s ease}.oauth-btn:hover{border-color:#a78bff80;background:#a78bff0f;color:var(--accent);text-decoration:none}@media(max-width:720px){.topbar{padding:.75rem 1rem;gap:.85rem;flex-wrap:wrap}.topbar .user{order:3;margin-left:auto}.topbar nav{order:4;flex:1 1 100%;overflow-x:auto}.topbar nav a{white-space:nowrap}main{padding:1.5rem 1rem 2.5rem}.page h2{font-size:1.4rem}.files-header{align-items:flex-start}.ssh-fields,.edit-grid{grid-template-columns:1fr}}
