Files
ishan-karmakar 6784d1c9c4 fix: More various fixes
Removes the internal IP, peers, and FQDN due to it not being useful
Changes the productName in the package.json to be the actual "Vynte
Connect" name
2026-05-31 21:49:09 -05:00

260 lines
5.8 KiB
CSS

:root {
--bg: #191b20;
--panel: rgba(20, 22, 26, .94);
--line: rgba(255, 255, 255, .07);
--text: #f5f6f8;
--muted: #9099a3;
--low: #5a5d66;
--orange: #ff7a1a;
--pink: #e63e5c;
--purple: #6f2bae;
--blue: #1e90ff;
--gradient: linear-gradient(135deg, var(--orange), var(--pink) 38%, var(--purple) 70%, var(--blue));
}
* { box-sizing: border-box; }
html, body { margin: 0; width: 100%; height: 100%; overflow: hidden; }
body {
color: var(--text);
font-family: "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
background:
radial-gradient(120% 80% at 20% 0%, rgba(255, 122, 26, .18), transparent 55%),
radial-gradient(90% 80% at 100% 100%, rgba(30, 144, 255, .16), transparent 60%),
var(--bg);
}
.panel {
width: 100%;
min-height: 100%;
background: rgba(25, 27, 32, .88);
border: 1px solid var(--line);
border-radius: 12px;
overflow: hidden;
}
.header, .footer {
display: flex;
align-items: center;
gap: 10px;
padding: 12px 14px;
border-bottom: 1px solid var(--line);
}
.footer {
border-top: 1px solid var(--line);
border-bottom: 0;
padding: 8px 6px;
}
.logo-small { width: 22px; height: 22px; border-radius: 4px; }
.title-block { flex: 1; min-width: 0; }
.title { font-size: 13px; font-weight: 650; }
button {
font-family: inherit;
color: inherit;
}
.icon-button {
width: 30px;
height: 26px;
border: 0;
border-radius: 6px;
background: transparent;
color: var(--muted);
cursor: pointer;
}
.icon-button:hover { background: rgba(255,255,255,.08); color: var(--text); }
.hero {
display: flex;
flex-direction: column;
align-items: center;
padding: 20px 16px 16px;
}
.orb {
width: 126px;
height: 126px;
border: 0;
padding: 0;
position: relative;
background: transparent;
cursor: pointer;
}
.orb-ring {
position: absolute;
inset: 5px;
border-radius: 50%;
background: conic-gradient(from 90deg, #2a2d33, #3a3d44, #2a2d33);
transition: background .25s, filter .25s;
}
.orb-core {
position: absolute;
inset: 7px;
border-radius: 50%;
background: radial-gradient(circle at 30% 25%, #1f2228 0%, #14161a 70%);
}
.orb-logo, .orb-power {
position: absolute;
inset: 0;
margin: auto;
}
.orb-logo {
width: 52px;
height: 52px;
display: none;
border-radius: 10px;
}
.orb-power {
width: 52px;
height: 52px;
display: grid;
place-items: center;
font-size: 42px;
color: #7a7e87;
}
.orb-dot {
display: none;
position: absolute;
left: 59px;
top: 1px;
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--orange);
box-shadow: 0 0 14px rgba(255, 122, 26, .78);
}
.connected .orb-ring,
.connecting .orb-ring,
.disconnecting .orb-ring,
.loggingOut .orb-ring {
background: conic-gradient(from 0deg, var(--orange), var(--pink), var(--purple), var(--blue), var(--orange));
filter: drop-shadow(0 0 20px rgba(255,122,26,.28));
}
.connected .orb-logo { display: block; }
.connected .orb-power { display: none; }
.connecting .orb-ring { animation: spin 1.05s linear infinite, pulse 1s ease-in-out infinite; }
.disconnecting .orb-ring, .loggingOut .orb-ring { animation: spin-reverse 1.35s linear infinite, pulse 1s ease-in-out infinite; }
.connecting .orb-dot, .disconnecting .orb-dot, .loggingOut .orb-dot { display: block; animation: orbit 1.05s linear infinite; transform-origin: 4px 62px; }
.disconnecting .orb-dot, .loggingOut .orb-dot { background: var(--purple); animation-direction: reverse; }
.status-line {
margin-top: 8px;
font-size: 16px;
font-weight: 650;
display: flex;
align-items: center;
gap: 8px;
}
.status-dot {
display: none;
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--orange);
box-shadow: 0 0 0 4px rgba(255,122,26,.14), 0 0 14px rgba(255,122,26,.7);
}
.connected .status-dot, .error .status-dot { display: inline-block; }
.error .status-dot { background: var(--pink); box-shadow: none; }
.message {
color: var(--muted);
font-size: 12px;
line-height: 1.35;
margin-top: 4px;
text-align: center;
min-height: 32px;
}
.gateway {
margin: 0 14px 12px;
padding: 10px;
border: 1px solid var(--line);
background: rgba(255,255,255,.04);
border-radius: 10px;
display: flex;
align-items: center;
gap: 10px;
}
.server-icon {
width: 28px;
height: 28px;
border-radius: 6px;
background: rgba(255,255,255,.04);
color: var(--muted);
display: grid;
place-items: center;
}
.label {
color: var(--low);
text-transform: uppercase;
font-size: 10px;
letter-spacing: .6px;
}
.mono {
font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
font-size: 12.5px;
}
.badge {
margin-left: auto;
padding: 3px 7px;
border-radius: 999px;
text-transform: uppercase;
font-size: 10px;
font-weight: 700;
color: var(--low);
background: rgba(255,255,255,.06);
}
.connected .badge {
color: #ff9747;
background: rgba(255,122,26,.14);
}
.hidden { display: none !important; }
.chip {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 10px;
border-radius: 6px;
border: 0;
background: transparent;
color: var(--muted);
font-size: 11px;
cursor: pointer;
}
.chip.active {
background: rgba(255,122,26,.10);
color: #ff9747;
}
.toggle {
width: 22px;
height: 12px;
border-radius: 99px;
background: rgba(255,255,255,.10);
position: relative;
}
.toggle span {
position: absolute;
top: 1.5px;
left: 1.5px;
width: 9px;
height: 9px;
border-radius: 50%;
background: white;
transition: left .18s;
}
.chip.active .toggle {
background: var(--gradient);
}
.chip.active .toggle span { left: 11px; }
.spacer { flex: 1; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes spin-reverse { to { transform: rotate(-360deg); } }
@keyframes pulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: .82; transform: scale(1.025); }
}
@keyframes orbit { to { transform: rotate(360deg); } }