/**
 * 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-base:#0A0A0B;--bg-base-alt:#0E0E11;--surface-1:#141417;--surface-2:#1B1B1F;--surface-3:#232328;--surface-glass:rgba(20,20,23,.6);--border-subtle:rgba(255,255,255,.06);--border-default:rgba(255,255,255,.1);--border-strong:rgba(255,255,255,.16);--brand-pink:#E61363;--brand-violet:#7C3AED;--brand-purple:#A855F7;--accent-blue:#3B82F6;--accent-cyan:#22D3EE;--grad-brand:linear-gradient(135deg,#FF4D8D 0%,#E61363 38%,#A855F7 72%,#7C3AED 100%);--grad-brand-text:linear-gradient(90deg,#FF6FA5 0%,#C13BD6 100%);--success:#22C55E;--warning:#F59E0B;--error:#EF4444;--text-primary:#F5F5F7;--text-secondary:#A1A1AA;--text-tertiary:#6B6B73;--radius-sm:10px;--radius-md:14px;--radius-lg:16px;--radius-xl:20px;--shadow-card:0 4px 16px rgba(0,0,0,.4);--shadow-pop:0 16px 48px rgba(0,0,0,.55);--ease:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-base);color:var(--text-primary);font-family:Inter,system-ui,sans-serif;letter-spacing:-.011em;font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;letter-spacing:-.02em}.mono{font-family:JetBrains Mono,ui-monospace,monospace}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:6px;border:2px solid var(--bg-base)}::-webkit-scrollbar-thumb:hover{background:#33333a}.muted{color:var(--text-secondary)}.dim{color:var(--text-tertiary)}.grad-text{background:var(--grad-brand-text);-webkit-background-clip:text;background-clip:text;color:transparent}.row{display:flex;align-items:center;gap:12px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column}.btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 22px;font:600 15px/1 Inter,sans-serif;letter-spacing:-.01em;cursor:pointer;border:none;border-radius:9999px;transition:all .18s var(--ease);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{height:36px;padding:0 16px;font-size:13.5px}.btn-primary{color:#fff;background:var(--grad-brand);background-size:160% 160%;background-position:0% 50%;box-shadow:0 8px 24px #e6136352,inset 0 1px #ffffff2e}.btn-primary:hover:not(:disabled){background-position:100% 50%;box-shadow:0 10px 30px #a855f766}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-ghost{color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border-default)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong)}.btn-subtle{color:var(--text-secondary);background:transparent;border:1px solid transparent}.btn-subtle:hover:not(:disabled){color:var(--text-primary);background:var(--surface-2)}.btn-danger{color:#fff;background:var(--error)}.chip{padding:8px 15px;border-radius:9999px;cursor:pointer;font:500 13px/1 Inter;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border-subtle);transition:all .15s var(--ease)}.chip:hover{color:var(--text-primary);background:var(--surface-3);border-color:var(--border-strong)}.prompt-box{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px 16px 14px;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:0 12px 40px #00000073;transition:border-color .2s,box-shadow .2s}.prompt-box:focus-within{border-color:#e613638c;box-shadow:0 0 0 1px #e6136373,0 12px 48px #e6136338,0 0 60px #7c3aed2e}.prompt-box textarea{width:100%;min-height:54px;resize:none;background:transparent;border:none;outline:none;color:var(--text-primary);font:400 16px/1.5 Inter}.prompt-box textarea::placeholder{color:var(--text-tertiary)}.prompt-send{width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#e61363,#7c3aed);box-shadow:0 4px 14px #e6136366;transition:transform .15s,filter .15s;flex:0 0 auto}.prompt-send:hover:not(:disabled){filter:brightness(1.1);transform:scale(1.06)}.prompt-send:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.glass{background:var(--surface-glass);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}.nav{position:sticky;top:0;z-index:50;height:64px;display:flex;align-items:center;gap:24px;padding:0 28px;border-bottom:1px solid var(--border-subtle);background:var(--surface-glass);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}.brand{font-weight:700;font-size:19px;letter-spacing:-.03em;display:flex;align-items:center;gap:8px}.brand .mark{width:26px;height:26px;border-radius:8px;background:var(--grad-brand);display:grid;place-items:center;box-shadow:0 0 16px #e6136380}.mesh{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.mesh:before,.mesh:after{content:"";position:absolute;border-radius:50%;filter:blur(90px);opacity:.5}.mesh:before{width:600px;height:600px;top:-120px;left:-80px;background:radial-gradient(circle,rgba(230,19,99,.5),transparent 65%)}.mesh:after{width:620px;height:620px;bottom:-160px;right:-100px;background:radial-gradient(circle,rgba(124,58,237,.5),transparent 65%)}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.proj-card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .18s var(--ease),border-color .18s,box-shadow .18s}.proj-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 12px 32px #00000080,0 0 32px #e613631f}.proj-thumb{aspect-ratio:16/10;border-bottom:1px solid var(--border-subtle);position:relative;overflow:hidden;background:radial-gradient(120% 120% at 20% 0%,rgba(230,19,99,.35),transparent 60%),radial-gradient(120% 120% at 100% 100%,rgba(124,58,237,.35),transparent 60%),#0e0e11}.proj-thumb iframe{position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:top left;border:0;pointer-events:none}.proj-card .body{padding:14px 16px}.proj-new{border:1px dashed var(--border-default);display:grid;place-items:center;min-height:220px;color:var(--text-secondary)}.proj-new:hover{border-color:var(--brand-pink);color:var(--text-primary)}.builder{display:grid;grid-template-rows:52px 1fr;height:100vh}.builder-top{display:flex;align-items:center;gap:12px;padding:0 14px;background:var(--surface-1);border-bottom:1px solid var(--border-subtle)}.builder-body{display:grid;grid-template-columns:minmax(380px,40%) 1fr;min-height:0}.chat-panel{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border-subtle);background:var(--bg-base)}.chat-scroll{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.preview-panel{display:flex;flex-direction:column;min-height:0;background:var(--bg-base-alt);background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:24px 24px}.seg{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:var(--bg-base-alt);border:1px solid var(--border-subtle)}.seg button{padding:6px 14px;border:none;border-radius:8px;cursor:pointer;font:600 13px/1 Inter;color:var(--text-secondary);background:transparent;transition:all .15s}.seg button[aria-selected=true]{color:var(--text-primary);background:var(--surface-3)}.vp-switch{display:inline-flex;gap:2px}.vp-switch button{width:34px;height:34px;border-radius:8px;border:none;cursor:pointer;color:var(--text-tertiary);background:transparent;display:grid;place-items:center;transition:all .15s}.vp-switch button:hover{color:var(--text-primary);background:var(--surface-2)}.vp-switch button.active{color:var(--text-primary);background:var(--surface-3)}.msg-user{margin-left:auto;max-width:85%;padding:12px 16px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:16px 16px 4px;color:var(--text-primary);font:400 14.5px/1.6 Inter;white-space:pre-wrap}.msg-ai{display:flex;gap:12px;max-width:96%;color:#e7e7ea;font:400 14.5px/1.65 Inter}.msg-ai .avatar{flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#ff4d8d,#7c3aed);box-shadow:0 0 12px #e6136366}.msg-ai .content{white-space:pre-wrap;padding-top:1px}.file-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;margin:4px 6px 0 0;border-radius:8px;background:var(--surface-2);border:1px solid var(--border-subtle);font:500 12px/1.2 JetBrains Mono;color:var(--text-secondary)}.thinking{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px}.dots span{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px;background:linear-gradient(135deg,#22d3ee,#e61363);animation:pulse 1.2s infinite ease-in-out}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.composer{padding:14px;border-top:1px solid var(--border-subtle)}.preview-stage{flex:1;display:grid;place-items:center;min-height:0;padding:24px;overflow:auto}.frame-desktop{width:100%;height:100%;border-radius:12px;overflow:hidden;border:1px solid var(--border-subtle);background:#fff;display:flex;flex-direction:column}.frame-bar{height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--surface-2);border-bottom:1px solid var(--border-subtle)}.frame-dot{width:11px;height:11px;border-radius:50%}.frame-url{flex:1;height:24px;border-radius:7px;background:var(--surface-3);color:var(--text-tertiary);font:400 12px/24px JetBrains Mono;padding:0 12px;overflow:hidden;white-space:nowrap}.frame-phone{width:390px;max-width:90%;height:90%;max-height:780px;border-radius:44px;border:1px solid rgba(255,255,255,.12);background:#000;padding:10px;box-shadow:0 30px 80px #0009}.frame-phone iframe,.frame-desktop iframe{width:100%;height:100%;border:0;background:#fff}.frame-phone iframe{border-radius:34px}.field{margin-bottom:16px}.field label{display:block;margin-bottom:7px;font:500 13px/1 Inter;color:var(--text-secondary)}.input,.select{width:100%;height:42px;padding:0 13px;font:400 14.5px/1 Inter;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);outline:none;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus{border-color:#e6136380;box-shadow:0 0 0 3px #e6136324}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#08080aa6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:100;padding:16px}.modal{background:var(--surface-1);border:1px solid var(--border-default);border-radius:24px;box-shadow:var(--shadow-pop);max-width:520px;width:100%;padding:26px;animation:rise .2s var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:9999px;font:600 12px/1 Inter}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-free{color:var(--text-secondary);background:var(--surface-2)}.badge-pro{color:#fff;background:linear-gradient(135deg,#e61363,#7c3aed)}.badge-unlimited{color:#fff;background:linear-gradient(135deg,#f59e0b,#e61363)}.badge-live{color:var(--success);background:#22c55e1f}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;padding:11px 14px;font:600 12px/1 Inter;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle)}.table td{padding:12px 14px;border-bottom:1px solid var(--border-subtle)}.toasts{position:fixed;bottom:22px;right:22px;z-index:200;display:flex;flex-direction:column;gap:10px}.toast{display:flex;align-items:center;gap:10px;padding:13px 17px;background:var(--surface-1);border:1px solid var(--border-default);border-left:3px solid var(--brand-pink);border-radius:12px;box-shadow:var(--shadow-pop);font-size:14px;min-width:240px;animation:slidein .3s var(--ease)}.toast.error{border-left-color:var(--error)}.toast.success{border-left-color:var(--success)}@keyframes slidein{0%{transform:translate(360px);opacity:0}to{transform:none;opacity:1}}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;display:inline-block}.spinner.brand{border-color:#e6136340;border-top-color:var(--brand-pink)}@keyframes spin{to{transform:rotate(360deg)}}.center{display:grid;place-items:center;height:100%}.container{max-width:1200px;margin:0 auto;padding:0 24px}@media (max-width:820px){.builder-body{grid-template-columns:1fr;grid-template-rows:1fr}.chat-panel{display:none}.chat-panel.show{display:flex}.preview-panel.hide{display:none}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.app-shell{display:grid;grid-template-columns:248px 1fr;height:100vh}.side{background:#0c0c0e;border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:14px 12px;gap:4px;overflow-y:auto}.side .ws{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;cursor:pointer}.side .ws:hover{background:var(--surface-2)}.side .ws .ava{width:26px;height:26px;border-radius:8px;background:var(--grad-brand);display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff}.side-label{font:600 11px/1 Inter;text-transform:uppercase;letter-spacing:.6px;color:var(--text-tertiary);padding:14px 12px 6px}.side-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:10px;cursor:pointer;color:var(--text-secondary);font-size:14px;font-weight:500;transition:background .15s,color .15s}.side-item:hover,.side-item.active{background:var(--surface-2);color:var(--text-primary)}.side-item .ic{color:var(--text-tertiary);display:flex}.side-item.active .ic{color:var(--brand-pink)}.side-grow{flex:1}.side-recent{padding:7px 11px;border-radius:8px;font-size:13px;color:var(--text-secondary);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-recent:hover{background:var(--surface-2);color:var(--text-primary)}.upgrade-card{margin-top:8px;padding:13px;border-radius:14px;background:linear-gradient(135deg,#e613632e,#7c3aed2e);border:1px solid rgba(230,19,99,.3);cursor:pointer}.upgrade-card:hover{border-color:#e6136380}.app-main{overflow-y:auto}.hero{position:relative;margin:18px;border-radius:24px;overflow:hidden;min-height:330px;display:grid;place-items:center;background:radial-gradient(60% 70% at 18% 22%,#4f6df5 0%,transparent 55%),radial-gradient(55% 65% at 82% 26%,#a855f7 0%,transparent 55%),radial-gradient(70% 80% at 50% 92%,#f472b6 0%,transparent 55%),radial-gradient(50% 60% at 92% 96%,#fb923c 0%,transparent 50%),#211c4e}.hero-inner{position:relative;z-index:1;width:min(620px,92%);text-align:center;padding:30px 0}.hero h1{font-size:34px;font-weight:600;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.25);margin-bottom:20px}.hero .connect{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:9999px;background:#0000004d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:13px;margin-bottom:18px}.hero .prompt-box{background:#101014d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:#ffffff24}.tabbar{display:flex;gap:4px;border-bottom:1px solid var(--border-subtle);margin:8px 0 22px}.tabbar button{padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;font:600 14px/1 Inter;color:var(--text-tertiary)}.tabbar button:hover{color:var(--text-primary)}.tabbar button.active{color:var(--text-primary);border-bottom-color:var(--brand-pink)}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.tpl-card{border:1px solid var(--border-subtle);border-radius:16px;overflow:hidden;cursor:pointer;background:var(--surface-1);transition:transform .18s var(--ease),border-color .18s,box-shadow .18s}.tpl-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 12px 32px #00000080}.tpl-preview{height:120px;position:relative;display:grid;place-items:center}.tpl-preview .swatch{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.9}.tpl-preview .glyph{position:relative;font:700 15px/1.2 Inter;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4);text-align:center;padding:0 16px}.tpl-card .body{padding:14px 16px}.think{border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-1);overflow:hidden;margin-bottom:4px}.think summary{list-style:none;cursor:pointer;padding:10px 14px;display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--text-secondary)}.think summary::-webkit-details-marker{display:none}.think summary .sparkle{background:var(--grad-brand-text);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.think .think-body{padding:0 14px 12px;font-size:13.5px;line-height:1.6;color:var(--text-tertiary);white-space:pre-wrap;max-height:240px;overflow-y:auto}.code-live{height:100%;min-height:0;display:flex;flex-direction:column;background:var(--bg-base)}.code-live .tabs-row{display:flex;gap:2px;padding:8px 10px 0;overflow-x:auto;border-bottom:1px solid var(--border-subtle)}.code-live .ftab{padding:6px 12px;border-radius:8px 8px 0 0;font:500 12px/1 JetBrains Mono;color:var(--text-secondary);background:var(--surface-1);cursor:pointer;white-space:nowrap}.code-live .ftab.active{color:var(--text-primary);background:var(--surface-3)}.code-live pre{flex:1;margin:0;overflow:auto;padding:16px;font:400 12.5px/1.6 JetBrains Mono;color:#d7d7db}.writing-caret:after{content:"▋";color:var(--brand-pink);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.console-wrap{height:100%;background:#0c0d11;padding:10px}.console-wrap .xterm{height:100%}.app-pill{font:600 10.5px/1 Inter;padding:5px 9px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border-subtle);color:var(--text-secondary);letter-spacing:.2px}.tpl-card:hover .app-pill{border-color:var(--border-default)}.tpl-preview{height:158px}.tpl-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top center}.tpl-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#0a0a0beb,#0a0a0b59 40%,#0a0a0b00 68%)}.tpl-preview .glyph{position:absolute;left:14px;right:14px;bottom:11px;z-index:2;text-align:left;font-size:15px}
