.theme-toggle[data-v-6564c3aa]{position:fixed;top:16px;right:16px;z-index:100;width:48px;height:48px;border-radius:50%;border:1px solid var(--border);background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--card-shadow);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition),background-color .3s ease}.theme-toggle[data-v-6564c3aa]:hover{transform:scale(1.1);box-shadow:var(--card-shadow-hover);border-color:var(--border-hover)}.theme-toggle[data-v-6564c3aa]:active{transform:scale(.92)}.theme-toggle img[data-v-6564c3aa]{display:block}.intro-section[data-v-4b0e5c80]{display:flex;justify-content:center;padding:8px 0}.intro-card[data-v-4b0e5c80]{display:flex;flex-direction:column;align-items:center;gap:20px;padding:32px 36px;border:1px solid var(--border);border-radius:16px;background:var(--card-bg);box-shadow:var(--card-shadow);max-width:560px;width:100%;text-align:center;transition:border-color var(--transition),box-shadow var(--transition),background-color .3s ease}.intro-card[data-v-4b0e5c80]:hover{border-color:var(--border-hover);box-shadow:var(--card-shadow-hover)}.intro-avatar[data-v-4b0e5c80]{display:flex;justify-content:center;margin-top:16px}.intro-photo[data-v-4b0e5c80]{width:140px;height:170px;border-radius:70px;object-fit:cover;object-position:center 15%;border:3px solid var(--border);display:block;transition:border-color .3s ease,transform var(--transition)}.intro-card:hover .intro-photo[data-v-4b0e5c80]{border-color:var(--accent);transform:scale(1.04)}.avatar-placeholder[data-v-4b0e5c80]{width:140px;height:170px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;font-size:2.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.05em}.intro-name[data-v-4b0e5c80]{text-align:center;margin-bottom:8px;text-decoration:none}.intro-content[data-v-4b0e5c80]{display:flex;flex-direction:column;gap:8px}.intro-content p[data-v-4b0e5c80]{color:var(--text-muted);transition:color .3s ease}.intro-content strong[data-v-4b0e5c80]{color:var(--text)}@media (max-width: 580px){.intro-card[data-v-4b0e5c80]{padding:24px 20px}}.networks-section[data-v-c9bb7cab]{display:flex;flex-direction:column;align-items:center}.networks-section h2[data-v-c9bb7cab]{margin-bottom:28px}.networks-grid[data-v-c9bb7cab]{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;width:100%}.network-card[data-v-c9bb7cab]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 28px;border:1px solid var(--border);border-radius:14px;background:var(--card-bg);box-shadow:var(--card-shadow);min-width:220px;text-align:center;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition),background-color .3s ease;cursor:default}.network-card[data-v-c9bb7cab]:hover{border-color:var(--border-hover);box-shadow:var(--card-shadow-hover);transform:translateY(-3px)}.badge[data-v-c9bb7cab]{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:2px 10px;border-radius:20px;margin-bottom:4px}.badge-ipv4[data-v-c9bb7cab]{background:var(--badge-ipv4-bg);color:var(--badge-ipv4-text)}.badge-ipv6[data-v-c9bb7cab]{background:var(--badge-ipv6-bg);color:var(--badge-ipv6-text)}.cidr[data-v-c9bb7cab]{font-family:Menlo,Monaco,Courier New,monospace;font-size:.95rem;font-weight:700;color:var(--text);word-break:break-all;transition:color .3s ease}.net-desc[data-v-c9bb7cab]{font-size:.85rem;color:var(--text-muted);transition:color .3s ease}.net-link[data-v-c9bb7cab]{font-size:.82rem;margin-top:4px}@media (max-width: 600px){.network-card[data-v-c9bb7cab]{min-width:160px;padding:18px 16px}.network-card[data-v-c9bb7cab]:hover{transform:none}}.traffic-section[data-v-236b96fd]{display:flex;flex-direction:column;align-items:center}.traffic-section h2[data-v-236b96fd]{margin-bottom:28px}.traffic-box[data-v-236b96fd]{width:75%;max-width:900px;border:1px solid var(--border);border-radius:16px;background:var(--card-bg);box-shadow:var(--card-shadow);overflow:hidden;transition:border-color var(--transition),box-shadow var(--transition),background-color .3s ease}.traffic-box[data-v-236b96fd]:hover{border-color:var(--border-hover);box-shadow:var(--card-shadow-hover)}.traffic-stats[data-v-236b96fd]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 28px 14px;border-bottom:1px solid var(--border);transition:border-color .3s ease}.uptime-row[data-v-236b96fd]{font-size:.875rem;color:var(--text-muted);transition:color .3s ease}.uptime-row strong[data-v-236b96fd]{color:var(--text);transition:color .3s ease}.stat-row[data-v-236b96fd]{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center}.stat-item[data-v-236b96fd]{display:flex;flex-direction:column;align-items:center;gap:3px}.stat-label[data-v-236b96fd]{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-weight:600;display:flex;align-items:center;gap:5px;transition:color .3s ease}.dot[data-v-236b96fd]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-blue[data-v-236b96fd]{background:#3b82f6f2}.dot-green[data-v-236b96fd]{background:#22c55ef2}.dot-orange[data-v-236b96fd]{background:#f97316d9}.stat-value[data-v-236b96fd]{font-size:1.15rem;font-weight:700;color:var(--text);min-width:90px;min-height:1.5em;text-align:center;transition:color .3s ease}.stat-value.shimmer[data-v-236b96fd]{border-radius:6px;background:linear-gradient(90deg,var(--border) 25%,var(--bg-secondary) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer-236b96fd 1.5s infinite}@keyframes shimmer-236b96fd{0%{background-position:200% 0}to{background-position:-200% 0}}.stat-sep[data-v-236b96fd]{color:var(--border);font-size:1.4rem;line-height:1;align-self:center;transition:color .3s ease}.refresh-hint[data-v-236b96fd]{font-size:.7rem;color:var(--text-muted);opacity:.6;letter-spacing:.03em;transition:color .3s ease}.traffic-graph[data-v-236b96fd]{padding:16px 16px 12px}.chart-placeholder[data-v-236b96fd]{display:flex;justify-content:center;align-items:center;height:220px}.error-state[data-v-236b96fd]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 24px;color:var(--text-muted)}.retry-btn[data-v-236b96fd]{padding:8px 20px;border-radius:8px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;font-size:.9rem;transition:border-color var(--transition),box-shadow var(--transition)}.retry-btn[data-v-236b96fd]:hover{border-color:var(--accent);box-shadow:0 0 0 3px #6366f126}@media (max-width: 1040px){.traffic-box[data-v-236b96fd]{width:93%}}@media (max-width: 500px){.traffic-graph[data-v-236b96fd]{display:none}}.projects-section[data-v-7109ccee]{display:flex;flex-direction:column;align-items:center}.projects-section h2[data-v-7109ccee]{margin-bottom:28px}.projects-grid[data-v-7109ccee]{display:flex;gap:20px;width:100%;max-width:900px}.project-card[data-v-7109ccee]{flex:1;display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--card-bg);box-shadow:var(--card-shadow);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition),background-color .3s ease}.project-card[data-v-7109ccee]:hover{border-color:var(--border-hover);box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.project-header[data-v-7109ccee]{display:flex;flex-direction:column;gap:8px}.project-header h3[data-v-7109ccee]{line-height:1.35}.status-badge[data-v-7109ccee]{display:inline-block;align-self:flex-start;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:20px}.status-wip[data-v-7109ccee]{background:#eab30826;color:#b45309}html.dark .status-wip[data-v-7109ccee]{color:#fde047}.status-planned[data-v-7109ccee]{background:#3b82f61f;color:#1d4ed8}html.dark .status-planned[data-v-7109ccee]{color:#93c5fd}.project-status[data-v-7109ccee]{font-size:.875rem;color:var(--text-muted);line-height:1.5;transition:color .3s ease}.progress-bar[data-v-7109ccee]{position:relative;background:var(--progress-track);border-radius:6px;overflow:visible;height:22px;margin-top:4px;transition:background-color .3s ease}.progress-fill[data-v-7109ccee]{height:100%;background:linear-gradient(90deg,#16a34a,#22c55e);border-radius:6px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:.75rem;font-weight:700;color:#fff;transition:width 1.2s cubic-bezier(.4,0,.2,1);overflow:hidden;white-space:nowrap}.progress-label-outside[data-v-7109ccee]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.72rem;font-weight:700;color:var(--text-muted);pointer-events:none}@media (max-width: 760px){.projects-grid[data-v-7109ccee]{flex-direction:column}.project-card[data-v-7109ccee]:hover{transform:none}}.site-footer[data-v-edbb8b89]{background:var(--footer-bg);border-top:1px solid var(--footer-border);padding:48px 24px 32px;transition:background-color .3s ease,border-color .3s ease}.footer-inner[data-v-edbb8b89]{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:40px}.footer-section h2[data-v-edbb8b89]{margin-bottom:20px;font-size:1.1rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;text-decoration:none;transition:color .3s ease}.contact-grid[data-v-edbb8b89]{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.contact-card[data-v-edbb8b89]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 20px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);text-decoration:none;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition),background-color .3s ease;min-width:180px}.contact-card[data-v-edbb8b89]:hover{border-color:var(--border-hover);box-shadow:var(--card-shadow-hover);transform:translateY(-2px);text-decoration:none}.contact-type[data-v-edbb8b89]{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);transition:color .3s ease}.contact-email[data-v-edbb8b89]{font-size:.9rem;color:var(--link);transition:color var(--transition)}.contact-card:hover .contact-email[data-v-edbb8b89]{color:var(--link-hover)}.footer-links[data-v-edbb8b89]{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.footer-btn[data-v-edbb8b89]{display:inline-flex;align-items:center;padding:10px 22px;border-radius:24px;background:var(--accent);color:var(--accent-text);font-size:.9rem;font-weight:500;text-decoration:none;transition:background-color var(--transition),transform var(--transition),box-shadow var(--transition)}.footer-btn[data-v-edbb8b89]:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e540;text-decoration:none;color:var(--accent-text)}.footer-btn.disabled[data-v-edbb8b89]{opacity:.45;pointer-events:none;cursor:not-allowed}@media (max-width: 600px){.contact-card[data-v-edbb8b89]:hover,.footer-btn[data-v-edbb8b89]:hover{transform:none}}.app[data-v-8e23dbe6]{display:flex;flex-direction:column;min-height:100vh}.site-header[data-v-8e23dbe6]{text-align:center;padding:48px 0 40px}.site-header h1[data-v-8e23dbe6]{margin-bottom:8px}.tagline[data-v-8e23dbe6]{font-size:1rem;color:var(--text-muted);transition:color .3s ease}:root{--bg: #f8fafc;--bg-secondary: #f1f5f9;--text: #1e293b;--text-muted: #64748b;--border: rgba(0, 0, 0, .1);--border-hover: rgba(0, 0, 0, .45);--card-bg: #ffffff;--card-shadow: 0 1px 3px rgba(0, 0, 0, .07), 0 4px 16px rgba(0, 0, 0, .04);--card-shadow-hover: 0 6px 24px rgba(0, 0, 0, .11);--accent: #4f46e5;--accent-hover: #3730a3;--accent-text: #ffffff;--link: #4f46e5;--link-hover: #3730a3;--footer-bg: #f1f5f9;--footer-border: rgba(0, 0, 0, .07);--progress-track: #e2e8f0;--progress-fill: #22c55e;--badge-ipv4-bg: #dbeafe;--badge-ipv4-text: #1d4ed8;--badge-ipv6-bg: #ede9fe;--badge-ipv6-text: #7c3aed;--transition: .22s ease}html.dark{--bg: #0f172a;--bg-secondary: #1e293b;--text: #e2e8f0;--text-muted: #94a3b8;--border: rgba(255, 255, 255, .1);--border-hover: rgba(255, 255, 255, .45);--card-bg: rgba(255, 255, 255, .04);--card-shadow: 0 1px 3px rgba(0, 0, 0, .35), 0 4px 16px rgba(0, 0, 0, .22);--card-shadow-hover: 0 6px 24px rgba(0, 0, 0, .5);--accent: #6366f1;--accent-hover: #4f46e5;--link: #818cf8;--link-hover: #a5b4fc;--footer-bg: #080f1c;--footer-border: rgba(255, 255, 255, .06);--badge-ipv4-bg: rgba(59, 130, 246, .15);--badge-ipv4-text: #93c5fd;--badge-ipv6-bg: rgba(167, 139, 250, .15);--badge-ipv6-text: #c4b5fd}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px;line-height:1.6;transition:background-color .3s ease,color .3s ease}body{min-height:100vh}#app{min-height:100vh;display:flex;flex-direction:column}h1{font-size:2.25rem;font-weight:700;letter-spacing:-.025em;line-height:1.2}h2{font-size:1.4rem;font-weight:600;letter-spacing:-.015em}h3{font-size:1.05rem;font-weight:600}a{color:var(--link);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--link-hover);text-decoration:underline}.container{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:0 24px 64px}.section-divider{border:none;border-top:1px solid var(--border);margin:56px 0;transition:border-color .3s ease}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
