From 57b5a582f6aa80753a14cdb6d232581925f8731a Mon Sep 17 00:00:00 2001 From: Creat0r Date: Mon, 11 May 2026 18:21:51 +0200 Subject: [PATCH] now with setup.exe files --- index.html | 426 ++++++++++++++++++------------------------------ setup-cloud.exe | Bin 0 -> 15212717 bytes setup-local.exe | Bin 0 -> 15212739 bytes 3 files changed, 160 insertions(+), 266 deletions(-) create mode 100644 setup-cloud.exe create mode 100644 setup-local.exe diff --git a/index.html b/index.html index c189c39..9537f88 100644 --- a/index.html +++ b/index.html @@ -17,14 +17,14 @@ --void: #02040c; --deep: #050813; --card: rgba(8,12,26,0.92); - --cb: rgba(255,148,32,0.11); /* card border */ - --cbh: rgba(255,148,32,0.30); /* card border hover */ + --cb: rgba(255,148,32,0.11); + --cbh: rgba(255,148,32,0.30); --sol: #ff9820; --sol2: #ff6100; - --sg: rgba(255,148,32,0.18); /* solar glow */ - --sr: rgba(255,148,32,0.38); /* solar rim */ - --sp: rgba(255,148,32,0.10); /* solar pale */ + --sg: rgba(255,148,32,0.18); + --sr: rgba(255,148,32,0.38); + --sp: rgba(255,148,32,0.10); --ice: #4ddeff; --ig: rgba(77,222,255,0.10); @@ -53,9 +53,6 @@ --ts: .22s; } - /* ═══════════════════════════════════════════════ - RESET - ═══════════════════════════════════════════════ */ *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;} html{scroll-behavior:smooth;} body{background:var(--void);color:var(--t1);font-family:var(--fb);font-size:16px;line-height:1.65;overflow-x:hidden;} @@ -65,20 +62,11 @@ ::-webkit-scrollbar-track{background:var(--void);} ::-webkit-scrollbar-thumb{background:rgba(255,148,32,.2);border-radius:2px;} - /* ═══════════════════════════════════════════════ - BACKGROUND CANVAS - ═══════════════════════════════════════════════ */ #bg{position:fixed;inset:0;z-index:0;pointer-events:none;} - /* ═══════════════════════════════════════════════ - LAYOUT - ═══════════════════════════════════════════════ */ .wrap{max-width:1140px;margin:0 auto;padding:0 5vw;} section{position:relative;z-index:2;} - /* ═══════════════════════════════════════════════ - NAV - ═══════════════════════════════════════════════ */ nav{ position:fixed;inset:0 0 auto 0;height:var(--nh);z-index:300; display:flex;align-items:center;justify-content:space-between;padding:0 5vw; @@ -127,9 +115,6 @@ .mob a{font-family:var(--fm);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t2);transition:color var(--ts);} .mob a:hover{color:var(--sol);} - /* ═══════════════════════════════════════════════ - BUTTONS - ═══════════════════════════════════════════════ */ .btn{ display:inline-flex;align-items:center;gap:8px; padding:.78rem 1.8rem;border-radius:var(--rb); @@ -145,46 +130,34 @@ .btn-wire{background:transparent;color:var(--t2);border:1px solid var(--t4);} .btn-wire:hover{border-color:var(--ir);color:var(--ice);box-shadow:0 0 18px var(--ig),inset 0 0 10px var(--ig);transform:translateY(-2px);} - /* ═══════════════════════════════════════════════ - SHARED SECTION TYPOGRAPHY - ═══════════════════════════════════════════════ */ .lbl{font-family:var(--fm);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--sol);margin-bottom:.55rem;} .sh{font-family:var(--fd);font-weight:700;font-size:clamp(1.65rem,3.4vw,2.5rem);letter-spacing:.06em;color:var(--t1);margin-bottom:.85rem;} .sh span{color:var(--sol);} .sb{font-size:.96rem;color:var(--t2);max-width:500px;line-height:1.82;} - /* ═══════════════════════════════════════════════ - REVEAL - ═══════════════════════════════════════════════ */ .rev{opacity:0;transform:translateY(26px);transition:opacity .65s var(--ease),transform .65s var(--ease);} .rev.in{opacity:1;transform:translateY(0);} .d1{transition-delay:.08s;}.d2{transition-delay:.16s;}.d3{transition-delay:.24s;}.d4{transition-delay:.32s;} - /* ═══════════════════════════════════════════════ - HERO - ═══════════════════════════════════════════════ */ + /* ═══ HERO ═══ */ #home{ min-height:100vh;display:flex;align-items:center;justify-content:center; padding:calc(var(--nh) + 90px) 5vw 130px;text-align:center; position:relative;overflow:hidden; } - /* dot grid */ #home::before{ content:'';position:absolute;inset:0; background-image:radial-gradient(rgba(255,148,32,.14) 1px,transparent 1px); background-size:42px 42px;z-index:1;pointer-events:none; mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 100%); } - /* bottom fade */ #home::after{content:'';position:absolute;bottom:0;left:0;right:0;height:220px;background:linear-gradient(transparent,var(--void));z-index:2;pointer-events:none;} - /* concentric rings */ .rings{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:1;} .ring{position:absolute;border-radius:50%;border:1px solid rgba(255,148,32,.06);top:50%;left:50%;transform:translate(-50%,-50%);animation:pulse-ring 8s ease-in-out infinite;} .ring:nth-child(1){width:340px;height:340px;animation-delay:0s;} .ring:nth-child(2){width:540px;height:540px;animation-delay:1.5s;border-color:rgba(255,148,32,.04);} .ring:nth-child(3){width:740px;height:740px;animation-delay:3s;border-color:rgba(255,148,32,.025);} - /* glow blob */ .glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,160,40,.11) 0%,rgba(255,90,10,.04) 40%,transparent 70%);filter:blur(8px);animation:pulse-ring 6s ease-in-out infinite;} @keyframes pulse-ring{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1);}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06);}} @@ -206,154 +179,79 @@ margin-bottom:1rem;animation:fadeup .8s .15s both; } .hero-ascii{ - font-family:var(--fm); - font-size:clamp(0.52rem,1.8vw,1.35rem); - line-height:1.25; - letter-spacing:0; - white-space:pre; - display:inline-block; - text-align:left; - color:var(--sol); - text-shadow:0 0 40px rgba(255,148,32,0.5),0 0 80px rgba(255,90,10,0.18); - margin-bottom:1rem; - animation:fadeup 0.8s 0.15s both; + font-family:var(--fm);font-size:clamp(0.52rem,1.8vw,1.35rem);line-height:1.25;letter-spacing:0;white-space:pre;display:inline-block;text-align:left;color:var(--sol); + text-shadow:0 0 40px rgba(255,148,32,0.5),0 0 80px rgba(255,90,10,0.18);margin-bottom:1rem;animation:fadeup 0.8s 0.15s both; } .flk{color:var(--sol);animation:flicker 9s ease-in-out infinite;} @keyframes flicker{0%,93%,95.5%,98%,100%{opacity:1;}94%{opacity:.35;}96%{opacity:.85;}99%{opacity:.25;}} .hero-tagline{ font-family:var(--fm);font-size:clamp(.58rem,1.8vw,.85rem);letter-spacing:clamp(.1em,.22em,.22em);text-transform:uppercase; - color:var(--t3);margin-bottom:1.6rem;animation:fadeup .8s .25s both; - padding:0 1rem; + color:var(--t3);margin-bottom:1.6rem;animation:fadeup .8s .25s both;padding:0 1rem; } .hero-tagline em{color:var(--sol);font-style:normal;} - .hero-desc{ - font-size:1.05rem;color:var(--t2);max-width:580px;margin:0 auto 2.8rem; - line-height:1.88;animation:fadeup .8s .35s both; - } + .hero-desc{font-size:1.05rem;color:var(--t2);max-width:580px;margin:0 auto 2.8rem;line-height:1.88;animation:fadeup .8s .35s both;} .hero-desc strong{color:var(--t1);font-weight:500;} .hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeup .8s .45s both;} - /* voice waveform — scaleY() only, no height changes → zero layout reflow/wobble */ .wave{display:flex;align-items:center;gap:3px;margin:3.2rem auto 0;width:fit-content;height:44px;animation:fadeup .8s .55s both;} .wb{width:3px;height:100%;background:var(--sol);border-radius:2px;opacity:.45;transform-origin:center;transform:scaleY(.08);animation:wa var(--d,1s) ease-in-out infinite var(--dl,0s);will-change:transform,opacity;} @keyframes wa{0%,100%{transform:scaleY(.08);opacity:.2;}50%{transform:scaleY(var(--s,.55));opacity:.75;}} - /* ─ SCROLL CUE ─ - Fix: no transform on parent – use margin-left trick to centre - so child transform animation doesn't cause layout wobble */ - .scroll-cue{ - position:absolute; - bottom:40px; - left:50%; - margin-left:-24px; /* half of its natural width so it centres without transform */ - z-index:3; - display:flex;flex-direction:column;align-items:center;gap:6px; - font-family:var(--fm);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--t3); - width:48px; /* fixed width so margin-left works */ - animation:fadeup 1s 1.1s both; - } - .scroll-arr{ - width:16px;height:16px; - border-right:1px solid var(--t3); - border-bottom:1px solid var(--t3); - transform:rotate(45deg); - /* Only animates within its own stacking context – no parent transform interference */ - animation:arr-bob 2s ease-in-out infinite; - will-change:transform; - } - @keyframes arr-bob{ - 0%,100%{transform:rotate(45deg) translate(0,0);} - 50% {transform:rotate(45deg) translate(3px,3px);} - } + .scroll-cue{position:absolute;bottom:40px;left:50%;margin-left:-24px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--fm);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--t3);width:48px;animation:fadeup 1s 1.1s both;} + .scroll-arr{width:16px;height:16px;border-right:1px solid var(--t3);border-bottom:1px solid var(--t3);transform:rotate(45deg);animation:arr-bob 2s ease-in-out infinite;will-change:transform;} + @keyframes arr-bob{0%,100%{transform:rotate(45deg) translate(0,0);}50%{transform:rotate(45deg) translate(3px,3px);}} @keyframes fadeup{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}} - /* ═══════════════════════════════════════════════ - MARQUEE — scrolling voice commands / social proof - ═══════════════════════════════════════════════ */ - #proof{ - padding:70px 0; - background:linear-gradient(to bottom,var(--void),var(--deep) 30%,var(--deep) 70%,var(--void)); - overflow:hidden;position:relative;z-index:2; - } + /* ═══ MARQUEE ═══ */ + #proof{padding:70px 0;background:linear-gradient(to bottom,var(--void),var(--deep) 30%,var(--deep) 70%,var(--void));overflow:hidden;position:relative;z-index:2;} .proof-label{text-align:center;margin-bottom:2rem;} - .marquee-wrap{display:flex;flex-direction:column;gap:1rem;overflow:hidden;} .marquee-track{display:flex;gap:1rem;width:max-content;animation:marquee-l var(--spd,38s) linear infinite;} .marquee-track.rev-dir{animation-direction:reverse;} .marquee-wrap:hover .marquee-track{animation-play-state:paused;} - @keyframes marquee-l{from{transform:translateX(0);}to{transform:translateX(-50%);}} - - .mq-card{ - display:flex;align-items:center;gap:12px; - padding:12px 18px;border-radius:10px; - background:var(--card);border:1px solid var(--cb); - white-space:nowrap;flex-shrink:0; - transition:border-color .2s; - } + .mq-card{display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:10px;background:var(--card);border:1px solid var(--cb);white-space:nowrap;flex-shrink:0;transition:border-color .2s;} .mq-card:hover{border-color:var(--sr);} .mq-icon{font-size:1rem;flex-shrink:0;} .mq-cmd{font-family:var(--fm);font-size:.74rem;color:var(--tc);} .mq-cmd .p{color:var(--sol);margin-right:6px;} .mq-result{font-family:var(--fm);font-size:.68rem;color:var(--t3);margin-left:4px;} - /* ═══════════════════════════════════════════════ - FEATURES - ═══════════════════════════════════════════════ */ + /* ═══ FEATURES ═══ */ #features{padding:110px 0;} .fh{text-align:center;margin-bottom:60px;} .fh .sb{margin:0 auto;} - - /* asymmetric bento grid */ .fg{display:grid;grid-template-columns:repeat(12,1fr);gap:1.1rem;} - .f7{grid-column:span 7;} - .f5{grid-column:span 5;} - .f4{grid-column:span 4;} + .f7{grid-column:span 7;}.f5{grid-column:span 5;}.f4{grid-column:span 4;} @media(max-width:900px){.f7,.f5,.f4{grid-column:span 12;}} @media(min-width:901px) and (max-width:1060px){.f7{grid-column:span 6;}.f5{grid-column:span 6;}.f4{grid-column:span 6;}} - - .fc{ - background:var(--card);border:1px solid var(--cb);border-radius:var(--rc); - padding:1.9rem 1.9rem 2.1rem;position:relative;overflow:hidden; - transition:border-color .28s,box-shadow .28s,transform .28s;backdrop-filter:blur(4px); - } + .fc{background:var(--card);border:1px solid var(--cb);border-radius:var(--rc);padding:1.9rem 1.9rem 2.1rem;position:relative;overflow:hidden;transition:border-color .28s,box-shadow .28s,transform .28s;backdrop-filter:blur(4px);} .fc::before{content:'';position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,var(--sr),transparent);opacity:0;transition:opacity .28s;} .fc:hover{border-color:var(--cbh);box-shadow:0 14px 48px rgba(0,0,0,.45),0 0 26px var(--sp);transform:translateY(-3px);} .fc:hover::before{opacity:1;} - .fc-blob{position:absolute;top:-50px;right:-50px;width:150px;height:150px;border-radius:50%;pointer-events:none;opacity:.05;filter:blur(40px);transition:opacity .28s;} .fc:hover .fc-blob{opacity:.13;} - .fc-ico{width:42px;height:42px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:1rem;} .ico-o{background:rgba(255,148,32,.08);border:1px solid rgba(255,148,32,.2);} .ico-c{background:rgba(77,222,255,.07);border:1px solid rgba(77,222,255,.18);} - .fc-title{font-family:var(--fd);font-size:.92rem;font-weight:600;letter-spacing:.04em;color:var(--t1);margin-bottom:.5rem;} .fc-body{font-size:.86rem;color:var(--t2);line-height:1.76;} .fc-tag{display:inline-block;margin-top:1rem;padding:3px 10px;border-radius:999px;font-family:var(--fm);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;} .tag-o{color:var(--sol);background:rgba(255,148,32,.08);border:1px solid var(--cb);} .tag-c{color:var(--ice);background:rgba(77,222,255,.07);border:1px solid rgba(77,222,255,.15);} - .cmd-row{display:flex;align-items:center;gap:9px;margin-top:.85rem;padding:8px 13px;background:rgba(0,0,0,.38);border:1px solid var(--t4);border-radius:7px;font-family:var(--fm);font-size:.73rem;color:var(--tc);} .cmd-row .p{color:var(--sol);flex-shrink:0;} - .mpill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:rgba(77,222,255,.05);border:1px solid rgba(77,222,255,.13);font-family:var(--fm);font-size:.63rem;color:var(--ice);letter-spacing:.07em;margin-top:.55rem;margin-right:.35rem;} .mpill .gd{width:5px;height:5px;border-radius:50%;background:var(--grn);box-shadow:0 0 5px var(--grn);} - /* ═══════════════════════════════════════════════ - HOW IT WORKS - ═══════════════════════════════════════════════ */ - #how{ - padding:110px 0; - background:linear-gradient(to bottom,var(--void),var(--deep) 50%,var(--void)); - } + /* ═══ HOW IT WORKS ═══ */ + #how{padding:110px 0;background:linear-gradient(to bottom,var(--void),var(--deep) 50%,var(--void));} .how-hd{text-align:center;margin-bottom:72px;} .how-hd .sb{margin:0 auto;} - .flow{display:flex;align-items:flex-start;justify-content:center;flex-wrap:wrap;gap:0;} .fs{display:flex;flex-direction:column;align-items:center;text-align:center;width:185px;position:relative;} .fs:not(:last-child)::after{content:'→';position:absolute;right:-22px;top:17px;color:var(--sr);font-size:1.1rem;font-family:var(--fm);} @@ -361,33 +259,24 @@ .fs:hover .fi{border-color:var(--sr);box-shadow:0 0 28px var(--sg);transform:translateY(-3px);} .fl{font-family:var(--fm);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--t1);margin-bottom:.3rem;} .fn{font-size:.77rem;color:var(--t3);line-height:1.5;} - @media(max-width:680px){.fs::after{display:none;}.flow{gap:1.6rem;}} - /* ═══════════════════════════════════════════════ - MODEL STACK - ═══════════════════════════════════════════════ */ + /* ═══ MODEL STACK ═══ */ #models{padding:110px 0;} .mh{text-align:center;margin-bottom:60px;} .mh .sb{margin:0 auto;} - .mg{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;} @media(max-width:700px){.mg{grid-template-columns:1fr;}} - .mcat{border-radius:var(--rc);overflow:hidden;border:1px solid var(--cb);background:var(--card);position:relative;} - .mc-hd{display:flex;align-items:center;gap:10px;padding:13px 19px;border-bottom:1px solid var(--cb);} .mc-hd.loc{background:rgba(33,212,94,.05);} .mc-hd.cld{background:rgba(77,222,255,.05);} - .mcd{width:7px;height:7px;border-radius:50%;flex-shrink:0;} .mcd.loc{background:var(--grn);box-shadow:0 0 7px var(--grn);animation:blink 2.2s ease-in-out infinite;} .mcd.cld{background:var(--ice);box-shadow:0 0 7px var(--ice);animation:blink 2.8s ease-in-out infinite;} - .mcl{font-family:var(--fd);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;} .mcl.loc{color:var(--grn);}.mcl.cld{color:var(--ice);} .mcn{font-family:var(--fm);font-size:.6rem;letter-spacing:.08em;color:var(--t3);margin-left:auto;} - .mth{display:grid;grid-template-columns:2fr 1.3fr 2.4fr;padding:7px 18px;background:rgba(255,255,255,.02);border-bottom:1px solid var(--t4);} .mthc{font-family:var(--fm);font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--t3);} .mtr{display:grid;grid-template-columns:2fr 1.3fr 2.4fr;padding:12px 18px;border-bottom:1px solid var(--t4);transition:background .2s;align-items:center;} @@ -395,59 +284,29 @@ .mtr:hover{background:rgba(255,255,255,.02);} .mtc{font-family:var(--fm);font-size:.73rem;color:var(--t2);} .mtc.nm{color:var(--tc);font-weight:500;} - .mcft{padding:9px 18px;font-family:var(--fm);font-size:.6rem;letter-spacing:.08em;color:var(--t3);border-top:1px solid var(--t4);} .mcft a{color:var(--ice);transition:opacity .2s;}.mcft a:hover{opacity:.65;} - - /* shared row styling for STT/TTS (dimmed = same as local) */ .shared-row{background:rgba(33,212,94,.03);} .shared-row .mtc{opacity:.55;} - - /* BADGE */ .bd{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;} .bd-loc{background:rgba(33,212,94,.1);color:var(--grn);border:1px solid rgba(33,212,94,.24);} .bd-cld{background:rgba(77,222,255,.09);color:var(--ice);border:1px solid rgba(77,222,255,.22);} .bd-vis{background:rgba(255,148,32,.1);color:var(--sol);border:1px solid rgba(255,148,32,.24);} .bd-stt{background:rgba(180,125,255,.1);color:var(--pur);border:1px solid rgba(180,125,255,.24);} .bd-tts{background:rgba(255,111,168,.09);color:var(--pink);border:1px solid rgba(255,111,168,.22);} - - /* ─── COMING SOON OVERLAY ─── */ .soon-wrap{position:relative;} - .soon-overlay{ - position:absolute;inset:-1px; /* cover border too */ - border-radius:var(--rc); - background:rgba(8,12,26,.78); - backdrop-filter:blur(6px); - -webkit-backdrop-filter:blur(6px); - display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px; - z-index:10; - border:1px solid rgba(255,255,255,.06); - } - .soon-pill{ - display:inline-flex;align-items:center;gap:8px; - padding:8px 20px;border-radius:999px; - background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1); - font-family:var(--fm);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5); - } + .soon-overlay{position:absolute;inset:-1px;border-radius:var(--rc);background:rgba(8,12,26,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:10;border:1px solid rgba(255,255,255,.06);} + .soon-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-family:var(--fm);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);} .soon-pill .sd{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.3);} .soon-sub{font-family:var(--fm);font-size:.6rem;letter-spacing:.12em;color:rgba(255,255,255,.25);text-transform:uppercase;} - /* ═══════════════════════════════════════════════ - INSTALL - ═══════════════════════════════════════════════ */ - #install{ - padding:110px 0; - background:linear-gradient(to bottom,var(--void),var(--deep) 40%,var(--deep) 60%,var(--void)); - } + /* ═══ INSTALL ═══ */ + #install{padding:110px 0;background:linear-gradient(to bottom,var(--void),var(--deep) 40%,var(--deep) 60%,var(--void));} .ih{text-align:center;margin-bottom:56px;} .ih .sb{margin:0 auto;} - .ig{max-width:980px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;} @media(max-width:700px){.ig{grid-template-columns:1fr;}} - .icard{display:flex;flex-direction:column;} - - /* coloured header above each terminal */ .ich{display:flex;align-items:center;gap:11px;padding:13px 17px;border-radius:10px 10px 0 0;border:1px solid;border-bottom:none;} .ich.loc{background:rgba(33,212,94,.06);border-color:rgba(33,212,94,.22);} .ich.cld{background:rgba(77,222,255,.06);border-color:rgba(77,222,255,.22);} @@ -458,9 +317,7 @@ .icht.loc{color:var(--grn);}.icht.cld{color:var(--ice);} .ichs{font-family:var(--fm);font-size:.6rem;letter-spacing:.06em;color:var(--t3);margin-top:1px;} .ichr{font-family:var(--fm);font-size:.6rem;letter-spacing:.08em;color:var(--t3);margin-left:auto;white-space:nowrap;} - - /* terminal widget */ - .term{background:#020510;border:1px solid;overflow:hidden;border-radius:0 0 10px 10px;} + .term{background:#020510;border:1px solid;overflow:hidden;border-radius:0 0 0 0;} .icard .ich.loc ~ .term{border-color:rgba(33,212,94,.22);} .icard .ich.cld ~ .term{border-color:rgba(77,222,255,.22);} .tbar{display:flex;align-items:center;gap:5px;padding:9px 15px;background:rgba(255,255,255,.025);border-bottom:1px solid rgba(255,255,255,.04);} @@ -473,12 +330,69 @@ .tcmd{font-family:var(--fm);font-size:.78rem;color:var(--tc);word-break:break-all;} .tcur{display:inline-block;width:7px;height:13px;background:var(--sol);margin-left:2px;vertical-align:middle;animation:cblink 1.1s step-start infinite;} @keyframes cblink{0%,100%{opacity:1;}50%{opacity:0;}} - .cpybtn{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:6px 13px;border-radius:6px;background:rgba(255,148,32,.08);border:1px solid var(--cb);font-family:var(--fm);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sol);cursor:pointer;transition:all var(--ts) var(--ease);white-space:nowrap;} .cpybtn:hover{background:rgba(255,148,32,.18);border-color:var(--sr);box-shadow:0 0 12px var(--sg);} .cpybtn.ok{background:rgba(33,212,94,.1);border-color:rgba(33,212,94,.34);color:var(--grn);} - /* model pills below each card */ + /* ── download divider ── */ + .dl-divider{ + display:flex;align-items:center;gap:10px; + padding:0 1.5rem; + border-left:1px solid rgba(33,212,94,.22); + border-right:1px solid rgba(33,212,94,.22); + background:rgba(0,0,0,.25); + } + .icard .ich.cld ~ .term + .dl-divider{ + border-left-color:rgba(77,222,255,.22); + border-right-color:rgba(77,222,255,.22); + } + .dl-divider-line{flex:1;height:1px;} + .dl-divider-line.loc{background:linear-gradient(90deg,transparent,rgba(33,212,94,.18),transparent);} + .dl-divider-line.cld{background:linear-gradient(90deg,transparent,rgba(77,222,255,.18),transparent);} + .dl-divider-text{ + font-family:var(--fm);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase; + color:var(--t3);white-space:nowrap;padding:8px 0; + } + + /* ── GUI download row ── */ + .dl-row{ + display:flex;align-items:center;justify-content:space-between;gap:1rem; + padding:1rem 1.5rem 1.2rem; + border:1px solid; + border-top:none; + border-radius:0 0 10px 10px; + background:rgba(0,0,0,.32); + } + .dl-row.loc{border-color:rgba(33,212,94,.22);} + .dl-row.cld{border-color:rgba(77,222,255,.22);} + + .dl-info{display:flex;flex-direction:column;gap:3px;} + .dl-title{font-family:var(--fd);font-size:.78rem;font-weight:700;letter-spacing:.05em;color:var(--t1);} + .dl-sub{font-family:var(--fm);font-size:.6rem;letter-spacing:.07em;color:var(--t3);} + + .dl-btn{ + display:inline-flex;align-items:center;gap:7px; + padding:8px 16px;border-radius:7px; + font-family:var(--fm);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase; + cursor:pointer;border:1px solid;transition:all var(--ts) var(--ease);white-space:nowrap;text-decoration:none; + } + .dl-btn.loc{ + color:var(--grn);background:rgba(33,212,94,.07);border-color:rgba(33,212,94,.26); + } + .dl-btn.loc:hover{background:rgba(33,212,94,.18);border-color:rgba(33,212,94,.55);box-shadow:0 0 16px rgba(33,212,94,.22);transform:translateY(-1px);} + .dl-btn.cld{ + color:var(--ice);background:rgba(77,222,255,.06);border-color:rgba(77,222,255,.24); + } + .dl-btn.cld:hover{background:rgba(77,222,255,.16);border-color:rgba(77,222,255,.52);box-shadow:0 0 16px rgba(77,222,255,.2);transform:translateY(-1px);} + + /* badges on terminal bar */ + .tmode-badge{ + margin-left:auto;display:inline-flex;align-items:center;gap:5px; + padding:2px 8px;border-radius:4px; + font-family:var(--fm);font-size:.54rem;letter-spacing:.14em;text-transform:uppercase; + background:rgba(255,148,32,.08);border:1px solid rgba(255,148,32,.2);color:var(--sol); + } + .imodels{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.85rem;} .ipill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-family:var(--fm);font-size:.63rem;letter-spacing:.07em;} .ipill.loc{background:rgba(33,212,94,.07);border:1px solid rgba(33,212,94,.17);color:var(--grn);} @@ -486,22 +400,13 @@ .ipill .dot{width:5px;height:5px;border-radius:50%;} .ipill .dot.g{background:var(--grn);box-shadow:0 0 5px var(--grn);} .ipill .dot.c{background:var(--ice);box-shadow:0 0 5px var(--ice);} - - /* shared note */ .inote{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:1.4rem;font-family:var(--fm);font-size:.7rem;letter-spacing:.1em;color:var(--t3);} - - /* req chips */ .reqs{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin-top:2rem;} .rchip{display:flex;align-items:center;gap:6px;padding:6px 13px;border-radius:8px;background:var(--card);border:1px solid var(--cb);font-family:var(--fm);font-size:.68rem;letter-spacing:.07em;color:var(--t2);} - /* ═══════════════════════════════════════════════ - GITHUB CTA - ═══════════════════════════════════════════════ */ + /* ═══ GITHUB CTA ═══ */ #github{padding:110px 0;background:linear-gradient(to bottom,var(--void),var(--deep));} - .ghcard{ - max-width:800px;margin:0 auto;background:var(--card);border:1px solid var(--cb); - border-radius:18px;padding:3.5rem;text-align:center;position:relative;overflow:hidden; - } + .ghcard{max-width:800px;margin:0 auto;background:var(--card);border:1px solid var(--cb);border-radius:18px;padding:3.5rem;text-align:center;position:relative;overflow:hidden;} .ghcard::before{content:'';position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--sr),transparent);} .ghcard::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(255,148,32,.05),transparent 60%);pointer-events:none;} .gh-ico{display:block;margin:0 auto 1.4rem;filter:drop-shadow(0 0 14px rgba(255,148,32,.25));} @@ -512,22 +417,13 @@ .gh-stat .sv{font-family:var(--fd);font-size:1.3rem;font-weight:700;color:var(--sol);display:block;} .gh-stat .sl{font-family:var(--fm);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--t3);} - /* ═══════════════════════════════════════════════ - FOOTER - ═══════════════════════════════════════════════ */ - footer{ - padding:42px 5vw 30px;border-top:1px solid var(--cb); - display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem; - position:relative;z-index:2; - } + /* ═══ FOOTER ═══ */ + footer{padding:42px 5vw 30px;border-top:1px solid var(--cb);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;position:relative;z-index:2;} .fl2{font-family:var(--fd);font-weight:800;font-size:.95rem;letter-spacing:.2em;color:var(--sol);opacity:.55;} .fc2{font-family:var(--fm);font-size:.66rem;letter-spacing:.1em;color:var(--t3);} .fa{font-family:var(--fm);font-size:.66rem;letter-spacing:.1em;color:var(--t3);transition:color var(--ts);} .fa:hover{color:var(--sol);} - /* ═══════════════════════════════════════════════ - RESPONSIVE - ═══════════════════════════════════════════════ */ @media(max-width:768px){ .nl,.nav-cta{display:none;} .ham{display:flex;} @@ -539,19 +435,14 @@ footer{flex-direction:column;align-items:center;text-align:center;} .mth,.mtr{grid-template-columns:1.4fr 1fr;} .mthc:last-child,.mtc:last-child{display:none;} + .dl-row{flex-direction:column;align-items:flex-start;gap:.75rem;} } - -