:root{--bg:#f4efe6;--surface:#fffdfa;--surface-soft:#f8f2e7;--ink:#1f2937;--ink-soft:#5f6b7a;--line:rgba(91,76,47,0.14);--accent:#0f766e;--accent-2:#5f44bc;--danger:#be3455;--radius-lg:24px;--radius-md:16px;--shadow:0 20px 60px rgba(23,32,51,0.1)}*{box-sizing:border-box}body,html{padding:0;margin:0;min-height:100%}body{font-family:Avenir Next,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(15,118,110,.08),transparent 24%),radial-gradient(circle at top right,rgba(95,68,188,.08),transparent 22%),linear-gradient(180deg,#f8f3ea 0,var(--bg) 100%)}a{color:inherit;text-decoration:none}main{width:min(1280px,calc(100vw - 28px));margin:18px auto 36px}.grid,.metric-strip,.shell-grid,.stack,.summary-grid,.surface-grid{display:grid;grid-gap:16px;gap:16px}.hero,.metric-card,.signin-card,.surface,.topbar{border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,253,249,.88);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero,.signin-card,.surface,.topbar{padding:18px 20px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center}.brand{display:flex;flex-direction:column;gap:4px}.brand strong,.hero h1,.surface h2,.surface h3{font-family:Iowan Old Style,Georgia,serif}.meta{line-height:1.6}.meta,.pill{color:var(--ink-soft)}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:.9rem}.status-pill{min-width:98px;justify-content:center;text-transform:capitalize}.status-ready{color:#0f766e;border-color:rgba(15,118,110,.22);background:rgba(15,118,110,.09)}.status-degraded{color:#b45309;border-color:rgba(180,83,9,.22);background:rgba(251,191,36,.12)}.status-disabled{color:var(--ink-soft);border-color:rgba(95,107,122,.22);background:rgba(95,107,122,.08)}.hero{background:radial-gradient(circle at top right,rgba(255,255,255,.18),transparent 32%),linear-gradient(135deg,#172033,#114a46 55%,#5f44bc);color:#f8fafc}.hero .meta{color:rgba(248,250,252,.86)}.shell-grid{grid-template-columns:260px minmax(0,1fr)}.surface-grid{grid-template-columns:1fr 1fr}.sidebar{display:grid;grid-gap:12px;gap:12px}.nav-link{display:block;padding:12px 14px;border-radius:14px;border:1px solid transparent;background:rgba(255,255,255,.58)}.nav-link.active{border-color:rgba(15,118,110,.2);background:rgba(15,118,110,.1)}.metric-card{padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,.72)}.metric-value{margin-top:6px;font-size:1.9rem;font-weight:700}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--ink-soft);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface)}.button.primary{border-color:transparent;color:white;background:linear-gradient(135deg,var(--accent),var(--accent-2))}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.metric-strip,.summary-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.codex-board,.codex-layout{display:grid;grid-gap:16px;gap:16px}.codex-tabs{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.codex-tab{flex:0 0 180px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.72);color:var(--ink);font:inherit;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.codex-instance-list{gap:12px}.codex-group{gap:10px}.codex-group-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.codex-group-header h3{margin:4px 0 0}.codex-instance-card{flex:1 1 auto;width:100%;justify-content:flex-start;align-items:flex-start;flex-direction:column}.codex-instance-head{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center}.codex-tab.active,.codex-tab:hover{transform:translateY(-1px);border-color:rgba(15,118,110,.26);background:linear-gradient(135deg,rgba(15,118,110,.1),rgba(95,68,188,.08))}.status-dot{width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 6px rgba(15,118,110,.08)}.status-dot.attached{background:#0f766e}.status-dot.idle{background:#d97706}.status-dot.needs-attention{background:var(--danger)}.codex-layout{grid-template-columns:minmax(0,2.1fr) minmax(280px,.9fr);align-items:start}.codex-stage{overflow:hidden;background:radial-gradient(circle at top left,rgba(15,118,110,.08),transparent 28%),linear-gradient(180deg,rgba(23,32,51,.04),rgba(255,255,255,.8))}.codex-stage-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.codex-stage-header h2{margin:4px 0 0}.codex-frame,.codex-placeholder{width:100%;min-height:620px;border-radius:20px}.codex-frame{border:1px solid rgba(23,32,51,.08);background:#0d1117}.codex-placeholder{display:grid;align-content:center;grid-gap:12px;gap:12px;padding:28px;border:1px dashed rgba(15,118,110,.28);background:radial-gradient(circle at top right,rgba(95,68,188,.1),transparent 24%),linear-gradient(180deg,rgba(23,32,51,.92),rgba(12,17,29,.98));color:#f8fafc}.codex-placeholder .meta{color:rgba(248,250,252,.72)}.codex-placeholder code{padding:12px 14px;border-radius:14px;border:1px solid rgba(248,250,252,.12);background:rgba(248,250,252,.06);word-break:break-all}.codex-sidebar-panel{display:grid;grid-gap:18px;gap:18px}.codex-note{padding:16px;border-radius:18px;border:1px solid var(--line);background:rgba(248,242,231,.8)}.codex-note p{margin:8px 0 0}.workspace-auth-shell{width:min(92vw,46rem);min-height:calc(100vh - 3rem);align-content:center;gap:clamp(1rem,2.5vw,1.5rem);margin:clamp(1rem,4vw,2.5rem) auto}.workspace-auth-card{width:min(100%,42rem);padding:clamp(1rem,3vw,1.5rem)}.workspace-auth-shell .hero{width:min(100%,46rem);padding:clamp(1.25rem,3.5vw,2rem)}.workspace-auth-shell .hero h1{margin:0;max-width:14ch;font-size:clamp(1.9rem,5vw,3.3rem);line-height:1.02}.workspace-auth-shell .hero .meta,.workspace-auth-shell .toolbar .meta{max-width:60ch;font-size:clamp(.92rem,1.6vw,1rem)}.form-field{gap:8px}.input{width:100%;min-height:clamp(2.9rem,6vw,3.3rem);padding:0 clamp(.85rem,2vw,1rem);border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.92);color:var(--ink);font:inherit;font-size:clamp(.95rem,1.8vw,1rem)}.error-text{color:var(--danger);font-weight:600}@media (min-width:900px){.workspace-auth-shell>.hero,.workspace-auth-shell>.workspace-auth-card{width:78%}}@media (max-width:640px){.workspace-auth-shell{min-height:auto}.workspace-auth-card,.workspace-auth-shell .hero{width:100%}.toolbar{align-items:stretch}.toolbar .button{width:100%;justify-content:center}}.workspace-ops-bar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.novnc-shell{display:grid;grid-gap:12px;gap:12px}.novnc-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center}.viewer-status{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;font-size:.9rem;text-transform:capitalize;background:rgba(255,255,255,.72);border:1px solid var(--line)}.viewer-status.connected{color:#0f766e}.viewer-status.connecting,.viewer-status.reconnecting{color:#d97706}.viewer-error,.viewer-status.error{color:var(--danger)}.viewer-error{padding:12px 14px;border-radius:16px;border:1px solid rgba(190,52,85,.16);background:rgba(190,52,85,.08)}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:rgba(23,32,51,.38);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.launcher-modal{width:min(560px,calc(100vw - 32px))}.select{min-height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface)}@media (max-width:960px){.codex-layout,.metric-strip,.shell-grid,.summary-grid,.summary-grid-3,.surface-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.codex-stage-header,.novnc-toolbar,.topbar,.workspace-ops-bar{flex-direction:column}}