:root{--color-contrast: #0a0a0a;--color-background: #ffffff;--color-background-50: #fafafa;--color-background-100: #f5f5f5;--color-background-200: #ebebeb;--color-background-300: #d6d6d6;--color-border: rgba(0, 0, 0, .08);--color-border-strong: rgba(0, 0, 0, .15);--color-overlay: rgba(0, 0, 0, .6);--color-foreground: #3d3d3d;--color-secondary: #6b6b6b;--color-mute: #a3a3a3;--color-success: #16a34a;--color-success-light: rgba(22, 163, 74, .1);--color-error: #dc2626;--color-error-light: rgba(220, 38, 38, .1);--color-warning: #f59e0b;--color-warning-light: rgba(245, 158, 11, .1);--color-info: #3b82f6;--color-info-light: rgba(59, 130, 246, .1);--color-white: #fff;--color-black: #000;--ghost-accent-color: #7c3aed;--accent-light: rgba(124, 58, 237, .08);--accent-medium: rgba(124, 58, 237, .15);--accent-gradient: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);--accent-gradient-soft: linear-gradient(135deg, rgba(124, 58, 237, .1) 0%, rgba(168, 85, 247, .05) 100%);--color-accent-foreground: #fff;--font-family-headings: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-body: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "Geist Mono", "SF Mono", "Fira Code", monospace;--font-xs: .75rem;--font-sm: .8125rem;--font-base: .875rem;--font-md: .9375rem;--font-lg: 1rem;--font-xl: 1.125rem;--font-2xl: 1.25rem;--font-3xl: 1.5rem;--font-4xl: 2rem;--font-5xl: 2.5rem;--font-x-small: var(--font-xs);--font-small: var(--font-sm);--font-large: var(--font-lg);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.7;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--spacing-1: 2px;--spacing-2: 4px;--spacing-3: 6px;--spacing-4: 8px;--spacing-5: 10px;--spacing-6: 12px;--spacing-7: 16px;--spacing-8: 20px;--spacing-9: 28px;--spacing-10: 40px;--spacing-11: 56px;--vertical-rhythm: 1.5rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--radius-1: 6px;--radius-2: 8px;--radius-3: 10px;--radius-4: 14px;--radius-5: 16px;--radius-6: 20px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 8px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .06), 0 4px 8px rgba(0, 0, 0, .04);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .08), 0 8px 16px rgba(0, 0, 0, .04);--shadow-2xl: 0 24px 64px rgba(0, 0, 0, .12), 0 12px 24px rgba(0, 0, 0, .06);--shadow-accent: 0 4px 14px rgba(124, 58, 237, .25);--shadow-accent-lg: 0 8px 24px rgba(124, 58, 237, .3);--shadow-inner: inset 0 1px 2px rgba(0, 0, 0, .06);--transition-fast: .1s ease;--transition-base: .15s ease;--transition-smooth: .2s ease;--transition-slow: .3s ease;--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--layout--padding: clamp(16px, 4vw, 32px);--layout--gap: clamp(48px, 8vw, 80px);--navbar--height: 64px;--navbar--min-height: 64px;--container-max: 1200px;--container-wide: 1400px;--container--width: 700px;--container-wide--width: 1100px;--button--padding-v: var(--spacing-4);--button--padding-h: var(--spacing-8);--button--min-height: 2.5rem;--button--font-size: var(--font-small);--button--font-weight: var(--font-weight-semibold);--button--line-height: 1.5;--button--border-radius: calc(var(--button--min-height) * .5);--button--color: var(--color-accent-foreground);--button--background-color: var(--ghost-accent-color);--button--transition: clip-path .2s ease, background-color .15s ease, border-color .15s ease, color .15s ease, opacity .15s ease;--button-hover--color: var(--color-background);--button-hover--background-color: var(--color-contrast);--shadow: 0 20px 60px -10px hsla(0, 4%, 68%, .24), 0 4px 20px -8px rgba(0, 0, 0, .24);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--dropdown--background-color: var(--color-background);--dropdown--padding-v: var(--spacing-2);--dropdown--padding-h: var(--spacing-2);--dropdown--offset: var(--spacing-5);--dropdown--border-radius: var(--radius-4);color-scheme:light}:root[data-color-scheme=dark]{--ghost-accent-color: #784be1;--color-accent-foreground: #fff;--color-contrast: #fff;--color-background: #0f0f0f;--color-background-100: #212121;--color-background-200: #282828;--color-background-300: #3f3f3f;--color-foreground: #aaa;--color-secondary: grey;--color-mute: #666;--color-border: hsla(0, 0%, 60%, .3);--dropdown--background-color: #1a1a1a;--shadow: 0 20px 60px -10px rgba(0, 0, 0, .7), 0 4px 20px -8px rgba(0, 0, 0, .7);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);color-scheme:dark}@media(prefers-color-scheme:dark){:root[data-color-scheme=system]{--ghost-accent-color: #784be1;--color-accent-foreground: #fff;--color-contrast: #fff;--color-background: #0f0f0f;--color-background-100: #212121;--color-background-200: #282828;--color-background-300: #3f3f3f;--color-foreground: #aaa;--color-secondary: grey;--color-mute: #666;--color-border: hsla(0, 0%, 60%, .3);--dropdown--background-color: #1a1a1a;--shadow: 0 20px 60px -10px rgba(0, 0, 0, .7), 0 4px 20px -8px rgba(0, 0, 0, .7);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);color-scheme:dark}}*,*:after,*:before{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{font-family:var(--font-family-body);font-size:1rem;line-height:1.6;color:var(--color-foreground);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-headings);color:var(--color-contrast);font-weight:var(--font-weight-semibold);line-height:1.3;margin:0}h1{font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.25rem}h4{font-size:1.125rem}p{margin:0}a{color:var(--color-contrast);text-decoration:none;transition:color .15s ease}a:hover{color:var(--ghost-accent-color)}img{display:block;max-width:100%;height:auto}.container{max-width:var(--container-wide--width);margin:0 auto;padding:0 var(--layout--padding)}.header{background:#ffffffd9;border-bottom:1px solid var(--color-border);position:fixed;top:0;left:0;right:0;z-index:var(--z-fixed);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}@media(prefers-color-scheme:dark){.header{background:#111111d9}}body{padding-top:var(--navbar--height)}.nav{display:flex;align-items:center;justify-content:space-between;height:var(--navbar--height);gap:var(--space-8)}.logo{display:flex;align-items:center;gap:10px}.logo-img{height:32px;width:auto;max-width:160px;object-fit:contain;font-family:var(--font-family-headings);font-weight:var(--font-weight-bold);font-size:var(--font-large);color:var(--color-contrast)}.logo:hover{color:var(--color-contrast)}.logo-icon{color:var(--ghost-accent-color)}.nav-links{display:flex;gap:var(--spacing-3)}.nav-links a{padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-2);font-size:var(--font-small);font-weight:var(--font-weight-medium);color:var(--color-secondary);transition:background-color .15s,color .15s}.nav-links a:hover{background:var(--color-background-200);color:var(--color-contrast)}.header-actions{display:flex;align-items:center;gap:6px}.header-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-background-100);border:none;border-radius:50%;cursor:pointer;color:var(--color-contrast);transition:all .2s ease}.header-btn:hover{background:var(--color-background-200)}.header-btn i{font-size:18px;font-weight:700}.header-btn.burger-btn{display:none}@media(max-width:768px){.header-btn.burger-btn{display:flex}}.search-modal{position:fixed;inset:0;z-index:10000;display:flex;justify-content:center;align-items:flex-start;padding-top:15vh;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.search-modal.active{opacity:1;visibility:visible}.search-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(4px)}.search-dialog{position:relative;width:100%;max-width:640px;margin:0 16px;background:var(--color-background);border-radius:16px;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;transform:translateY(-20px) scale(.95);transition:transform .2s ease}.search-modal.active .search-dialog{transform:translateY(0) scale(1)}.search-header{padding:16px;border-bottom:1px solid var(--color-border)}.search-input-wrapper{display:flex;align-items:center;gap:12px;background:var(--color-background-100);border-radius:12px;padding:0 16px}.search-input-icon{font-size:20px;color:var(--color-mute);flex-shrink:0}.search-input{flex:1;border:none;background:transparent;font-size:16px;font-family:inherit;color:var(--color-contrast);padding:14px 0;outline:none!important;box-shadow:none!important}.search-input:focus{outline:none!important;border:none!important;box-shadow:none!important}.search-input::placeholder{color:var(--color-mute)}.search-popular{padding:16px}.search-popular-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--color-mute);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.search-popular-header i{font-size:14px;color:#f59e0b}.search-popular-list{display:flex;flex-direction:column;gap:4px}.search-popular-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;font-size:14px;font-weight:500;color:var(--color-contrast);text-decoration:none;transition:all .15s}.search-popular-item:hover{background:var(--color-background-100);color:var(--ghost-accent-color)}.search-popular-item:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ghost-accent-color);opacity:.5}.search-esc{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;background:var(--color-background);border:1px solid var(--color-border);border-radius:6px;font-size:11px;font-family:system-ui;color:var(--color-mute);flex-shrink:0}.search-body{max-height:400px;overflow-y:auto}.search-empty{display:block}.search-no-results{display:none;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--color-mute)}.search-no-results i{font-size:48px;margin-bottom:16px;opacity:.5}.search-no-results p{font-size:15px;margin-bottom:4px}.search-no-results span{font-size:13px;opacity:.7}.search-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--color-mute);gap:12px}.search-loading i{font-size:24px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-results{padding:8px}.search-result-group{margin-bottom:8px}.search-result-group-title{padding:8px 12px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-mute)}.search-result-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;cursor:pointer;transition:background .15s;text-decoration:none;color:inherit}.search-result-item:hover,.search-result-item.active{background:var(--color-background-100)}.search-result-item.active{background:var(--color-background-200)}.search-result-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;background:var(--color-background-100)}.search-result-icon img{width:100%;height:100%;object-fit:cover}.search-result-icon .fallback{font-size:16px;font-weight:600;color:var(--color-contrast)}.search-result-info{flex:1;min-width:0}.search-result-name{font-size:14px;font-weight:500;color:var(--color-contrast);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-desc{font-size:12px;color:var(--color-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-arrow{font-size:16px;color:var(--color-mute);opacity:0;transition:opacity .15s,transform .15s}.search-result-item:hover .search-result-arrow,.search-result-item.active .search-result-arrow{opacity:1;transform:translate(2px)}.search-footer{padding:12px 16px;border-top:1px solid var(--color-border);background:var(--color-background-100)}.search-hints{display:flex;gap:16px;justify-content:center}.search-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-mute)}.search-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:2px 5px;background:var(--color-background);border:1px solid var(--color-border);border-radius:4px;font-size:10px;font-family:system-ui}@media(max-width:768px){.search-modal{padding-top:0!important;align-items:stretch!important}.search-backdrop{display:none}.search-dialog{max-width:100%!important;width:100%!important;height:100%!important;margin:0!important;border-radius:0!important;display:flex;flex-direction:column;transform:none!important}.search-modal.active .search-dialog{transform:none!important}.search-header{padding:16px;padding-top:max(16px,env(safe-area-inset-top))}.search-body{flex:1;max-height:none;overflow-y:auto}.search-footer{display:none!important}.search-result-item{padding:14px 16px}}.mobile-menu{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;background-color:#fff!important;background-image:none!important;backdrop-filter:none!important;z-index:9999!important;display:flex!important;flex-direction:column!important;opacity:0;visibility:hidden;transform:translate(100%);transition:transform .3s ease,opacity .3s ease,visibility .3s ease}:root[data-color-scheme=dark] .mobile-menu{background-color:#0f0f0f!important}@media(prefers-color-scheme:dark){:root[data-color-scheme=system] .mobile-menu{background-color:#0f0f0f!important}}.mobile-menu.active{opacity:1;visibility:visible;transform:translate(0)}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-7) var(--layout--padding);border-bottom:1px solid var(--color-border)}.close-menu-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-background-100);border:none;border-radius:50%;cursor:pointer;color:var(--color-contrast);transition:background .15s}.close-menu-btn i{font-size:18px;font-weight:700}.close-menu-btn:hover{background:var(--color-background-200)}.mobile-menu-links{flex:1;display:flex;flex-direction:column;padding:var(--spacing-8) var(--layout--padding);gap:var(--spacing-3)}.mobile-menu-links a{display:flex;align-items:center;gap:var(--spacing-6);padding:var(--spacing-7);font-size:var(--font-large);font-weight:var(--font-weight-medium);color:var(--color-contrast);border-radius:var(--radius-3);transition:background .15s}.mobile-menu-links a:hover{background:var(--color-background-100)}.mobile-menu-links a i{font-size:22px;color:var(--ghost-accent-color)}.mobile-menu-footer{padding:var(--spacing-9) var(--layout--padding);border-top:1px solid var(--color-border);text-align:center}.made-by-link{font-size:var(--font-small);color:var(--color-secondary);text-decoration:none;transition:color .15s}.made-by-link:hover{color:var(--ghost-accent-color)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;min-height:40px;font-family:var(--font-family-body);font-size:14px;font-weight:500;line-height:1;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn i{font-size:16px}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-sm),var(--shadow-accent)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md),var(--shadow-accent-lg)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--color-background-100);color:var(--color-contrast);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-background-200);transform:translateY(-1px)}.btn-outline{background:transparent;border:1px solid var(--color-border-strong);color:var(--color-contrast)}.btn-outline:hover:not(:disabled){background:var(--color-background-100);border-color:var(--color-contrast)}.btn-ghost{background:transparent;color:var(--color-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-background-100);color:var(--color-contrast)}.btn-sm{padding:6px 12px;min-height:32px;font-size:13px;border-radius:var(--radius-md)}.btn-lg{padding:14px 28px;min-height:48px;font-size:15px;border-radius:var(--radius-xl)}.btn-icon{padding:0;width:40px;min-height:40px;border-radius:var(--radius-full)}.btn-icon.btn-sm{width:32px;min-height:32px}.card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:all var(--transition-smooth);box-shadow:var(--shadow-sm)}.card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-accent{border-color:var(--ghost-accent-color);background:var(--accent-gradient-soft)}.card:hover{border-color:var(--color-background-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-static{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-5);padding:var(--spacing-9)}.tool-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ghost-accent-color),#0ea5e9);border-radius:var(--radius-3);font-weight:var(--font-weight-semibold);font-size:var(--font-large);color:#fff;flex-shrink:0}.tool-logo{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-3);flex-shrink:0}.tool-logo-large{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-4);flex-shrink:0}.tool-icon-large{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ghost-accent-color),#0ea5e9);border-radius:var(--radius-4);font-weight:var(--font-weight-bold);font-size:2rem;color:#fff;flex-shrink:0}.tag{display:inline-flex;align-items:center;padding:var(--spacing-2) var(--spacing-5);font-size:var(--font-x-small);font-weight:var(--font-weight-medium);background:var(--color-background-100);color:var(--color-secondary);border-radius:var(--radius-1);transition:background-color .15s,color .15s}.tag:hover{background:var(--color-background-200);color:var(--color-contrast)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-4);font-size:var(--font-x-small);font-weight:var(--font-weight-semibold);background:var(--ghost-accent-color);color:#fff;border-radius:var(--button--border-radius)}.footer{margin-top:var(--space-20);padding:var(--space-12) 0 var(--space-8);background:var(--color-background-50);border-top:1px solid var(--color-border)}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-10)}.footer-desc{margin-top:var(--space-3);font-size:13px;color:var(--color-mute);max-width:300px;line-height:1.6}.footer-links{display:flex;gap:var(--spacing-9)}.footer-links a{font-size:var(--font-small);color:var(--color-secondary);transition:color .15s}.footer-links a:hover{color:var(--color-contrast)}.footer-bottom{margin-top:var(--spacing-9);padding-top:var(--spacing-8);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-6)}.footer-bottom p{font-size:var(--font-small);color:var(--color-mute)}.made-by{font-size:var(--font-small);color:var(--color-secondary);text-decoration:none;transition:color .15s}.made-by:hover{color:var(--ghost-accent-color)}input,textarea,select{font-family:var(--font-family-body);font-size:1rem;padding:var(--spacing-5) var(--spacing-6);border:1px solid var(--color-border);border-radius:var(--radius-2);background:var(--color-background);color:var(--color-contrast);transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ghost-accent-color);box-shadow:0 0 0 3px #784be126}input::placeholder,textarea::placeholder{color:var(--color-mute)}.text-contrast{color:var(--color-contrast)}.text-foreground{color:var(--color-foreground)}.text-secondary{color:var(--color-secondary)}.text-mute{color:var(--color-mute)}.text-accent{color:var(--ghost-accent-color)}.bg-background{background:var(--color-background)}.bg-background-100{background:var(--color-background-100)}.bg-background-200{background:var(--color-background-200)}.font-light{font-weight:var(--font-weight-light)}.font-regular{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}@media(max-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}.nav-links{display:none!important}.header-btn.burger-btn{display:flex!important}.footer-content{flex-direction:column;gap:var(--spacing-8)}.footer-links{gap:var(--spacing-7)}.footer-bottom{flex-direction:column;text-align:center}}@media(max-width:440px){h1{font-size:1.75rem}.container{padding:0 var(--spacing-7)}}html,body{max-width:100vw}
