.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.plans .plan{padding:32px}.plans .price{font-size:60px}.plans-note{margin-top:18px;max-width:none}.live-pricing{grid-template-columns:1fr;gap:40px}.live-pricing-page{border-top:1px solid var(--line)}.own-plan-note{border-top:1px solid var(--line)}.own-plan-note .lead{margin:24px 0 18px;max-width:760px}.own-plan-note code{font:13px Mono,monospace;background:var(--pale);border:1px solid var(--line);padding:2px 7px;border-radius:4px}.seat-full{padding:16px;background:#fff8e3;border:1px solid #e3d29a;border-radius:4px;font-size:14px;color:var(--ink)}.plans .plan{display:flex;flex-direction:column}.plans .plan .button{margin-top:auto}.plans .plan ul{margin-bottom:28px}.plan-full{margin-top:auto}@media(max-width:1180px){.plans .price{font-size:48px}}@media(max-width:1000px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}.plans .plan-max{grid-column:1/-1}}@media(max-width:800px){.plans{grid-template-columns:1fr}}.plan .price span{color:#4f5a52}
/* Paid TESI Chat isolated scroll viewport, Jump-to-latest pill, and sticky composer polish */
.chat{min-width:0;min-height:0}.chat-main{min-width:0;min-height:0;display:flex;flex-direction:column}html:not(.tesi-workspace-active) #app:where(:has(#chat-view-chat:not([hidden]):not([data-empty]))){min-height:0;padding-bottom:0}html:not(.tesi-workspace-active) body:where(:has(#chat-view-chat:not([hidden]):not([data-empty])))>footer{display:none}@media(min-width:861px){html:not(.tesi-workspace-active) .chat:where(:has(#chat-view-chat:not([hidden]):not([data-empty]))) .chat-side{max-height:var(--chat-avail-h,calc(100vh - 24px))}}#chat-view-chat:not([hidden]):not([data-empty]){display:flex;flex-direction:column;flex:1 1 auto;min-height:0;position:relative}.chat-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;overflow-anchor:none}.chat-jump-wrap{position:relative;height:0;overflow:visible;z-index:6;display:flex;justify-content:center;pointer-events:none;flex:0 0 0}.chat-jump-latest{position:absolute;bottom:10px;pointer-events:auto;display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;background:#132720;color:#eafbf0;border:1px solid #355849;box-shadow:0 8px 24px #04100c33;font:500 12.5px Geist,system-ui,sans-serif;cursor:pointer;white-space:nowrap}.chat-jump-latest[hidden]{display:none!important}.chat-composer textarea{max-height:200px;overflow-y:auto;overscroll-behavior-y:contain;box-sizing:border-box}.chat-reply,.chat-answer,.md{min-width:0;max-width:100%}.md pre{overflow-x:auto;max-width:100%;box-sizing:border-box}
/* === Inline Computer & Split Workspace (owned by live.js / @inline-computer) === */
html.tesi-workspace-active,
html.tesi-workspace-active body{height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;margin:0}
html.tesi-workspace-active #site-notice{flex:none}
html.tesi-workspace-active .preview{flex:none;padding:3px 8px;font-size:10px;line-height:1.3}
html.tesi-workspace-active header.wrap{flex:none;width:calc(100% - 24px);max-width:none;border-bottom:1px solid var(--line)}
html.tesi-workspace-active header nav{min-height:44px;padding:2px 0}
html.tesi-workspace-active header .brand{font-size:22px}
html.tesi-workspace-active header .brand-spark{font-size:24px}
html.tesi-workspace-active footer{display:none}
html.tesi-workspace-active #app{flex:1 1 0%;min-height:0;width:100%;max-width:none;margin:0;padding:6px 12px 10px;display:flex;flex-direction:column;gap:6px;overflow:hidden}
html.tesi-workspace-active #app>.smallhero.compact{flex:none;padding:0 2px;margin:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
html.tesi-workspace-active #app>.smallhero.compact .eyebrow{margin:0;font-size:10px;line-height:1.2}
html.tesi-workspace-active #app>.smallhero.compact h1{font-size:16px;line-height:1.2;margin:0;font-weight:600;letter-spacing:-.02em}
html.tesi-workspace-active #app>.smallhero.compact .lead{font-size:12px;line-height:1.3;margin:0;max-width:none;color:#596352;flex:1 1 220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.tesi-workspace-active #app>.status,
html.tesi-workspace-active #app>.suggestion{flex:none;margin:0;padding:8px 12px;font-size:13px}
html.tesi-workspace-active #app>.task-handoff{flex:none;padding:10px 14px;margin:0;max-height:24vh;overflow:auto}
html.tesi-workspace-active #app>.task-handoff h3{font-size:15px;margin:0 0 4px}
html.tesi-workspace-active #app>.task-handoff .selected-task{min-height:42px;max-height:60px;margin:4px 0;padding:6px 8px;font-size:13px}
html.tesi-workspace-active #app>.task-handoff button{padding:6px 12px;font-size:12px;margin:4px 6px 2px 0}
html.tesi-workspace-active #app>.task-handoff p{margin:4px 0 0}

.tesi-workspace-shell{--tesi-computer-pct:50%;position:relative;flex:1 1 0%;min-height:0;min-width:0;display:flex;flex-direction:row;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.tesi-workspace-shell[data-dragging=true]{user-select:none;cursor:col-resize}
.tesi-workspace-shell[data-dragging=true] iframe{pointer-events:none!important}

/* Mobile segmented switcher (hidden on desktop > 960px) */
.tesi-mobile-switcher{display:none;flex:none;align-items:center;gap:6px;padding:6px 8px;background:#eef1e7;border-bottom:1px solid var(--line)}
.tesi-mobile-tab{flex:1 1 0%;display:inline-flex;align-items:center;justify-content:center;gap:7px;margin:0;padding:8px 12px;min-height:38px;border-radius:7px;border:1px solid transparent;background:transparent;color:#465349;font:600 13px/1.2 Geist,Arial,sans-serif;cursor:pointer}
.tesi-mobile-tab:hover{background:#e3e8da;color:var(--ink);filter:none}
.tesi-mobile-tab[aria-selected=true]{background:#fffefa;border-color:#c4cebd;color:var(--ink);box-shadow:0 1px 3px #17211e12}
.tesi-mobile-tab .inline-status-dot{flex:none}
.tesi-mobile-tab-state{font:500 11px/1 Mono,ui-monospace,monospace;color:#526356;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}

/* Left pane: Paid TESI Chat */
.tesi-chat-pane{flex:1 1 0%;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:10px 12px 0;box-sizing:border-box}
.tesi-chat-pane>.chat{flex:1 0 auto;min-width:0;grid-template-columns:188px minmax(0,1fr);gap:14px}
.tesi-chat-pane:has(#chat-view-chat:not([hidden]):not([data-empty]) .chat-scroll){overflow-y:hidden}
.tesi-chat-pane:has(#chat-view-chat:not([hidden]):not([data-empty]) .chat-scroll)>.chat{flex:1 1 0%;min-height:0;height:100%}
.tesi-chat-pane .chat-side{top:0;max-height:100%;max-height:var(--tesi-chat-pane-h,100%);padding:10px;gap:12px;box-sizing:border-box}
@media(max-width:860px){.tesi-chat-pane .chat-side{max-height:none}}
/* Hide chat.js's empty .chat-computer wrapper unless Stage Open is triggered from chat */
html.tesi-workspace-active .chat-computer:not([data-view=open]){position:fixed!important;left:-20000px!important;top:0!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;overflow:hidden!important;visibility:hidden!important;pointer-events:none!important}
html.tesi-workspace-active .chat-computer[data-view=open]{position:fixed;top:max(10px,2.5vh);left:max(10px,2.5vw);right:max(10px,2.5vw);bottom:auto;height:44px;z-index:63;margin:0;padding:6px 12px;border-radius:10px 10px 0 0;background:#132720;color:#eafbf0;border:1px solid #32473d;border-bottom:0;box-shadow:none;display:flex;flex-direction:row;align-items:center}
html.tesi-workspace-active .chat-computer[data-view=open] .chat-computer-bar{margin:0;width:100%;flex-wrap:nowrap}
html.tesi-workspace-active .chat-computer[data-view=open] .chat-computer-bar strong{color:#eafbf0}
html.tesi-workspace-active .chat-computer[data-view=open] .chat-computer-hint{color:#9fc0ac;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.tesi-workspace-active .chat-computer[data-view=open] #chat-computer-close{background:#eafbf0;color:#132720;border-color:#eafbf0;padding:5px 12px;font-size:12px;margin:0}
html.tesi-workspace-active .chat-computer[data-view=open] .chat-computer-body{display:none}

/* Draggable Split Divider */
.tesi-split-divider{flex:0 0 10px;width:10px;margin:0;padding:0;background:#eef1e7;border-left:1px solid var(--line);border-right:1px solid var(--line);cursor:col-resize;display:flex;align-items:center;justify-content:center;touch-action:none;position:relative;z-index:5;transition:background .15s}
.tesi-split-divider:hover,.tesi-split-divider:focus-visible,.tesi-workspace-shell[data-dragging=true] .tesi-split-divider{background:#dce7d6;outline:none}
.tesi-split-divider::after{content:'';width:2px;height:36px;border-radius:2px;background:#8fa18e}
.tesi-split-divider:hover::after,.tesi-workspace-shell[data-dragging=true] .tesi-split-divider::after{background:#2d4a3b;height:48px}

/* Right pane: First-class Inline Computer */
.tesi-computer-pane{width:var(--tesi-computer-pct,50%);flex:0 0 var(--tesi-computer-pct,50%);min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;background:#0c1917;color:#d1f5dd;overflow:hidden}

/* Desktop Mode: Computer Focus / Wide (~70% computer, ~30% chat) */
@media(min-width:961px){
 .tesi-workspace-shell[data-mode=computer] .tesi-computer-pane{width:70%;flex:0 0 70%}
 .tesi-workspace-shell[data-mode=computer] .tesi-chat-pane>.chat,
 .tesi-workspace-shell[data-chat-compact=true] .tesi-chat-pane>.chat{display:block}
 .tesi-workspace-shell[data-mode=computer] .tesi-chat-pane .chat-topbar,
 .tesi-workspace-shell[data-chat-compact=true] .tesi-chat-pane .chat-topbar{display:flex;align-items:center;gap:10px;margin:0 0 10px}
 .tesi-workspace-shell[data-mode=computer] .tesi-chat-pane .chat-side,
 .tesi-workspace-shell[data-chat-compact=true] .tesi-chat-pane .chat-side{position:fixed;z-index:61;top:0;left:0;bottom:0;width:min(280px,86vw);max-height:none;border-radius:0;border-width:0 1px 0 0;transform:translateX(-105%);visibility:hidden;box-shadow:0 0 60px #04100c50}
 .tesi-workspace-shell[data-mode=computer] .tesi-chat-pane .chat[data-menu=open] .chat-side,
 .tesi-workspace-shell[data-chat-compact=true] .tesi-chat-pane .chat[data-menu=open] .chat-side{transform:none;visibility:visible}

 /* Desktop Mode: Chat Focus (collapses computer to sleek live status strip / mini-header; keeps iframe alive off-screen!) */
 .tesi-workspace-shell[data-mode=chat]{flex-direction:column}
 .tesi-workspace-shell[data-mode=chat] .tesi-split-divider{display:none}
 .tesi-workspace-shell[data-mode=chat] .tesi-computer-pane{order:-1;width:100%;flex:none;height:auto;border-bottom:1px solid #2b4238}
 .tesi-workspace-shell[data-mode=chat] .tesi-computer-pane .computer-panel{position:fixed;left:-20000px;top:0;width:1280px;height:800px;visibility:hidden;pointer-events:none}
 .tesi-workspace-shell[data-mode=chat] .tesi-computer-pane .computer-panel dialog{visibility:visible;pointer-events:auto}
 .tesi-workspace-shell[data-mode=chat] .inline-only-expanded{display:none}
}
@media(min-width:961px){
 .tesi-workspace-shell:not([data-mode=chat]) .inline-expand-btn{display:none}
}

/* Stage Open overlay (when user clicks a presented localhost card, #chat-computer-open, or /open) */
.tesi-workspace-shell[data-stage-open=true] .tesi-computer-pane{position:fixed!important;top:calc(max(10px,2.5vh) + 44px)!important;left:max(10px,2.5vw)!important;right:max(10px,2.5vw)!important;bottom:max(10px,2.5vh)!important;width:auto!important;height:auto!important;flex:none!important;z-index:62!important;visibility:visible!important;pointer-events:auto!important;border:1px solid #32473d;border-top:0;border-radius:0 0 10px 10px;box-shadow:0 30px 120px #04100c90}
.tesi-workspace-shell[data-stage-open=true] .tesi-computer-pane .computer-panel{position:static!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;flex:1 1 0%!important;visibility:visible!important;pointer-events:auto!important}
.tesi-workspace-shell[data-stage-open=true] .inline-computer-header,
.tesi-workspace-shell[data-stage-open=true] .computer-sleep-note{display:none!important}

/* Refined Inline Computer Header Bar */
.inline-computer-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:6px 10px;background:#10211b;border-bottom:1px solid #263b32;font-size:12px}
.inline-computer-status-wrap{display:inline-flex;align-items:center;gap:7px;min-width:0}
.inline-computer-title{font:600 11px/1 Mono,ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:#9fc0ac}
.inline-computer-status{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;background:#162c24;border:1px solid #2b453a;color:#dff7e8;font:500 11.5px/1.2 Geist,Arial,sans-serif;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.inline-status-dot{width:7px;height:7px;border-radius:50%;background:#94a39b;flex:none}
.inline-computer-status[data-state=ready] .inline-status-dot,
.tesi-mobile-tab[data-state=ready] .inline-status-dot{background:#4ade80;box-shadow:0 0 6px #4ade8088}
.inline-computer-status[data-state=starting] .inline-status-dot,
.inline-computer-status[data-state=reconnecting] .inline-status-dot,
.tesi-mobile-tab[data-state=starting] .inline-status-dot,
.tesi-mobile-tab[data-state=reconnecting] .inline-status-dot{background:#fbbf24}
.inline-computer-status[data-state=capacity] .inline-status-dot,
.tesi-mobile-tab[data-state=capacity] .inline-status-dot{background:#f59e0b}
.inline-computer-status[data-state=sleeping] .inline-status-dot,
.tesi-mobile-tab[data-state=sleeping] .inline-status-dot{background:#60a5fa}
.inline-computer-status[data-state=disconnected] .inline-status-dot,
.tesi-mobile-tab[data-state=disconnected] .inline-status-dot{background:#f87171}

.inline-computer-controls{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-left:auto}
.inline-mode-group{display:inline-flex;align-items:center;background:#0a1512;border:1px solid #294036;border-radius:6px;padding:1px;gap:1px}
.inline-ctrl-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;margin:0;padding:4px 8px;min-height:26px;border-radius:5px;border:1px solid #2d463b;background:#152a22;color:#cfe8d8;font:500 11.5px/1.1 Geist,Arial,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}
.inline-ctrl-btn:hover{background:#1e3a30;color:#fff;text-decoration:none;filter:none}
.inline-mode-group .inline-ctrl-btn{border:0;background:transparent;padding:4px 8px;border-radius:4px;color:#9fc0ac}
.inline-mode-group .inline-ctrl-btn:hover{background:#172e25;color:#eafbf0}
.inline-mode-group .inline-ctrl-btn[aria-pressed=true]{background:#25493b;color:#fff;font-weight:600}
.inline-ctrl-btn[aria-pressed=true]:not(.inline-mode-btn){background:#25493b;border-color:#4b7a65;color:#fff}
.inline-expand-btn{background:#214637;border-color:#3f725c;color:#eafbf0;font-weight:600}

/* Computer panel inside right pane */
.tesi-computer-pane .computer-panel{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;border:0;border-radius:0;box-shadow:none;background:#0c1917;overflow:hidden}
.tesi-computer-pane .computer-toolbar{flex:none;padding:7px 10px;gap:6px;flex-wrap:wrap;font-size:12px;background:#132720;border-bottom:1px solid #243b31}
.tesi-computer-pane .computer-toolbar strong{font-size:13px;margin-right:4px}
.tesi-computer-pane .computer-toolbar .computer-connection{font-size:11.5px;color:#b6d4c2;min-width:120px}
.tesi-computer-pane .computer-toolbar button{margin:0;padding:4px 9px;font-size:11.5px;min-height:26px;border-radius:5px}

/* Viewport & Scaling (Fit vs Actual Size) */
.computer-viewport{position:relative;flex:1 1 0%;min-height:0;min-width:0;overflow:hidden;background:#070d0b;display:flex;align-items:center;justify-content:center}
.tesi-workspace-shell[data-scale=actual] .computer-viewport{overflow:auto;align-items:flex-start;justify-content:flex-start}
.tesi-computer-pane .computer-display{height:100%;width:100%;min-height:0;display:grid;place-items:center;flex:none}
.tesi-computer-pane .computer-display[data-inline-scaled=fit]{width:var(--inline-w,1280px);height:var(--inline-h,800px);transform:scale(var(--inline-scale,1));transform-origin:0 0;margin:0 calc(var(--inline-w,1280px) * (var(--inline-scale,1) - 1)) calc(var(--inline-h,800px) * (var(--inline-scale,1) - 1)) 0}
.tesi-computer-pane .computer-display[data-inline-scaled=actual]{width:var(--inline-w,1280px);height:var(--inline-h,800px);transform:none;margin:0}
.tesi-computer-pane .computer-panel:fullscreen .computer-viewport{flex:1 1 0%;overflow:hidden;align-items:stretch;justify-content:stretch}
.tesi-computer-pane .computer-panel:fullscreen .computer-display{width:100%!important;height:100%!important;transform:none!important;margin:0!important}

.computer-sleep-note{flex:none;margin:0;padding:4px 10px;background:#0e1d18;border-top:1px solid #1e332a;color:#8fb09d;font-size:11px;line-height:1.35}

/* Scroll & Focus Isolation Shield + Interactive Focus Pill */
.tesi-workspace-shell:not([data-computer-interactive=true]):not([data-stage-open=true]) .computer-panel:not(:fullscreen) .computer-display iframe{pointer-events:none!important}
.tesi-workspace-shell[data-computer-interactive=true] .computer-display iframe,
.tesi-workspace-shell[data-stage-open=true] .computer-display iframe,
.computer-panel:fullscreen .computer-display iframe{pointer-events:auto}

.computer-focus-shield{position:absolute;inset:0;z-index:3;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:transparent;touch-action:pan-y}
.computer-focus-shield[hidden],
.tesi-workspace-shell[data-computer-interactive=true] .computer-focus-shield,
.tesi-workspace-shell[data-stage-open=true] .computer-focus-shield,
.computer-panel:fullscreen .computer-focus-shield{display:none!important}
.computer-focus-shield-hint{padding:5px 12px;border-radius:999px;background:#0c1917d9;border:1px solid #355748;color:#d6f5e3;font:500 11.5px/1.2 Geist,Arial,sans-serif;opacity:.82;transition:opacity .15s,transform .15s;pointer-events:none}
.computer-focus-shield:hover .computer-focus-shield-hint{opacity:1;border-color:#5eead4}

.tesi-workspace-shell[data-computer-interactive=true] .tesi-computer-pane{box-shadow:inset 0 0 0 2px #4ade80}
.computer-focus-pill{position:absolute;top:8px;right:10px;z-index:4;display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;background:#0b1915eb;border:1px solid #4ade8099;color:#eafbf0;font:500 11px/1.2 Geist,Arial,sans-serif;box-shadow:0 4px 14px #00000055}
.computer-focus-pill[hidden],
.tesi-workspace-shell:not([data-computer-interactive=true]) .computer-focus-pill,
.tesi-workspace-shell[data-stage-open=true] .computer-focus-pill{display:none!important}
.computer-focus-pill-exit{margin:0;padding:2px 7px;min-height:20px;border-radius:999px;border:1px solid #3c6854;background:#19352b;color:#d6f5e3;font:500 10.5px/1.1 Geist,Arial,sans-serif;cursor:pointer}
.computer-focus-pill-exit:hover{background:#254d3e;color:#fff;filter:none}

/* Narrow / Mobile Viewports (<= 960px): Segmented Chat | Computer switcher without unmounting iframe */
@media(max-width:960px){
 html.tesi-workspace-active #app{padding:4px 6px 6px;gap:4px}
 html.tesi-workspace-active #app>.smallhero.compact .eyebrow,
 html.tesi-workspace-active #app>.smallhero.compact .lead{display:none}
 html.tesi-workspace-active #app>.smallhero.compact h1{font-size:14px}
 .tesi-workspace-shell{flex-direction:column}
 .tesi-mobile-switcher{display:flex}
 .tesi-split-divider{display:none!important}
 .inline-mode-group,.inline-expand-btn{display:none!important}
 .tesi-workspace-shell:not([data-mobile-view=computer]) .tesi-chat-pane{width:100%;flex:1 1 0%;min-height:0;padding:8px 8px 0}
 .tesi-workspace-shell:not([data-mobile-view=computer]):not([data-stage-open=true]) .tesi-computer-pane{position:fixed;left:-20000px;top:0;width:1024px;height:640px;flex:none;visibility:hidden;pointer-events:none}
 .tesi-workspace-shell:not([data-mobile-view=computer]):not([data-stage-open=true]) .tesi-computer-pane dialog{visibility:visible;pointer-events:auto}
 .tesi-workspace-shell[data-mobile-view=computer] .tesi-chat-pane{position:fixed;left:-20000px;top:0;width:100vw;height:600px;flex:none;visibility:hidden;pointer-events:none;overflow:hidden}
 .tesi-workspace-shell[data-mobile-view=computer] .tesi-computer-pane{position:relative;left:auto;top:auto;width:100%;flex:1 1 0%;min-height:0;visibility:visible;pointer-events:auto}
 .inline-ctrl-btn{min-height:32px;padding:5px 9px}
}
/* Phone header: the logo and the links are centred on one row. tesi.css makes the first two links display:inline at 650px, which a flex container turns into plain blocks, so their text sat at the top of their 44px boxes, above the logo. */
@media(max-width:650px){header .navlinks>a:first-child,header .navlinks>a:nth-child(2),header .navlinks>a:nth-child(3){display:inline-flex;align-items:center}}
.computer-panel:fullscreen .computer-toolbar{position:relative;z-index:5}.computer-toolbar .computer-exit-fullscreen{background:#c5f5d7;color:#17211e;border-color:#c5f5d7;font-weight:600}
