:root{--bg-warm: oklch(.97 .012 80);--bg-warm-2: oklch(.94 .014 80);--warm-ink: oklch(.22 .01 80);--warm-muted: oklch(.55 .01 80);--warm-accent: oklch(.74 .12 55);--vb-bg-darkest: #14171d;--vb-bg-dark: #1e2330;--vb-bg-mid: #252c3a;--vb-bg-hover: rgba(255,255,255,.04);--vb-border: #3d4452;--vb-text: #c8cdd6;--vb-text-bright: #e8ecf2;--vb-text-dim: #6b7891;--vb-accent: #f0a020;--vb-accent-blue: #4a9eff;--vb-danger: #e05a4e;--vb-success: #52c97a;--vb-mono: ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;width:100%;background:var(--vb-bg-darkest);color:var(--vb-text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;overflow:hidden}button{font-family:inherit}button:focus-visible{outline:2px solid var(--vb-accent);outline-offset:2px}.vb-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:radial-gradient(900px 400px at 50% 10%,var(--bg-warm-2),transparent 70%),var(--bg-warm);display:grid;place-items:center;transition:opacity .7s ease}.vb-loader.hidden{opacity:0;pointer-events:none}.vb-loader-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:36px}.vb-ll-wrap{position:relative;width:220px;height:220px;display:grid;place-items:center}.vb-ll-bench{width:200px;height:200px;object-fit:contain;transform-origin:50% 100%;animation:vb-ll-hop 1.4s cubic-bezier(.5,-.2,.3,1.3) infinite;filter:drop-shadow(0 1px 0 rgba(0,0,0,.05))}.vb-ll-shadow{position:absolute;bottom:8px;left:18%;right:18%;height:14px;background:radial-gradient(ellipse at center,rgba(0,0,0,.32) 0%,rgba(0,0,0,.14) 45%,transparent 75%);filter:blur(3px);transform-origin:center;animation:vb-ll-shadow 1.4s cubic-bezier(.5,-.2,.3,1.3) infinite}@keyframes vb-ll-hop{0%,to{transform:translateY(0) scaleY(1) scaleX(1)}20%{transform:translateY(0) scaleY(.9) scaleX(1.06)}50%{transform:translateY(-14%) scaleY(1.05) scaleX(.97)}80%{transform:translateY(0) scaleY(.95) scaleX(1.03)}}@keyframes vb-ll-shadow{0%,to{transform:scaleX(1);opacity:.95}50%{transform:scaleX(.6);opacity:.55}}.vb-ll-brand{font-size:22px;font-weight:600;letter-spacing:-.01em;color:#1d1a15}.vb-ll-brand span{color:var(--warm-accent)}.vb-loader-progress{position:absolute;bottom:-76px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;width:240px}.vb-loader-bar{width:100%;height:2px;background:#dcd7cf;overflow:hidden;border-radius:2px}.vb-loader-bar:after{content:"";display:block;height:100%;background:var(--warm-accent);width:30%;border-radius:2px;animation:vb-bar 1.6s cubic-bezier(.6,.05,.2,1) infinite}@keyframes vb-bar{0%{transform:translate(-100%);width:30%}50%{width:60%}to{transform:translate(380%);width:30%}}.vb-loader-status{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--warm-muted);font-weight:600;font-family:var(--vb-mono)}.vb-app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;background:var(--vb-bg-darkest);opacity:0;transition:opacity .6s ease}.vb-app.visible{opacity:1}.vb-chat{position:relative;flex:0 0 440px;width:440px;display:flex;flex-direction:column;background:var(--vb-bg-dark);min-width:0;height:100%;transition:flex .75s cubic-bezier(.6,.05,.2,1),width .75s cubic-bezier(.6,.05,.2,1),background .4s ease;overflow:hidden}.vb-app.intro .vb-chat{flex:1 1 100%;width:100%;background:var(--vb-bg-darkest)}.vb-chat-header{padding:14px 18px;border-bottom:1px solid var(--vb-border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--vb-bg-dark);transition:background .5s ease,border-color .5s ease}.vb-app.intro .vb-chat-header{background:transparent;border-bottom-color:transparent}.vb-chat-header h1{margin:0;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--vb-accent);display:flex;align-items:center;gap:10px}.vb-chat-header h1:before{content:"";display:inline-block;width:18px;height:18px;background:url(/vibe/bench.png) center/contain no-repeat;filter:drop-shadow(0 0 4px rgba(240,160,32,.4));transform:translateY(-1px)}.vb-chat-status{font-size:11px;color:var(--vb-text-dim);font-family:var(--vb-mono)}.vb-chat-status .dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:var(--vb-success);vertical-align:middle;box-shadow:0 0 8px var(--vb-success)}.vb-msgs{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:14px;perspective:1600px;perspective-origin:100% 50%;scroll-behavior:smooth}.vb-app.intro .vb-msgs{overflow:visible;padding:0;flex:1 1 0;align-items:center;justify-content:center}.vb-hero{width:100%;max-width:720px;padding:40px 32px;display:flex;flex-direction:column;align-items:center;text-align:center}.vb-hero-logo{width:120px;height:120px;background:url(/vibe/bench.png) center/contain no-repeat;margin-bottom:24px;animation:vb-hero-breathe 3.6s ease-in-out infinite;transform-origin:50% 100%;filter:drop-shadow(0 8px 24px rgba(240,160,32,.18))}@keyframes vb-hero-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2%) scale(1.012,.992)}}.vb-hero h2{margin:0 0 12px;font-size:38px;font-weight:600;letter-spacing:-.02em;color:var(--vb-text-bright);line-height:1.1}.vb-hero h2 em{color:var(--vb-accent);font-style:normal}.vb-hero p{margin:0 0 8px;color:var(--vb-text-dim);font-size:15px;line-height:1.55;max-width:52ch}.vb-hero-suggest{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:640px;margin-top:24px}.vb-hero-suggest button{background:var(--vb-bg-mid);border:1px solid var(--vb-border);color:var(--vb-text);padding:11px 14px;border-radius:8px;cursor:pointer;font-size:12.5px;text-align:left;line-height:1.4;transition:border-color .15s,background .15s,transform .15s}.vb-hero-suggest button:hover:not(:disabled){border-color:var(--vb-accent);background:var(--vb-bg-hover);transform:translateY(-1px)}.vb-hero-suggest button:disabled{opacity:.5;cursor:not-allowed}.vb-msg{display:flex;flex-direction:column;gap:6px;transform-origin:100% 50%;animation:vb-cascade-in .55s cubic-bezier(.4,.7,.2,1) both}@keyframes vb-cascade-in{0%{opacity:0;transform:translate(40px) translateY(8px) rotateY(8deg) rotate(2deg)}60%{opacity:1}to{opacity:1;transform:translate(0) translateY(0) rotateY(0) rotate(0)}}.vb-msg .vb-role{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--vb-text-dim);font-weight:600}.vb-msg.user .vb-role{color:var(--vb-accent-blue)}.vb-msg.assistant .vb-role{color:var(--vb-accent)}.vb-bubble{padding:10px 12px;border-radius:8px;background:var(--vb-bg-mid);border:1px solid var(--vb-border);font-size:13px;line-height:1.55;color:var(--vb-text);word-break:break-word;box-shadow:0 1px #ffffff05,0 6px 20px #00000040}.vb-msg.user .vb-bubble{background:#4a9eff1a;border-color:#4a9eff4d}.vb-bubble p{margin:0 0 8px}.vb-bubble p:last-child{margin:0}.vb-bubble code{background:var(--vb-bg-darkest);padding:1px 5px;border-radius:3px;font-family:var(--vb-mono);font-size:12px}.vb-bubble pre{background:var(--vb-bg-darkest);padding:8px 10px;border-radius:4px;overflow-x:auto;font-size:12px}.vb-bubble pre code{background:transparent;padding:0}.vb-bubble table{width:100%;border-collapse:collapse;font-size:12px;margin:6px 0}.vb-bubble th,.vb-bubble td{padding:4px 8px;border:1px solid var(--vb-border);text-align:left}.vb-bubble th{background:var(--vb-bg-darkest);color:var(--vb-text-bright)}.vb-bubble.streaming:after{content:"▍";display:inline-block;margin-left:1px;animation:vb-blink 1s steps(2) infinite;color:var(--vb-accent)}@keyframes vb-blink{50%{opacity:0}}.vb-tool{background:var(--vb-bg-darkest);border:1px solid var(--vb-border);border-left:3px solid var(--vb-accent);border-radius:6px;padding:8px 10px;font-size:12px;font-family:var(--vb-mono)}.vb-tool-head{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.vb-tool-name{color:var(--vb-accent);font-weight:600}.vb-tool-status{font-size:10px;color:var(--vb-text-dim)}.vb-tool-status.error{color:var(--vb-danger)}.vb-tool-status.ok{color:var(--vb-success)}.vb-tool-body{margin-top:8px;padding-top:8px;border-top:1px dashed var(--vb-border);display:flex;flex-direction:column;gap:6px}.vb-tool-body pre{margin:0;background:#00000040;padding:6px 8px;border-radius:4px;font-size:11px;white-space:pre-wrap;max-height:220px;overflow-y:auto}.vb-tool-body .label{color:var(--vb-text-dim);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.vb-composer{border-top:1px solid var(--vb-border);padding:12px 14px;flex-shrink:0;background:var(--vb-bg-dark);transition:padding .5s ease,background .5s ease,border-color .5s ease}.vb-app.intro .vb-composer{border-top-color:transparent;background:transparent;padding:24px 0 0;width:100%;max-width:640px;margin:0 auto}.vb-composer-row{display:flex;gap:8px;align-items:flex-end;background:var(--vb-bg-darkest);border:1px solid var(--vb-border);border-radius:10px;padding:6px 6px 6px 4px;transition:border-color .2s,box-shadow .2s}.vb-composer-row:focus-within{border-color:var(--vb-accent);box-shadow:0 0 0 4px #f0a02014}.vb-app.intro .vb-composer-row{padding:10px 10px 10px 8px;border-radius:14px;box-shadow:0 12px 40px #0006}.vb-composer textarea{flex:1;background:transparent;border:none;color:var(--vb-text);padding:8px 10px;font-size:13px;font-family:inherit;line-height:1.5;resize:none;min-height:38px;max-height:200px;outline:none}.vb-app.intro .vb-composer textarea{font-size:16px;min-height:56px}.vb-composer textarea:disabled{opacity:.5}.vb-composer button.send{background:var(--vb-accent);color:#14171d;border:none;padding:9px 14px;border-radius:6px;font-size:12px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:transform .15s,opacity .15s}.vb-composer button.send:hover:not(:disabled){transform:translateY(-1px)}.vb-composer button.send:disabled{opacity:.4;cursor:not-allowed}.vb-app.intro .vb-composer button.send{padding:12px 18px;border-radius:10px;font-size:13px}.vb-composer-help{margin-top:6px;font-size:10px;color:var(--vb-text-dim);font-family:var(--vb-mono);letter-spacing:.05em}.vb-app.intro .vb-composer-help{text-align:center}.vb-scene{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;background:var(--vb-bg-darkest);border-left:1px solid transparent;opacity:0;transform:translate(60px);transition:opacity .6s ease .15s,transform .75s cubic-bezier(.6,.05,.2,1) .15s,border-color .6s ease .45s;pointer-events:none}.vb-app.active .vb-scene{opacity:1;transform:translate(0);border-left-color:var(--vb-border);pointer-events:auto}.vb-scene-header{height:36px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--vb-border);background:var(--vb-bg-dark);flex-shrink:0}.vb-scene-header .label{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--vb-text-dim);font-weight:600}.vb-scene-header a{color:var(--vb-accent-blue);font-size:11px;text-decoration:none}.vb-scene-header a:hover{text-decoration:underline}.vb-scene iframe{flex:1;width:100%;border:none;background:#fff}.vb-error{border-color:var(--vb-danger)!important;color:var(--vb-text)}.vb-error .vb-role{color:var(--vb-danger)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--vb-border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--vb-text-dim)}
