create-openclaw-bot 5.7.10 → 5.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1375 @@
1
+ @charset "UTF-8";
2
+ @import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap');
3
+ :root{--canvas:#070707;--surface:#101010;--surface2:#181111;--hair:#342020;--primary:#ff2436;--soft:#ff5a66;--deep:#b80716;--ink:#f5f5f5;--body:#b9b3b3;--muted:#7d7373;--ok:#19d18f}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{font-family:'Be Vietnam Pro',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--canvas);color:var(--ink)}button,input,textarea{font:inherit}#app{display:grid;grid-template-columns:260px minmax(0,1fr) 360px;gap:0;min-height:100vh}.sidebar,.status{border-color:var(--hair);background:linear-gradient(180deg,#0c0707,#070707)}.sidebar{border-right:1px solid var(--hair);padding:20px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand img{width:42px;height:42px;object-fit:contain}.brand b{display:block}.brand span{color:var(--muted);font-size:12px}.cmd{display:block;margin-top:24px;padding:10px;border:1px solid var(--hair);border-radius:8px;color:var(--body);font-family:'JetBrains Mono',SFMono-Regular,Consolas,monospace;font-size:12px;white-space:normal}.nav{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;margin:4px 0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--body);cursor:pointer;transition:.2s}.nav svg{width:20px;height:20px}.nav:hover,.nav.active{color:var(--ink);border-color:var(--hair);background:var(--surface2)}.nav.active{box-shadow:inset 3px 0 0 var(--primary)}main{padding:28px;min-width:0}.top{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:22px}.eyebrow{margin:0 0 8px;color:var(--primary);font-size:12px;font-weight:700;letter-spacing:2.5px}.top h1{font-size:clamp(32px,5vw,60px);font-weight:400;letter-spacing:-.8px;line-height:1;margin:0}.pill{border:1px solid var(--hair);border-radius:999px;padding:7px 12px;color:var(--body);font-size:13px}.pill.ok{border-color:var(--ok);color:var(--ok)}.panel{animation:enter .24s ease}.lead{font-size:18px;line-height:1.6;color:var(--body);max-width:680px}.grid{display:grid;gap:14px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.card{border:1px solid var(--hair);border-radius:10px;background:rgba(16,16,16,.9);padding:18px;transition:border-color .2s,background .2s,transform .2s}.card:hover{border-color:#653030;background:#141010}.option{cursor:pointer;display:grid;gap:5px}.option input{accent-color:var(--primary)}.option b{text-transform:uppercase}.option span,.card p{color:var(--body)}.mode{margin:14px 0 18px}.primary,.secondary,.save{border-radius:8px;border:1px solid var(--primary);background:var(--primary);color:#120405;padding:12px 16px;font-weight:700;cursor:pointer;transition:.2s}.primary{width:100%;min-height:50px}.primary:hover{background:var(--soft);transform:translateY(-1px)}.secondary,.save{background:transparent;color:var(--ink);border-color:var(--hair);padding:9px 12px}.secondary:hover,.save:hover{border-color:var(--primary);color:var(--primary)}.status{border-left:1px solid var(--hair);padding:20px;height:100vh;position:sticky;top:0}.terminal{height:calc(100vh - 80px);overflow:auto;background:#050505;border:1px solid var(--hair);border-radius:10px;padding:12px;font-family:'JetBrains Mono',SFMono-Regular,Consolas,monospace;font-size:12px;color:#d6caca}.terminal.big{height:70vh}.terminal p{margin:0 0 6px;white-space:pre-wrap}.files{display:grid;gap:14px}.file header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.file textarea{width:100%;min-height:280px;background:#080808;color:var(--ink);border:1px solid var(--hair);border-radius:8px;padding:12px;line-height:1.55;font-family:'JetBrains Mono',SFMono-Regular,Consolas,monospace}.skeleton{height:120px;border-radius:8px;background:linear-gradient(90deg,#120c0c,#211414,#120c0c);background-size:200% 100%;animation:shimmer 1.2s infinite}.bottom{display:none}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes shimmer{to{background-position:-200% 0}}@media (max-width:1180px){#app{grid-template-columns:88px minmax(0,1fr)}.sidebar{padding:14px}.brand div,.nav span,.cmd,.status{display:none}.brand{justify-content:center}.nav{justify-content:center}.hero-grid{grid-template-columns:1fr}.three{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){#app{display:block;padding-bottom:74px}.sidebar{height:auto;position:static;border-right:0;border-bottom:1px solid var(--hair);display:flex;align-items:center;justify-content:space-between}.sidebar nav,.cmd{display:none}.brand{margin:0}.brand div{display:block}main{padding:18px}.top{align-items:center}.two,.three{grid-template-columns:1fr}.panel{padding-bottom:16px}.bottom{position:fixed;left:0;right:0;bottom:0;height:66px;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(7,7,7,.92);backdrop-filter:blur(14px);border-top:1px solid var(--hair);z-index:20}.bottom .nav{margin:0;border:0;border-radius:0;flex-direction:column;gap:3px;justify-content:center;font-size:11px}.bottom .nav svg{width:19px}.bottom .nav.active{box-shadow:inset 0 3px 0 var(--primary)}.primary{position:sticky;bottom:82px;z-index:10}.top h1{font-size:32px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
4
+
5
+ /* vNext choice cards */
6
+ .setup-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.setup-main{min-width:0}.setup-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.mini-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,36,54,.32);background:rgba(255,36,54,.08);color:var(--soft);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:700;letter-spacing:.4px;white-space:nowrap}.section-head{display:flex;align-items:center;gap:12px;margin:18px 0 10px}.section-head>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,36,54,.18),rgba(255,36,54,.04));border:1px solid rgba(255,36,54,.28);color:var(--soft);font-family:'JetBrains Mono',SFMono-Regular,Consolas,monospace;font-size:12px}.section-head b{display:block;font-size:15px}.section-head small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.choice-grid{display:grid;gap:14px}.os-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.choice-card{position:relative;min-height:126px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:16px;align-items:center;overflow:hidden;border:1px solid var(--hair);border-radius:16px;background:linear-gradient(145deg,rgba(20,16,16,.96),rgba(8,8,8,.96));padding:18px;cursor:pointer;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.choice-card:hover{transform:translateY(-2px);border-color:rgba(255,90,102,.45);box-shadow:0 18px 54px rgba(0,0,0,.38),0 0 0 1px rgba(255,36,54,.05) inset}.choice-card input{position:absolute;opacity:0;pointer-events:none}.choice-card__glow{position:absolute;inset:auto -20% -60% 20%;height:120px;background:radial-gradient(circle,rgba(255,36,54,.22),transparent 62%);opacity:0;transition:.22s}.choice-card__icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#1b1515,#0d0b0b);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.choice-card__icon img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))}.choice-card__body{display:grid;gap:6px;min-width:0}.choice-card__body strong{font-size:17px;letter-spacing:-.2px}.choice-card__body small{color:var(--body);line-height:1.35}.choice-card__meta{height:100%;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:14px}.choice-card__meta em{font-style:normal;font-size:11px;color:var(--muted);border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:999px;padding:5px 8px}.choice-card__meta i{width:22px;height:22px;border-radius:999px;border:2px solid rgba(255,255,255,.72);box-shadow:0 0 0 4px rgba(255,255,255,.03);transition:.18s}.choice-card:has(input:checked),.choice-card.is-selected{border-color:rgba(255,36,54,.9);background:linear-gradient(145deg,rgba(37,14,17,.98),rgba(12,8,8,.98));box-shadow:0 0 0 1px rgba(255,36,54,.26) inset,0 18px 60px rgba(255,36,54,.08)}.choice-card:has(input:checked) .choice-card__glow,.choice-card.is-selected .choice-card__glow{opacity:1}.choice-card:has(input:checked) .choice-card__meta i,.choice-card.is-selected .choice-card__meta i{border-color:var(--primary);background:radial-gradient(circle at center,var(--primary) 0 42%,transparent 46%);box-shadow:0 0 0 5px rgba(255,36,54,.12),0 0 24px rgba(255,36,54,.32)}.choice-card:has(input:checked) .choice-card__meta em,.choice-card.is-selected .choice-card__meta em{color:var(--ink);border-color:rgba(255,36,54,.28);background:rgba(255,36,54,.12)}.install-cta{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border-radius:14px}.install-cta span{font-size:15px}.install-cta small{font-size:12px;font-weight:500;color:rgba(18,4,5,.72)}.system-card{min-height:360px}.sys-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);padding:12px 0}.sys-row span{color:var(--muted)}.sys-row b.ok{color:var(--ok)}.sys-row b.bad{color:var(--soft)}.system-card code{display:block;margin-top:16px;line-height:1.5;color:var(--body);font-size:12px;word-break:break-word}
7
+ @media (max-width:1180px){.setup-shell{grid-template-columns:1fr}.system-card{min-height:auto}.os-grid,.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
8
+ @media (max-width:760px){.setup-copy{display:block}.mini-pill{margin-bottom:10px}.os-grid,.mode-grid{grid-template-columns:1fr}.choice-card{min-height:104px;grid-template-columns:50px minmax(0,1fr) auto;border-radius:14px;padding:14px}.choice-card__icon{width:50px;height:50px;border-radius:14px}.choice-card__icon img{width:30px;height:30px}.choice-card__meta em{display:none}.section-head{margin-top:16px}.install-cta small{display:none}}
9
+
10
+
11
+ /* Soft 3D gradient pass */
12
+ body{background:
13
+ radial-gradient(circle at 18% 14%, rgba(255,36,54,.13), transparent 30%),
14
+ radial-gradient(circle at 82% 80%, rgba(255,36,54,.09), transparent 32%),
15
+ radial-gradient(circle at 52% 48%, rgba(255,255,255,.035), transparent 28%),
16
+ linear-gradient(135deg,#080607 0%,#030303 52%,#0b0506 100%)}
17
+ body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.22) 1px,transparent 1.5px);background-size:92px 92px;opacity:.06;mask-image:linear-gradient(#000,transparent 90%)}
18
+ main{position:relative}.panel{position:relative}.setup-shell{grid-template-columns:minmax(0,1fr) 340px;gap:20px}.setup-main{display:grid;gap:20px}.setup-copy{border:1px solid rgba(255,255,255,.06);background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,36,54,.035));border-radius:18px;padding:18px 20px;margin-bottom:0;box-shadow:0 18px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05)}
19
+ .setup-section{position:relative;border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(20,16,17,.86),rgba(8,8,8,.76));border-radius:24px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.055);overflow:hidden}.setup-section:before{content:"";position:absolute;inset:-1px;pointer-events:none;background:radial-gradient(circle at 16% 0%,rgba(255,36,54,.12),transparent 36%),radial-gradient(circle at 90% 100%,rgba(255,255,255,.045),transparent 32%)}.setup-section>*{position:relative}.setup-section--mode{background:linear-gradient(145deg,rgba(13,13,15,.9),rgba(20,8,10,.72));border-color:rgba(255,36,54,.16)}
20
+ .section-head{margin:0 0 16px}.section-head>span{background:linear-gradient(135deg,rgba(255,36,54,.32),rgba(255,36,54,.06));box-shadow:0 10px 28px rgba(255,36,54,.10)}.section-head b{font-size:16px}.section-head small{font-size:13px}.choice-grid{gap:16px}.choice-card{min-height:124px;border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.01) 38%,rgba(255,36,54,.028));border-color:rgba(255,255,255,.09);box-shadow:0 18px 52px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.045);backdrop-filter:blur(10px)}.choice-card:hover{transform:translateY(-3px);border-color:rgba(255,90,102,.42);box-shadow:0 24px 76px rgba(0,0,0,.36),0 0 0 1px rgba(255,36,54,.08) inset}.choice-card__icon{background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.018));border-color:rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 28px rgba(0,0,0,.26)}.choice-card__glow{display:block;inset:auto -25% -70% 10%;height:150px;background:radial-gradient(circle,rgba(255,36,54,.20),transparent 64%)}.choice-card:has(input:checked),.choice-card.is-selected{border-color:rgba(255,36,54,.95);background:linear-gradient(145deg,rgba(255,36,54,.13),rgba(24,9,11,.86) 42%,rgba(12,12,12,.92));box-shadow:0 26px 82px rgba(255,36,54,.12),0 0 0 1px rgba(255,36,54,.30) inset,inset 0 1px 0 rgba(255,255,255,.07)}.choice-card:has(input:checked):before,.choice-card.is-selected:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--soft),transparent)}.choice-card__meta em{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.10);backdrop-filter:blur(8px)}.choice-card__body small{color:#c8bfc0}.mode-grid .choice-card{min-height:112px}.install-cta{border-radius:18px;background:linear-gradient(135deg,#ff2436,#ff5260 46%,#b80716);box-shadow:0 24px 70px rgba(255,36,54,.22),inset 0 1px 0 rgba(255,255,255,.22);border-color:rgba(255,255,255,.08)}.install-cta:hover{box-shadow:0 30px 90px rgba(255,36,54,.30),inset 0 1px 0 rgba(255,255,255,.24)}.system-card{background:linear-gradient(145deg,rgba(20,20,20,.88),rgba(7,7,7,.92));border-color:rgba(255,255,255,.08);border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.055)}.terminal{background:linear-gradient(145deg,#030303,#090506);border-color:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
21
+ @media (max-width:1180px){.setup-shell{grid-template-columns:1fr}.setup-main{gap:16px}}
22
+ @media (max-width:760px){.setup-copy,.setup-section{border-radius:18px;padding:16px}.choice-card{border-radius:16px;min-height:104px}.setup-shell{gap:16px}}
23
+
24
+ /* Vietnamese typography cleanup */
25
+ .top h1{font-family:'Be Vietnam Pro',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-weight:650;letter-spacing:-.045em;text-transform:none}.lead,.choice-card__body small,.section-head small,.sys-row,.nav,.brand span{font-family:'Be Vietnam Pro',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}.choice-card__body strong,.section-head b,.brand b{font-family:'Be Vietnam Pro',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-weight:750}
26
+
27
+
28
+
29
+ /* Modern Vietnamese font + mojibake-safe rendering */
30
+ :root{--font-sans:'Be Vietnam Pro',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;--font-mono:'JetBrains Mono',SFMono-Regular,Consolas,monospace}
31
+ body,button,input,textarea,.top h1,.lead,.choice-card__body small,.section-head small,.sys-row,.nav,.brand span,.choice-card__body strong,.section-head b,.brand b{font-family:var(--font-sans)}
32
+ .top h1{font-weight:700;letter-spacing:-.055em;line-height:.98;text-rendering:geometricPrecision}
33
+ .lead{font-weight:400;letter-spacing:-.01em;color:#d7cfd0}
34
+ code,.cmd,.terminal,.section-head>span{font-family:var(--font-mono)}
35
+
36
+
37
+ /* 3D night-sky background + top controls */
38
+ html[data-theme="dark"]{color-scheme:dark;--canvas:#020711;--surface:#07101c;--surface2:#0b1422;--hair:rgba(96,165,250,.22);--primary:#12c9ff;--soft:#4adeff;--deep:#075985;--ink:#f8fbff;--body:#aebbd0;--muted:#6c7a92;--ok:#2ee6a6}
39
+ html[data-theme="light"]{color-scheme:light;--canvas:#f6f9ff;--surface:#fff;--surface2:#eef7ff;--hair:#d7e3f4;--primary:#0ea5e9;--soft:#38bdf8;--deep:#0369a1;--ink:#0f172a;--body:#526174;--muted:#8290a5;--ok:#059669}
40
+ body{background:radial-gradient(circle at 72% 58%,rgba(0,214,255,.18),transparent 24%),radial-gradient(circle at 50% 96%,rgba(124,58,237,.18),transparent 26%),radial-gradient(ellipse at 50% 0%,#071527 0%,#020711 48%,#01030a 100%)!important;perspective:1000px;isolation:isolate}
41
+ html[data-theme="light"] body{background:radial-gradient(circle at 75% 55%,rgba(14,165,233,.18),transparent 26%),linear-gradient(180deg,#f8fbff,#edf6ff)!important}
42
+ body:before{content:"";position:fixed;inset:-10%;pointer-events:none;z-index:-2;background-image:radial-gradient(circle,rgba(255,255,255,.95) 0 1px,transparent 1.7px),radial-gradient(circle,rgba(34,211,238,.85) 0 1.3px,transparent 2px),radial-gradient(circle,rgba(147,197,253,.65) 0 .8px,transparent 1.6px);background-size:128px 128px,211px 211px,73px 73px;background-position:0 0,34px 61px,19px 27px;opacity:.42;transform:translateZ(-80px) scale(1.08);animation:starsDrift 38s linear infinite;mask-image:linear-gradient(#000,rgba(0,0,0,.78),transparent 96%)}
43
+ body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:80px 80px;opacity:.16;transform:rotateX(58deg) translateY(-22%) scale(1.5);transform-origin:top center;mask-image:linear-gradient(transparent,#000 28%,transparent 82%)}
44
+ html[data-theme="light"] body:before,html[data-theme="light"] body:after{opacity:.08}
45
+ @keyframes starsDrift{to{background-position:128px 256px,245px 317px,92px 173px}}
46
+ .topbar{height:58px;margin:-12px 0 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--hair);background:rgba(7,16,28,.62);backdrop-filter:blur(18px);border-radius:16px;padding:10px 12px;box-shadow:0 18px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06)}
47
+ html[data-theme="light"] .topbar{background:rgba(255,255,255,.82);box-shadow:0 18px 50px rgba(15,23,42,.08)}
48
+ .search{flex:1;display:flex;align-items:center;gap:10px;min-width:0;color:var(--muted)}.search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px}.search span{font-size:22px;line-height:1}.topbar__actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.seg{display:flex;align-items:center;gap:4px;border:1px solid var(--hair);background:rgba(255,255,255,.05);border-radius:999px;padding:4px}.seg__btn{border:0;border-radius:999px;background:transparent;color:var(--body);padding:7px 13px;font-weight:700;font-size:12px;cursor:pointer}.seg__btn.is-active{background:linear-gradient(135deg,var(--primary),var(--soft));color:#001018;box-shadow:0 8px 24px rgba(18,201,255,.25)}
49
+ .setup-copy{display:grid!important;grid-template-columns:minmax(240px,.78fr) 1fr;align-items:center!important;gap:22px!important;min-height:128px;padding:22px 24px!important;background:linear-gradient(135deg,rgba(18,201,255,.075),rgba(255,255,255,.035),rgba(124,58,237,.055))!important;border-color:rgba(96,165,250,.20)!important}.setup-copy h2{margin:12px 0 0;font-size:22px;letter-spacing:-.035em;line-height:1.15}.setup-copy .lead{margin:0;font-size:18px;line-height:1.55;max-width:560px;color:var(--body);font-weight:500}.mini-pill{border-color:rgba(18,201,255,.38)!important;background:rgba(18,201,255,.09)!important;color:var(--soft)!important}
50
+ .setup-section,.card,.choice-card,.system-card,.terminal{backdrop-filter:blur(14px);background:linear-gradient(145deg,rgba(8,18,32,.72),rgba(5,8,14,.82))!important;border-color:var(--hair)!important}.choice-card:has(input:checked),.choice-card.is-selected{border-color:var(--primary)!important;background:linear-gradient(145deg,rgba(18,201,255,.13),rgba(8,18,32,.88))!important;box-shadow:0 0 0 1px rgba(18,201,255,.25) inset,0 24px 70px rgba(18,201,255,.10)!important}.choice-card:has(input:checked) .choice-card__meta i,.choice-card.is-selected .choice-card__meta i{border-color:var(--primary)!important;background:radial-gradient(circle,var(--primary) 0 42%,transparent 46%)!important;box-shadow:0 0 0 5px rgba(18,201,255,.14),0 0 28px rgba(18,201,255,.34)!important}.install-cta{background:linear-gradient(135deg,var(--primary),var(--soft) 48%,#0284c7)!important;color:#001018!important}.install-cta small{color:rgba(0,16,24,.72)!important}
51
+ html[data-theme="light"] .setup-section,html[data-theme="light"] .card,html[data-theme="light"] .choice-card,html[data-theme="light"] .system-card,html[data-theme="light"] .terminal{background:rgba(255,255,255,.82)!important;color:var(--ink)!important}.choice-card__body small{color:var(--body)!important}
52
+ @media(max-width:900px){.topbar{height:auto;align-items:stretch;flex-direction:column}.topbar__actions{width:100%;justify-content:space-between}.setup-copy{grid-template-columns:1fr!important}.setup-copy .lead{font-size:16px}}
53
+
54
+
55
+ /* OpenClaw red theme + overflow containment fix */
56
+ html,body,#app{width:100%;max-width:100%;overflow-x:hidden}
57
+ html[data-theme="dark"]{color-scheme:dark;--canvas:#030712;--surface:#090e1a;--surface2:#0b1329;--hair:#1e293b;--primary:#f43f5e;--soft:#fb7185;--deep:#be123c;--ink:#f8fafc;--body:#94a3b8;--muted:#64748b;--ok:#06b6d4}
58
+ html[data-theme="light"]{color-scheme:light;--canvas:#fff7f8;--surface:#fff;--surface2:#fff1f2;--hair:#f1c9ce;--primary:#ff2436;--soft:#ff5a66;--deep:#b80716;--ink:#171112;--body:#66565a;--muted:#9a8488;--ok:#059669}
59
+ body{min-height:100vh;overflow-x:clip;background:radial-gradient(circle at 50% 0%,rgba(15,23,42,0.4) 0%,rgba(3,7,18,1) 70%)!important}
60
+ html[data-theme="light"] body{background:radial-gradient(circle at 75% 55%,rgba(255,36,54,.12),transparent 26%),linear-gradient(180deg,#fffafb,#fff1f2)!important}
61
+ body:before{inset:0!important;width:100vw;height:100vh;overflow:hidden;background-image:radial-gradient(circle,rgba(255,255,255,.90) 0 1px,transparent 1.7px),radial-gradient(circle,rgba(6,182,212,.75) 0 1.3px,transparent 2px),radial-gradient(circle,rgba(244,63,94,.55) 0 .8px,transparent 1.6px)!important;opacity:.28!important;transform:none!important;animation:starsDriftRed 46s linear infinite!important}
62
+ body:after{inset:0!important;width:100vw;height:100vh;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.018) 1px,transparent 1px)!important;background-size:86px 86px!important;opacity:.13!important;transform:none!important}
63
+ @keyframes starsDriftRed{to{background-position:128px 256px,245px 317px,92px 173px}}
64
+ .topbar{border-color:rgba(30,41,59,.8)!important;background:rgba(9,14,26,.62)!important}.seg__btn.is-active{background:linear-gradient(135deg,var(--primary),var(--soft))!important;color:#fff!important;box-shadow:0 8px 24px rgba(244,63,94,.25)!important}.mini-pill{border-color:rgba(6,182,212,.38)!important;background:rgba(6,182,212,.09)!important;color:var(--soft)!important}.setup-copy{background:linear-gradient(135deg,rgba(6,182,212,.075),rgba(255,255,255,.03),rgba(244,63,94,.05))!important;border-color:rgba(6,182,212,.20)!important}.setup-section,.card,.choice-card,.system-card,.terminal{background:linear-gradient(145deg,rgba(9,14,26,.78),rgba(3,7,18,.86))!important;border-color:rgba(30,41,59,.78)!important}.choice-card:has(input:checked),.choice-card.is-selected{border-color:var(--primary)!important;background:linear-gradient(145deg,rgba(244,63,94,.14),rgba(9,14,26,.9))!important;box-shadow:0 0 0 1px rgba(244,63,94,.25) inset,0 24px 70px rgba(244,63,94,.10)!important}.choice-card:has(input:checked) .choice-card__meta i,.choice-card.is-selected .choice-card__meta i{border-color:var(--primary)!important;background:radial-gradient(circle,var(--primary) 0 42%,transparent 46%)!important;box-shadow:0 0 0 5px rgba(244,63,94,.14),0 0 28px rgba(244,63,94,.34)!important}.install-cta{background:linear-gradient(135deg,var(--primary),var(--soft) 48%,var(--deep))!important;color:#fff!important}.install-cta small{color:rgba(255,255,255,.72)!important}
65
+ html[data-theme="light"] .topbar,html[data-theme="light"] .setup-section,html[data-theme="light"] .card,html[data-theme="light"] .choice-card,html[data-theme="light"] .system-card,html[data-theme="light"] .terminal{background:rgba(255,255,255,.86)!important;color:var(--ink)!important}
66
+
67
+
68
+ /* Sidebar profile + donate modal */
69
+ .sidebar{display:flex;flex-direction:column;min-height:100vh}.sidebar nav{flex:0 0 auto}.sidebar-extra{margin-top:auto;display:grid;gap:12px}.side-info{border:1px solid var(--hair);border-radius:10px;background:rgba(255,255,255,.035);padding:12px;color:var(--body);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.side-info b{display:block;color:var(--ink);font-size:13px;margin-bottom:8px}.side-info b span{color:var(--body);font-weight:700}.side-info p{margin:0;font-size:12px;line-height:1.55}.socials{display:flex;gap:8px;margin-top:10px}.socials a{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--body);background:rgba(255,255,255,.06);border:1px solid var(--hair);transition:.18s}.socials a:hover{color:var(--primary);border-color:var(--primary);transform:translateY(-1px)}.socials svg{width:17px;height:17px}.donate-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,36,54,.38);border-radius:12px;background:linear-gradient(135deg,rgba(255,36,54,.18),rgba(255,90,102,.08));color:var(--ink);padding:11px 12px;cursor:pointer;font:inherit;font-weight:800;box-shadow:0 14px 36px rgba(255,36,54,.10)}.donate-btn span{color:var(--primary);font-size:18px;filter:drop-shadow(0 0 10px rgba(255,36,54,.5))}.donate-btn:hover{transform:translateY(-1px);border-color:var(--primary);box-shadow:0 18px 50px rgba(255,36,54,.18)}
70
+ .modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.62);backdrop-filter:blur(14px);animation:modalFade .18s ease}.donate-modal{position:relative;width:min(860px,96vw);max-height:92vh;overflow:auto;border:1px solid rgba(255,36,54,.28);border-radius:24px;background:linear-gradient(145deg,rgba(20,8,10,.98),rgba(7,7,7,.98));box-shadow:0 40px 140px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04) inset;padding:22px;animation:modalPop .24s cubic-bezier(.16,1,.3,1)}.modal-x{position:absolute;right:16px;top:14px;width:34px;height:34px;border-radius:999px;border:1px solid var(--hair);background:rgba(255,255,255,.06);color:var(--ink);font-size:22px;cursor:pointer}.donate-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.donate-head>span{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(255,36,54,.16);color:var(--primary);font-size:25px}.donate-head p{margin:0;color:var(--body);font-size:13px}.donate-head h2{margin:2px 0 0;font-size:32px;letter-spacing:-.04em}.donate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.donate-grid article{border:1px solid var(--hair);border-radius:18px;background:rgba(255,255,255,.04);padding:12px;text-align:center}.donate-grid img{width:100%;height:auto;max-height:62vh;object-fit:contain;border-radius:12px;background:#fff}.donate-grid b{display:block;margin-top:10px;font-size:14px;color:var(--ink)}@keyframes modalFade{from{opacity:0}to{opacity:1}}@keyframes modalPop{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
71
+ html[data-theme="light"] .side-info{background:rgba(255,255,255,.8)}html[data-theme="light"] .donate-modal{background:linear-gradient(145deg,#fff,#fff7f8)}
72
+ .confirm-modal{width:min(520px,94vw)}
73
+ .confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
74
+ .confirm-actions .secondary,.confirm-actions .primary{border-radius:14px;padding:12px 16px;font-weight:900;cursor:pointer}
75
+ .confirm-actions .secondary{border:1px solid var(--hair);background:rgba(255,255,255,.06);color:var(--ink)}
76
+ .confirm-actions .primary.danger{border:0;background:linear-gradient(135deg,#e11d30,#ff3b4d);color:#fff}
77
+ .zalo-login-modal{width:min(760px,96vw)}
78
+ .zalo-qr-image-wrap{display:grid;place-items:center;padding:10px;margin-bottom:12px;border:1px solid rgba(255,36,54,.22);border-radius:16px;background:#fff}
79
+ .zalo-qr-image{width:min(320px,100%);height:auto;image-rendering:pixelated}
80
+ .zalo-qr-log{min-height:360px;max-height:62vh;overflow:auto;border:1px solid rgba(255,36,54,.22);border-radius:16px;background:#050505;color:#f7f7f7;padding:16px;font:12px/1.08 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;letter-spacing:0}
81
+ .zalo-login-actions{position:sticky;bottom:-1px;display:flex;justify-content:flex-end;margin-top:12px;padding:12px 0 0;background:linear-gradient(180deg,transparent,rgba(14,4,6,.98) 34%)}
82
+ .zalo-login-actions .secondary{min-width:120px}
83
+ .install-modal{width:min(880px,96vw)}
84
+ .install-form{display:grid;gap:14px}
85
+ .install-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
86
+ .install-grid--compact{grid-template-columns:1fr}
87
+ .install-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
88
+ .install-tab{display:grid;gap:2px;align-content:center;min-height:52px;padding:12px 14px;border-radius:18px;border:1px solid var(--hair);background:rgba(255,255,255,.04);color:var(--ink);text-align:left;cursor:pointer;transition:.18s}
89
+ .install-tab strong{font-size:15px;line-height:1.1}
90
+ .install-tab small{font-size:12px;color:var(--muted);line-height:1.25}
91
+ .install-tab:hover{border-color:rgba(255,90,102,.45);transform:translateY(-1px)}
92
+ .install-tab.is-active{border-color:rgba(255,36,54,.9);background:linear-gradient(145deg,rgba(37,14,17,.98),rgba(12,8,8,.98));box-shadow:0 0 0 1px rgba(255,36,54,.26) inset,0 18px 40px rgba(255,36,54,.08)}
93
+ .field{display:grid;gap:6px}
94
+ .field.wide{grid-column:1/-1}
95
+ .field>span{font-size:12px;color:var(--body);font-weight:700}
96
+ .field>input,.field>select{width:100%;height:42px;border-radius:12px;border:1px solid var(--hair);background:rgba(255,255,255,.04);color:var(--ink);padding:0 12px}
97
+ .field>small{font-size:11px;color:var(--muted)}
98
+ .path-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
99
+ .path-row .icon-btn2{height:42px}
100
+ .install-preview{border:1px solid var(--hair);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.03);color:var(--body);font-size:12px}
101
+ .install-preview code{color:var(--ink);font-family:'JetBrains Mono',SFMono-Regular,Consolas,monospace;font-size:12px}
102
+ .install-actions{display:flex;justify-content:flex-end;gap:10px}
103
+ .pill-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
104
+ .pill-choice{display:grid;gap:2px;align-content:center;min-height:48px;padding:10px 12px;border-radius:999px;border:1px solid var(--hair);background:rgba(255,255,255,.04);color:var(--ink);text-align:left;cursor:pointer;transition:.18s}
105
+ .pill-choice strong{font-size:13px;line-height:1.1}
106
+ .pill-choice small{font-size:11px;color:var(--muted);line-height:1.2}
107
+ .pill-choice:hover{border-color:rgba(255,90,102,.45);transform:translateY(-1px)}
108
+ .pill-choice.is-active{border-color:rgba(255,36,54,.9);background:linear-gradient(135deg,rgba(255,36,54,.18),rgba(255,90,102,.08));box-shadow:0 0 0 1px rgba(255,36,54,.22) inset}
109
+ html[data-theme="light"] .field>input,html[data-theme="light"] .field>select{background:#fff;border-color:#e7d9dd;color:#1f1114}
110
+ html[data-theme="light"] .install-preview{background:#fff;border-color:#ecdde1}
111
+ html[data-theme="light"] .install-tab{background:#fff;border-color:#e7d9dd;color:#1f1114}
112
+ html[data-theme="light"] .install-tab.is-active{background:linear-gradient(135deg,rgba(255,36,54,.12),rgba(255,90,102,.05));border-color:rgba(255,36,54,.55)}
113
+ html[data-theme="light"] .pill-choice{background:#fff;border-color:#e7d9dd;color:#1f1114}
114
+ html[data-theme="light"] .pill-choice.is-active{background:linear-gradient(135deg,rgba(255,36,54,.12),rgba(255,90,102,.05));border-color:rgba(255,36,54,.55)}
115
+ @media(max-width:1180px){.sidebar-extra{display:none}}@media(max-width:720px){.donate-grid{grid-template-columns:1fr}.donate-modal{padding:16px;border-radius:18px}.donate-head h2{font-size:26px}}
116
+
117
+
118
+ /* Sticky header + header donate + icon cleanup */
119
+ .topbar{position:sticky;top:16px;z-index:120}.search__icon{width:19px;height:19px;flex:0 0 auto;color:var(--muted)}.top-donate{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,36,54,.34);border-radius:999px;background:linear-gradient(135deg,rgba(255,36,54,.18),rgba(255,90,102,.08));color:var(--ink);padding:8px 13px;font:inherit;font-weight:800;font-size:12px;cursor:pointer;white-space:nowrap;transition:.18s}.top-donate span{color:var(--primary);font-size:14px;line-height:1;filter:drop-shadow(0 0 8px rgba(255,36,54,.45))}.top-donate:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 12px 30px rgba(255,36,54,.16)}.sidebar-extra .donate-btn{display:none!important}.side-author b{text-transform:none}.side-info p{word-break:normal;overflow-wrap:break-word}.socials svg{display:block;stroke-linecap:round;stroke-linejoin:round}
120
+ @media(max-width:760px){.topbar{top:8px}.topbar__actions{flex-wrap:wrap}.top-donate{order:-1}}
121
+
122
+
123
+ /* Donate modal centering/equal QR + robust sticky header */
124
+ main{position:relative;overflow:visible!important}.topbar{position:-webkit-sticky!important;position:sticky!important;top:12px!important;z-index:900!important}.modal-backdrop{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;overflow:auto!important}.donate-modal{margin:auto!important;width:min(920px,94vw)!important;max-height:90dvh!important;display:flex!important;flex-direction:column!important}.donate-head>span{font-family:Arial,Helvetica,sans-serif!important;font-size:24px!important;line-height:1!important}.donate-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}.donate-grid article{display:flex!important;flex-direction:column!important;min-width:0!important}.donate-grid img{width:100%!important;aspect-ratio:105603/105603;max-height:none!important;height:auto!important;object-fit:contain!important;flex:1 1 auto!important}.donate-grid article:first-child img{aspect-ratio:1/1}.donate-grid article:nth-child(2) img{aspect-ratio:1/1;background:#fff}@media(max-width:720px){.modal-backdrop{align-items:flex-start!important}.donate-grid{grid-template-columns:1fr!important}.donate-grid img{aspect-ratio:auto!important}}
125
+
126
+
127
+ /* Final donate modal + fixed header */
128
+ main{padding-top:96px!important}.topbar{position:fixed!important;top:16px!important;left:288px!important;right:388px!important;z-index:950!important;margin:0!important}.modal-backdrop{z-index:2000!important}.modal-x{display:grid!important;place-items:center!important;color:var(--ink)!important;font-size:0!important}.modal-x svg{width:18px;height:18px;display:block}.donate-head p{font-family:var(--font-sans)!important;color:var(--body)!important;font-size:13px!important;line-height:1.3!important}.donate-head h2{font-family:var(--font-sans)!important}.qr-frame{width:100%;aspect-ratio:1/1;background:#fff;border-radius:12px;display:grid;place-items:center;overflow:hidden}.qr-frame img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important;border-radius:0!important;background:#fff!important}.donate-grid article:nth-child(2) .qr-frame img{object-fit:cover!important}.donate-grid article>b{font-family:var(--font-sans)!important}
129
+ @media(max-width:1180px){.topbar{left:112px!important;right:28px!important}main{padding-top:92px!important}}@media(max-width:760px){.topbar{left:12px!important;right:12px!important;top:8px!important}main{padding-top:150px!important}.qr-frame img{object-fit:contain!important}}
130
+
131
+ /* Donate microcopy */
132
+ .donate-head small{display:block;margin-top:6px;max-width:520px;color:var(--body);font-family:var(--font-sans);font-size:13px;line-height:1.45}
133
+
134
+
135
+ /* Header must stay viewport-fixed: no transformed/perspective ancestor */
136
+ html,body{transform:none!important;perspective:none!important;filter:none!important;contain:none!important}
137
+ body{perspective:none!important}.topbar{position:fixed!important;top:16px!important;left:288px!important;right:388px!important;z-index:5000!important;transform:none!important;will-change:auto!important}.topbar *{transform:none}.modal-backdrop{z-index:6000!important}
138
+ @media(max-width:1180px){.topbar{left:112px!important;right:28px!important}}
139
+ @media(max-width:760px){.topbar{left:12px!important;right:12px!important;top:8px!important}}
140
+
141
+
142
+ /* Fixed shell columns: sidebar + logs stay in place */
143
+ #app{display:block!important;min-height:100vh}.sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:260px!important;height:100vh!important;z-index:800!important;overflow:auto!important}.status{position:fixed!important;right:0!important;top:0!important;bottom:0!important;width:360px!important;height:100vh!important;z-index:800!important;overflow:hidden!important}main{margin-left:260px!important;margin-right:360px!important;min-height:100vh!important}.topbar{left:288px!important;right:388px!important}.bottom{display:none!important}@media(max-width:1180px){.sidebar{width:88px!important}.status{display:none!important}main{margin-left:88px!important;margin-right:0!important}.topbar{left:112px!important;right:28px!important}.sidebar-extra{display:none!important}}@media(max-width:760px){.sidebar{position:static!important;width:auto!important;height:auto!important;overflow:visible!important}.status{display:none!important}main{margin-left:0!important;margin-right:0!important}.topbar{left:12px!important;right:12px!important}.bottom{display:grid!important}}
144
+
145
+ /* Light mode polish: Sleek Tech aesthetic (inspired by openclaw.ai) */
146
+ html[data-theme="light"] {
147
+ --canvas: #f8fafc;
148
+ --surface: #ffffff;
149
+ --surface2: #f1f5f9;
150
+ --hair: #e2e8f0;
151
+ --primary: #f43f5e;
152
+ --soft: #fb7185;
153
+ --deep: #be123c;
154
+ --ink: #0f172a;
155
+ --body: #475569;
156
+ --muted: #64748b;
157
+ --ok: #0d9488;
158
+ }
159
+
160
+ html[data-theme="light"] body {
161
+ background: radial-gradient(circle at 50% 0%, rgba(244,63,94,0.03) 0%, #f8fafc 80%) !important;
162
+ color: var(--ink) !important;
163
+ }
164
+
165
+ html[data-theme="light"] body:before {
166
+ background-image: radial-gradient(circle, rgba(244,63,94,0.08) 0 1px, transparent 1.6px) !important;
167
+ opacity: 0.25 !important;
168
+ }
169
+
170
+ html[data-theme="light"] body:after {
171
+ background: linear-gradient(90deg, rgba(15,23,42,0.015) 1px, transparent 1px), linear-gradient(180deg, rgba(15,23,42,0.012) 1px, transparent 1px) !important;
172
+ opacity: 0.15 !important;
173
+ }
174
+
175
+ html[data-theme="light"] .sidebar,
176
+ html[data-theme="light"] .status {
177
+ background: #ffffff !important;
178
+ border-color: #e2e8f0 !important;
179
+ box-shadow: 0 20px 60px rgba(15,23,42,0.03) !important;
180
+ }
181
+
182
+ html[data-theme="light"] .brand b,
183
+ html[data-theme="light"] .status h2,
184
+ html[data-theme="light"] .top h1,
185
+ html[data-theme="light"] .section-head b,
186
+ html[data-theme="light"] .choice-card__body strong {
187
+ color: var(--ink) !important;
188
+ }
189
+
190
+ html[data-theme="light"] .brand span,
191
+ html[data-theme="light"] .nav,
192
+ html[data-theme="light"] .cmd,
193
+ html[data-theme="light"] .lead,
194
+ html[data-theme="light"] .section-head small,
195
+ html[data-theme="light"] .choice-card__body small,
196
+ html[data-theme="light"] .sys-row span {
197
+ color: var(--body) !important;
198
+ }
199
+
200
+ html[data-theme="light"] .nav:hover,
201
+ html[data-theme="light"] .nav.active {
202
+ background: #fff1f2 !important;
203
+ border-color: #fca5a5 !important;
204
+ color: var(--primary) !important;
205
+ }
206
+
207
+ html[data-theme="light"] .nav.active {
208
+ box-shadow: inset 3px 0 0 var(--primary), 0 8px 24px rgba(244,63,94,0.05) !important;
209
+ }
210
+
211
+ html[data-theme="light"] .cmd,
212
+ html[data-theme="light"] .side-info,
213
+ html[data-theme="light"] .topbar,
214
+ html[data-theme="light"] .setup-copy,
215
+ html[data-theme="light"] .setup-section,
216
+ html[data-theme="light"] .card,
217
+ html[data-theme="light"] .choice-card,
218
+ html[data-theme="light"] .system-card {
219
+ background: #ffffff !important;
220
+ border-color: #e2e8f0 !important;
221
+ box-shadow: 0 10px 30px rgba(15,23,42,0.04), inset 0 1px 0 #fff !important;
222
+ }
223
+
224
+ html[data-theme="light"] .setup-copy {
225
+ background: linear-gradient(135deg, rgba(6,182,212,0.04), #ffffff, rgba(244,63,94,0.03)) !important;
226
+ border-color: rgba(6,182,212,0.15) !important;
227
+ }
228
+
229
+ html[data-theme="light"] .setup-section:before {
230
+ background: linear-gradient(135deg, rgba(6,182,212,0.03), transparent 45%) !important;
231
+ }
232
+
233
+ html[data-theme="light"] .choice-card {
234
+ background: #ffffff !important;
235
+ }
236
+
237
+ html[data-theme="light"] .choice-card:hover {
238
+ border-color: rgba(244,63,94,0.4) !important;
239
+ box-shadow: 0 20px 48px rgba(15,23,42,0.06), inset 0 1px 0 #fff !important;
240
+ }
241
+
242
+ html[data-theme="light"] .choice-card:has(input:checked),
243
+ html[data-theme="light"] .choice-card.is-selected {
244
+ background: linear-gradient(145deg, rgba(244,63,94,0.05), #ffffff) !important;
245
+ border-color: var(--primary) !important;
246
+ box-shadow: 0 16px 40px rgba(244,63,94,0.08), 0 0 0 1px rgba(244,63,94,0.15) inset !important;
247
+ }
248
+
249
+ html[data-theme="light"] .choice-card__icon {
250
+ background: #f8fafc !important;
251
+ border-color: #e2e8f0 !important;
252
+ box-shadow: 0 8px 20px rgba(15,23,42,0.03) !important;
253
+ }
254
+
255
+ html[data-theme="light"] .choice-card__meta em {
256
+ background: #fff1f2 !important;
257
+ border-color: #fca5a5 !important;
258
+ color: var(--primary) !important;
259
+ }
260
+
261
+ html[data-theme="light"] .choice-card__meta i {
262
+ border-color: #cbd5e1 !important;
263
+ background: #ffffff !important;
264
+ }
265
+
266
+ html[data-theme="light"] .mini-pill,
267
+ html[data-theme="light"] .top-donate {
268
+ background: #fff1f2 !important;
269
+ border-color: #fca5a5 !important;
270
+ color: var(--primary) !important;
271
+ }
272
+
273
+ html[data-theme="light"] .seg {
274
+ background: #f1f5f9 !important;
275
+ border-color: #e2e8f0 !important;
276
+ }
277
+
278
+ html[data-theme="light"] .seg__btn {
279
+ color: #475569 !important;
280
+ }
281
+
282
+ html[data-theme="light"] .seg__btn.is-active {
283
+ background: linear-gradient(135deg, var(--primary), var(--soft)) !important;
284
+ color: #fff !important;
285
+ box-shadow: 0 8px 20px rgba(244,63,94,0.2) !important;
286
+ }
287
+
288
+ html[data-theme="light"] .install-cta {
289
+ color: #fff !important;
290
+ background: linear-gradient(135deg, var(--primary) 0%, var(--soft) 52%, var(--deep) 100%) !important;
291
+ box-shadow: 0 16px 36px rgba(244,63,94,0.2) !important;
292
+ }
293
+
294
+ html[data-theme="light"] .install-cta small {
295
+ color: rgba(255,255,255,0.8) !important;
296
+ }
297
+
298
+ html[data-theme="light"] .file textarea {
299
+ background: #ffffff !important;
300
+ color: #0f172a !important;
301
+ border-color: #cbd5e1 !important;
302
+ }
303
+
304
+
305
+ /* Layout update: logs under system, no right column */
306
+ #app{display:block!important;min-height:100vh}
307
+ .status{display:none!important}
308
+ main{margin-left:260px!important;margin-right:0!important;min-height:100vh!important;max-width:none!important}
309
+ .topbar{left:288px!important;right:28px!important}
310
+ .setup-shell{grid-template-columns:minmax(0,1fr) 340px!important;align-items:start!important}
311
+ .setup-side{display:grid;gap:18px;align-content:start;position:sticky;top:96px}
312
+ .logs-card{min-height:300px}
313
+ .logs-card .terminal{height:300px!important;max-height:42vh!important}
314
+ .system-card{min-height:auto!important}
315
+ @media(max-width:1180px){main{margin-left:88px!important;margin-right:0!important}.topbar{left:112px!important;right:28px!important}.setup-shell{grid-template-columns:1fr!important}.setup-side{position:static!important}.logs-card .terminal{height:260px!important;max-height:none!important}}
316
+ @media(max-width:760px){main{margin-left:0!important;margin-right:0!important}.topbar{left:12px!important;right:12px!important}.setup-shell{grid-template-columns:1fr!important}.setup-side{position:static!important}.logs-card .terminal{height:220px!important}}
317
+
318
+ /* Compact logo selector cards */
319
+ .os-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
320
+ .mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-bottom:0!important}
321
+ .logo-card{min-height:132px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:14px!important;text-align:center!important;padding:18px 12px!important;border-radius:20px!important}
322
+ .logo-card .choice-card__icon{width:58px!important;height:58px!important;border-radius:18px!important}
323
+ .logo-card .choice-card__icon img{width:36px!important;height:36px!important}
324
+ .logo-card .choice-card__body{display:flex!important;flex-direction:column!important;align-items:center!important;gap:4px!important}
325
+ .logo-card .choice-card__body strong{font-size:16px!important;line-height:1.1!important}
326
+ .logo-card .choice-card__body small{font-size:11px!important;line-height:1.1!important;color:var(--muted)!important}
327
+ .logo-card:has(input:checked):after,.logo-card.is-selected:after{display:none!important}
328
+ .logo-card:has(input:checked) .choice-card__icon,.logo-card.is-selected .choice-card__icon{box-shadow:0 16px 36px rgba(255,36,54,.18),inset 0 1px 0 rgba(255,255,255,.22)!important}
329
+ .bot-channel-static{pointer-events:none}
330
+ .bot-channel-static .choice-card__body small{color:var(--body)!important}
331
+ @media(max-width:1180px){.os-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
332
+ @media(max-width:900px){.os-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.logo-card{min-height:118px!important}}
333
+ @media(max-width:520px){.os-grid,.mode-grid{grid-template-columns:1fr!important}}
334
+
335
+ /* Move setup intro to right side */
336
+ .setup-main{gap:20px!important}
337
+ .setup-side .setup-copy{display:block!important;min-height:auto!important;padding:18px!important;margin:0!important;border-radius:20px!important}
338
+ .setup-side .setup-copy h2{margin:12px 0 10px!important;font-size:19px!important;line-height:1.18!important;letter-spacing:-.035em!important}
339
+ .setup-side .setup-copy .lead{font-size:14px!important;line-height:1.55!important;max-width:none!important;margin:0!important}
340
+ .setup-side .mini-pill{white-space:normal!important;line-height:1.2!important}
341
+ @media(max-width:1180px){.setup-side .setup-copy{order:-1}}
342
+
343
+ /* Refined install CTA + native icon polish */
344
+ .install-cta{
345
+ min-height:62px!important;
346
+ border-radius:18px!important;
347
+ border-color:rgba(255,255,255,.10)!important;
348
+ background:linear-gradient(135deg,#9f0714 0%,#e11d30 48%,#7f0610 100%)!important;
349
+ color:#fff!important;
350
+ box-shadow:0 18px 50px rgba(255,36,54,.18),inset 0 1px 0 rgba(255,255,255,.16)!important;
351
+ text-shadow:none!important;
352
+ }
353
+ .install-cta span{font-size:15px!important;font-weight:800!important;letter-spacing:-.01em!important;color:#fff!important}
354
+ .install-cta small{color:rgba(255,255,255,.70)!important;font-weight:500!important}
355
+ .install-cta:hover{background:linear-gradient(135deg,#b80b19 0%,#f23849 48%,#930815 100%)!important;box-shadow:0 22px 64px rgba(255,36,54,.24),inset 0 1px 0 rgba(255,255,255,.20)!important;transform:translateY(-1px)}
356
+ .install-cta:active{transform:translateY(0);box-shadow:0 12px 34px rgba(255,36,54,.18),inset 0 2px 8px rgba(0,0,0,.18)!important}
357
+ html[data-theme="light"] .install-cta{background:linear-gradient(135deg,#b51220 0%,#ef3346 50%,#a10d19 100%)!important;box-shadow:0 16px 42px rgba(239,51,70,.20),inset 0 1px 0 rgba(255,255,255,.22)!important}
358
+ html[data-theme="light"] .install-cta:hover{background:linear-gradient(135deg,#c81727 0%,#ff4b5d 50%,#b51220 100%)!important;box-shadow:0 20px 56px rgba(239,51,70,.26),inset 0 1px 0 rgba(255,255,255,.24)!important}
359
+ .logo-card .choice-card__icon img[src^="data:image/svg+xml"]{width:42px!important;height:42px!important;filter:drop-shadow(0 10px 18px rgba(255,36,54,.22))!important}
360
+
361
+ /* Log copy controls */
362
+ .card-head,.log-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
363
+ .card-head h3{margin:0}
364
+ .log-toolbar{margin:-6px 0 12px}
365
+ .copy-log,.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,36,54,.26);background:rgba(255,255,255,.05);color:var(--body);border-radius:12px;padding:8px 11px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:.18s}
366
+ .icon-btn{width:36px;height:36px;padding:0;border-radius:10px;flex:0 0 auto}
367
+ .copy-log svg,.icon-btn svg{width:17px;height:17px}
368
+ .copy-log:hover,.icon-btn:hover{color:var(--ink);border-color:var(--primary);background:rgba(255,36,54,.10);transform:translateY(-1px)}
369
+ .copy-log.is-copied,.icon-btn.is-copied{color:var(--ok);border-color:rgba(25,209,143,.45);background:rgba(25,209,143,.10)}
370
+ html[data-theme="light"] .copy-log,html[data-theme="light"] .icon-btn{background:#fff7f8;border-color:#f0c8ce;color:#6b5961}
371
+ html[data-theme="light"] .copy-log:hover,html[data-theme="light"] .icon-btn:hover{background:#fff1f2;color:var(--ink);border-color:#ff9faa}
372
+
373
+ /* Bot creator */
374
+ .bot-shell{display:grid;gap:18px}
375
+ .bot-create{display:grid;gap:18px}
376
+ .bot-channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
377
+ .bot-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
378
+ .bot-form-grid label{display:grid;gap:8px;color:var(--body);font-size:13px;font-weight:800}
379
+ .bot-form-grid label.wide{grid-column:1/-1}
380
+ .bot-form-grid input,.bot-form-grid textarea{
381
+ width:100%;border:1px solid rgba(255,36,54,.22);border-radius:14px;background:rgba(255,255,255,.055);
382
+ color:var(--ink);padding:12px 13px;font:inherit;outline:none;resize:vertical;
383
+ }
384
+ .bot-form-grid input:focus,.bot-form-grid textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(255,36,54,.12)}
385
+ .bot-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
386
+ .bot-actions .primary{border:0;border-radius:14px;padding:12px 18px;background:linear-gradient(135deg,#e11d30,#ff3b4d);color:#fff;font-weight:900;cursor:pointer}
387
+ .bot-message{color:var(--body);font-size:13px;font-weight:800}
388
+ html[data-theme="light"] .bot-form-grid input,html[data-theme="light"] .bot-form-grid textarea{background:#fff;border-color:#f0c8ce;color:#171014}
389
+ @media(max-width:900px){.bot-channel-grid{grid-template-columns:1fr!important}.bot-form-grid{grid-template-columns:1fr}}
390
+
391
+ /* Bot dashboard v2: middle content + right runtime column + bottom tree editor */
392
+ .bot-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 380px!important;gap:18px!important;align-items:start!important}
393
+ .bot-main{min-height:300px!important}
394
+ .bot-side{position:sticky;top:78px}
395
+ .bot-side h3{margin-top:0}
396
+ .bot-files-panel{grid-column:1/-1;min-height:420px}
397
+ .existing-project-card{display:grid;gap:10px;margin-top:14px}
398
+ .existing-project-actions{display:flex;gap:8px;flex-wrap:wrap}
399
+ .detected-projects{display:grid;gap:10px;max-height:260px;overflow:auto}
400
+ .detected-project{position:relative;display:grid;gap:8px;align-content:start;min-height:118px;text-align:left;border:1px solid rgba(255,36,54,.18);background:rgba(255,255,255,.035);color:var(--ink);border-radius:14px;padding:12px 144px 12px 12px;cursor:pointer;overflow:hidden;transition:.22s ease border-color,.22s ease transform,.22s ease box-shadow}
401
+ .detected-project:hover{border-color:rgba(255,255,255,.2);transform:translateY(-1px)}
402
+ .detected-project.active{border-color:rgba(255,36,54,.18);background:rgba(255,255,255,.035);box-shadow:inset 3px 0 0 var(--primary)}
403
+ .detected-project.is-loading{border-color:#7dd3fc;box-shadow:0 0 0 1px rgba(125,211,252,.25),0 18px 50px rgba(125,211,252,.10)}
404
+ .detected-project__shine{position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.16) 50%,transparent 75%);pointer-events:none;opacity:0}
405
+ .detected-project.is-loading .detected-project__shine{opacity:1;animation:projectShine 1.15s linear infinite}
406
+ .detected-project__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
407
+ .detected-project__loading{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid rgba(125,211,252,.45);background:rgba(14,165,233,.12);color:#bae6fd;font-size:11px;font-weight:900;white-space:nowrap;flex:0 0 auto}
408
+ .detected-project__loading svg{width:12px;height:12px;animation:buttonSpin .8s linear infinite}
409
+ .detected-project small{display:block;color:var(--muted);word-break:break-all;white-space:normal;line-height:1.35}
410
+ .detected-project__meta{display:flex!important;gap:8px;flex-wrap:wrap;margin-top:2px}
411
+ .detected-project__actions{position:absolute;top:50%;right:12px;transform:translateY(-50%);display:flex!important;justify-content:flex-end;align-items:center;gap:8px}
412
+ .detected-project__actions .secondary{min-width:110px}
413
+ .icon-btn2{display:inline-flex;align-items:center;gap:8px}
414
+ .icon-btn2 svg{width:16px;height:16px;flex:0 0 auto}\r
415
+ .btn-icon{display:inline-flex!important;align-items:center!important;gap:7px!important}\r
416
+ .btn-icon svg{width:15px!important;height:15px!important;max-width:15px!important;max-height:15px!important;flex:0 0 15px!important}
417
+ .danger-soft{border-color:rgba(255,90,107,.28)!important;color:#ffb0b8!important}
418
+ .danger-soft:hover{border-color:#ff5a6b!important;color:#fff!important;background:rgba(255,90,107,.14)!important}
419
+ .mini-pill{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,36,54,.55);font-size:12px;font-weight:800;letter-spacing:.2px}
420
+ .mini-pill--os{border-color:#64748b;color:#cbd5e1}
421
+ .mini-pill--docker{border-color:#2496ed;color:#9bd5ff}
422
+ .mini-pill--native{border-color:#7c5cff;color:#cfc4ff}
423
+ .channel-tabs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
424
+ .channel-tabs button{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,36,54,.24);background:rgba(255,255,255,.045);color:var(--body);border-radius:999px;padding:9px 12px;font-weight:900;cursor:pointer}
425
+ .channel-tabs button.active{background:rgba(255,36,54,.16);border-color:var(--primary);color:var(--ink);box-shadow:0 0 0 1px rgba(255,36,54,.18) inset}
426
+ .channel-tabs img{width:18px;height:18px}.channel-tabs span{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;color:var(--muted)}
427
+ .bot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
428
+ .bot-item{position:relative;display:grid;gap:8px;padding:16px;border:1px solid rgba(255,36,54,.22);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));color:var(--ink);text-align:left;cursor:pointer}
429
+ .bot-item.active{border-color:var(--red);box-shadow:0 0 0 1px rgba(255,43,61,.22),0 18px 50px rgba(255,36,54,.12)}
430
+ .bot-item b{font-size:17px}.bot-item code{width:max-content}.bot-item small{color:var(--muted);word-break:break-all}
431
+ .bot-item-actions{position:absolute;top:10px;right:10px;display:flex;gap:6px;opacity:0;transform:translateY(-2px);transition:.15s}
432
+ .bot-item:hover .bot-item-actions{opacity:1;transform:none}
433
+ .bot-edit,.bot-delete{width:28px;height:28px;border-radius:999px;border:1px solid rgba(255,36,54,.32);background:rgba(255,36,54,.12);color:var(--ink);font-size:15px;line-height:1;cursor:pointer}
434
+ .bot-edit{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06)}
435
+ .bot-delete{background:rgba(255,36,54,.16);font-size:20px}
436
+ .bot-edit:hover{background:rgba(255,255,255,.12)}
437
+ .bot-delete:hover{background:var(--red);color:white}
438
+ .bot-edit,.bot-delete{display:grid;place-items:center;padding:0}
439
+ .bot-edit svg{width:14px;height:14px;display:block}
440
+ .bot-actions .btn-icon svg,.cred-save.btn-icon svg{width:16px;height:16px}
441
+ .empty-create{min-height:170px;display:grid;place-items:center;text-align:center;align-content:center;gap:10px}
442
+ .runtime-links{display:grid;gap:10px;margin-top:14px}
443
+ .runtime-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(255,36,54,.24);border-radius:14px;padding:12px 13px;color:var(--ink);text-decoration:none;background:rgba(255,255,255,.045);font-weight:900}
444
+ .runtime-badge{border-radius:999px;padding:4px 8px;font-size:11px;text-transform:uppercase;border:1px solid currentColor}
445
+ .runtime-badge.ok{color:var(--ok)}.runtime-badge.bad{color:#ff4d5e}.runtime-badge.warn{color:#fbbf24}
446
+ .runtime-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 12px}
447
+ .runtime-status-card{display:grid;gap:10px;border:1px solid rgba(255,36,54,.24);border-radius:16px;padding:13px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));color:var(--ink);text-decoration:none;font-weight:900}
448
+ .runtime-status-card span{font-size:13px}.runtime-status-card .runtime-badge{flex:0 0 auto}
449
+ .runtime-status-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
450
+ .runtime-open-btn{display:flex;align-items:center;justify-content:center;min-height:32px;border-radius:11px;border:1px solid rgba(255,36,54,.28);background:rgba(255,36,54,.12);color:var(--ink);text-decoration:none;font-size:12px;font-weight:900}
451
+ .runtime-open-btn:hover{background:var(--red);color:#fff}
452
+ .credential-panel{display:grid;gap:12px;margin-top:14px}
453
+ .cred-field{display:grid;gap:7px;color:var(--body);font-size:12px;font-weight:900}
454
+ .cred-field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
455
+ .cred-field small{color:#fbbf24;font-weight:700}
456
+ .cred-input-wrap{display:flex;gap:8px}
457
+ .cred-input-wrap input{min-width:0;flex:1;border:1px solid rgba(255,36,54,.22);border-radius:13px;background:rgba(255,255,255,.055);color:var(--ink);padding:11px 12px;font:12px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;outline:none}
458
+ .cred-input-wrap input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(255,36,54,.12)}
459
+ .cred-toggle{width:auto!important;padding:8px 10px!important;border-radius:12px!important;font-size:12px!important}
460
+ .cred-save{min-height:42px!important;border-radius:14px!important}
461
+ .cred-msg{color:var(--ok);font-size:12px;font-weight:900}
462
+ .bot-files-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
463
+ .bot-files-head h3{margin:0}
464
+ .project-path-line{margin:6px 0 0;color:var(--muted);font-size:12px;font-weight:800}
465
+ .project-path-line code{word-break:break-all}
466
+ .file-workbench{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;min-height:360px}
467
+ .file-tree{border:1px solid rgba(255,36,54,.18);border-radius:16px;background:rgba(255,255,255,.035);padding:8px;overflow:auto;max-height:520px}
468
+ .file-tree button{display:flex;align-items:center;gap:6px;width:100%;text-align:left;border:0;background:transparent;color:var(--body);padding:9px 10px;border-radius:10px;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap;overflow:hidden}
469
+ .file-tree button span{overflow:hidden;text-overflow:ellipsis}
470
+ .file-tree button:hover,.file-tree button.active{background:rgba(255,36,54,.12);color:var(--ink)}
471
+ .file-tree--nested{display:block}
472
+ .tree-row{display:flex!important;align-items:center!important;gap:7px!important;width:100%!important;padding:9px 10px 9px var(--pad)!important;border:0!important;background:transparent!important;color:var(--body)!important;border-radius:10px!important;text-align:left!important;font:inherit!important;font-size:13px!important;cursor:pointer!important;white-space:nowrap!important;overflow:hidden!important}
473
+ .tree-row b{font-weight:800;overflow:hidden;text-overflow:ellipsis}
474
+ .tree-row span{flex:0 0 auto}
475
+ .tree-row:hover,.tree-row.active{background:rgba(255,36,54,.12)!important;color:var(--ink)!important}
476
+ .tree-row--dir b{color:var(--ink)}
477
+ .tree-row.is-disabled{opacity:.48;cursor:not-allowed!important}
478
+ .tree-editor--empty{display:grid;place-items:center;color:var(--muted)}
479
+ .tree-editor{width:100%;min-height:520px;border:1px solid rgba(255,36,54,.20);border-radius:16px;background:rgba(0,0,0,.22);color:var(--ink);padding:14px;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical;outline:none}
480
+ .tree-editor:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(255,36,54,.10)}
481
+ html[data-theme="light"] .channel-tabs button,html[data-theme="light"] .runtime-btn,html[data-theme="light"] .runtime-status-card,html[data-theme="light"] .runtime-open-btn,html[data-theme="light"] .bot-item,html[data-theme="light"] .file-tree{background:#fff7f8;border-color:#f0c8ce}
482
+ html[data-theme="light"] .cred-input-wrap input{background:#fff;color:#111827;border-color:#f0c8ce}
483
+ html[data-theme="light"] .tree-editor{background:#fff;color:#111827;border-color:#f0c8ce}
484
+ @media(max-width:1180px){.bot-layout{grid-template-columns:1fr!important}.bot-side{position:static}.bot-files-panel{grid-column:auto}.file-workbench{grid-template-columns:1fr}.file-tree{max-height:220px}.tree-editor{min-height:360px}}
485
+ @keyframes projectShine{to{transform:translateX(120%)}}
486
+
487
+ /* Bot create modal */
488
+ .bot-modal{width:min(920px,94vw)!important}
489
+ .bot-modal .bot-create{display:grid;gap:16px}
490
+ .bot-modal .bot-channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
491
+ .bot-modal-backdrop{animation:modalFade .18s ease!important}
492
+ .bot-modal{animation:modalPop .28s cubic-bezier(.16,1,.3,1)!important}
493
+ @media(max-width:760px){.bot-modal .bot-channel-grid{grid-template-columns:1fr!important}}
494
+
495
+ /* Global async button loading */
496
+ button.is-loading,
497
+ a.is-loading,
498
+ button.is-press-loading{
499
+ position:relative!important;
500
+ opacity:.82!important;
501
+ }
502
+ button.is-loading,
503
+ a.is-loading{
504
+ pointer-events:none!important;
505
+ cursor:wait!important;
506
+ }
507
+ button.is-loading::after,
508
+ a.is-loading::after,
509
+ button.is-press-loading::after{
510
+ content:""!important;
511
+ display:inline-block!important;
512
+ width:1em!important;
513
+ height:1em!important;
514
+ margin-left:.55em!important;
515
+ border:2px solid currentColor!important;
516
+ border-right-color:transparent!important;
517
+ border-radius:999px!important;
518
+ vertical-align:-.18em!important;
519
+ animation:buttonSpin .68s linear infinite!important;
520
+ }
521
+ .icon-btn.is-loading::after,
522
+ .modal-x.is-loading::after,
523
+ .bot-delete.is-loading::after,
524
+ .icon-btn.is-press-loading::after,
525
+ .modal-x.is-press-loading::after,
526
+ .bot-delete.is-press-loading::after{
527
+ position:absolute!important;
528
+ inset:50% auto auto 50%!important;
529
+ margin:-.5em 0 0 -.5em!important;
530
+ }
531
+ button.is-loading:disabled{filter:saturate(.9)}
532
+ @keyframes buttonSpin{to{transform:rotate(360deg)}}
533
+
534
+ /* Dashboard + bot split */
535
+ .dash-shell{display:grid;gap:18px}.dash-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.dash-hero h2{margin:0;font-size:28px;letter-spacing:-.03em}.dash-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.dash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dash-metric{display:grid;gap:8px}.dash-metric span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.dash-metric strong{font-size:24px;letter-spacing:-.03em}.dash-metric small{color:var(--body)}.dash-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px}.project-switcher{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.project-chip{position:relative;display:grid;gap:6px;text-align:left;border:1px solid rgba(255,36,54,.22);background:rgba(255,255,255,.045);border-radius:16px;padding:14px;color:var(--ink);cursor:pointer}.project-chip.active,.project-chip:hover{border-color:var(--primary);background:rgba(255,36,54,.10)}.project-chip small{color:var(--muted);word-break:break-all}.project-chip.is-loading-chip::after{content:"";position:absolute;top:10px;right:10px;width:14px;height:14px;border:2px solid #cdeefe;border-right-color:transparent;border-radius:999px;animation:buttonSpin .7s linear infinite}.dash-version-list{display:grid;gap:10px;margin-top:12px}.dash-version-list>div,.bot-meta-grid>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.dash-version-list span,.bot-meta-grid span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.dash-logs .terminal{height:320px!important;max-height:42vh}.bot-layout--single{grid-template-columns:1fr!important}.bot-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.bot-meta{display:grid;gap:8px}@media(max-width:1180px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-layout{grid-template-columns:1fr}.dash-hero{grid-template-columns:1fr}.dash-actions{justify-content:flex-start}}@media(max-width:760px){.dash-grid,.bot-meta-grid{grid-template-columns:1fr}.project-switcher{grid-template-columns:1fr}}
536
+ .runtime-card-actions{display:flex;gap:8px;align-items:center}.runtime-card-actions .runtime-open-btn{flex:1}
537
+ .bot-main .btn-inline{width:auto!important;min-height:40px!important;padding:10px 16px!important;display:inline-flex!important;align-items:center;justify-content:center;position:static!important;bottom:auto!important;z-index:auto!important;flex:0 0 auto!important}
538
+ .feature-group{margin:8px 0 10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
539
+ .feature-card{padding:16px}
540
+ .feature-card.is-loading{position:relative;overflow:hidden;opacity:.9}
541
+ .feature-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
542
+ .feature-head b{display:block;font-size:18px;margin-bottom:6px}
543
+ .feature-head p{margin:0;color:var(--body)}
544
+ .feature-switch{position:relative;display:inline-flex;flex:0 0 auto}
545
+ .feature-switch input{position:absolute;opacity:0;pointer-events:none}
546
+ .feature-switch span{width:52px;height:30px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);display:block;position:relative;transition:.18s}
547
+ .tree-editor:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(255,36,54,.10)}
548
+ html[data-theme="light"] .channel-tabs button,html[data-theme="light"] .runtime-btn,html[data-theme="light"] .runtime-status-card,html[data-theme="light"] .runtime-open-btn,html[data-theme="light"] .bot-item,html[data-theme="light"] .file-tree{background:#fff7f8;border-color:#f0c8ce}
549
+ html[data-theme="light"] .cred-input-wrap input{background:#fff;color:#111827;border-color:#f0c8ce}
550
+ html[data-theme="light"] .tree-editor{background:#fff;color:#111827;border-color:#f0c8ce}
551
+ @media(max-width:1180px){.bot-layout{grid-template-columns:1fr!important}.bot-side{position:static}.bot-files-panel{grid-column:auto}.file-workbench{grid-template-columns:1fr}.file-tree{max-height:220px}.tree-editor{min-height:360px}}
552
+ @keyframes projectShine{to{transform:translateX(120%)}}
553
+
554
+ /* Bot create modal */
555
+ .bot-modal{width:min(920px,94vw)!important}
556
+ .bot-modal .bot-create{display:grid;gap:16px}
557
+ .bot-modal .bot-channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
558
+ .bot-modal-backdrop{animation:modalFade .18s ease!important}
559
+ .bot-modal{animation:modalPop .28s cubic-bezier(.16,1,.3,1)!important}
560
+ @media(max-width:760px){.bot-modal .bot-channel-grid{grid-template-columns:1fr!important}}
561
+
562
+ /* Global async button loading */
563
+ button.is-loading,
564
+ a.is-loading,
565
+ button.is-press-loading{
566
+ position:relative!important;
567
+ opacity:.82!important;
568
+ }
569
+ button.is-loading,
570
+ a.is-loading{
571
+ pointer-events:none!important;
572
+ cursor:wait!important;
573
+ }
574
+ button.is-loading::after,
575
+ a.is-loading::after,
576
+ button.is-press-loading::after{
577
+ content:""!important;
578
+ display:inline-block!important;
579
+ width:1em!important;
580
+ height:1em!important;
581
+ margin-left:.55em!important;
582
+ border:2px solid currentColor!important;
583
+ border-right-color:transparent!important;
584
+ border-radius:999px!important;
585
+ vertical-align:-.18em!important;
586
+ animation:buttonSpin .68s linear infinite!important;
587
+ }
588
+ .icon-btn.is-loading::after,
589
+ .modal-x.is-loading::after,
590
+ .bot-delete.is-loading::after,
591
+ .icon-btn.is-press-loading::after,
592
+ .modal-x.is-press-loading::after,
593
+ .bot-delete.is-press-loading::after{
594
+ position:absolute!important;
595
+ inset:50% auto auto 50%!important;
596
+ margin:-.5em 0 0 -.5em!important;
597
+ }
598
+ button.is-loading:disabled{filter:saturate(.9)}
599
+ @keyframes buttonSpin{to{transform:rotate(360deg)}}
600
+
601
+ /* Dashboard + bot split */
602
+ .dash-shell{display:grid;gap:18px}.dash-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.dash-hero h2{margin:0;font-size:28px;letter-spacing:-.03em}.dash-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.dash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dash-metric{display:grid;gap:8px}.dash-metric span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.dash-metric strong{font-size:24px;letter-spacing:-.03em}.dash-metric small{color:var(--body)}.dash-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px}.project-switcher{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.project-chip{position:relative;display:grid;gap:6px;text-align:left;border:1px solid rgba(255,36,54,.22);background:rgba(255,255,255,.045);border-radius:16px;padding:14px;color:var(--ink);cursor:pointer}.project-chip.active,.project-chip:hover{border-color:var(--primary);background:rgba(255,36,54,.10)}.project-chip small{color:var(--muted);word-break:break-all}.project-chip.is-loading-chip::after{content:"";position:absolute;top:10px;right:10px;width:14px;height:14px;border:2px solid #cdeefe;border-right-color:transparent;border-radius:999px;animation:buttonSpin .7s linear infinite}.dash-version-list{display:grid;gap:10px;margin-top:12px}.dash-version-list>div,.bot-meta-grid>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.dash-version-list span,.bot-meta-grid span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.dash-logs .terminal{height:320px!important;max-height:42vh}.bot-layout--single{grid-template-columns:1fr!important}.bot-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.bot-meta{display:grid;gap:8px}@media(max-width:1180px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-layout{grid-template-columns:1fr}.dash-hero{grid-template-columns:1fr}.dash-actions{justify-content:flex-start}}@media(max-width:760px){.dash-grid,.bot-meta-grid{grid-template-columns:1fr}.project-switcher{grid-template-columns:1fr}}
603
+ .runtime-card-actions{display:flex;gap:8px;align-items:center}.runtime-card-actions .runtime-open-btn{flex:1}
604
+ .bot-main .btn-inline{width:auto!important;min-height:40px!important;padding:10px 16px!important;display:inline-flex!important;align-items:center;justify-content:center;position:static!important;bottom:auto!important;z-index:auto!important;flex:0 0 auto!important}
605
+ .feature-group{margin:8px 0 10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
606
+ .feature-card{padding:16px}
607
+ .feature-card.is-loading{position:relative;overflow:hidden;opacity:.9}
608
+ .feature-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
609
+ .feature-head b{display:block;font-size:18px;margin-bottom:6px}
610
+ .feature-head p{margin:0;color:var(--body)}
611
+ .feature-switch{position:relative;display:inline-flex;flex:0 0 auto}
612
+ .feature-switch input{position:absolute;opacity:0;pointer-events:none}
613
+ .feature-switch span{width:52px;height:30px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);display:block;position:relative;transition:.18s}
614
+ .feature-switch span:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:999px;background:#fff;transition:.18s}
615
+ .feature-switch input:checked + span{background:rgba(255,36,54,.32);border-color:rgba(255,36,54,.52)}
616
+ .feature-switch input:checked + span:after{left:25px;background:#ff4b5d}
617
+ .feature-progress{height:4px;margin-top:14px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
618
+ .feature-progress i{display:block;height:100%;width:34%;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(255,36,54,.95),transparent);animation:featureRun 1s linear infinite}
619
+ @keyframes featureRun{from{transform:translateX(-120%)}to{transform:translateX(360%)}}
620
+ .donut-chart {
621
+ position: relative;
622
+ width: 80px;
623
+ height: 80px;
624
+ border-radius: 50%;
625
+ background: conic-gradient(var(--primary) calc(var(--percent) * 1%), rgba(255, 255, 255, 0.08) 0);
626
+ display: flex;
627
+ align-items: center;
628
+ justify-content: center;
629
+ flex: 0 0 auto;
630
+ }
631
+
632
+ .donut-chart::before {
633
+ content: "";
634
+ position: absolute;
635
+ inset: 8px;
636
+ background: #090e1a;
637
+ border-radius: 50%;
638
+ }
639
+
640
+ /* Light Mode Donut Overrides */
641
+ html[data-theme="light"] .donut-chart {
642
+ background: conic-gradient(var(--primary) calc(var(--percent) * 1%), rgba(15, 23, 42, 0.06) 0) !important;
643
+ }
644
+
645
+ html[data-theme="light"] .donut-chart::before {
646
+ background: #ffffff !important;
647
+ }
648
+ .donut-value{position:relative;font-size:18px;font-weight:800;z-index:1;letter-spacing:-0.03em}
649
+ .chart-card{display:flex;align-items:center;gap:18px;padding:16px}
650
+ .chart-info{display:flex;flex-direction:column;gap:4px}
651
+ .chart-info span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}
652
+ .chart-info strong{font-size:18px;letter-spacing:-0.02em;line-height:1.2}
653
+ .chart-info small{color:var(--body);font-size:13px}
654
+
655
+ /* Premium Toast Notification System */
656
+ .toast-container {
657
+ position: fixed;
658
+ top: 24px;
659
+ right: 24px;
660
+ display: flex;
661
+ flex-direction: column;
662
+ gap: 12px;
663
+ z-index: 10000;
664
+ max-width: 380px;
665
+ pointer-events: none;
666
+ }
667
+
668
+ .toast-card {
669
+ pointer-events: auto;
670
+ background: rgba(16, 12, 13, 0.95);
671
+ backdrop-filter: blur(20px);
672
+ -webkit-backdrop-filter: blur(20px);
673
+ border: 1px solid rgba(255, 36, 54, 0.18);
674
+ border-radius: 16px;
675
+ padding: 16px 20px;
676
+ box-shadow: 0 20px 48px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.08);
677
+ display: flex;
678
+ align-items: flex-start;
679
+ gap: 14px;
680
+ transform: translateX(130%);
681
+ transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
682
+ opacity: 0;
683
+ }
684
+
685
+ .toast-card.show {
686
+ transform: translateX(0);
687
+ opacity: 1;
688
+ }
689
+
690
+ .toast-card.hide {
691
+ transform: translateX(130%);
692
+ opacity: 0;
693
+ }
694
+
695
+ .toast-card--success {
696
+ border-left: 4px solid var(--ok, #19d18f);
697
+ }
698
+ .toast-card--error {
699
+ border-left: 4px solid var(--primary, #ff2436);
700
+ }
701
+ .toast-card--info {
702
+ border-left: 4px solid var(--soft, #ff5a66);
703
+ }
704
+
705
+ .toast-card__icon {
706
+ font-size: 20px;
707
+ line-height: 1;
708
+ flex-shrink: 0;
709
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.25));
710
+ }
711
+
712
+ .toast-card__body {
713
+ display: flex;
714
+ flex-direction: column;
715
+ gap: 4px;
716
+ min-width: 0;
717
+ flex: 1;
718
+ }
719
+
720
+ .toast-card__title {
721
+ font-weight: 750;
722
+ font-size: 14px;
723
+ color: var(--ink, #f8f7f7);
724
+ letter-spacing: -0.01em;
725
+ }
726
+
727
+ .toast-card__desc {
728
+ font-size: 12.5px;
729
+ color: var(--body, #c9bfc0);
730
+ line-height: 1.45;
731
+ word-break: break-word;
732
+ }
733
+
734
+ .toast-card__close {
735
+ background: none;
736
+ border: none;
737
+ color: var(--muted, #817273);
738
+ cursor: pointer;
739
+ padding: 0;
740
+ margin-left: 6px;
741
+ font-size: 20px;
742
+ line-height: 0.8;
743
+ opacity: 0.65;
744
+ transition: opacity 0.2s ease, color 0.2s ease;
745
+ }
746
+
747
+ .toast-card__close:hover {
748
+ opacity: 1;
749
+ color: var(--primary, #ff2436);
750
+ }
751
+
752
+ html[data-theme="light"] .toast-card {
753
+ background: rgba(255, 255, 255, 0.96);
754
+ border-color: rgba(255, 45, 63, 0.22);
755
+ box-shadow: 0 16px 42px rgba(143, 36, 48, 0.12), inset 0 1px 0 #fff;
756
+ }
757
+ html[data-theme="light"] .toast-card__title {
758
+ color: var(--ink, #171014);
759
+ }
760
+ html[data-theme="light"] .toast-card__desc {
761
+ color: var(--body, #5f5258);
762
+ }
763
+
764
+ /* Premium Terminal Windows Style (macOS/Ubuntu) */
765
+ html[data-theme="dark"] .terminal {
766
+ position: relative !important;
767
+ padding-top: 38px !important;
768
+ background: #020617 !important;
769
+ color: #38bdf8 !important;
770
+ border: 1px solid rgba(255, 255, 255, 0.08) !important;
771
+ box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
772
+ overflow: auto !important;
773
+ }
774
+
775
+ html[data-theme="dark"] .terminal:before {
776
+ content: "" !important;
777
+ position: absolute !important;
778
+ top: 13px !important;
779
+ left: 14px !important;
780
+ width: 9px !important;
781
+ height: 9px !important;
782
+ border-radius: 50% !important;
783
+ background: #ff5f56 !important;
784
+ box-shadow: 16px 0 0 #ffbd2e, 32px 0 0 #27c93f !important;
785
+ z-index: 10 !important;
786
+ }
787
+
788
+ html[data-theme="dark"] .terminal:after {
789
+ content: "" !important;
790
+ position: absolute !important;
791
+ top: 0 !important;
792
+ left: 0 !important;
793
+ right: 0 !important;
794
+ height: 32px !important;
795
+ background: rgba(15, 23, 42, 0.55) !important;
796
+ border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
797
+ pointer-events: none !important;
798
+ z-index: 5 !important;
799
+ }
800
+
801
+ html[data-theme="dark"] .terminal p {
802
+ color: #cbd5e1 !important;
803
+ position: relative !important;
804
+ z-index: 1 !important;
805
+ }
806
+
807
+ /* Premium Modal Styles in Dark Mode */
808
+ html[data-theme="dark"] .modal-backdrop {
809
+ background: rgba(2, 6, 23, 0.75) !important;
810
+ backdrop-filter: blur(16px) !important;
811
+ -webkit-backdrop-filter: blur(16px) !important;
812
+ }
813
+
814
+ html[data-theme="dark"] .donate-modal {
815
+ background: linear-gradient(145deg, #090e1a, #030712) !important;
816
+ border: 1px solid rgba(6, 182, 212, 0.22) !important;
817
+ box-shadow: 0 50px 120px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
818
+ border-radius: 24px !important;
819
+ }
820
+
821
+ html[data-theme="dark"] .donate-head>span {
822
+ background: rgba(6, 182, 212, 0.12) !important;
823
+ color: #06b6d4 !important;
824
+ border: 1px solid rgba(6, 182, 212, 0.2) !important;
825
+ }
826
+
827
+ html[data-theme="dark"] .modal-x {
828
+ border-color: rgba(255, 255, 255, 0.08) !important;
829
+ background: rgba(255, 255, 255, 0.04) !important;
830
+ transition: all 0.2s ease !important;
831
+ }
832
+
833
+ html[data-theme="dark"] .modal-x:hover {
834
+ border-color: var(--primary) !important;
835
+ background: rgba(244, 63, 94, 0.1) !important;
836
+ color: var(--primary) !important;
837
+ }
838
+
839
+ /* Premium Inputs in Dark Mode Modals */
840
+ html[data-theme="dark"] .field>input,
841
+ html[data-theme="dark"] .field>select,
842
+ html[data-theme="dark"] .bot-form-grid input,
843
+ html[data-theme="dark"] .bot-form-grid textarea {
844
+ background: #020617 !important;
845
+ border: 1px solid #1e293b !important;
846
+ color: #f8fafc !important;
847
+ border-radius: 12px !important;
848
+ transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
849
+ }
850
+
851
+ html[data-theme="dark"] .field>input:focus,
852
+ html[data-theme="dark"] .field>select:focus,
853
+ html[data-theme="dark"] .bot-form-grid input:focus,
854
+ html[data-theme="dark"] .bot-form-grid textarea:focus {
855
+ border-color: #06b6d4 !important;
856
+ box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.15) !important;
857
+ }
858
+
859
+ /* Premium Tab Choices in Install Modal */
860
+ html[data-theme="dark"] .install-tab {
861
+ background: rgba(255, 255, 255, 0.02) !important;
862
+ border: 1px solid rgba(255, 255, 255, 0.06) !important;
863
+ }
864
+
865
+ html[data-theme="dark"] .install-tab:hover {
866
+ border-color: rgba(6, 182, 212, 0.4) !important;
867
+ }
868
+
869
+ html[data-theme="dark"] .install-tab.is-active {
870
+ border-color: #06b6d4 !important;
871
+ background: linear-gradient(145deg, rgba(6, 182, 212, 0.12), rgba(9, 14, 26, 0.9)) !important;
872
+ box-shadow: 0 0 0 1px rgba(6, 182, 212, 0.2) inset, 0 12px 36px rgba(6, 182, 212, 0.08) !important;
873
+ }
874
+
875
+ html[data-theme="dark"] .pill-choice {
876
+ background: rgba(255, 255, 255, 0.02) !important;
877
+ border: 1px solid rgba(255, 255, 255, 0.06) !important;
878
+ }
879
+
880
+ html[data-theme="dark"] .pill-choice:hover {
881
+ border-color: rgba(6, 182, 212, 0.4) !important;
882
+ }
883
+
884
+ html[data-theme="dark"] .pill-choice.is-active {
885
+ border-color: #06b6d4 !important;
886
+ background: linear-gradient(135deg, rgba(6, 182, 212, 0.14), rgba(255, 255, 255, 0.02)) !important;
887
+ }
888
+
889
+ /* Premium Modal Action Buttons */
890
+ html[data-theme="dark"] .confirm-actions button,
891
+ html[data-theme="dark"] .install-actions button,
892
+ html[data-theme="dark"] .bot-actions button {
893
+ border-radius: 12px !important;
894
+ font-weight: 700 !important;
895
+ transition: all 0.2s ease !important;
896
+ }
897
+
898
+ html[data-theme="dark"] .confirm-actions .primary,
899
+ html[data-theme="dark"] .install-actions button[type="submit"],
900
+ html[data-theme="dark"] .bot-actions button[type="submit"] {
901
+ background: linear-gradient(135deg, var(--primary) 0%, #db2777 100%) !important;
902
+ color: #fff !important;
903
+ border: none !important;
904
+ box-shadow: 0 10px 24px rgba(244, 63, 94, 0.2) !important;
905
+ }
906
+
907
+ html[data-theme="dark"] .confirm-actions .primary:hover,
908
+ html[data-theme="dark"] .install-actions button[type="submit"]:hover,
909
+ html[data-theme="dark"] .bot-actions button[type="submit"]:hover {
910
+ transform: translateY(-1px) !important;
911
+ box-shadow: 0 12px 30px rgba(244, 63, 94, 0.3) !important;
912
+ }
913
+
914
+ html[data-theme="dark"] .confirm-actions .secondary,
915
+ html[data-theme="dark"] .install-actions .secondary,
916
+ html[data-theme="dark"] .bot-actions .secondary {
917
+ background: transparent !important;
918
+ border: 1px solid rgba(255, 255, 255, 0.08) !important;
919
+ color: var(--ink) !important;
920
+ }
921
+
922
+ html[data-theme="dark"] .confirm-actions .secondary:hover,
923
+ html[data-theme="dark"] .install-actions .secondary:hover,
924
+ html[data-theme="dark"] .bot-actions .secondary:hover {
925
+ border-color: rgba(6, 182, 212, 0.5) !important;
926
+ color: #06b6d4 !important;
927
+ }
928
+
929
+ /* Align inline secondary buttons on Bot screen */
930
+ .bot-main .secondary.btn-inline {
931
+ background: transparent !important;
932
+ border: 1px solid rgba(255, 255, 255, 0.08) !important;
933
+ color: var(--ink) !important;
934
+ font-weight: 700 !important;
935
+ border-radius: 8px !important;
936
+ display: inline-flex !important;
937
+ align-items: center !important;
938
+ justify-content: center !important;
939
+ transition: all 0.2s ease !important;
940
+ width: auto !important;
941
+ min-height: 40px !important;
942
+ padding: 10px 16px !important;
943
+ }
944
+
945
+ .bot-main .secondary.btn-inline:hover {
946
+ border-color: rgba(6, 182, 212, 0.5) !important;
947
+ color: #06b6d4 !important;
948
+ }
949
+
950
+ .bot-main .primary.btn-inline {
951
+ background: linear-gradient(135deg, var(--primary) 0%, #db2777 100%) !important;
952
+ color: #fff !important;
953
+ border: none !important;
954
+ font-weight: 700 !important;
955
+ border-radius: 8px !important;
956
+ display: inline-flex !important;
957
+ align-items: center !important;
958
+ justify-content: center !important;
959
+ box-shadow: 0 8px 20px rgba(244, 63, 94, 0.18) !important;
960
+ transition: all 0.2s ease !important;
961
+ width: auto !important;
962
+ min-height: 40px !important;
963
+ padding: 10px 16px !important;
964
+ }
965
+
966
+ .bot-main .primary.btn-inline:hover {
967
+ transform: translateY(-1px) !important;
968
+ box-shadow: 0 10px 24px rgba(244, 63, 94, 0.28) !important;
969
+ }
970
+
971
+ /* Premium Skills & Plugins Separation */
972
+ .feature-group {
973
+ font-size: 13px !important;
974
+ text-transform: uppercase !important;
975
+ letter-spacing: 1.5px !important;
976
+ color: var(--soft) !important;
977
+ margin: 20px 0 12px 0 !important;
978
+ font-weight: 800 !important;
979
+ display: flex !important;
980
+ align-items: center !important;
981
+ gap: 8px !important;
982
+ }
983
+
984
+ .feature-divider-wrap {
985
+ padding: 24px 0 12px 0 !important;
986
+ }
987
+
988
+ .feature-divider {
989
+ border: none !important;
990
+ height: 1px !important;
991
+ background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.05) 50%, rgba(255, 255, 255, 0) 100%) !important;
992
+ margin: 0 !important;
993
+ }
994
+
995
+ html[data-theme="light"] .feature-divider {
996
+ background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.06) 50%, rgba(0, 0, 0, 0) 100%) !important;
997
+ }
998
+
999
+ /* Premium Light Mode Polish (macOS/Ubuntu Windows Style Terminal, Modals, Buttons) */
1000
+ html[data-theme="light"] .terminal {
1001
+ position: relative !important;
1002
+ padding-top: 38px !important;
1003
+ background: #f8fafc !important;
1004
+ color: #0f172a !important;
1005
+ border: 1px solid #e2e8f0 !important;
1006
+ box-shadow: inset 0 1px 0 #fff, 0 20px 48px rgba(15, 23, 42, 0.05) !important;
1007
+ overflow: auto !important;
1008
+ }
1009
+
1010
+ html[data-theme="light"] .terminal:before {
1011
+ content: "" !important;
1012
+ position: absolute !important;
1013
+ top: 13px !important;
1014
+ left: 14px !important;
1015
+ width: 9px !important;
1016
+ height: 9px !important;
1017
+ border-radius: 50% !important;
1018
+ background: #ff5f56 !important;
1019
+ box-shadow: 16px 0 0 #ffbd2e, 32px 0 0 #27c93f !important;
1020
+ z-index: 10 !important;
1021
+ }
1022
+
1023
+ html[data-theme="light"] .terminal:after {
1024
+ content: "" !important;
1025
+ position: absolute !important;
1026
+ top: 0 !important;
1027
+ left: 0 !important;
1028
+ right: 0 !important;
1029
+ height: 32px !important;
1030
+ background: #f1f5f9 !important;
1031
+ border-bottom: 1px solid #e2e8f0 !important;
1032
+ pointer-events: none !important;
1033
+ z-index: 5 !important;
1034
+ }
1035
+
1036
+ html[data-theme="light"] .terminal p {
1037
+ color: #334155 !important;
1038
+ position: relative !important;
1039
+ z-index: 1 !important;
1040
+ }
1041
+
1042
+ /* Light Mode Modals & Overlays */
1043
+ html[data-theme="light"] .modal-backdrop {
1044
+ background: rgba(15, 23, 42, 0.4) !important;
1045
+ backdrop-filter: blur(16px) !important;
1046
+ -webkit-backdrop-filter: blur(16px) !important;
1047
+ }
1048
+
1049
+ html[data-theme="light"] .donate-modal {
1050
+ background: linear-gradient(145deg, #ffffff, #fcfcfc) !important;
1051
+ border: 1px solid rgba(255, 45, 63, 0.22) !important;
1052
+ box-shadow: 0 40px 100px rgba(143, 36, 48, 0.12), inset 0 1px 0 #fff !important;
1053
+ border-radius: 24px !important;
1054
+ }
1055
+
1056
+ html[data-theme="light"] .donate-head>span {
1057
+ background: rgba(255, 45, 63, 0.08) !important;
1058
+ color: var(--primary) !important;
1059
+ border: 1px solid rgba(255, 45, 63, 0.15) !important;
1060
+ }
1061
+
1062
+ html[data-theme="light"] .modal-x {
1063
+ border-color: #e2e8f0 !important;
1064
+ background: #f8fafc !important;
1065
+ color: #0f172a !important;
1066
+ transition: all 0.2s ease !important;
1067
+ }
1068
+
1069
+ html[data-theme="light"] .modal-x:hover {
1070
+ border-color: var(--primary) !important;
1071
+ background: rgba(255, 45, 63, 0.06) !important;
1072
+ color: var(--primary) !important;
1073
+ }
1074
+
1075
+ /* Light Mode Text Inputs inside Modals */
1076
+ html[data-theme="light"] .field>input,
1077
+ html[data-theme="light"] .field>select,
1078
+ html[data-theme="light"] .bot-form-grid input,
1079
+ html[data-theme="light"] .bot-form-grid textarea {
1080
+ background: #ffffff !important;
1081
+ border: 1px solid #cbd5e1 !important;
1082
+ color: #0f172a !important;
1083
+ border-radius: 12px !important;
1084
+ transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
1085
+ }
1086
+
1087
+ html[data-theme="light"] .field>input:focus,
1088
+ html[data-theme="light"] .field>select:focus,
1089
+ html[data-theme="light"] .bot-form-grid input:focus,
1090
+ html[data-theme="light"] .bot-form-grid textarea:focus {
1091
+ border-color: var(--primary) !important;
1092
+ box-shadow: 0 0 0 3px rgba(255, 45, 63, 0.12) !important;
1093
+ }
1094
+
1095
+ /* Light Mode Tab Choices in Install Modal */
1096
+ html[data-theme="light"] .install-tab {
1097
+ background: #ffffff !important;
1098
+ border: 1px solid #cbd5e1 !important;
1099
+ }
1100
+
1101
+ html[data-theme="light"] .install-tab:hover {
1102
+ border-color: var(--primary) !important;
1103
+ }
1104
+
1105
+ html[data-theme="light"] .install-tab.is-active {
1106
+ border-color: var(--primary) !important;
1107
+ background: linear-gradient(145deg, rgba(255, 45, 63, 0.06), #ffffff) !important;
1108
+ box-shadow: 0 0 0 1px rgba(255, 45, 63, 0.15) inset, 0 12px 36px rgba(255, 45, 63, 0.05) !important;
1109
+ }
1110
+
1111
+ html[data-theme="light"] .pill-choice {
1112
+ background: #ffffff !important;
1113
+ border: 1px solid #cbd5e1 !important;
1114
+ }
1115
+
1116
+ html[data-theme="light"] .pill-choice:hover {
1117
+ border-color: var(--primary) !important;
1118
+ }
1119
+
1120
+ html[data-theme="light"] .pill-choice.is-active {
1121
+ border-color: var(--primary) !important;
1122
+ background: linear-gradient(135deg, rgba(255, 45, 63, 0.08), #ffffff) !important;
1123
+ }
1124
+
1125
+ /* Light Mode Modal Buttons */
1126
+ html[data-theme="light"] .confirm-actions button,
1127
+ html[data-theme="light"] .install-actions button,
1128
+ html[data-theme="light"] .bot-actions button {
1129
+ border-radius: 12px !important;
1130
+ font-weight: 700 !important;
1131
+ transition: all 0.2s ease !important;
1132
+ }
1133
+
1134
+ html[data-theme="light"] .confirm-actions .primary,
1135
+ html[data-theme="light"] .install-actions button[type="submit"],
1136
+ html[data-theme="light"] .bot-actions button[type="submit"] {
1137
+ background: linear-gradient(135deg, var(--primary) 0%, #db2777 100%) !important;
1138
+ color: #fff !important;
1139
+ border: none !important;
1140
+ box-shadow: 0 8px 20px rgba(255, 45, 63, 0.2) !important;
1141
+ }
1142
+
1143
+ html[data-theme="light"] .confirm-actions .primary:hover,
1144
+ html[data-theme="light"] .install-actions button[type="submit"]:hover,
1145
+ html[data-theme="light"] .bot-actions button[type="submit"]:hover {
1146
+ transform: translateY(-1px) !important;
1147
+ box-shadow: 0 10px 24px rgba(255, 45, 63, 0.26) !important;
1148
+ }
1149
+
1150
+ html[data-theme="light"] .confirm-actions .secondary,
1151
+ html[data-theme="light"] .install-actions .secondary,
1152
+ html[data-theme="light"] .bot-actions .secondary {
1153
+ background: #ffffff !important;
1154
+ border: 1px solid #cbd5e1 !important;
1155
+ color: #0f172a !important;
1156
+ }
1157
+
1158
+ html[data-theme="light"] .confirm-actions .secondary:hover,
1159
+ html[data-theme="light"] .install-actions .secondary:hover,
1160
+ html[data-theme="light"] .bot-actions .secondary:hover {
1161
+ border-color: var(--primary) !important;
1162
+ color: var(--primary) !important;
1163
+ }
1164
+
1165
+ /* Align inline secondary buttons on Bot screen in Light Mode */
1166
+ html[data-theme="light"] .bot-main .secondary.btn-inline {
1167
+ background: #ffffff !important;
1168
+ border: 1px solid #cbd5e1 !important;
1169
+ color: #0f172a !important;
1170
+ }
1171
+
1172
+ html[data-theme="light"] .bot-main .secondary.btn-inline:hover {
1173
+ border-color: var(--primary) !important;
1174
+ color: var(--primary) !important;
1175
+ }
1176
+
1177
+ /* Premium Bot Channel Tabs Styling */
1178
+ .channel-tabs {
1179
+ display: flex !important;
1180
+ gap: 12px !important;
1181
+ margin: 18px 0 !important;
1182
+ border-bottom: 1px solid var(--hair) !important;
1183
+ padding-bottom: 12px !important;
1184
+ }
1185
+
1186
+ .channel-tabs button {
1187
+ display: inline-flex !important;
1188
+ align-items: center !important;
1189
+ gap: 8px !important;
1190
+ background: transparent !important;
1191
+ border: 1px solid var(--hair) !important;
1192
+ border-radius: 999px !important;
1193
+ padding: 8px 16px !important;
1194
+ color: var(--muted) !important;
1195
+ font-size: 13px !important;
1196
+ font-weight: 600 !important;
1197
+ cursor: pointer !important;
1198
+ transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
1199
+ }
1200
+
1201
+ .channel-tabs button img {
1202
+ width: 16px !important;
1203
+ height: 16px !important;
1204
+ object-fit: contain !important;
1205
+ filter: grayscale(100%) opacity(60%) !important;
1206
+ transition: all 0.2s ease !important;
1207
+ }
1208
+
1209
+ .channel-tabs button span {
1210
+ background: rgba(255, 255, 255, 0.05) !important;
1211
+ color: var(--muted) !important;
1212
+ font-size: 11px !important;
1213
+ font-weight: 700 !important;
1214
+ padding: 2px 6px !important;
1215
+ border-radius: 999px !important;
1216
+ border: 1px solid rgba(255, 255, 255, 0.03) !important;
1217
+ transition: all 0.2s ease !important;
1218
+ }
1219
+
1220
+ /* Hover State */
1221
+ .channel-tabs button:hover {
1222
+ border-color: var(--primary) !important;
1223
+ color: var(--ink) !important;
1224
+ }
1225
+
1226
+ /* Active State in Dark Mode */
1227
+ html[data-theme="dark"] .channel-tabs button.active {
1228
+ border-color: var(--primary) !important;
1229
+ background: rgba(244, 63, 94, 0.1) !important;
1230
+ color: var(--ink) !important;
1231
+ box-shadow: 0 0 20px rgba(244, 63, 94, 0.15) !important;
1232
+ }
1233
+
1234
+ html[data-theme="dark"] .channel-tabs button.active img {
1235
+ filter: none !important;
1236
+ }
1237
+
1238
+ html[data-theme="dark"] .channel-tabs button.active span {
1239
+ background: var(--primary) !important;
1240
+ color: #fff !important;
1241
+ border-color: transparent !important;
1242
+ }
1243
+
1244
+ /* Active State in Light Mode */
1245
+ html[data-theme="light"] .channel-tabs button {
1246
+ background: #ffffff !important;
1247
+ border-color: #cbd5e1 !important;
1248
+ color: #475569 !important;
1249
+ }
1250
+
1251
+ html[data-theme="light"] .channel-tabs button img {
1252
+ filter: grayscale(100%) opacity(80%) !important;
1253
+ }
1254
+
1255
+ html[data-theme="light"] .channel-tabs button span {
1256
+ background: #f1f5f9 !important;
1257
+ color: #475569 !important;
1258
+ border-color: #e2e8f0 !important;
1259
+ }
1260
+
1261
+ html[data-theme="light"] .channel-tabs button.active {
1262
+ border-color: var(--primary) !important;
1263
+ background: rgba(244, 63, 94, 0.06) !important;
1264
+ color: var(--primary) !important;
1265
+ box-shadow: 0 4px 12px rgba(244, 63, 94, 0.06) !important;
1266
+ }
1267
+
1268
+ html[data-theme="light"] .channel-tabs button.active img {
1269
+ filter: none !important;
1270
+ }
1271
+
1272
+ html[data-theme="light"] .channel-tabs button.active span {
1273
+ background: var(--primary) !important;
1274
+ color: #ffffff !important;
1275
+ border-color: transparent !important;
1276
+ }
1277
+
1278
+ /* Move loading spinner to top-right of project-chip with beautiful styling */
1279
+ .project-chip {
1280
+ position: relative !important;
1281
+ }
1282
+
1283
+ .project-chip.is-loading::after {
1284
+ content: "" !important;
1285
+ position: absolute !important;
1286
+ top: 14px !important;
1287
+ right: 14px !important;
1288
+ width: 16px !important;
1289
+ height: 16px !important;
1290
+ border: 2px solid rgba(244, 63, 94, 0.2) !important;
1291
+ border-top-color: var(--primary) !important;
1292
+ border-radius: 50% !important;
1293
+ animation: spinProjectSpinner 0.8s linear infinite !important;
1294
+ margin: 0 !important;
1295
+ transform: none !important;
1296
+ left: auto !important;
1297
+ bottom: auto !important;
1298
+ }
1299
+
1300
+ @keyframes spinProjectSpinner {
1301
+ to { transform: rotate(360deg); }
1302
+ }
1303
+
1304
+ /* Premium Bot Item Actions Styling (Visible by Default) */
1305
+ .bot-item {
1306
+ position: relative !important;
1307
+ }
1308
+
1309
+ .bot-item-actions {
1310
+ display: flex !important;
1311
+ gap: 6px !important;
1312
+ position: absolute !important;
1313
+ top: 10px !important;
1314
+ right: 10px !important;
1315
+ opacity: 1 !important; /* Always visible */
1316
+ pointer-events: auto !important;
1317
+ z-index: 10 !important;
1318
+ transition: all 0.2s ease !important;
1319
+ }
1320
+
1321
+ .bot-item-actions button {
1322
+ display: flex !important;
1323
+ align-items: center !important;
1324
+ justify-content: center !important;
1325
+ width: 24px !important;
1326
+ height: 24px !important;
1327
+ border-radius: 6px !important;
1328
+ border: 1px solid var(--hair) !important;
1329
+ background: var(--surface2) !important;
1330
+ color: var(--muted) !important;
1331
+ font-size: 13px !important;
1332
+ cursor: pointer !important;
1333
+ padding: 0 !important;
1334
+ opacity: 0.75 !important; /* Subtle visible state */
1335
+ transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
1336
+ }
1337
+
1338
+ .bot-item-actions button svg {
1339
+ width: 12px !important;
1340
+ height: 12px !important;
1341
+ }
1342
+
1343
+ /* Hover effects for actions buttons */
1344
+ .bot-item-actions button:hover {
1345
+ opacity: 1 !important;
1346
+ color: var(--primary) !important;
1347
+ border-color: var(--primary) !important;
1348
+ transform: scale(1.1) !important;
1349
+ box-shadow: 0 4px 12px rgba(244, 63, 94, 0.15) !important;
1350
+ }
1351
+
1352
+ /* Specific styling for delete button to glow red on hover */
1353
+ .bot-item-actions button.bot-delete:hover {
1354
+ color: #ff4b5d !important;
1355
+ border-color: #ff4b5d !important;
1356
+ box-shadow: 0 4px 12px rgba(255, 75, 93, 0.2) !important;
1357
+ }
1358
+
1359
+ /* Light Mode Overrides for Bot Item Actions */
1360
+ html[data-theme="light"] .bot-item-actions button {
1361
+ background: #ffffff !important;
1362
+ border-color: #cbd5e1 !important;
1363
+ color: #475569 !important;
1364
+ }
1365
+
1366
+ html[data-theme="light"] .bot-item-actions button:hover {
1367
+ border-color: var(--primary) !important;
1368
+ color: var(--primary) !important;
1369
+ }
1370
+
1371
+
1372
+
1373
+
1374
+
1375
+