.onb{--ac:#8b5cf6;--ac-soft:rgba(139,92,246,.12);--ac-tint:rgba(139,92,246,.3);--brand-purple:#8b5cf6;--neutral-background:#f5f0e7;--neutral-card:#fffdf9;--neutral-border:#ddd5c5;--sidebar:#f6f2e9;--paper-3:#e0dbd1;--ink:#29261f;--ink-soft:#6d685f;--ink-faint:#a29e95;--text-medium:#6d685f;--text-light:#a29e95;--error:#cf4b43;--warning:#e0922a;--success:#3f9d6b;--gradient-mark:linear-gradient(155deg,#f0f,#8b5cf6 50%,#007fff);--gradient-primary:linear-gradient(135deg,#f0f,#8b5cf6 50%,#007fff);--gradient-accent:linear-gradient(135deg,#007fff,#f0f);--font-display:"Rubik",system-ui,sans-serif;--font-heading:"Rubik",system-ui,sans-serif;--font-body:"Rubik",system-ui,sans-serif;--font-mono:"Fira Code",monospace;--radius:3px;--radius-md:3px;--radius-sm:2px;--radius-lg:4px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(74,54,28,.1);--shadow-soft:0 7px 16px -8px rgba(74,54,28,.32);--shadow-card:0 12px 30px -14px rgba(74,54,28,.34);--shadow-press:2px 2px 0 rgba(74,54,28,.1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);position:relative;min-height:100vh;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:var(--neutral-background);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark .onb{--ac:#a78bfa;--ac-soft:rgba(167,139,250,.15);--ac-tint:rgba(167,139,250,.32);--brand-purple:#a78bfa;--neutral-background:#110e08;--neutral-card:#27231b;--neutral-border:#373227;--sidebar:#141109;--paper-3:#242019;--ink:#f2ecdf;--ink-soft:#aba28e;--ink-faint:#736b5a;--text-medium:#aba28e;--text-light:#736b5a;--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-soft:0 7px 16px -8px rgba(0,0,0,.55);--shadow-card:0 12px 30px -14px rgba(0,0,0,.6);--shadow-press:2px 2px 0 rgba(0,0,0,.3)}.onb *,.onb :after,.onb :before{box-sizing:border-box}.onb button{cursor:pointer}.onb button,.onb input,.onb select,.onb textarea{font-family:inherit}.onb h1,.onb h2{font-family:var(--font-display);font-weight:700;margin:0}.onb h3,.onb h4{font-family:var(--font-heading);font-weight:600;margin:0}.onb-vortex{position:absolute;inset:0;z-index:0;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent 0,transparent 55%,#000);mask-image:linear-gradient(180deg,transparent 0,transparent 55%,#000)}.onb .onb-top{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;flex-shrink:0}.onb .onb-top .onb-logo{height:28px;width:auto}.onb .onb-exit{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);background:none;border:none;padding:6px 8px;border-radius:var(--radius);transition:all .15s}.onb .onb-exit:hover{color:var(--ink-soft);background:rgba(74,54,28,.05)}.onb .steps{display:flex;align-items:center;gap:5px}.onb .steps .seg{width:30px;height:3px;border-radius:9999px;background:var(--paper-3);transition:background .4s var(--ease-out)}.onb .steps .seg.done{background:var(--ac)}.onb .steps .seg.active{background:var(--ac);opacity:.5}.onb .step-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-left:14px;white-space:nowrap}.onb .onb-main{position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:8px 24px 48px;overflow-y:auto;overflow-x:hidden}.onb .onb-main>*{margin:auto}.onb .onb-main::-webkit-scrollbar{width:8px}.onb .onb-main::-webkit-scrollbar-thumb{background:var(--paper-3);border-radius:4px}.onb .onb-card{position:relative;background:var(--neutral-card);border:1px solid var(--neutral-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);width:100%}.onb .kicker{display:inline-flex;align-items:center;gap:7px;letter-spacing:.14em;color:var(--ac);background:var(--ac-soft);padding:6px 11px;border-radius:var(--radius)}.onb .eyebrow,.onb .kicker{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase}.onb .eyebrow{letter-spacing:.16em;color:var(--ink-faint)}.onb .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500;font-size:14px;border-radius:var(--radius);padding:11px 22px;border:1px solid transparent;transition:all .18s var(--ease-out);box-shadow:var(--shadow-xs);white-space:nowrap;font-family:var(--font-body);color:var(--ink)}.onb .btn:active{transform:translate(1px,1px);box-shadow:var(--shadow-press)}.onb .btn:disabled{opacity:.55;cursor:default;box-shadow:none}.onb .btn-primary{background:var(--ac);color:#fff;box-shadow:0 8px 16px -6px var(--ac-tint)}.onb .btn-primary:not(:disabled):hover{filter:brightness(.96);box-shadow:0 11px 20px -6px var(--ac-tint)}.onb .btn-ghost{background:transparent;color:var(--ink-soft);box-shadow:none}.onb .btn-ghost:hover{background:rgba(74,54,28,.05);color:var(--ink)}.onb .btn-outline{background:var(--neutral-card);color:var(--ink);border:1px solid var(--neutral-border);box-shadow:none}.onb .btn-outline:hover{border-color:var(--ac);color:var(--ac)}.onb .btn-block{width:100%}.onb .btn-lg{padding:14px 24px;font-size:15px;font-weight:600}.onb .btn-sm{padding:7px 13px;font-size:12.5px;border-radius:var(--radius)}.onb .conn-list{display:flex;flex-direction:column;gap:10px}.onb .conn-row{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--neutral-border);border-radius:var(--radius);background:var(--neutral-card);transition:all .18s}.onb .conn-row.done{border-color:var(--ac);background:var(--ac-soft)}.onb .conn-row img{width:26px;height:26px;border-radius:5px;flex-shrink:0;-o-object-fit:contain;object-fit:contain}.onb .conn-row .nm{font-weight:600;font-size:14.5px;color:var(--ink)}.onb .conn-row .sub{font-size:12px;color:var(--ink-faint);margin-top:1px}.onb .label{font-size:13px;font-weight:500;display:block;margin-bottom:7px;color:var(--ink)}.onb .field{width:100%;height:46px;border:1px solid var(--neutral-border);border-radius:var(--radius);padding:0 15px;font-size:14.5px;color:var(--ink);background:var(--neutral-card);outline:none;transition:all .18s}.onb .field::-moz-placeholder{color:var(--ink-faint)}.onb .field::placeholder{color:var(--ink-faint)}.onb .field:focus{border-color:var(--ac);box-shadow:0 0 0 3px var(--ac-soft)}.onb textarea.field{height:auto;padding:12px 15px;line-height:1.5;resize:none}.onb .field.bad{border-color:var(--error)}.onb .field.bad:focus{box-shadow:0 0 0 3px rgba(207,75,67,.16)}.onb .field-hint{font-size:12px;color:var(--ink-faint);margin-top:6px}.onb .field-err{font-size:12.5px;color:var(--error);margin-top:6px;display:flex;align-items:center;gap:5px}.onb .field-ic{position:relative}.onb .field-ic .field{padding-left:42px}.onb .field-ic .ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-faint);pointer-events:none;display:flex}.onb .err-banner{display:flex;align-items:flex-start;gap:11px;background:#fbeae8;border:1px solid #eec2bd;border-radius:var(--radius);padding:13px 15px;margin-bottom:20px}.onb .err-banner .x{color:var(--error);flex-shrink:0;margin-top:1px}.onb .err-banner b{color:#a4352f;font-weight:600;font-size:13.5px}.onb .err-banner p{margin:2px 0 0;font-size:13px;color:#8a4a45;line-height:1.45}.onb .chips{display:flex;flex-wrap:wrap;gap:9px}.onb .chip{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:var(--radius);font-size:13.5px;font-weight:500;border:1px solid var(--neutral-border);background:var(--neutral-card);color:var(--ink-soft);cursor:pointer;transition:all .15s}.onb .chip.on,.onb .chip:hover{border-color:var(--ac);color:var(--ac)}.onb .chip.on{background:var(--ac-soft)}.onb .scan-rows{display:flex;flex-direction:column;gap:13px;margin-top:8px}.onb .scan-row{display:flex;align-items:center;gap:13px}.onb .scan-row .dot{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:2px solid var(--paper-3);color:transparent;transition:all .35s var(--ease-out)}.onb .scan-row.run .dot{border-color:var(--ac);color:var(--ac)}.onb .scan-row.ok .dot{border-color:var(--ac);background:var(--ac);color:#fff}.onb .scan-row .txt{font-size:14px;color:var(--ink-faint);transition:color .3s}.onb .scan-row.ok .txt,.onb .scan-row.run .txt{color:var(--ink)}.onb .scan-row .txt b{font-weight:500}.onb .chat-shell{display:grid;grid-template-columns:1fr 320px;gap:20px;width:100%;max-width:980px;height:100%;max-height:640px}.onb .chat-pane{background:var(--neutral-card);border:1px solid var(--neutral-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden;min-height:0}.onb .chat-head{gap:12px;padding:16px 22px;border-bottom:1px solid var(--neutral-border);background:var(--sidebar)}.onb .chat-av,.onb .chat-head{display:flex;align-items:center}.onb .chat-av{width:38px;height:38px;border-radius:50%;background:var(--gradient-mark);color:#fff;justify-content:center;font-family:var(--font-display);font-weight:700;flex-shrink:0}.onb .chat-log{flex:1;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:14px;background:var(--sidebar);min-height:0}.onb .chat-log::-webkit-scrollbar{width:8px}.onb .chat-log::-webkit-scrollbar-thumb{background:var(--paper-3);border-radius:4px}.onb .msg{max-width:80%;font-size:14.5px;line-height:1.55;padding:12px 15px;border-radius:var(--radius-lg)}.onb .msg.bot{align-self:flex-start;background:var(--neutral-card);border:1px solid var(--neutral-border);color:var(--ink);border-bottom-left-radius:2px}.onb .msg.me{align-self:flex-end;background:var(--ac);color:#fff;border-bottom-right-radius:2px}.onb .typing{display:inline-flex;gap:4px;padding:14px 15px;border:1px solid var(--neutral-border)}.onb .typing i{width:7px;height:7px;border-radius:50%;background:var(--ink-faint);animation:onbType 1.2s infinite}.onb .typing i:nth-child(2){animation-delay:.18s}.onb .typing i:nth-child(3){animation-delay:.36s}.onb .chat-input{border-top:1px solid var(--neutral-border);padding:14px 18px;display:flex;flex-direction:column;gap:11px;background:var(--sidebar)}.onb .chat-hint{font-size:12px;color:var(--ink-faint);text-align:center;margin:-1px 0 1px}.onb .ctx-card{background:var(--neutral-card);border:1px solid var(--neutral-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px;display:flex;flex-direction:column}.onb .ctx-row{padding:13px 0;border-bottom:1px solid var(--neutral-border)}.onb .ctx-row:last-child{border-bottom:none}.onb .ctx-row .k{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);display:flex;align-items:center;gap:6px}.onb .ctx-row .v{font-size:14px;color:var(--ink);margin-top:5px;line-height:1.45;font-weight:500}.onb .ctx-row .v.empty{color:var(--paper-3);font-weight:400;font-style:italic}.onb .next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:6px}.onb .next-card{position:relative;text-align:left;border:1px solid var(--nc,#0001);background:var(--neutral-card);border-radius:var(--radius-lg);padding:22px 20px;cursor:pointer;transition:all .24s var(--ease-out);box-shadow:var(--shadow-soft);overflow:hidden}.onb .next-card:hover{transform:translateY(-4px)}.onb .next-card .nc-ic{width:44px;height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.onb .next-card h4{font-family:var(--font-display);font-size:18px;margin-bottom:7px}.onb .next-card p{font-size:13px;color:var(--ink-soft);line-height:1.5;margin:0}.onb .next-card .go{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;margin-top:16px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.onb .spin{width:14px;height:14px;border:2px solid;border-top:2px solid transparent;border-radius:50%;display:inline-block;animation:onbSpin .7s linear infinite}.onb .spin.lg{width:30px;height:30px;border-width:3px}.onb .text-grad{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text}.onb .text-grad,.onb .text-grad-ac{-webkit-text-fill-color:transparent}.onb .text-grad-ac{background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text}@keyframes onbSpin{to{transform:rotate(1turn)}}@keyframes onbType{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}@media (prefers-reduced-motion:no-preference){@keyframes onbUp{0%{transform:translateY(12px)}to{transform:none}}.onb .up{animation:onbUp .4s var(--ease-out) both}@keyframes onbBounce{0%{transform:scale(.97)}55%{transform:scale(1.015)}to{transform:scale(1)}}.onb .bounce{animation:onbBounce .45s var(--ease-spring)}@keyframes onbPop{0%{transform:scale(.97)}55%{transform:scale(1.015)}to{transform:scale(1)}}.onb .ctx-row.fill{animation:onbPop .4s var(--ease-out)}@keyframes onbHeartbeat{0%,42%,to{transform:scale(1)}12%{transform:scale(1.03)}24%{transform:scale(1)}33%{transform:scale(1.018)}}.onb .pulse-cta{animation:onbHeartbeat 2.1s var(--ease-out) infinite}}