@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg: #F2F2F7;--bg-card: #FFFFFF;--bg-secondary: #F5F5F7;--fg: #1D1D1F;--fg-secondary: #86868B;--accent: #007AFF;--accent-soft: rgba(0, 122, 255, .1);--border: rgba(0, 0, 0, .06);--shadow: 0 2px 12px rgba(0, 0, 0, .04);--shadow-hover: 0 8px 32px rgba(0, 0, 0, .08);--radius: 16px;--radius-sm: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--fg);line-height:1.5;-webkit-font-smoothing:antialiased}#app{min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:100;background:#f2f2f7cc;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border)}.header-content{max-width:1200px;margin:0 auto;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--fg)}.logo-icon{width:36px;height:36px}.logo-text{font-weight:600;font-size:1.1rem;letter-spacing:-.02em}.nav{display:flex;gap:.25rem}.nav a{color:var(--fg-secondary);text-decoration:none;font-size:.9rem;font-weight:500;padding:.5rem 1rem;border-radius:var(--radius-sm);transition:all .2s ease}.nav a:hover,.nav a.router-link-active{color:var(--fg);background:var(--bg-card)}.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.menu-toggle span{display:block;width:22px;height:2px;background:var(--fg);margin:5px 0;transition:.3s;border-radius:2px}@media (max-width: 640px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg-card);flex-direction:column;padding:1rem;border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{display:block;text-align:center;padding:.75rem}.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}}.main{flex:1;padding:0}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.home[data-v-ed6a674c]{padding-bottom:2rem;overflow-x:hidden}.container[data-v-ed6a674c]{max-width:1000px;margin:0 auto;padding:0 1.5rem}.status-section[data-v-ed6a674c]{padding:2rem 0 1rem}.status-grid[data-v-ed6a674c]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.status-card[data-v-ed6a674c]{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow);transition:all .3s ease}.status-card[data-v-ed6a674c]:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.status-icon[data-v-ed6a674c]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-icon svg[data-v-ed6a674c]{width:22px;height:22px}.status-icon.blue[data-v-ed6a674c]{background:#007aff1a;color:#007aff}.status-icon.green[data-v-ed6a674c]{background:#34c7591a;color:#34c759}.status-icon.purple[data-v-ed6a674c]{background:#5856d61a;color:#5856d6}.status-icon.orange[data-v-ed6a674c]{background:#ff95001a;color:#ff9500}.status-info[data-v-ed6a674c]{display:flex;flex-direction:column}.status-value[data-v-ed6a674c]{font-size:1.25rem;font-weight:700;color:var(--fg)}.status-label[data-v-ed6a674c]{font-size:.8rem;color:var(--fg-secondary)}.section-header[data-v-ed6a674c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.section-header h2[data-v-ed6a674c]{font-size:1.25rem;font-weight:600;color:var(--fg)}.see-all[data-v-ed6a674c]{color:var(--accent);text-decoration:none;font-size:.9rem;font-weight:500}.tools-section[data-v-ed6a674c]{padding:2rem 0}.tools-grid[data-v-ed6a674c]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.tool-card[data-v-ed6a674c]{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--fg);box-shadow:var(--shadow);transition:all .3s ease}.tool-card[data-v-ed6a674c]:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.tool-icon[data-v-ed6a674c]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tool-icon svg[data-v-ed6a674c]{width:24px;height:24px}.tool-info[data-v-ed6a674c]{flex:1;min-width:0}.tool-info h3[data-v-ed6a674c]{font-size:1rem;font-weight:600;margin-bottom:.2rem}.tool-info p[data-v-ed6a674c]{font-size:.8rem;color:var(--fg-secondary)}.tool-arrow[data-v-ed6a674c]{color:var(--fg-secondary);font-size:1.2rem;opacity:0;transition:opacity .2s}.tool-card:hover .tool-arrow[data-v-ed6a674c]{opacity:1}.news-section[data-v-ed6a674c]{padding:2rem 0}.news-list[data-v-ed6a674c]{display:flex;flex-direction:column;gap:.75rem}.news-item[data-v-ed6a674c]{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;display:flex;gap:1.5rem;box-shadow:var(--shadow);transition:all .3s ease}.news-item[data-v-ed6a674c]:hover{transform:translate(4px);box-shadow:var(--shadow-hover)}.news-date[data-v-ed6a674c]{font-size:.85rem;font-weight:600;color:var(--accent);font-family:SF Mono,JetBrains Mono,monospace;flex-shrink:0;width:50px}.news-content h4[data-v-ed6a674c]{font-size:1rem;font-weight:600;margin-bottom:.25rem}.news-content p[data-v-ed6a674c]{font-size:.85rem;color:var(--fg-secondary);line-height:1.5}.links-section[data-v-ed6a674c]{padding:2rem 0}.links-grid[data-v-ed6a674c]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.link-card[data-v-ed6a674c]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-decoration:none;color:var(--fg);box-shadow:var(--shadow);transition:all .3s ease}.link-card[data-v-ed6a674c]:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.link-card svg[data-v-ed6a674c]{width:28px;height:28px;color:var(--accent)}.link-card span[data-v-ed6a674c]{font-size:.85rem;font-weight:500}@media (max-width: 900px){.status-grid[data-v-ed6a674c],.tools-grid[data-v-ed6a674c],.links-grid[data-v-ed6a674c]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.status-grid[data-v-ed6a674c]{grid-template-columns:repeat(2,1fr);gap:.75rem}.status-card[data-v-ed6a674c]{padding:1rem;gap:.75rem}.status-icon[data-v-ed6a674c]{width:36px;height:36px}.status-icon svg[data-v-ed6a674c]{width:18px;height:18px}.status-value[data-v-ed6a674c]{font-size:1rem}.tools-grid[data-v-ed6a674c]{grid-template-columns:1fr}.links-grid[data-v-ed6a674c]{grid-template-columns:repeat(2,1fr)}.news-item[data-v-ed6a674c]{flex-direction:column;gap:.5rem}.news-date[data-v-ed6a674c]{width:auto}}.about[data-v-b45b98ff]{padding:3rem 0;overflow-x:hidden}.container[data-v-b45b98ff]{max-width:800px;margin:0 auto;padding:0 1.5rem}.page-header[data-v-b45b98ff]{margin-bottom:2.5rem}.page-label[data-v-b45b98ff]{font-size:.8rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.page-header h1[data-v-b45b98ff]{font-size:1.75rem;font-weight:700}.timeline[data-v-b45b98ff]{display:flex;flex-direction:column;gap:1.5rem}.timeline-item[data-v-b45b98ff]{display:flex;gap:1.5rem;background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.timeline-date[data-v-b45b98ff]{font-size:.85rem;font-weight:600;color:var(--fg-secondary);flex-shrink:0;width:80px;font-family:SF Mono,monospace}.timeline-content[data-v-b45b98ff]{flex:1}.timeline-tag[data-v-b45b98ff]{display:inline-block;font-size:.7rem;font-weight:600;padding:.2rem .6rem;border-radius:6px;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.03em}.timeline-tag.feature[data-v-b45b98ff]{background:#007aff1a;color:#007aff}.timeline-tag.update[data-v-b45b98ff]{background:#5856d61a;color:#5856d6}.timeline-tag.fix[data-v-b45b98ff]{background:#34c7591a;color:#34c759}.timeline-content h3[data-v-b45b98ff]{font-size:1rem;font-weight:600;margin-bottom:.4rem}.timeline-content p[data-v-b45b98ff]{font-size:.9rem;color:var(--fg-secondary);line-height:1.6}@media (max-width: 640px){.timeline-item[data-v-b45b98ff]{flex-direction:column;gap:.5rem}.timeline-date[data-v-b45b98ff]{width:auto}}.projects[data-v-a70ae96c]{padding:3rem 0;overflow-x:hidden}.container[data-v-a70ae96c]{max-width:1000px;margin:0 auto;padding:0 1.5rem}.page-header[data-v-a70ae96c]{margin-bottom:2.5rem;text-align:center}.page-label[data-v-a70ae96c]{font-size:.8rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.page-header h1[data-v-a70ae96c]{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.page-desc[data-v-a70ae96c]{color:var(--fg-secondary);font-size:.95rem}.projects-grid[data-v-a70ae96c]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.project-card[data-v-a70ae96c]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);transition:all .3s ease;display:flex;flex-direction:column;text-decoration:none;color:var(--fg)}.project-card[data-v-a70ae96c]:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}.card-header[data-v-a70ae96c]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.card-icon[data-v-a70ae96c]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.card-icon svg[data-v-a70ae96c]{width:24px;height:24px}.card-status[data-v-a70ae96c]{font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:6px;text-transform:uppercase}.card-status.online[data-v-a70ae96c]{background:#34c7591a;color:#34c759}.card-status.maintain[data-v-a70ae96c]{background:#ff95001a;color:#ff9500}.project-card h3[data-v-a70ae96c]{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.project-card p[data-v-a70ae96c]{font-size:.85rem;color:var(--fg-secondary);line-height:1.5;flex:1;margin-bottom:1rem}.card-footer[data-v-a70ae96c]{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border)}.card-tag[data-v-a70ae96c]{font-size:.75rem;font-weight:500;color:var(--fg-secondary)}.card-btn[data-v-a70ae96c]{font-size:.85rem;font-weight:600;color:var(--accent)}@media (max-width: 900px){.projects-grid[data-v-a70ae96c]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.projects-grid[data-v-a70ae96c]{grid-template-columns:1fr}}.contact[data-v-84df282f]{padding:3rem 0;overflow-x:hidden}.container[data-v-84df282f]{max-width:900px;margin:0 auto;padding:0 1.5rem}.page-header[data-v-84df282f]{margin-bottom:2.5rem;text-align:center}.page-label[data-v-84df282f]{font-size:.8rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.page-header h1[data-v-84df282f]{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.page-desc[data-v-84df282f]{color:var(--fg-secondary);font-size:.95rem}.contact-grid[data-v-84df282f]{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start}.contact-cards[data-v-84df282f]{display:flex;flex-direction:column;gap:1rem}.contact-card[data-v-84df282f]{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--fg);box-shadow:var(--shadow);transition:all .3s ease}.contact-card[data-v-84df282f]:hover{transform:translate(4px);box-shadow:var(--shadow-hover)}.card-icon[data-v-84df282f]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-icon svg[data-v-84df282f]{width:22px;height:22px}.card-icon.blue[data-v-84df282f]{background:#007aff1a;color:#007aff}.card-icon.purple[data-v-84df282f]{background:#5856d61a;color:#5856d6}.card-info[data-v-84df282f]{display:flex;flex-direction:column}.card-label[data-v-84df282f]{font-size:.8rem;color:var(--fg-secondary)}.card-value[data-v-84df282f]{font-weight:600;font-size:.95rem}.contact-form[data-v-84df282f]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1.25rem}.form-group[data-v-84df282f]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-84df282f]{font-size:.85rem;font-weight:600;color:var(--fg)}.form-group input[data-v-84df282f],.form-group select[data-v-84df282f],.form-group textarea[data-v-84df282f]{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.875rem 1rem;font-size:1rem;color:var(--fg);font-family:inherit;transition:all .2s}.form-group input[data-v-84df282f]:focus,.form-group select[data-v-84df282f]:focus,.form-group textarea[data-v-84df282f]:focus{outline:none;border-color:var(--accent);background:var(--bg-card)}.form-group input[data-v-84df282f]::placeholder,.form-group textarea[data-v-84df282f]::placeholder{color:var(--fg-secondary)}.form-group select[data-v-84df282f]{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2386868B' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.form-group textarea[data-v-84df282f]{resize:vertical;min-height:120px}.btn-submit[data-v-84df282f]{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:.875rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;align-self:flex-start}.btn-submit[data-v-84df282f]:hover{opacity:.9;transform:translateY(-2px)}.btn-submit[data-v-84df282f]:active{transform:scale(.98)}.success-panel[data-v-84df282f]{background:var(--bg-card);border-radius:var(--radius);padding:2.5rem;text-align:center;box-shadow:var(--shadow)}.success-icon[data-v-84df282f]{width:56px;height:56px;background:#34c7591a;color:#34c759;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 1rem}.success-panel h3[data-v-84df282f]{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.success-panel p[data-v-84df282f]{color:var(--fg-secondary);margin-bottom:1.5rem}.btn-reset[data-v-84df282f]{background:transparent;color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-reset[data-v-84df282f]:hover{background:var(--bg)}@media (max-width: 768px){.contact-grid[data-v-84df282f]{grid-template-columns:1fr}.btn-submit[data-v-84df282f]{width:100%}}.not-found[data-v-4645a576]{text-align:center;padding:4rem 0}.not-found h1[data-v-4645a576]{font-size:6rem;color:#42b983}.not-found p[data-v-4645a576]{font-size:1.5rem;color:#666;margin-bottom:2rem}.back-home[data-v-4645a576]{color:#667eea;text-decoration:none;font-weight:600}.back-home[data-v-4645a576]:hover{text-decoration:underline}.autodev[data-v-639a0f00]{max-width:900px;margin:0 auto;padding:2rem;overflow-x:hidden}.autodev-header[data-v-639a0f00]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header-actions[data-v-639a0f00]{display:flex;gap:.5rem}.btn-refresh[data-v-639a0f00],.btn-run[data-v-639a0f00]{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-refresh[data-v-639a0f00]{background:#e0e0e0}.btn-run[data-v-639a0f00]{background:#4caf50;color:#fff}.btn-refresh[data-v-639a0f00]:disabled,.btn-run[data-v-639a0f00]:disabled{opacity:.5;cursor:not-allowed}.status-cards[data-v-639a0f00]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}@media (max-width: 640px){.autodev[data-v-639a0f00]{padding:1rem}.autodev-header[data-v-639a0f00]{flex-direction:column;gap:1rem;align-items:flex-start}.status-cards[data-v-639a0f00]{grid-template-columns:repeat(2,1fr);gap:.75rem}.card[data-v-639a0f00]{padding:1rem}.card-num[data-v-639a0f00]{font-size:1.5rem}.task-item[data-v-639a0f00]{flex-wrap:wrap}.task-category[data-v-639a0f00]{display:none}.log-content[data-v-639a0f00],.completed-content[data-v-639a0f00]{font-size:.7rem}}.card[data-v-639a0f00]{background:#f5f5f5;border-radius:12px;padding:1.5rem;text-align:center;transition:all .3s}.card.running.active[data-v-639a0f00]{background:#e8f5e9;transform:scale(1.02)}.card-num[data-v-639a0f00]{font-size:2rem;font-weight:700;color:#333}.card-label[data-v-639a0f00]{font-size:.85rem;color:#777;margin-top:.25rem}.current-task[data-v-639a0f00]{background:#e3f2fd;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.current-task.idle[data-v-639a0f00]{background:#e8f5e9}.task-name[data-v-639a0f00]{font-size:1.2rem;font-weight:600;margin-top:.5rem}.task-time[data-v-639a0f00]{font-size:.85rem;color:#777;margin-top:.25rem}.progress-section[data-v-639a0f00]{margin-bottom:2rem}.progress-label[data-v-639a0f00]{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:.5rem}.progress-bar[data-v-639a0f00]{height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden}.progress-fill[data-v-639a0f00]{height:100%;background:linear-gradient(90deg,#4caf50,#81c784);border-radius:6px;transition:width .5s ease}.queue-section[data-v-639a0f00],.logs-section[data-v-639a0f00],.completed-section[data-v-639a0f00]{margin-bottom:2rem}h3[data-v-639a0f00]{font-size:1.1rem;margin-bottom:1rem;color:#333}.task-list[data-v-639a0f00]{display:flex;flex-direction:column;gap:.5rem}.task-item[data-v-639a0f00]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fafafa;border-radius:8px;border-left:3px solid #e0e0e0}.task-item.status-done[data-v-639a0f00]{border-left-color:#4caf50;opacity:.7}.task-item.status-running[data-v-639a0f00]{border-left-color:#2196f3;background:#e3f2fd}.task-status-icon[data-v-639a0f00]{font-size:1.1rem}.task-name-text[data-v-639a0f00]{flex:1;font-weight:500}.task-category[data-v-639a0f00]{font-size:.8rem;background:#eee;padding:.2rem .6rem;border-radius:4px;color:#666}.task-priority[data-v-639a0f00]{font-size:.75rem;color:#999;min-width:30px;text-align:right}.log-content[data-v-639a0f00],.completed-content[data-v-639a0f00]{background:#1e1e1e;color:#d4d4d4;padding:1rem;border-radius:8px;font-size:.8rem;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.skeleton-cards[data-v-639a0f00]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.skeleton-stat-card[data-v-639a0f00]{background:#f5f5f5;border-radius:12px;padding:1.5rem;text-align:center}.skeleton-block[data-v-639a0f00]{background:#e0e0e0;border-radius:6px;position:relative;overflow:hidden}.skeleton-block[data-v-639a0f00]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.7) 50%,transparent 100%);animation:shimmer-639a0f00 1.5s infinite}.sk-h-4[data-v-639a0f00]{height:16px}.sk-h-8[data-v-639a0f00]{height:32px}.sk-w-4[data-v-639a0f00]{width:16px}.sk-w-8[data-v-639a0f00]{width:32px}.sk-w-16[data-v-639a0f00]{width:64px}.sk-w-20[data-v-639a0f00]{width:80px}.sk-w-full[data-v-639a0f00]{width:100%}.sk-rounded-full[data-v-639a0f00]{border-radius:50%}.sk-mb-2[data-v-639a0f00]{margin-bottom:.5rem}.sk-mr-3[data-v-639a0f00]{margin-right:.75rem}.sk-flex-1[data-v-639a0f00]{flex:1}.skeleton-task-item[data-v-639a0f00]{display:flex;align-items:center;padding:.75rem 1rem;background:#f9f9f9;border-radius:8px}.skeleton-log[data-v-639a0f00]{background:#1e1e1e;border-radius:8px;padding:1rem}.skeleton-log .skeleton-block[data-v-639a0f00]{background:#2d2d2d}.skeleton-log .skeleton-block[data-v-639a0f00]:after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 50%,transparent 100%)}@keyframes shimmer-639a0f00{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width: 640px){.skeleton-cards[data-v-639a0f00]{grid-template-columns:repeat(2,1fr)}}.encode-tool-page[data-v-01da1426]{padding:2rem 0 3rem;min-height:calc(100vh - 60px);overflow-x:hidden}.container[data-v-01da1426]{max-width:800px;margin:0 auto;padding:0 1.5rem}.page-header[data-v-01da1426]{text-align:center;margin-bottom:2rem}.page-header h1[data-v-01da1426]{font-size:1.75rem;font-weight:700;color:var(--fg);margin-bottom:.5rem}.subtitle[data-v-01da1426]{font-size:.9rem;color:var(--fg-secondary)}.tab-bar[data-v-01da1426]{display:flex;background:var(--bg-card);border-radius:var(--radius);padding:4px;gap:4px;margin-bottom:1.5rem;box-shadow:var(--shadow)}.tab-btn[data-v-01da1426]{flex:1;padding:.6rem 1rem;border:none;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--fg-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-btn[data-v-01da1426]:hover{color:var(--fg);background:#0000000a}.tab-btn.active[data-v-01da1426]{background:var(--accent);color:#fff;box-shadow:0 2px 8px #409eff4d}.tool-panel[data-v-01da1426]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1.25rem}.input-group[data-v-01da1426],.output-group[data-v-01da1426]{display:flex;flex-direction:column;gap:.5rem}label[data-v-01da1426]{font-size:.85rem;font-weight:600;color:var(--fg)}textarea[data-v-01da1426]{width:100%;padding:.75rem 1rem;border:1.5px solid rgba(0,0,0,.08);border-radius:calc(var(--radius) - 4px);background:var(--bg-primary);color:var(--fg);font-size:.9rem;font-family:SF Mono,JetBrains Mono,Fira Code,monospace;resize:vertical;transition:border-color .2s;box-sizing:border-box}textarea[data-v-01da1426]:focus{outline:none;border-color:var(--accent)}textarea[readonly][data-v-01da1426]{background:#00000005;cursor:default}.action-row[data-v-01da1426]{display:flex;gap:.5rem;flex-wrap:wrap}.btn-primary[data-v-01da1426]{padding:.5rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:calc(var(--radius) - 4px);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-01da1426]:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #409eff4d}.btn-secondary[data-v-01da1426]{padding:.5rem 1.25rem;background:#409eff1a;color:var(--accent);border:none;border-radius:calc(var(--radius) - 4px);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary[data-v-01da1426]:hover{background:#409eff33;transform:translateY(-1px)}.btn-ghost[data-v-01da1426]{padding:.5rem 1.25rem;background:transparent;color:var(--fg-secondary);border:1.5px solid rgba(0,0,0,.1);border-radius:calc(var(--radius) - 4px);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-ghost[data-v-01da1426]:hover{border-color:#0003;color:var(--fg)}.btn-copy[data-v-01da1426]{padding:.5rem 1.25rem;background:#34c7591a;color:#34c759;border:none;border-radius:calc(var(--radius) - 4px);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-copy[data-v-01da1426]:hover{background:#34c75933;transform:translateY(-1px)}.btn-copy.copied[data-v-01da1426]{background:#34c75940;color:#2db84d}.hint-box[data-v-01da1426]{display:flex;gap:.75rem;padding:.9rem 1rem;background:#409eff0f;border-radius:calc(var(--radius) - 4px);border-left:3px solid var(--accent);font-size:.82rem;color:var(--fg-secondary);line-height:1.6}.hint-icon[data-v-01da1426]{font-size:1rem;flex-shrink:0;margin-top:1px}.hint-box code[data-v-01da1426]{background:#0000000f;padding:1px 5px;border-radius:4px;font-family:SF Mono,JetBrains Mono,monospace;font-size:.8rem}@media (max-width: 640px){.tab-bar[data-v-01da1426]{flex-direction:column}.action-row[data-v-01da1426]{gap:.4rem}.btn-primary[data-v-01da1426],.btn-secondary[data-v-01da1426],.btn-ghost[data-v-01da1426],.btn-copy[data-v-01da1426]{padding:.45rem .9rem;font-size:.82rem}}.json-tool[data-v-7fd94196]{max-width:1100px;margin:0 auto;padding:2rem;overflow-x:hidden}.tool-header[data-v-7fd94196]{text-align:center;margin-bottom:2rem}.tool-header h2[data-v-7fd94196]{font-size:1.8rem;color:#2c3e50;margin-bottom:.5rem}.subtitle[data-v-7fd94196]{color:#888;font-size:.95rem}.tab-bar[data-v-7fd94196]{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f5f5f5;padding:.5rem;border-radius:12px}.tab-btn[data-v-7fd94196]{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;color:#666;transition:all .2s}.tab-btn[data-v-7fd94196]:hover{background:#42b9831a;color:#42b983}.tab-btn.active[data-v-7fd94196]{background:#fff;color:#42b983;box-shadow:0 2px 8px #00000014}.tab-icon[data-v-7fd94196]{font-size:1.1rem}.tool-area[data-v-7fd94196]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.panel[data-v-7fd94196]{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;overflow:hidden;display:flex;flex-direction:column}.panel-header[data-v-7fd94196]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#fafafa;border-bottom:1px solid #eee}.panel-title[data-v-7fd94196]{font-weight:600;font-size:.9rem;color:#333}.panel-actions[data-v-7fd94196]{display:flex;gap:.4rem}.btn-small[data-v-7fd94196]{padding:.3rem .7rem;border:1px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .2s}.btn-small[data-v-7fd94196]:hover{background:#f0f0f0;border-color:#42b983}.code-textarea[data-v-7fd94196]{flex:1;min-height:400px;width:100%;padding:1rem;border:none;resize:none;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:.85rem;line-height:1.6;color:#2c3e50;background:#fefefe;outline:none}.code-textarea[data-v-7fd94196]::placeholder{color:#bbb}.code-textarea.output-error[data-v-7fd94196]{color:#e53935;background:#fff5f5}.code-textarea.output-success[data-v-7fd94196]{color:#2e7d32;background:#f6fff6}.status-bar[data-v-7fd94196]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;font-size:.85rem;margin-bottom:1rem;transition:all .3s}.status-idle[data-v-7fd94196]{background:#f5f5f5;color:#999}.status-success[data-v-7fd94196]{background:#e8f5e9;color:#2e7d32}.status-error[data-v-7fd94196]{background:#ffebee;color:#c62828}.status-icon[data-v-7fd94196]{font-size:1.1rem}.status-text[data-v-7fd94196]{font-weight:500}.json-info[data-v-7fd94196]{margin-left:auto;color:#888;font-size:.8rem}.quick-actions[data-v-7fd94196]{display:flex;align-items:center;gap:.75rem}.quick-label[data-v-7fd94196]{font-size:.85rem;color:#888}.btn-sample[data-v-7fd94196]{padding:.4rem 1rem;border:1px dashed #42b983;background:transparent;color:#42b983;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.btn-sample[data-v-7fd94196]:hover{background:#42b98314}.timestamp-tool[data-v-36644792]{padding:2rem 0 3rem;overflow-x:hidden}.container[data-v-36644792]{max-width:900px;margin:0 auto;padding:0 1.5rem}.page-header[data-v-36644792]{text-align:center;margin-bottom:2rem}.page-header h1[data-v-36644792]{font-size:1.75rem;font-weight:700;color:var(--fg);margin-bottom:.5rem}.subtitle[data-v-36644792]{color:var(--fg-secondary);font-size:1rem}.live-timestamp-card[data-v-36644792]{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--radius);padding:1.5rem 1.75rem;color:#fff;margin-bottom:1.5rem;box-shadow:var(--shadow-hover)}.live-header[data-v-36644792]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.live-dot[data-v-36644792]{width:10px;height:10px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80;animation:pulse-36644792 2s infinite}@keyframes pulse-36644792{0%,to{opacity:1}50%{opacity:.5}}.live-label[data-v-36644792]{font-size:.9rem;opacity:.9}.unit-toggle[data-v-36644792]{margin-left:auto;display:flex;background:#ffffff26;border-radius:8px;padding:2px}.unit-toggle button[data-v-36644792]{background:none;border:none;color:#ffffffb3;padding:.25rem .75rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.unit-toggle button.active[data-v-36644792]{background:#fffffff2;color:#667eea;font-weight:600}.live-value[data-v-36644792]{display:flex;align-items:center;gap:1rem}.timestamp-number[data-v-36644792]{font-size:2.5rem;font-weight:700;font-family:SF Mono,JetBrains Mono,monospace;letter-spacing:2px}.copy-btn[data-v-36644792]{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.4rem .85rem;border-radius:8px;cursor:pointer;font-size:.85rem;transition:all .2s}.copy-btn[data-v-36644792]:hover{background:#ffffff4d}.copy-btn.copied[data-v-36644792]{background:#4ade80;border-color:#4ade80;color:#fff}.live-datetime[data-v-36644792]{font-size:1.1rem;opacity:.85;margin-top:.5rem;font-family:SF Mono,JetBrains Mono,monospace}.conversion-grid[data-v-36644792]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.conversion-card[data-v-36644792]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.card-header[data-v-36644792]{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}.card-icon[data-v-36644792]{font-size:1.25rem}.card-header h2[data-v-36644792]{font-size:1rem;font-weight:600;color:var(--fg)}.input-group[data-v-36644792]{margin-bottom:1rem}.input-group label[data-v-36644792]{font-size:.85rem;color:var(--fg-secondary);display:block;margin-bottom:.5rem}.input-row[data-v-36644792]{display:flex;gap:.5rem}.input-row input[data-v-36644792]{flex:1;padding:.6rem .85rem;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--bg);color:var(--fg);font-family:SF Mono,JetBrains Mono,monospace}.input-row input[data-v-36644792]:focus{outline:none;border-color:var(--accent)}.action-btn[data-v-36644792]{background:var(--accent);color:#fff;border:none;padding:.6rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;white-space:nowrap}.action-btn[data-v-36644792]:hover{opacity:.9;transform:translateY(-1px)}.icon-btn[data-v-36644792]{background:var(--bg-secondary);border:1px solid var(--border);padding:.6rem .75rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.icon-btn[data-v-36644792]:hover{border-color:var(--accent)}.result-box[data-v-36644792]{background:var(--bg-secondary);border-radius:8px;padding:1rem;border:1px solid var(--border)}.result-row[data-v-36644792]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.result-label[data-v-36644792]{font-size:.8rem;color:var(--fg-secondary)}.result-value[data-v-36644792]{font-size:1.1rem;font-weight:600;color:var(--fg);font-family:SF Mono,JetBrains Mono,monospace}.result-value.small[data-v-36644792]{font-size:.9rem;color:var(--fg-secondary)}.result-value-inline[data-v-36644792]{font-size:.9rem;color:var(--accent);font-weight:500}.copy-small[data-v-36644792]{background:none;border:1px solid var(--border);color:var(--fg-secondary);padding:.15rem .5rem;border-radius:4px;cursor:pointer;font-size:.75rem;transition:all .2s}.copy-small[data-v-36644792]:hover{border-color:var(--accent);color:var(--accent)}.quick-presets[data-v-36644792]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.presets-label[data-v-36644792]{font-size:.8rem;color:var(--fg-secondary)}.preset-btn[data-v-36644792]{background:var(--bg-secondary);border:1px solid var(--border);color:var(--fg);padding:.3rem .7rem;border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .2s}.preset-btn[data-v-36644792]:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.reference-card[data-v-36644792]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);margin-bottom:1rem}.reference-grid[data-v-36644792]{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.ref-item[data-v-36644792]{display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border);cursor:pointer;transition:all .2s}.ref-item[data-v-36644792]:hover{border-color:var(--accent);transform:translate(2px)}.ref-label[data-v-36644792]{font-size:.85rem;color:var(--fg-secondary);flex-shrink:0;width:90px}.ref-value[data-v-36644792]{font-size:.9rem;font-weight:600;color:var(--fg);font-family:SF Mono,JetBrains Mono,monospace;flex:1}.ref-item .copy-small[data-v-36644792]{margin-left:auto}.tz-info[data-v-36644792]{display:flex;gap:1.5rem;justify-content:center;color:var(--fg-secondary);font-size:.85rem}@media (max-width: 700px){.conversion-grid[data-v-36644792],.reference-grid[data-v-36644792]{grid-template-columns:1fr}.timestamp-number[data-v-36644792]{font-size:1.8rem}}.ip-lookup[data-v-db54e67b]{max-width:900px;margin:0 auto;padding:2rem;overflow-x:hidden}.tool-header[data-v-db54e67b]{text-align:center;margin-bottom:2rem}.tool-header h2[data-v-db54e67b]{font-size:1.8rem;color:#2c3e50;margin-bottom:.5rem}.subtitle[data-v-db54e67b]{color:#888;font-size:.95rem}.search-box[data-v-db54e67b]{display:flex;gap:.75rem;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap}.input-group[data-v-db54e67b]{flex:1;display:flex;gap:.5rem;min-width:280px}.ip-input[data-v-db54e67b]{flex:1;padding:.8rem 1.2rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:Consolas,monospace;transition:border-color .2s;outline:none}.ip-input[data-v-db54e67b]:focus{border-color:#42b983}.ip-input[data-v-db54e67b]::placeholder{color:#bbb;font-family:Inter,sans-serif}.ip-input[data-v-db54e67b]:disabled{background:#f5f5f5;cursor:not-allowed}.search-btn[data-v-db54e67b]{padding:.8rem 1.5rem;background:#42b983;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.search-btn[data-v-db54e67b]:hover:not(:disabled){background:#359d6e;transform:translateY(-1px);box-shadow:0 4px 12px #42b9834d}.search-btn[data-v-db54e67b]:disabled{opacity:.6;cursor:not-allowed}.detect-btn[data-v-db54e67b]{padding:.8rem 1.2rem;background:#fff;border:2px solid #e0e0e0;border-radius:12px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.detect-btn[data-v-db54e67b]:hover:not(:disabled){border-color:#007aff;color:#007aff}.detect-btn[data-v-db54e67b]:disabled{opacity:.6;cursor:not-allowed}.my-ip-card[data-v-db54e67b]{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:1.2rem 1.5rem;margin-bottom:1.5rem;color:#fff}.my-ip-header[data-v-db54e67b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.my-ip-label[data-v-db54e67b]{font-weight:600;font-size:.95rem}.use-btn[data-v-db54e67b]{padding:.35rem .9rem;background:#fff3;border:1px solid rgba(255,255,255,.4);border-radius:8px;color:#fff;font-size:.8rem;cursor:pointer;transition:background .2s}.use-btn[data-v-db54e67b]:hover{background:#ffffff59}.my-ip-detail[data-v-db54e67b]{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.9rem}.my-ip-value[data-v-db54e67b]{font-family:Consolas,monospace;font-weight:600;font-size:1.1rem}.my-ip-loc[data-v-db54e67b],.my-ip-isp[data-v-db54e67b]{opacity:.85}.result-card[data-v-db54e67b]{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.result-card.error[data-v-db54e67b]{padding:2rem;text-align:center}.error-state[data-v-db54e67b]{padding:1rem}.error-icon[data-v-db54e67b]{font-size:3rem;margin-bottom:1rem}.error-msg[data-v-db54e67b]{font-size:1.2rem;font-weight:600;color:#c62828;margin-bottom:.5rem}.error-detail[data-v-db54e67b]{color:#888;font-size:.9rem}.result-header[data-v-db54e67b]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:linear-gradient(135deg,#42b983,#359d6e);color:#fff}.ip-big[data-v-db54e67b]{font-family:Consolas,monospace;font-size:1.4rem;font-weight:700}.ip-status[data-v-db54e67b]{font-size:.85rem;padding:.3rem .8rem;border-radius:20px;background:#ffffff40}.ip-status.success[data-v-db54e67b]{background:#ffffff40}.result-grid[data-v-db54e67b]{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#eee;margin:0}.result-item[data-v-db54e67b]{background:#fff;padding:1.2rem;display:flex;flex-direction:column;gap:.4rem}.result-item.wide[data-v-db54e67b]{grid-column:span 3}.result-icon[data-v-db54e67b]{font-size:1.3rem}.result-label[data-v-db54e67b]{font-size:.78rem;color:#888;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.result-value[data-v-db54e67b]{font-size:.95rem;font-weight:600;color:#2c3e50;word-break:break-all}.result-value.coord[data-v-db54e67b]{font-family:Consolas,monospace;color:#007aff}.map-placeholder[data-v-db54e67b]{background:#f8f9fa;border-top:1px solid #eee;padding:1rem;display:flex;justify-content:center}.map-inner[data-v-db54e67b]{display:flex;align-items:center;gap:.75rem;color:#888;font-size:.85rem}.map-icon[data-v-db54e67b]{font-size:1.5rem}.map-text[data-v-db54e67b]{font-family:Consolas,monospace}.empty-state[data-v-db54e67b]{text-align:center;padding:3rem 1rem;color:#aaa}.empty-icon[data-v-db54e67b]{font-size:4rem;margin-bottom:1rem}.empty-title[data-v-db54e67b]{font-size:1.2rem;font-weight:600;color:#666;margin-bottom:.5rem}.empty-sub[data-v-db54e67b]{font-size:.9rem;margin-bottom:1.5rem}.popular-ips[data-v-db54e67b]{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-items:center}.popular-label[data-v-db54e67b]{font-size:.85rem;color:#888}.popular-btn[data-v-db54e67b]{padding:.35rem .8rem;border:1px dashed #ccc;background:#fff;border-radius:8px;font-size:.8rem;font-family:Consolas,monospace;cursor:pointer;transition:all .2s;color:#666}.popular-btn[data-v-db54e67b]:hover{border-color:#42b983;color:#42b983;background:#42b9830d}@media (max-width: 640px){.result-grid[data-v-db54e67b]{grid-template-columns:repeat(2,1fr)}.result-item.wide[data-v-db54e67b]{grid-column:span 2}.search-box[data-v-db54e67b]{flex-direction:column}.input-group[data-v-db54e67b]{min-width:100%;width:100%}}.msgboard[data-v-fe71a0e1]{padding:3rem 0;overflow-x:hidden}.container[data-v-fe71a0e1]{max-width:680px;margin:0 auto;padding:0 1rem}@media (max-width: 640px){.msgboard[data-v-fe71a0e1]{padding:1.5rem 0}.form-card[data-v-fe71a0e1],.message-card[data-v-fe71a0e1]{padding:1rem}.form-group input[data-v-fe71a0e1],.form-group textarea[data-v-fe71a0e1]{padding:.75rem;font-size:.95rem}}.page-header[data-v-fe71a0e1]{margin-bottom:2.5rem;text-align:center}.page-label[data-v-fe71a0e1]{font-size:.8rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.page-header h1[data-v-fe71a0e1]{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.page-desc[data-v-fe71a0e1]{color:var(--fg-secondary);font-size:.95rem}.form-card[data-v-fe71a0e1]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);margin-bottom:2.5rem}.form-title[data-v-fe71a0e1]{font-size:1.1rem;font-weight:600;margin-bottom:1.25rem;color:var(--fg)}.form-group[data-v-fe71a0e1]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;position:relative}.form-group[data-v-fe71a0e1]:last-of-type{margin-bottom:1.25rem}.form-group label[data-v-fe71a0e1]{font-size:.85rem;font-weight:600;color:var(--fg)}.form-group input[data-v-fe71a0e1],.form-group textarea[data-v-fe71a0e1]{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.875rem 1rem;font-size:1rem;color:var(--fg);font-family:inherit;transition:all .2s;resize:none}.form-group input[data-v-fe71a0e1]:focus,.form-group textarea[data-v-fe71a0e1]:focus{outline:none;border-color:var(--accent);background:var(--bg-card)}.form-group input[data-v-fe71a0e1]::placeholder,.form-group textarea[data-v-fe71a0e1]::placeholder{color:var(--fg-secondary)}.char-count[data-v-fe71a0e1]{position:absolute;right:.75rem;bottom:.75rem;font-size:.75rem;color:var(--fg-secondary)}.btn-submit[data-v-fe71a0e1]{width:100%;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:.875rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-submit[data-v-fe71a0e1]:hover{opacity:.9;transform:translateY(-1px)}.btn-submit[data-v-fe71a0e1]:active{transform:scale(.99)}.messages-header[data-v-fe71a0e1]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.section-title[data-v-fe71a0e1]{font-size:1.1rem;font-weight:600}.msg-count[data-v-fe71a0e1]{font-size:.8rem;color:var(--fg-secondary);background:var(--bg-card);padding:.25rem .75rem;border-radius:999px;box-shadow:var(--shadow)}.empty-state[data-v-fe71a0e1]{text-align:center;padding:3rem 1rem;background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow)}.empty-icon[data-v-fe71a0e1]{font-size:2.5rem;margin-bottom:.75rem}.empty-state p[data-v-fe71a0e1]{color:var(--fg-secondary);font-size:.95rem}.messages-list[data-v-fe71a0e1]{display:flex;flex-direction:column;gap:1rem}.message-card[data-v-fe71a0e1]{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);transition:all .2s ease}.message-card[data-v-fe71a0e1]:hover{box-shadow:var(--shadow-hover)}.message-header[data-v-fe71a0e1]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.message-avatar[data-v-fe71a0e1]{width:38px;height:38px;background:var(--bg-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.message-meta[data-v-fe71a0e1]{display:flex;flex-direction:column}.message-nickname[data-v-fe71a0e1]{font-weight:600;font-size:.95rem}.message-time[data-v-fe71a0e1]{font-size:.78rem;color:var(--fg-secondary)}.message-content[data-v-fe71a0e1]{font-size:.95rem;line-height:1.65;color:var(--fg);word-break:break-word;white-space:pre-wrap}.server-status[data-v-3d0fbf46]{padding:2rem 0 3rem;overflow-x:hidden}.container[data-v-3d0fbf46]{max-width:1100px;margin:0 auto;padding:0 1.5rem}.page-header[data-v-3d0fbf46]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.page-header h1[data-v-3d0fbf46]{font-size:1.75rem;font-weight:700;color:var(--fg);margin-bottom:.25rem}.subtitle[data-v-3d0fbf46]{font-size:.9rem;color:var(--fg-secondary)}.refresh-indicator[data-v-3d0fbf46]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-card);border-radius:999px;font-size:.85rem;color:var(--fg-secondary);box-shadow:var(--shadow)}.refresh-indicator svg[data-v-3d0fbf46]{width:16px;height:16px}.refresh-indicator.refreshing svg[data-v-3d0fbf46]{animation:spin-3d0fbf46 1s linear infinite}@keyframes spin-3d0fbf46{to{transform:rotate(360deg)}}.summary-grid[data-v-3d0fbf46]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.summary-card[data-v-3d0fbf46]{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow);position:relative;overflow:hidden}.summary-icon[data-v-3d0fbf46]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-icon svg[data-v-3d0fbf46]{width:22px;height:22px;color:var(--accent)}.summary-info[data-v-3d0fbf46]{display:flex;flex-direction:column}.summary-value[data-v-3d0fbf46]{font-size:1.2rem;font-weight:700}.summary-label[data-v-3d0fbf46]{font-size:.8rem;color:var(--fg-secondary)}.summary-ring[data-v-3d0fbf46]{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:44px;height:44px}.summary-ring svg[data-v-3d0fbf46]{width:44px;height:44px;transform:rotate(-90deg)}.ring-bg[data-v-3d0fbf46]{fill:none;stroke:var(--bg-secondary);stroke-width:3}.ring-fill[data-v-3d0fbf46]{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .5s ease}.ring-pct[data-v-3d0fbf46]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600;color:var(--fg)}.main-grid[data-v-3d0fbf46]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.card[data-v-3d0fbf46]{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.card-wide[data-v-3d0fbf46]{grid-column:span 2}.card-header[data-v-3d0fbf46]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-title[data-v-3d0fbf46]{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--fg)}.card-title svg[data-v-3d0fbf46]{width:18px;height:18px;color:var(--accent)}.card-badge[data-v-3d0fbf46]{font-size:.8rem;font-weight:600;padding:.25rem .75rem;border-radius:999px}.card-badge.ok[data-v-3d0fbf46]{background:#34c7591a;color:#34c759}.card-badge.warning[data-v-3d0fbf46]{background:#ff95001a;color:#ff9500}.card-badge.danger[data-v-3d0fbf46]{background:#ff3b301a;color:#ff3b30}.card-badge.info[data-v-3d0fbf46]{background:#007aff1a;color:#007aff}.progress-bar[data-v-3d0fbf46]{height:8px;background:var(--bg-secondary);border-radius:999px;overflow:hidden;margin-bottom:.75rem}.progress-fill[data-v-3d0fbf46]{height:100%;border-radius:999px;transition:width .5s ease,background .3s ease}.progress-details[data-v-3d0fbf46]{display:flex;flex-direction:column;gap:.25rem}.detail-row[data-v-3d0fbf46]{display:flex;justify-content:space-between;font-size:.8rem}.detail-key[data-v-3d0fbf46]{color:var(--fg-secondary)}.detail-val[data-v-3d0fbf46]{font-weight:500;font-family:SF Mono,JetBrains Mono,monospace}.load-users[data-v-3d0fbf46]{display:flex;flex-direction:column;gap:1rem}.load-info[data-v-3d0fbf46]{display:flex;gap:1rem}.load-item[data-v-3d0fbf46]{flex:1;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:.75rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}.load-label[data-v-3d0fbf46]{font-size:.75rem;color:var(--fg-secondary)}.load-value[data-v-3d0fbf46]{font-size:1.1rem;font-weight:700;font-family:SF Mono,monospace}.users-info[data-v-3d0fbf46]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.users-count[data-v-3d0fbf46]{display:flex;flex-direction:column;align-items:center;background:var(--accent-soft);border-radius:var(--radius-sm);padding:.75rem 1.25rem}.users-num[data-v-3d0fbf46]{font-size:1.5rem;font-weight:700;color:var(--accent)}.users-label[data-v-3d0fbf46]{font-size:.75rem;color:var(--fg-secondary)}.users-list[data-v-3d0fbf46]{display:flex;flex-wrap:wrap;gap:.5rem}.user-chip[data-v-3d0fbf46]{background:var(--bg-secondary);border-radius:999px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.user-chip.more[data-v-3d0fbf46]{color:var(--accent);background:var(--accent-soft)}.ports-table[data-v-3d0fbf46]{overflow-x:auto}.table-header[data-v-3d0fbf46],.table-row[data-v-3d0fbf46]{display:grid;grid-template-columns:60px 1fr 80px 80px;gap:.5rem;align-items:center;padding:.5rem 0}.table-header[data-v-3d0fbf46]{font-size:.75rem;font-weight:600;color:var(--fg-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.table-row[data-v-3d0fbf46]{border-bottom:1px solid var(--border)}.table-row[data-v-3d0fbf46]:last-child{border-bottom:none}.proto-badge[data-v-3d0fbf46]{font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;text-align:center}.proto-badge.tcp[data-v-3d0fbf46]{background:#007aff1a;color:#007aff}.proto-badge.udp[data-v-3d0fbf46]{background:#5856d61a;color:#5856d6}.addr[data-v-3d0fbf46]{font-size:.85rem;font-family:monospace;color:var(--fg-secondary)}.port-num[data-v-3d0fbf46]{font-size:.9rem;font-weight:600;font-family:monospace}.status-badge[data-v-3d0fbf46]{font-size:.75rem;color:#34c759;font-weight:500}.table-empty[data-v-3d0fbf46]{text-align:center;color:var(--fg-secondary);padding:1rem;font-size:.9rem}.process-stats[data-v-3d0fbf46]{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.proc-item[data-v-3d0fbf46]{background:var(--bg-secondary);border-radius:var(--radius-sm);padding:1rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}.proc-num[data-v-3d0fbf46]{font-size:1.4rem;font-weight:700}.proc-num.running[data-v-3d0fbf46]{color:#34c759}.proc-num.sleeping[data-v-3d0fbf46]{color:#007aff}.proc-label[data-v-3d0fbf46]{font-size:.75rem;color:var(--fg-secondary)}.update-time[data-v-3d0fbf46]{text-align:center;font-size:.8rem;color:var(--fg-secondary);padding-top:1rem}@media (max-width: 900px){.summary-grid[data-v-3d0fbf46]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.main-grid[data-v-3d0fbf46]{grid-template-columns:1fr}.card-wide[data-v-3d0fbf46]{grid-column:span 1}.process-stats[data-v-3d0fbf46]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.summary-grid[data-v-3d0fbf46]{grid-template-columns:repeat(2,1fr);gap:.75rem}.summary-card[data-v-3d0fbf46]{padding:1rem}.summary-ring[data-v-3d0fbf46]{display:none}.table-header[data-v-3d0fbf46],.table-row[data-v-3d0fbf46]{grid-template-columns:50px 1fr 60px 60px;font-size:.8rem}}.skeleton-wrapper[data-v-3d0fbf46]{width:100%}.sk-summary-card[data-v-3d0fbf46]{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;display:flex;align-items:center;gap:.75rem}.skeleton-block[data-v-3d0fbf46]{background:#e0e0e0;border-radius:6px;position:relative;overflow:hidden}.skeleton-block[data-v-3d0fbf46]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.7) 50%,transparent 100%);animation:shimmer-3d0fbf46 1.5s infinite}.sk-icon[data-v-3d0fbf46]{width:40px;height:40px;border-radius:12px;flex-shrink:0}.sk-val[data-v-3d0fbf46]{width:60px;height:20px;margin-bottom:6px}.sk-label[data-v-3d0fbf46]{width:50px;height:14px}.sk-card[data-v-3d0fbf46]{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);min-height:120px}.sk-card-title[data-v-3d0fbf46]{height:20px;width:40%;margin-bottom:.5rem}.sk-card-body[data-v-3d0fbf46]{height:14px;width:100%}.sk-w-2\/3[data-v-3d0fbf46]{width:66%}.sk-update[data-v-3d0fbf46]{height:16px;width:200px}.mt-2[data-v-3d0fbf46]{margin-top:.5rem}.mt-3[data-v-3d0fbf46]{margin-top:.75rem}.mt-4[data-v-3d0fbf46]{margin-top:1rem}.skeleton-update-time[data-v-3d0fbf46]{padding-top:1rem;text-align:center}@keyframes shimmer-3d0fbf46{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width: 900px){.sk-summary-grid[data-v-3d0fbf46]{grid-template-columns:repeat(2,1fr)}}.visitor-stats[data-v-ed410b24]{padding:32px 24px;max-width:1400px;margin:0 auto}.stats-header[data-v-ed410b24]{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.stats-header h2[data-v-ed410b24]{font-size:24px;font-weight:700;color:var(--fg)}.header-actions[data-v-ed410b24]{display:flex;align-items:center;gap:12px}.update-time[data-v-ed410b24]{font-size:13px;color:var(--fg-secondary)}.btn-refresh[data-v-ed410b24]{padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--fg);cursor:pointer;font-size:14px;transition:all .2s}.btn-refresh[data-v-ed410b24]:hover:not(:disabled){background:var(--bg-secondary)}.btn-refresh[data-v-ed410b24]:disabled{opacity:.5;cursor:not-allowed}.summary-cards[data-v-ed410b24]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.card[data-v-ed410b24]{background:var(--bg-card);border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow);transition:all .2s}.card[data-v-ed410b24]:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-num[data-v-ed410b24]{font-size:32px;font-weight:700;margin-bottom:4px}.card-label[data-v-ed410b24]{font-size:13px;color:var(--fg-secondary)}.card.pv .card-num[data-v-ed410b24]{color:#007aff}.card.uv .card-num[data-v-ed410b24]{color:#5856d6}.card.peak .card-num[data-v-ed410b24]{color:#ff9500}.card.peak-count .card-num[data-v-ed410b24]{color:#34c759}.two-col[data-v-ed410b24]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.col-left[data-v-ed410b24],.col-right[data-v-ed410b24]{display:flex;flex-direction:column;gap:20px}.panel[data-v-ed410b24]{background:var(--bg-card);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.panel h3[data-v-ed410b24]{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--fg)}.list-table[data-v-ed410b24]{font-size:13px}.table-head[data-v-ed410b24]{display:grid;grid-template-columns:40px 1fr 80px;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);color:var(--fg-secondary);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.table-row[data-v-ed410b24]{display:grid;grid-template-columns:40px 1fr 80px;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);align-items:center;transition:background .15s}.table-row[data-v-ed410b24]:last-child{border-bottom:none}.table-row[data-v-ed410b24]:hover{background:var(--bg-secondary);border-radius:8px;padding-left:8px;padding-right:8px}.rank[data-v-ed410b24]{font-weight:600;color:var(--fg-secondary);text-align:center}.path[data-v-ed410b24],.ip[data-v-ed410b24],.ref[data-v-ed410b24]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg)}.ip[data-v-ed410b24]{font-family:SF Mono,Consolas,monospace;font-size:12px}.count[data-v-ed410b24]{text-align:right;font-weight:600;color:var(--accent)}.bar-chart[data-v-ed410b24]{display:flex;align-items:flex-end;gap:4px;height:120px;padding-top:8px}.bar-col[data-v-ed410b24]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}.bar[data-v-ed410b24]{width:100%;background:linear-gradient(180deg,#007aff,#5856d6);border-radius:3px 3px 0 0;min-height:2px;transition:height .3s ease;cursor:pointer}.bar[data-v-ed410b24]:hover{opacity:.8}.bar-label[data-v-ed410b24]{font-size:10px;color:var(--fg-secondary);text-align:center}.status-grid[data-v-ed410b24]{display:flex;flex-wrap:wrap;gap:8px}.status-badge[data-v-ed410b24]{display:flex;flex-direction:column;align-items:center;padding:8px 12px;border-radius:10px;min-width:60px;gap:2px}.status-badge .code[data-v-ed410b24]{font-weight:700;font-size:14px}.status-badge .c-count[data-v-ed410b24]{font-size:11px;opacity:.8}.status-badge.success[data-v-ed410b24]{background:#34c7591f;color:#34c759}.status-badge.redirect[data-v-ed410b24]{background:#007aff1f;color:#007aff}.status-badge.client-err[data-v-ed410b24]{background:#ff95001f;color:#ff9500}.status-badge.server-err[data-v-ed410b24]{background:#ff3b301f;color:#ff3b30}.status-badge.unknown[data-v-ed410b24]{background:var(--bg-secondary);color:var(--fg-secondary)}.loading[data-v-ed410b24],.empty[data-v-ed410b24]{text-align:center;padding:60px 20px;color:var(--fg-secondary);font-size:15px}.empty p[data-v-ed410b24]:first-child{font-size:18px;font-weight:600;color:var(--fg);margin-bottom:8px}@media (max-width: 900px){.summary-cards[data-v-ed410b24]{grid-template-columns:repeat(2,1fr)}.two-col[data-v-ed410b24]{grid-template-columns:1fr}}@media (max-width: 600px){.summary-cards[data-v-ed410b24]{grid-template-columns:1fr 1fr}.stats-header[data-v-ed410b24]{flex-direction:column;align-items:flex-start;gap:12px}}.admin-panel[data-v-ca5549d4]{padding:2rem 0 3rem;overflow-x:hidden}.container[data-v-ca5549d4]{max-width:1100px;margin:0 auto;padding:0 1.5rem}.page-header[data-v-ca5549d4]{margin-bottom:1.5rem}.page-header h1[data-v-ca5549d4]{font-size:1.75rem;font-weight:700;color:var(--fg);margin-bottom:.25rem}.subtitle[data-v-ca5549d4]{font-size:.9rem;color:var(--fg-secondary)}.tabs-nav[data-v-ca5549d4]{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:0}.tab-btn[data-v-ca5549d4]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:none;border:none;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--fg-secondary);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.tab-btn[data-v-ca5549d4]:hover{color:var(--fg);background:var(--bg-secondary)}.tab-btn.active[data-v-ca5549d4]{color:var(--accent);border-bottom-color:var(--accent)}.tab-icon[data-v-ca5549d4]{display:flex}.tab-icon[data-v-ca5549d4] svg{width:16px;height:16px}.tab-content[data-v-ca5549d4]{animation:fadeIn-ca5549d4 .2s ease}@keyframes fadeIn-ca5549d4{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.section-header[data-v-ca5549d4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.section-header h2[data-v-ca5549d4]{font-size:1.1rem;font-weight:600}.section-desc[data-v-ca5549d4]{font-size:.85rem;color:var(--fg-secondary);margin-top:-.5rem;margin-bottom:1rem}.badge[data-v-ca5549d4]{background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:999px}.loading-state[data-v-ca5549d4]{display:flex;align-items:center;gap:.75rem;color:var(--fg-secondary);padding:2rem 0;justify-content:center}.spinner[data-v-ca5549d4]{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-ca5549d4 .8s linear infinite}@keyframes spin-ca5549d4{to{transform:rotate(360deg)}}.empty-state[data-v-ca5549d4],.error-state[data-v-ca5549d4]{text-align:center;padding:3rem;color:var(--fg-secondary);display:flex;flex-direction:column;align-items:center;gap:.5rem}.empty-state svg[data-v-ca5549d4],.error-state svg[data-v-ca5549d4]{width:40px;height:40px;opacity:.4}.empty-state p[data-v-ca5549d4]{font-size:.85rem}.error-state[data-v-ca5549d4]{color:#ff3b30}.file-list[data-v-ca5549d4]{display:flex;flex-direction:column;gap:.5rem}.file-card[data-v-ca5549d4]{display:flex;align-items:center;gap:1rem;background:var(--bg-card);border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:var(--shadow);transition:box-shadow .2s}.file-card[data-v-ca5549d4]:hover{box-shadow:var(--shadow-hover)}.file-icon[data-v-ca5549d4]{width:40px;height:40px;background:var(--accent-soft);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-icon svg[data-v-ca5549d4]{width:20px;height:20px;color:var(--accent)}.file-info[data-v-ca5549d4]{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.file-name[data-v-ca5549d4]{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta[data-v-ca5549d4]{font-size:.8rem;color:var(--fg-secondary)}.logs-layout[data-v-ca5549d4]{display:grid;grid-template-columns:280px 1fr;gap:1rem;height:500px}.log-sidebar[data-v-ca5549d4]{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);overflow-y:auto;padding:.5rem}.log-file-item[data-v-ca5549d4]{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.log-file-item[data-v-ca5549d4]:hover{background:var(--bg-secondary)}.log-file-item.active[data-v-ca5549d4]{background:var(--accent-soft)}.log-file-item svg[data-v-ca5549d4]{width:16px;height:16px;color:var(--fg-secondary);flex-shrink:0}.log-item-info[data-v-ca5549d4]{display:flex;flex-direction:column;min-width:0}.log-item-name[data-v-ca5549d4]{font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-item-meta[data-v-ca5549d4]{font-size:.7rem;color:var(--fg-secondary)}.log-empty[data-v-ca5549d4]{text-align:center;padding:2rem;font-size:.85rem;color:var(--fg-secondary)}.log-content-panel[data-v-ca5549d4]{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.log-placeholder[data-v-ca5549d4]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--fg-secondary);gap:.5rem}.log-placeholder svg[data-v-ca5549d4]{width:40px;height:40px;opacity:.3}.log-content-header[data-v-ca5549d4]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.85rem;font-weight:600;background:var(--bg-secondary)}.log-pre[data-v-ca5549d4]{flex:1;overflow:auto;padding:1rem;font-family:SF Mono,JetBrains Mono,Fira Code,monospace;font-size:.78rem;line-height:1.6;color:var(--fg);white-space:pre-wrap;word-break:break-all;margin:0}.services-grid[data-v-ca5549d4]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.service-card[data-v-ca5549d4]{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:.75rem;position:relative;transition:box-shadow .2s}.service-card[data-v-ca5549d4]:hover{box-shadow:var(--shadow-hover)}.service-status-indicator[data-v-ca5549d4]{position:absolute;top:.75rem;right:.75rem;width:8px;height:8px;border-radius:50%}.service-status-indicator.running[data-v-ca5549d4]{background:#34c759;box-shadow:0 0 6px #34c75980}.service-status-indicator.stopped[data-v-ca5549d4]{background:#ff3b30}.service-status-indicator.error[data-v-ca5549d4]{background:#ff9500}.service-icon[data-v-ca5549d4]{width:44px;height:44px;background:var(--accent-soft);border-radius:12px;display:flex;align-items:center;justify-content:center}.service-icon[data-v-ca5549d4] svg{width:22px;height:22px;color:var(--accent)}.service-info[data-v-ca5549d4]{display:flex;flex-direction:column;align-items:center;gap:.2rem}.service-name[data-v-ca5549d4]{font-size:.9rem;font-weight:600}.service-port[data-v-ca5549d4]{font-size:.75rem;color:var(--fg-secondary)}.service-status-badge[data-v-ca5549d4]{font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:999px}.service-status-badge.running[data-v-ca5549d4]{background:#34c7591a;color:#34c759}.service-status-badge.stopped[data-v-ca5549d4]{background:#ff3b301a;color:#ff3b30}.service-status-badge.error[data-v-ca5549d4]{background:#ff95001a;color:#ff9500}.quick-info-row[data-v-ca5549d4]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.quick-info-card[data-v-ca5549d4]{background:var(--bg-card);border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.25rem}.quick-info-label[data-v-ca5549d4]{font-size:.75rem;color:var(--fg-secondary);font-weight:500}.quick-info-value[data-v-ca5549d4]{font-size:.9rem;font-weight:600;font-family:SF Mono,monospace}.actions-grid[data-v-ca5549d4]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.action-card[data-v-ca5549d4]{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1rem;transition:box-shadow .2s;border:1px solid transparent}.action-card[data-v-ca5549d4]:hover{box-shadow:var(--shadow-hover)}.action-card.running[data-v-ca5549d4]{border-color:var(--accent)}.action-header[data-v-ca5549d4]{display:flex;align-items:flex-start;gap:1rem}.action-icon[data-v-ca5549d4]{width:44px;height:44px;background:var(--accent-soft);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-icon[data-v-ca5549d4] svg{width:22px;height:22px;color:var(--accent)}.action-info[data-v-ca5549d4]{display:flex;flex-direction:column;gap:.25rem}.action-name[data-v-ca5549d4]{font-size:.95rem;font-weight:600}.action-desc[data-v-ca5549d4]{font-size:.8rem;color:var(--fg-secondary);line-height:1.4}.action-result[data-v-ca5549d4]{background:var(--bg-secondary);border-radius:var(--radius-sm);padding:.75rem}.result-header[data-v-ca5549d4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.result-header .success[data-v-ca5549d4]{color:#34c759;font-weight:600;font-size:.85rem}.result-header .error[data-v-ca5549d4]{color:#ff3b30;font-weight:600;font-size:.85rem}.result-pre[data-v-ca5549d4]{font-family:SF Mono,monospace;font-size:.75rem;line-height:1.5;color:var(--fg-secondary);white-space:pre-wrap;word-break:break-all;max-height:150px;overflow-y:auto;margin:0}.btn-action[data-v-ca5549d4]{width:100%;padding:.6rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-action[data-v-ca5549d4]:hover:not(:disabled){background:#0066d6}.btn-action[data-v-ca5549d4]:disabled{opacity:.6;cursor:not-allowed}.btn-spinner[data-v-ca5549d4]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-ca5549d4 .8s linear infinite}.btn-sm[data-v-ca5549d4]{padding:.35rem .85rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-sm.btn-primary[data-v-ca5549d4]{background:var(--accent);color:#fff}.btn-sm.btn-primary[data-v-ca5549d4]:hover:not(:disabled){background:#0066d6}.btn-sm.btn-primary[data-v-ca5549d4]:disabled{opacity:.6;cursor:not-allowed}.btn-sm.btn-outline[data-v-ca5549d4]{background:var(--bg-secondary);color:var(--fg);border:1px solid var(--border)}.btn-sm.btn-outline[data-v-ca5549d4]:hover{background:var(--border)}.btn-xs[data-v-ca5549d4]{padding:.2rem .5rem;border-radius:4px;font-size:.75rem;cursor:pointer;background:none;border:1px solid var(--border);color:var(--fg-secondary)}.btn-xs[data-v-ca5549d4]:hover{background:var(--bg-secondary)}@media (max-width: 900px){.services-grid[data-v-ca5549d4],.quick-info-row[data-v-ca5549d4]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.tabs-nav[data-v-ca5549d4]{overflow-x:auto}.logs-layout[data-v-ca5549d4]{grid-template-columns:1fr;height:auto}.log-sidebar[data-v-ca5549d4]{max-height:200px}.services-grid[data-v-ca5549d4]{grid-template-columns:repeat(2,1fr)}.actions-grid[data-v-ca5549d4]{grid-template-columns:1fr}}@media (max-width: 640px){.quick-info-row[data-v-ca5549d4],.services-grid[data-v-ca5549d4]{grid-template-columns:1fr}.tabs-nav[data-v-ca5549d4]{gap:.25rem}.tab-btn[data-v-ca5549d4]{padding:.6rem .85rem;font-size:.85rem}}
