.layout[data-v-9b012b30]{min-height:100vh;display:flex;flex-direction:column}.layout-footer[data-v-9b012b30]{margin-top:auto;padding:.1rem;background:var(--footer-bg);border-top:1px solid var(--footer-border);text-align:center;color:var(--footer-text);font-size:.9rem}.footer-content[data-v-9b012b30]{display:flex;justify-content:center;align-items:center;gap:1rem}.admin-link[data-v-9b012b30]{color:var(--color-admin-link);text-decoration:none;font-size:.8rem;opacity:.5;transition:all .2s}.admin-link[data-v-9b012b30]:hover{opacity:1;color:var(--admin-link-hover-color)}.layout-header[data-v-9b012b30]{position:sticky;top:0;z-index:10;padding:12px 24px;background:var(--bg-header);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-header);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.layout-header-inner[data-v-9b012b30]{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand[data-v-9b012b30]{display:flex;flex-direction:column;text-decoration:none}.brand-title[data-v-9b012b30]{font-size:1.1rem;font-weight:700;background-image:var(--brand-gradient);background-size:200% auto;color:transparent;-webkit-background-clip:text;background-clip:text;letter-spacing:.08em;text-transform:uppercase}.brand-subtitle[data-v-9b012b30]{font-size:.8rem;color:var(--color-brand-subtitle)}.layout-nav[data-v-9b012b30]{display:flex;flex-wrap:wrap;gap:16px;font-size:.95rem;align-items:center}.nav-item[data-v-9b012b30]{position:relative}.layout-nav a[data-v-9b012b30],.nav-link[data-v-9b012b30]{text-decoration:none;color:var(--nav-link-color);padding:6px 10px;border-radius:999px;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1;transition:color .14s ease-out,background-color .14s ease-out,box-shadow .18s ease-out,transform .16s ease-out}.nav-link.nav-dropdown-trigger[data-v-9b012b30]{border:1px solid transparent;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.layout-nav a[data-v-9b012b30]:hover,.nav-link[data-v-9b012b30]:hover{color:var(--nav-hover-color);background:var(--nav-hover-bg);box-shadow:var(--nav-hover-shadow);transform:translateY(-1px)}.layout-nav .router-link-active[data-v-9b012b30]{color:var(--nav-active-color);background:var(--nav-active-bg);font-weight:600;box-shadow:var(--nav-active-shadow)}.layout-nav .router-link-exact-active[data-v-9b012b30]{color:var(--nav-exact-active-color);background:var(--nav-exact-active-bg);font-weight:700;box-shadow:var(--nav-exact-active-shadow)}.nav-icon[data-v-9b012b30]{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.nav-icon-svg[data-v-9b012b30]{width:16px;height:16px;stroke:currentColor;stroke-width:1.5;fill:none}.nav-label[data-v-9b012b30]{display:inline-block}.nav-dropdown[data-v-9b012b30]{position:relative}.nav-dropdown-menu[data-v-9b012b30]{position:absolute;right:50%;transform:translate(50%);top:100%;margin-top:0;padding:8px;border-radius:14px;background:var(--bg-nav-dropdown);box-shadow:var(--nav-dropdown-shadow);display:none;min-width:100px;z-index:20}@media(hover:hover)and (pointer:fine){.nav-dropdown:hover .nav-dropdown-menu[data-v-9b012b30]{display:flex;flex-direction:column;gap:6px}}.nav-dropdown-menu.open[data-v-9b012b30]{display:flex;flex-direction:column;gap:6px}.nav-dropdown-item[data-v-9b012b30]{display:flex;align-items:center;padding:8px 14px;border-radius:999px;text-decoration:none;color:var(--nav-link-color);font-size:.9rem;line-height:1.2}.nav-dropdown-item[data-v-9b012b30]:hover{color:var(--nav-hover-color);background:var(--nav-hover-bg)}.theme-toggle[data-v-9b012b30]{padding:4px;border-radius:999px;border:1px solid var(--border-theme-toggle);background-color:transparent;cursor:pointer;transition:background-color .16s ease-out,border-color .16s ease-out,transform .16s ease-out,box-shadow .18s ease-out}.theme-toggle[data-v-9b012b30]:hover{background-color:var(--theme-toggle-hover-bg);border-color:var(--theme-toggle-hover-border);box-shadow:var(--theme-toggle-hover-shadow);transform:translateY(-1px)}.theme-toggle-track[data-v-9b012b30]{width:38px;height:18px;border-radius:999px;background-color:var(--bg-theme-toggle-track);display:flex;align-items:center;padding:2px;transition:background-color .18s ease-out,box-shadow .18s ease-out;box-shadow:var(--shadow-theme-toggle-track)}.theme-toggle-thumb[data-v-9b012b30]{width:14px;height:14px;border-radius:999px;background-color:var(--bg-theme-toggle-thumb);box-shadow:var(--shadow-theme-toggle-thumb);transform:translate(0);transition:transform .2s ease-out,background-color .18s ease-out,box-shadow .18s ease-out}.theme-toggle-thumb--light[data-v-9b012b30]{transform:translate(18px)}.layout-main[data-v-9b012b30]{flex:1;padding:24px}@media(max-width:640px){.layout-header-inner[data-v-9b012b30]{flex-direction:column;align-items:flex-start}}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root.theme-dark{color:#e5e7eb;--color-heading: #e5e7eb;--color-body: #e5e7eb;--color-muted: #9ca3af;--color-accent-soft: #bfdbfe;--bg-hero: radial-gradient(circle at 0% 0%, rgba(56, 189, 248, .4), transparent 55%), radial-gradient(circle at 100% 100%, rgba(129, 140, 248, .38), transparent 55%), linear-gradient(135deg, #020617, #020617);--bg-hero-logo-card: radial-gradient(circle at 0% 0%, rgba(56, 189, 248, .24), transparent 60%), linear-gradient(145deg, rgba(15, 23, 42, .98), rgba(15, 23, 42, .94));--bg-hero-category-card: linear-gradient(145deg, rgba(15, 23, 42, .96), rgba(15, 23, 42, .9));--bg-nav-card: radial-gradient(circle at 0% 0%, rgba(56, 189, 248, .16), transparent 55%), linear-gradient(150deg, rgba(15, 23, 42, .96), rgba(15, 23, 42, .92));--bg-category-section: radial-gradient(circle at 0% 0%, rgba(59, 130, 246, .22), transparent 60%), linear-gradient(160deg, rgba(15, 23, 42, .98), rgba(15, 23, 42, .95));--bg-sub-section: radial-gradient(circle at 0% 0%, rgba(79, 70, 229, .18), transparent 55%), linear-gradient(150deg, rgba(15, 23, 42, .95), rgba(15, 23, 42, .9));--bg-resource-item: rgba(15, 23, 42, .86);--bg-category-sidebar: radial-gradient(circle at 0% 0%, rgba(37, 99, 235, .26), transparent 55%), linear-gradient(145deg, rgba(15, 23, 42, .98), rgba(15, 23, 42, .92));--border-category-sidebar: rgba(148, 163, 184, .2);--shadow-category-sidebar: 0 18px 40px rgba(15, 23, 42, .8), 0 0 0 1px rgba(30, 64, 175, .3);--border-category-header: rgba(148, 163, 184, .5);--shadow-input-focus: 0 0 24px rgba(59, 130, 246, .25);--bg-about-card: radial-gradient(circle at 0% 0%, rgba(56, 189, 248, .2), transparent 55%), linear-gradient(145deg, rgba(15, 23, 42, .98), rgba(15, 23, 42, .93));--bg-about-tech-card: radial-gradient(circle at 0% 0%, rgba(129, 140, 248, .22), transparent 55%), linear-gradient(145deg, rgba(15, 23, 42, .98), rgba(15, 23, 42, .93));--bg-about-container: radial-gradient(circle at 0% 0%, rgba(56, 189, 248, .2), transparent 60%), radial-gradient(circle at 100% 100%, rgba(129, 140, 248, .22), transparent 60%), linear-gradient(150deg, rgba(15, 23, 42, .98), rgba(15, 23, 42, .94));--shadow-about-container: 0 28px 80px rgba(15, 23, 42, .98), 0 0 0 1px rgba(30, 64, 175, .55);--bg-about-tag: rgba(15, 23, 42, .9);--color-about-tag: #bfdbfe;--border-about-tag: rgba(59, 130, 246, .7);--bg-about-pill: rgba(15, 23, 42, .85);--color-about-pill: #e5e7eb;--border-about-pill: rgba(148, 163, 184, .65);--gradient-heading: linear-gradient(120deg, #e5e7eb, #a5b4fc, #38bdf8);--color-category-title: #f9fafb;--color-category-subtitle: #9ca3af;--color-resource-link: #bfdbfe;--color-resource-meta: #9ca3af;--border-color: rgba(148, 163, 184, .1);--border-color-hover: rgba(56, 189, 248, .5);--tag-bg: rgba(30, 41, 59, .8);--tag-border: rgba(148, 163, 184, .2);--tag-text: #cbd5e1;--tag-bg-hover: rgba(51, 65, 85, .9);--tag-text-hover: #e2e8f0;--footer-bg: rgba(15, 23, 42, .8);--footer-border: rgba(148, 163, 184, .1);--footer-text: #94a3b8;--btn-icon-bg: rgba(15, 23, 42, .3);--btn-icon-border: rgba(148, 163, 184, .1);--btn-icon-text: #94a3b8;--btn-action-bg: rgba(56, 189, 248, .1);--btn-action-color: #38bdf8;--btn-action-border: rgba(56, 189, 248, .2);--btn-action-bg-hover: rgba(56, 189, 248, .2);--hash-color: #38bdf8;--count-bg: rgba(30, 41, 59, .5);--count-text: #64748b;--resource-title-color: #f1f5f9;--resource-title-hover: #38bdf8;--action-link-bg: rgba(59, 130, 246, .1);--action-link-color: #60a5fa;--action-link-bg-hover: rgba(59, 130, 246, .2);--tag-active-bg: rgba(56, 189, 248, .15);--tag-active-color: #38bdf8;--tag-active-border: rgba(56, 189, 248, .4);--tag-highlight-bg: rgba(234, 179, 8, .15);--tag-highlight-color: #fbbf24;--tag-highlight-border: rgba(234, 179, 8, .4);--shadow-card: 0 18px 40px rgba(15, 23, 42, .85), 0 0 0 1px rgba(30, 64, 175, .4);--bg-resource-item-hover: rgba(15, 23, 42, .96);--border-resource-item-hover: rgba(96, 165, 250, .95);--bg-resource-link-secondary: linear-gradient(120deg, #0f172a, #1f2937);--color-resource-link-secondary: #e5e7eb;--bg-favorite-toggle-hover: rgba(30, 64, 175, .9);--shadow-card-hover: 0 20px 48px rgba(37, 99, 235, .9), 0 0 0 1px rgba(191, 219, 254, .9);--nav-hover-bg: radial-gradient(circle at 0% 0%, rgba(56, 189, 248, .25), rgba(165, 180, 252, .25));--nav-hover-color: #e5e7eb;--nav-hover-shadow: 0 10px 22px rgba(59, 130, 246, .4), 0 0 0 1px rgba(191, 219, 254, .3);--nav-active-bg: linear-gradient(120deg, rgba(56, 189, 248, .2), rgba(199, 210, 254, .2), rgba(125, 211, 252, .2));--nav-active-color: #f0f9ff;--nav-active-shadow: 0 12px 26px rgba(56, 189, 248, .3), 0 0 0 1px rgba(125, 211, 252, .4);--nav-exact-active-bg: linear-gradient(135deg, rgba(79, 70, 229, .4), rgba(14, 165, 233, .4), rgba(34, 197, 94, .4));--nav-exact-active-color: #ffffff;--nav-exact-active-shadow: 0 15px 32px rgba(59, 130, 246, .4), 0 0 0 1px rgba(248, 250, 252, .3);--tag-chip-active-bg: linear-gradient(120deg, rgba(79, 70, 229, .3), rgba(14, 165, 233, .3));--tag-chip-active-border: rgba(191, 219, 254, .4);--tag-chip-active-color: #e0f2fe;--resource-link-primary-bg: linear-gradient(120deg, rgba(79, 70, 229, .3), rgba(14, 165, 233, .3), rgba(34, 197, 94, .3));--resource-link-primary-color: #f0f9ff;--resource-link-primary-border: rgba(59, 130, 246, .5);--resource-link-hover-shadow: 0 12px 26px rgba(59, 130, 246, .4), 0 0 0 1px rgba(191, 219, 254, .4);--theme-toggle-hover-bg: rgba(30, 64, 175, .35);--theme-toggle-hover-border: rgba(191, 219, 254, .8);--theme-toggle-hover-shadow: 0 12px 26px rgba(59, 130, 246, .8), 0 0 0 1px rgba(191, 219, 254, .9);--bg-hero-gradient: radial-gradient(circle at 50% 50%, #1e293b 0%, #0f172a 100%);--border-hero: rgba(148, 163, 184, .1);--shadow-hero: 0 0 50px rgba(0, 0, 0, .5);--bg-hero-grid: linear-gradient(rgba(56, 189, 248, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(56, 189, 248, .05) 1px, transparent 1px);--bg-hero-spotlight: radial-gradient(600px circle at var(--mouse-x) var(--mouse-y), rgba(56, 189, 248, .08), transparent 40%);--color-hero-title: #fff;--shadow-hero-title: 0 0 10px rgba(56, 189, 248, .5);--color-hero-subtitle: #94a3b8;--color-hero-desc: #64748b;--shadow-logo-card: 0 20px 50px rgba(0, 0, 0, .3);--btn-cyber-primary-bg: rgba(56, 189, 248, .1);--btn-cyber-primary-border: #38bdf8;--btn-cyber-primary-color: #38bdf8;--btn-cyber-primary-shadow: 0 0 10px rgba(56, 189, 248, .2);--btn-cyber-primary-hover-bg: #38bdf8;--btn-cyber-primary-hover-color: #0f172a;--btn-cyber-primary-hover-shadow: 0 0 20px rgba(56, 189, 248, .6);--btn-stats-link-bg: linear-gradient(120deg, #4f46e5, #0ea5e9);--btn-stats-link-text: #020617;--btn-stats-link-shadow: 0 10px 26px rgba(37, 99, 235, .95), 0 0 0 1px rgba(191, 219, 254, .9);--btn-cyber-secondary-bg: transparent;--btn-cyber-secondary-border: #475569;--btn-cyber-secondary-color: #94a3b8;--btn-cyber-secondary-hover-border: #94a3b8;--btn-cyber-secondary-hover-color: #fff;--bg-recommend-card: #0f172a;--border-recommend-card: #334155;--bg-terminal-header: #1e293b;--border-terminal-header: #334155;--color-recommend-label: #e2e8f0;--bg-home-nav-card: rgba(30, 41, 59, .4);--border-home-nav-card: rgba(148, 163, 184, .1);--bg-home-nav-card-hover: rgba(30, 41, 59, .8);--border-home-nav-card-hover: rgba(56, 189, 248, .3);--shadow-home-nav-card-hover: 0 10px 30px -10px rgba(56, 189, 248, .2);--bg-logo-card: rgba(30, 41, 59, .7);--border-logo-card: rgba(255, 255, 255, .1);--color-section-title: #e2e8f0;--color-card-title: #f1f5f9;--bg-visit-tag: rgba(56, 189, 248, .1);--color-visit-tag: #38bdf8;--bg-stats-card: radial-gradient(circle at 0% 0%, rgba(56, 189, 248, .2), transparent 60%), radial-gradient(circle at 100% 100%, rgba(129, 140, 248, .22), transparent 60%), linear-gradient(150deg, rgba(15, 23, 42, .98), rgba(15, 23, 42, .94));--border-stats-card: rgba(148, 163, 184, .5);--shadow-stats-card: 0 28px 80px rgba(15, 23, 42, .98), 0 0 0 1px rgba(30, 64, 175, .55);--bg-stats-summary: rgba(15, 23, 42, .96);--border-stats-summary: rgba(148, 163, 184, .6);--shadow-stats-summary: 0 16px 40px rgba(15, 23, 42, .9), 0 0 0 1px rgba(30, 64, 175, .45);--bg-stats-trend: rgba(30, 41, 59, .3);--bg-stats-bar: linear-gradient(to top, rgba(56, 189, 248, .5), rgba(56, 189, 248, .8));--bg-stats-bar-hover: linear-gradient(to top, rgba(56, 189, 248, .7), rgba(56, 189, 248, 1));--bg-stats-table-head: rgba(15, 23, 42, .96);--bg-stats-table-odd: rgba(15, 23, 42, .9);--bg-stats-table-even: rgba(15, 23, 42, .88);--bg-stats-table-hover: rgba(30, 64, 175, .9);--color-stats-table-text: #e5e7eb;--color-stats-table-head: #bfdbfe;--color-stats-link: #bfdbfe;--input-bg: rgba(15, 23, 42, .9);--input-border: rgba(148, 163, 184, .55);--input-text: #e5e7eb;--input-focus-border: rgba(129, 140, 248, .9);--bg-hero-spotlight: rgba(56, 189, 248, .08);--shadow-hero-logo: rgba(56, 189, 248, .4);--color-hero-cursor: #38bdf8;--bg-card-shine: linear-gradient(135deg, rgba(255,255,255,.5) 0%, transparent 100%);--border-section-header: rgba(148, 163, 184, .1);--scrollbar-track: rgba(203, 213, 225, .5);--scrollbar-thumb: rgba(148, 163, 184, .5);--scrollbar-thumb-hover: rgba(100, 116, 139, .6);--input-focus-ring: 0 0 0 2px rgba(37, 99, 235, .2);--btn-favorite-bg-hover: rgba(251, 191, 36, .2);--btn-favorite-color-hover: #d97706;--btn-favorite-border-hover: rgba(251, 191, 36, .5);--btn-favorite-active-color: #d97706;--badge-visit-bg: rgba(245, 158, 11, .15);--badge-visit-color: #d97706;--card-highlight-gradient: linear-gradient(90deg, #2563eb, #7c3aed);--card-glow-bg: radial-gradient(circle at top right, rgba(37, 99, 235, .08), transparent 70%);--action-link-primary-bg: rgba(37, 99, 235, .1);--action-link-primary-color: #2563eb;--action-link-primary-bg-hover: rgba(37, 99, 235, .2);--action-link-secondary-bg: rgba(138, 144, 151, .3);--action-link-secondary-color: #5c92de;--action-link-secondary-bg-hover: rgba(203, 213, 225, .5);--action-link-secondary-color-hover: #1e293b;--btn-reset-border: rgba(100, 116, 139, .4);--admin-link-hover-color: #6366f1;--color-admin-link: #64748b;--color-brand-subtitle: #9ca3af;--border-theme-toggle: rgba(148, 163, 184, .7);--bg-theme-toggle-track: rgba(15, 23, 42, .9);--shadow-theme-toggle-track: inset 0 0 0 1px rgba(15, 23, 42, .7), 0 4px 10px rgba(15, 23, 42, .65);--bg-theme-toggle-thumb: #e5e7eb;--shadow-theme-toggle-thumb: 0 2px 4px rgba(15, 23, 42, .7), 0 0 0 1px rgba(148, 163, 184, .7);--bg-login-card: rgba(30, 41, 59, .8);--border-login-card: rgba(148, 163, 184, .2);--gradient-error-code: linear-gradient(135deg, #6366f1, #8b5cf6, #ec4899);--shadow-error-code: 0 10px 30px rgba(99, 102, 241, .3);--color-dot-red: #ef4444;--color-dot-yellow: #eab308;--color-dot-green: #22c55e;--bg-home-btn: linear-gradient(135deg, #4f46e5, #7c3aed);--bg-badge-warning: #fef3c7;--color-badge-warning-text: #b45309;--bg-danger-hover: #fee2e2;--bg-home-btn-hover: linear-gradient(135deg, #4338ca, #6d28d9);--shadow-home-btn: 0 4px 15px rgba(79, 70, 229, .4);--shadow-home-btn-hover: 0 8px 25px rgba(79, 70, 229, .5);--gradient-resource-highlight: linear-gradient(90deg, #38bdf8, #818cf8);--gradient-about-hero: linear-gradient(120deg, #4f46e5, #0ea5e9, #22c55e);--color-about-hero-text: #020617;--bg-header: rgba(15, 23, 42, .8);--shadow-header: 0 4px 20px rgba(0, 0, 0, .3), 0 0 0 1px rgba(148, 163, 184, .1);--brand-gradient: linear-gradient(120deg, #38bdf8, #818cf8);--bg-nav-dropdown: rgba(30, 41, 59, .95);--nav-dropdown-shadow: 0 10px 25px rgba(15, 23, 42, .6), 0 0 0 1px rgba(30, 64, 175, .3);--nav-link-color: #e5e7eb;--bg-card-icon: rgba(56, 189, 248, .15);--color-card-icon: #38bdf8;--color-error: #f87171;--color-warning: #fbbf24;--color-success: #34d399;--bg-badge-warning: rgba(245, 158, 11, .2);--color-badge-warning-text: #fbbf24;--bg-danger-hover: rgba(220, 38, 38, .2);--gradient-error-code: linear-gradient(135deg, #818cf8, #c084fc, #f472b6);--shadow-error-code: 0 10px 30px rgba(129, 140, 248, .3);--bg-home-btn: linear-gradient(135deg, #6366f1, #8b5cf6);--bg-home-btn-hover: linear-gradient(135deg, #4f46e5, #7c3aed);--shadow-home-btn: 0 4px 15px rgba(99, 102, 241, .4);--shadow-home-btn-hover: 0 8px 25px rgba(99, 102, 241, .5);--color-home-btn: #ffffff;background:radial-gradient(circle at 0% 0%,#0f172a,#020617 38%,#000),#020617;background-attachment:fixed;--color-primary: #6366f1;--color-primary-rgb: 99, 102, 241;--bg-card: var(--bg-about-card);--shadow-card-hover: 0 20px 40px rgba(0, 0, 0, .4);--bg-secondary: rgba(30, 41, 59, .5);--color-text: #e5e7eb}:root.theme-light{color:#111827;--color-heading: #111827;--color-body: #374151;--color-muted: #6b7280;--color-accent-soft: #2563eb;--bg-hero: radial-gradient(circle at 0% 0%, rgba(191, 219, 254, .85), transparent 55%), radial-gradient(circle at 100% 100%, rgba(167, 139, 250, .75), transparent 55%), linear-gradient(135deg, #e5f0ff, #e0f2fe);--bg-hero-logo-card: radial-gradient(circle at 0% 0%, rgba(191, 219, 254, .6), transparent 55%), linear-gradient(145deg, #ffffff, #e5e7eb);--bg-hero-category-card: linear-gradient(145deg, #ffffff, #e5e7eb);--bg-nav-card: radial-gradient(circle at 0% 0%, rgba(191, 219, 254, .55), transparent 55%), linear-gradient(150deg, #ffffff, #e5e7eb);--bg-category-section: radial-gradient(circle at 0% 0%, rgba(191, 219, 254, .6), transparent 60%), linear-gradient(160deg, #ffffff, #e5e7eb);--bg-sub-section: radial-gradient(circle at 0% 0%, rgba(191, 219, 254, .45), transparent 55%), linear-gradient(150deg, #ffffff, #e5e7eb);--bg-resource-item: #ffffff;--bg-category-sidebar: radial-gradient(circle at 0% 0%, rgba(191, 219, 254, .65), transparent 55%), linear-gradient(145deg, #ffffff, #e5e7eb);--border-category-sidebar: rgba(203, 213, 225, .6);--shadow-category-sidebar: 0 18px 40px rgba(148, 163, 184, .15), 0 0 0 1px rgba(203, 213, 225, .6);--border-category-header: rgba(203, 213, 225, .8);--input-bg: #ffffff;--input-border: rgba(203, 213, 225, .8);--input-text: #1f293b;--input-focus-border: #4f46e5;--shadow-input-focus: 0 0 24px rgba(59, 130, 246, .25);--color-warning: #d97706;--color-success: #059669;--bg-about-card: radial-gradient(circle at 0% 0%, rgba(191, 219, 254, .6), transparent 55%), linear-gradient(145deg, #ffffff, #e5e7eb);--bg-about-tech-card: radial-gradient(circle at 0% 0%, rgba(191, 219, 254, .7), transparent 55%), linear-gradient(145deg, #ffffff, #e5e7eb);--bg-about-container: radial-gradient(circle at 0% 0%, rgba(191, 219, 254, .6), transparent 60%), radial-gradient(circle at 100% 100%, rgba(167, 139, 250, .5), transparent 60%), linear-gradient(150deg, rgba(255, 255, 255, .95), rgba(241, 245, 249, .9));--shadow-about-container: 0 20px 60px rgba(148, 163, 184, .2), 0 0 0 1px rgba(203, 213, 225, .6);--bg-about-tag: rgba(224, 242, 254, .8);--color-about-tag: #0369a1;--border-about-tag: rgba(56, 189, 248, .5);--bg-about-pill: rgba(241, 245, 249, .8);--color-about-pill: #475569;--border-about-pill: rgba(203, 213, 225, .6);--gradient-heading: linear-gradient(120deg, #1e293b, #4f46e5, #0ea5e9);--color-category-title: #111827;--color-category-subtitle: #4b5563;--color-resource-link: #1d4ed8;--color-resource-meta: #6b7280;--border-color: rgba(203, 213, 225, .8);--border-color-hover: rgba(37, 99, 235, .5);--tag-bg: rgba(241, 245, 249, .8);--tag-border: rgba(203, 213, 225, .8);--tag-text: #475569;--tag-bg-hover: rgba(226, 232, 240, .9);--tag-border-hover: rgba(37, 99, 235, .5);--tag-text-hover: #1e293b;--footer-bg: rgba(255, 255, 255, .8);--footer-border: rgba(203, 213, 225, .5);--footer-text: #64748b;--btn-icon-bg: rgba(255, 255, 255, .6);--btn-icon-border: rgba(203, 213, 225, .6);--btn-icon-text: #64748b;--btn-action-bg: rgba(224, 242, 254, .5);--btn-action-color: #0369a1;--btn-action-border: rgba(186, 230, 253, .6);--btn-action-bg-hover: rgba(224, 242, 254, .8);--hash-color: #0284c7;--count-bg: rgba(226, 232, 240, .8);--count-text: #64748b;--resource-title-color: #1e293b;--resource-title-hover: #0284c7;--action-link-bg: rgba(37, 99, 235, .1);--action-link-color: #2563eb;--action-link-bg-hover: rgba(37, 99, 235, .2);--tag-active-bg: rgba(14, 165, 233, .15);--tag-active-color: #0284c7;--tag-active-border: rgba(14, 165, 233, .4);--tag-highlight-bg: rgba(234, 179, 8, .2);--tag-highlight-color: #b45309;--tag-highlight-border: rgba(234, 179, 8, .5);--shadow-card: 0 18px 40px rgba(148, 163, 184, .15), 0 0 0 1px rgba(203, 213, 225, .6);--nav-link-color: #475569;--bg-nav-dropdown: linear-gradient(150deg, #ffffff, #f8fafc);--nav-dropdown-shadow: 0 10px 25px rgba(148, 163, 184, .2), 0 0 0 1px rgba(203, 213, 225, .6);--bg-resource-item-hover: #ffffff;--border-resource-item-hover: rgba(37, 99, 235, .6);--bg-resource-link-secondary: linear-gradient(120deg, #f1f5f9, #e2e8f0);--color-resource-link-secondary: #334155;--bg-favorite-toggle-hover: rgba(224, 242, 254, .8);--shadow-card-hover: 0 20px 48px rgba(37, 99, 235, .2), 0 0 0 1px rgba(37, 99, 235, .3);--nav-hover-bg: radial-gradient(circle at 0% 0%, #e0f2fe, #a5b4fc);--nav-hover-color: #0b1020;--nav-hover-shadow: 0 10px 22px rgba(37, 99, 235, .5), 0 0 0 1px rgba(191, 219, 254, .7);--nav-active-bg: linear-gradient(120deg, #bfdbfe, #c7d2fe, #7dd3fc);--nav-active-color: #020617;--nav-active-shadow: 0 12px 26px rgba(56, 189, 248, .55), 0 0 0 1px rgba(125, 211, 252, .9);--nav-exact-active-bg: linear-gradient(135deg, #4f46e5, #0ea5e9, #22c55e);--nav-exact-active-color: #ffffff;--nav-exact-active-shadow: 0 15px 32px rgba(59, 130, 246, .75), 0 0 0 1px rgba(248, 250, 252, .7);--tag-chip-active-bg: linear-gradient(120deg, #4f46e5, #0ea5e9);--tag-chip-active-border: rgba(191, 219, 254, .9);--tag-chip-active-color: #ffffff;--resource-link-primary-bg: linear-gradient(120deg, #4f46e5, #0ea5e9, #22c55e);--resource-link-primary-color: #020617;--resource-link-primary-border: rgba(59, 130, 246, .9);--resource-link-hover-shadow: 0 12px 26px rgba(59, 130, 246, .9), 0 0 0 1px rgba(191, 219, 254, .95);--theme-toggle-hover-bg: rgba(226, 232, 240, .9);--theme-toggle-hover-border: rgba(37, 99, 235, .6);--theme-toggle-hover-shadow: 0 12px 26px rgba(37, 99, 235, .2), 0 0 0 1px rgba(37, 99, 235, .3);--btn-stats-link-bg: linear-gradient(120deg, #4f46e5, #0ea5e9);--btn-stats-link-text: #ffffff;--btn-stats-link-shadow: 0 10px 26px rgba(59, 130, 246, .4), 0 0 0 1px rgba(191, 219, 254, .6);--bg-header: radial-gradient(circle at 0% 0%, rgba(191, 219, 254, .8), transparent 45%), linear-gradient(135deg, rgba(255, 255, 255, .9), rgba(241, 245, 249, .9));--shadow-header: 0 4px 20px rgba(148, 163, 184, .15), 0 0 0 1px rgba(203, 213, 225, .6);--color-hero-cursor: #0284c7;--bg-card-icon: rgba(14, 165, 233, .15);--color-card-icon: #0284c7;--bg-visit-tag: rgba(14, 165, 233, .15);--color-visit-tag: #0284c7;--bg-stats-card: radial-gradient(circle at 0% 0%, rgba(191, 219, 254, .6), transparent 60%), radial-gradient(circle at 100% 100%, rgba(167, 139, 250, .5), transparent 60%), linear-gradient(150deg, rgba(255, 255, 255, .95), rgba(241, 245, 249, .9));--border-stats-card: rgba(203, 213, 225, .6);--shadow-stats-card: 0 20px 60px rgba(148, 163, 184, .2), 0 0 0 1px rgba(203, 213, 225, .6);--bg-stats-summary: #ffffff;--border-stats-summary: rgba(203, 213, 225, .8);--gradient-error-code: linear-gradient(135deg, #4f46e5, #8b5cf6, #ec4899);--shadow-error-code: 0 10px 30px rgba(79, 70, 229, .2);--shadow-home-btn: 0 4px 15px rgba(79, 70, 229, .25);--shadow-home-btn-hover: 0 8px 25px rgba(79, 70, 229, .35);--shadow-stats-summary: 0 10px 30px rgba(148, 163, 184, .15), 0 0 0 1px rgba(203, 213, 225, .6);--bg-stats-trend: rgba(241, 245, 249, .6);--bg-stats-bar: linear-gradient(to top, rgba(59, 130, 246, .5), rgba(59, 130, 246, .8));--border-section-header: rgba(203, 213, 225, .8);--gradient-resource-highlight: linear-gradient(90deg, #3b82f6, #6366f1);--color-admin-link: #64748b;--brand-gradient: linear-gradient(120deg, #2563eb, #7c3aed);--border-theme-toggle: rgba(203, 213, 225, .8);--bg-theme-toggle-track: #f1f5f9;--shadow-theme-toggle-track: inset 0 0 0 1px #cbd5e1;--bg-theme-toggle-thumb: #ffffff;--shadow-theme-toggle-thumb: 0 1px 3px rgba(0, 0, 0, .1);--color-brand-subtitle: #6b7280;--color-dot-red: #ef4444;--color-dot-yellow: #eab308;--color-dot-green: #22c55e;--bg-stats-bar-hover: linear-gradient(to top, rgba(59, 130, 246, .7), rgba(59, 130, 246, 1));--bg-stats-table-head: #f8fafc;--bg-stats-table-odd: #ffffff;--bg-stats-table-even: #f1f5f9;--bg-stats-table-hover: rgba(191, 219, 254, .5);--color-stats-table-text: #374151;--color-stats-table-head: #1e293b;--color-stats-link: #2563eb;--btn-reset-border: rgba(100, 116, 139, .4);--btn-reset-color: #475569;--btn-reset-hover-bg: rgba(226, 232, 240, .5);--btn-reset-hover-color: #1e293b;--btn-reset-hover-shadow: 0 8px 20px rgba(148, 163, 184, .15), 0 0 0 1px rgba(148, 163, 184, .5);--gradient-error-code: linear-gradient(135deg, #6366f1, #8b5cf6, #ec4899);--shadow-error-code: 0 10px 30px rgba(99, 102, 241, .3);--bg-home-btn: linear-gradient(135deg, #4f46e5, #7c3aed);--bg-home-btn-hover: linear-gradient(135deg, #4338ca, #6d28d9);--shadow-home-btn: 0 4px 15px rgba(79, 70, 229, .4);--shadow-home-btn-hover: 0 8px 25px rgba(79, 70, 229, .5);--color-home-btn: #ffffff;--btn-primary-bg: #4f46e5;--btn-primary-text: #ffffff;--btn-primary-hover-bg: #4338ca;--color-error: #dc2626;--admin-link-color: #94a3b8;--admin-link-hover-color: #4f46e5;--color-admin-link: #475569;--color-brand-subtitle: #9ca3af;--border-theme-toggle: rgba(148, 163, 184, .7);--bg-theme-toggle-track: rgba(226, 232, 240, .96);--shadow-theme-toggle-track: inset 0 0 0 1px rgba(148, 163, 184, .6), 0 4px 10px rgba(148, 163, 184, .55);--bg-theme-toggle-thumb: #0f172a;--shadow-theme-toggle-thumb: 0 2px 4px rgba(15, 23, 42, .7), 0 0 0 1px rgba(30, 64, 175, .7);--bg-login-card: rgba(255, 255, 255, .9);--border-login-card: rgba(203, 213, 225, .8);--brand-gradient: linear-gradient(120deg, #1e293b, #4f46e5, #0ea5e9);--bg-hero-spotlight: rgba(37, 99, 235, .1);--shadow-hero-logo: rgba(37, 99, 235, .4);--bg-hero-gradient: radial-gradient(circle at 50% 50%, #ffffff 0%, #f1f5f9 100%);--border-hero: rgba(203, 213, 225, .8);--shadow-hero: 0 0 50px rgba(148, 163, 184, .2);--bg-hero-grid: linear-gradient(rgba(59, 130, 246, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(59, 130, 246, .05) 1px, transparent 1px);--bg-hero-spotlight: radial-gradient(600px circle at var(--mouse-x) var(--mouse-y), rgba(79, 70, 229, .08), transparent 40%);--color-hero-title: #0f172a;--shadow-hero-title: 0 0 10px rgba(59, 130, 246, .2);--color-hero-subtitle: #475569;--color-hero-desc: #64748b;--shadow-logo-card: 0 20px 50px rgba(148, 163, 184, .2);--btn-cyber-primary-bg: rgba(79, 70, 229, .1);--btn-cyber-primary-border: #4f46e5;--btn-cyber-primary-color: #4f46e5;--btn-cyber-primary-shadow: 0 0 10px rgba(79, 70, 229, .2);--btn-cyber-primary-hover-bg: #4f46e5;--btn-cyber-primary-hover-color: #ffffff;--btn-cyber-primary-hover-shadow: 0 0 20px rgba(79, 70, 229, .4);--btn-cyber-secondary-bg: transparent;--btn-cyber-secondary-border: #cbd5e1;--btn-cyber-secondary-color: #64748b;--btn-cyber-secondary-hover-border: #475569;--btn-cyber-secondary-hover-color: #1e293b;--bg-recommend-card: #ffffff;--border-recommend-card: #cbd5e1;--bg-terminal-header: #f8fafc;--border-terminal-header: #e2e8f0;--color-recommend-label: #1e293b;--bg-card-shine: linear-gradient(135deg, rgba(255,255,255,.8) 0%, transparent 100%);--border-section-header: rgba(203, 213, 225, .6);--color-hero-cursor: #4f46e5;--card-highlight-gradient: linear-gradient(90deg, #3b82f6, #8b5cf6);--card-glow-bg: radial-gradient(circle at top right, rgba(59, 130, 246, .1), transparent 70%);--btn-favorite-bg-hover: rgba(245, 158, 11, .15);--btn-favorite-color-hover: #d97706;--btn-favorite-border-hover: rgba(245, 158, 11, .4);--btn-favorite-active-color: #d97706;--gradient-resource-highlight: linear-gradient(90deg, #38bdf8, #818cf8);--gradient-about-hero: linear-gradient(120deg, #4f46e5, #0ea5e9, #22c55e);--color-about-hero-text: #020617;--bg-badge-warning: #f59e0b;--color-badge-warning-text: #000000;--color-status-warning: #d97706;--color-status-success: #059669;--bg-danger-hover: rgba(239, 68, 68, .1);--bg-home-nav-card: rgba(255, 255, 255, .5);--border-home-nav-card: rgba(203, 213, 225, .6);--bg-home-nav-card-hover: rgba(255, 255, 255, .9);--border-home-nav-card-hover: rgba(59, 130, 246, .5);--shadow-home-nav-card-hover: 0 10px 30px -10px rgba(59, 130, 246, .2);--bg-logo-card: rgba(255, 255, 255, .8);--border-logo-card: rgba(203, 213, 225, .8);--color-section-title: #1e293b;--color-card-title: #111827;--scrollbar-track: rgba(203, 213, 225, .3);--scrollbar-thumb: rgba(148, 163, 184, .5);--scrollbar-thumb-hover: rgba(100, 116, 139, .6);--input-focus-ring: 0 0 0 2px rgba(59, 130, 246, .3);--badge-visit-bg: rgba(14, 165, 233, .15);--badge-visit-color: #0284c7;--action-link-primary-bg: rgba(37, 99, 235, .1);--action-link-primary-color: #2563eb;--action-link-primary-bg-hover: rgba(37, 99, 235, .2);--action-link-secondary-bg: rgba(203, 213, 225, .3);--action-link-secondary-color: #475569;--action-link-secondary-bg-hover: rgba(203, 213, 225, .5);--action-link-secondary-color-hover: #1e293b;background:radial-gradient(circle at 0% 0%,#e5f0ff,#e5e7eb 32%,#f3f4f6),#eef2ff}body{margin:0;min-width:320px;min-height:100vh;color:inherit;background:transparent}a{font-weight:500;color:#6366f1;text-decoration:none}a:hover{color:#a855f7}.d-none{display:none!important}#app{min-height:100vh}.category-page{padding:32px 16px 48px;text-align:left}.category-layout{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:flex-start}.category-sidebar{position:sticky;top:80px;align-self:flex-start;padding:18px 16px 20px;border-radius:18px;background:var(--bg-category-sidebar);border:1px solid var(--border-category-sidebar);box-shadow:var(--shadow-category-sidebar)}.sidebar-title{margin:0;font-size:1.1rem;color:var(--color-heading)}.sidebar-subtitle{margin:6px 0 10px;font-size:.9rem;color:var(--color-muted)}.sidebar-nav{display:flex;flex-direction:column;gap:6px}.sidebar-nav a{display:block;padding:6px 10px;border-radius:999px;font-size:.9rem;color:var(--color-heading);text-decoration:none;position:relative;overflow:hidden;transition:background-color .14s ease-out,color .14s ease-out,transform .16s ease-out,box-shadow .18s ease-out}.sidebar-nav a:hover{background:var(--nav-hover-bg);color:var(--nav-hover-color);box-shadow:var(--nav-hover-shadow);transform:translateY(-1px)}.category-section{padding:24px 20px 28px;border-radius:20px;background:var(--bg-category-section);box-shadow:var(--shadow-card);color:var(--color-body);display:flex;flex-direction:column;gap:20px}.category-header{border-bottom:1px solid var(--border-category-header);padding-bottom:12px;margin-bottom:4px}.resource-filter-bar{margin:12px 0 4px;display:flex;justify-content:flex-end}.resource-filter-input{min-width:220px;padding:6px 10px;border-radius:999px;border:1px solid var(--input-border);font-size:.9rem;outline:none;background-color:var(--input-bg);color:var(--input-text);box-shadow:0 0 0 1px transparent;transition:border-color .14s ease-out,box-shadow .16s ease-out,background-color .14s ease-out}.resource-filter-input:focus{border-color:var(--input-focus-border);background-color:var(--input-bg);box-shadow:0 0 0 1px var(--input-focus-border),var(--shadow-input-focus)}.category-title{margin:0;font-size:1.8rem;color:var(--color-category-title)}.category-subtitle{margin:6px 0 0;font-size:.98rem;color:var(--color-category-subtitle)}.sub-section{margin-top:8px;padding:16px 16px 14px;border-radius:14px;background:var(--bg-sub-section);border:1px solid var(--border-color);scroll-margin-top:96px}.sub-section h3{margin:0 0 8px;font-size:1.06rem;color:var(--color-heading)}.sub-section h4{margin:8px 0 4px;font-size:.96rem;color:var(--color-accent-soft)}.resource-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.resource-item{padding:10px 12px;border-radius:12px;background-color:var(--bg-resource-item);border:1px solid var(--border-color);box-shadow:var(--shadow-card);transition:transform .16s ease-out,box-shadow .2s ease-out,border-color .16s ease-out,background-color .16s ease-out}.resource-item:hover{transform:translateY(-2px);background-color:var(--bg-resource-item-hover);border-color:var(--border-resource-item-hover);box-shadow:var(--shadow-card-hover)}.resource-main a{color:var(--color-resource-link);text-decoration:none;font-size:.95rem;font-weight:500}.resource-main a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.resource-meta{margin:4px 0 0;font-size:.85rem;color:var(--color-resource-meta)}.resource-title-main{font-size:.96rem;color:var(--color-heading);font-weight:500}.resource-actions{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.resource-link{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:.86rem;text-decoration:none;border:1px solid transparent;position:relative;overflow:hidden;transition:transform .16s ease-out,box-shadow .18s ease-out,border-color .16s ease-out,background-color .16s ease-out}.resource-link.primary{background:var(--resource-link-primary-bg);color:var(--resource-link-primary-color);border-color:var(--resource-link-primary-border)}.resource-link.secondary{background:var(--bg-resource-link-secondary);color:var(--color-resource-link-secondary);border-color:var(--border-color)}.resource-link:hover{transform:translateY(-1px);box-shadow:var(--resource-link-hover-shadow)}.tag-filter-bar{margin:8px 0;display:flex;flex-wrap:wrap;gap:6px}.tag-chip{padding:4px 8px;border-radius:999px;border:1px solid var(--tag-border);background-color:var(--tag-bg);color:var(--tag-text);font-size:.78rem;cursor:pointer;transition:background-color .16s ease-out,border-color .16s ease-out,transform .16s ease-out}.tag-chip.active{background:var(--tag-chip-active-bg);border-color:var(--tag-chip-active-border);color:var(--tag-chip-active-color)}.tag-chip.clear{background-color:transparent;border-style:dashed}.tag-chip:hover{transform:translateY(-1px)}.favorite-toggle{margin-top:8px;padding:4px 8px;border-radius:999px;border:1px solid var(--btn-icon-border);background-color:var(--btn-icon-bg);color:var(--btn-icon-text);font-size:.8rem;cursor:pointer;transition:background-color .16s ease-out,border-color .16s ease-out,transform .16s ease-out}.favorite-toggle:hover{background-color:var(--bg-favorite-toggle-hover);border-color:var(--border-color-hover);transform:translateY(-1px)}@media(max-width:768px){.category-page{padding:20px 12px 32px}.category-layout{grid-template-columns:minmax(0,1fr);gap:16px}.category-sidebar{position:static}.category-section{padding:16px 14px 20px}.resource-filter-bar{justify-content:stretch}.resource-filter-input{width:100%;min-width:0}}.small-tip{margin:4px 0 0;font-size:.86rem;color:var(--color-muted)}@media(max-width:768px){.category-layout{grid-template-columns:minmax(0,1fr)}.resource-filter-bar{justify-content:stretch}.category-sidebar{position:static}}
