.category-nav{position:relative}.category-nav-trigger{color:var(--color-text-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-small);transition:border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;align-items:center;gap:4px;padding:7px 12px;font-size:13px;font-weight:500;display:flex}.category-nav-trigger:hover{border-color:var(--color-primary);color:var(--color-primary)}.category-nav-dropdown{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-small);min-width:150px;box-shadow:var(--shadow-lg);z-index:200;max-height:400px;padding:4px 0;animation:.12s ease-out catnav-in;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto}@keyframes catnav-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.category-nav-item{color:var(--color-text);transition:background var(--duration-fast) var(--ease-out);padding:7px 14px;font-size:13px;display:block}.category-nav-item:hover{background:var(--color-bg-hover);color:var(--color-primary)}.app-header{background:var(--color-bg-card);border-bottom:1px solid var(--color-border-light);z-index:100;position:sticky;top:0}.header-inner{align-items:center;gap:20px;height:56px;display:flex}.header-logo{font-size:17px;font-weight:var(--font-weight-bold);font-family:var(--font-display);color:var(--color-text);white-space:nowrap;transition:color var(--duration-fast) var(--ease-out);align-items:center;gap:8px;display:flex}.header-logo:hover{color:var(--color-primary)}.logo-icon{color:var(--color-primary);align-items:center;display:flex}.header-search-wrapper{flex:1;max-width:440px;position:relative}.header-search{border:1px solid var(--color-border);border-radius:var(--radius-small);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);background:var(--color-bg);display:flex;overflow:hidden}.header-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-ring);background:var(--color-bg-card)}.search-dropdown{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-small);box-shadow:var(--shadow-lg);z-index:200;animation:.12s ease-out dropdown-in;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.search-dropdown-item{cursor:pointer;transition:background var(--duration-fast) var(--ease-out);flex-direction:column;gap:2px;padding:9px 12px;display:flex}.search-dropdown-item:hover{background:var(--color-bg-hover)}.search-dropdown-name{font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-text);line-height:1.4}.search-dropdown-desc{color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.3;overflow:hidden}.search-dropdown-more{border-top:1px solid var(--color-border-light);color:var(--color-primary);font-size:12px;font-weight:var(--font-weight-medium);padding:8px 12px}.search-dropdown-more:hover{background:var(--color-bg-hover)}.search-input{height:36px;color:var(--color-text);background:0 0;border:none;flex:1;padding:0 12px;font-size:14px}.search-input::placeholder{color:var(--color-text-tertiary)}.search-btn{background:var(--color-primary);color:#fff;font-size:13px;font-weight:var(--font-weight-medium);transition:background var(--duration-fast) var(--ease-out);padding:0 16px}.search-btn:hover{background:var(--color-primary-dark)}@media (width<=768px){.header-inner{flex-wrap:wrap;gap:10px;height:auto;padding:10px 16px}.header-search-wrapper{order:3;width:100%;max-width:100%}}@media (width<=480px){.header-inner{gap:8px;padding:8px 12px}.header-logo{font-size:15px}.logo-icon{color:var(--color-primary)}.logo-text{display:none}.search-input{height:34px;padding:0 10px;font-size:13px}.search-btn{padding:0 12px;font-size:12px}}@media (width>=1201px){.header-inner{gap:24px;height:60px}.header-search-wrapper{max-width:500px}.search-input{height:38px}}.app-footer{background:var(--color-bg-subtle);color:var(--color-text-secondary);border-top:1px solid var(--color-border-light);margin-top:48px;padding:32px 0}.footer-inner{text-align:center}.footer-text{color:var(--color-text-secondary);margin:4px 0;font-size:13px}.footer-sub{color:var(--color-text-tertiary);font-size:12px}.pwa-install-banner{z-index:9999;border-top:1px solid var(--color-border-light);animation:pwa-slide-up .35s var(--ease-out) both;background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}@keyframes pwa-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.pwa-install-banner__content{align-items:center;gap:12px;min-width:0;display:flex}.pwa-install-banner__icon{background:linear-gradient(135deg, var(--color-primary), var(--color-accent));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.pwa-install-banner__text{flex-direction:column;gap:2px;min-width:0;display:flex}.pwa-install-banner__text strong{color:var(--color-text);font-size:14px;font-weight:600}.pwa-install-banner__text span{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.pwa-install-banner__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.pwa-install-banner__btn{border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s}.pwa-install-banner__btn--primary{background:var(--color-primary);color:#fff}.pwa-install-banner__btn--primary:hover{background:var(--color-primary-dark);color:#fff}.pwa-install-banner__btn--ghost{color:var(--color-text-tertiary);padding:8px}.pwa-install-banner__btn--ghost:hover{background:var(--color-border-light);color:var(--color-text-secondary)}@media (width<=480px){.pwa-install-banner{gap:10px;padding:12px 14px}.pwa-install-banner__text span{display:none}}.pwa-offline-banner{z-index:10000;color:#fff;animation:pwa-slide-down .3s var(--ease-out) both;background:linear-gradient(135deg,#ef4444,#dc2626);justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;display:flex;position:fixed;top:0;left:0;right:0}@keyframes pwa-slide-down{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.pwa-offline-banner__retry{color:#fff;background:#fff3;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;margin-left:4px;transition:background .15s;display:inline-flex}.pwa-offline-banner__retry:hover{background:#ffffff59}.pwa-update-banner{z-index:10000;background:linear-gradient(135deg, var(--color-primary), var(--color-accent));color:#fff;animation:pwa-slide-down .3s var(--ease-out) both;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-size:13px;font-weight:500;display:flex;position:fixed;top:0;left:0;right:0}.pwa-update-banner__btn{color:var(--color-primary-dark);background:#fffffff2;border-radius:7px;padding:5px 14px;font-size:12px;font-weight:700;transition:background .15s}.pwa-update-banner__btn:hover{background:#fff}.pwa-update-banner__close{color:#ffffffbf;padding:4px;transition:color .15s}.pwa-update-banner__close:hover{color:#fff}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1;padding:28px 0 52px}.tool-card{background:var(--color-bg-card);border-radius:var(--radius-card);border:1px solid var(--color-border-light);transition:border-color var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out);color:var(--color-text);flex-direction:column;padding:16px;display:flex;position:relative}.tool-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-card-hover);color:var(--color-text)}.tool-card-icon{background:var(--color-primary-light);width:40px;height:40px;color:var(--color-primary);border-radius:2px;justify-content:center;align-items:center;margin-bottom:12px;font-size:20px;line-height:1;display:flex}.tool-card-title{font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 4px}.tool-card-desc{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0 0 12px;font-size:12.5px;line-height:1.6;display:-webkit-box;overflow:hidden}.tool-card-tag{color:var(--color-text-secondary);border-left:2px solid var(--color-primary);font-size:11px;font-weight:var(--font-weight-medium);background:0 0;border-radius:0;align-self:flex-start;padding:2px 8px}.home-page{flex-direction:column;gap:40px;display:flex}.home-hero{border-radius:var(--radius-card);background:var(--color-primary);color:#fff;padding:56px 48px;position:relative}[data-theme=dark] .home-hero{background:#1a2a3a}[data-theme=dark-pro] .home-hero{background:#0c1a2e}[data-theme=glassmorphism] .home-hero{background:#ffffff0f;border:1px solid #ffffff1a}[data-theme=colorful] .home-hero{background:#1a1028}.home-hero-content{max-width:560px;position:relative}.home-hero-settings{z-index:2;position:absolute;top:16px;right:16px}.home-hero-settings .tool-settings-trigger{color:#ffffffb3;background:#ffffff1a;border-color:#fff3}.home-hero-settings .tool-settings-trigger:hover{color:#fff;background:#ffffff2e;border-color:#ffffff59}@media (width<=600px){.home-hero-settings .tool-settings-bar{display:flex}.home-hero-settings{top:12px;right:12px}}.home-hero-settings .tool-settings-dropdown{background:#1a2a3a;border-color:#ffffff1f;box-shadow:0 4px 16px #0000004d}.home-hero-settings .tool-settings-option{color:#ffffffbf}.home-hero-settings .tool-settings-option:hover{color:#fff;background:#ffffff1a}.home-hero-settings .tool-settings-option.active{color:#fff;background:#ffffff1f}.home-hero-title{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;margin:0 0 12px;font-size:36px;font-weight:700;line-height:1.15}.home-hero-subtitle{color:#fff9;max-width:440px;margin:0 0 32px;font-size:15px;line-height:1.7}.home-hero-stats{align-items:stretch;gap:0;display:flex}.home-hero-stat{flex-direction:column;padding:0 24px;display:flex}.home-hero-stat:first-child{padding-left:0}.home-hero-stat-value{font-family:var(--font-mono);color:#fff;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1}.home-hero-stat-plus{color:#ffffff80;margin-left:1px;font-size:16px;font-weight:600}.home-hero-stat-pct{color:#fff6;font-size:16px;font-weight:600}.home-hero-stat-label{color:#ffffff73;margin-top:6px;font-size:12px}.home-hero-stat-divider{background:#ffffff26;flex-shrink:0;align-self:stretch;width:1px;margin:2px 0}.home-section{flex-direction:column;gap:14px;display:flex}.category-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.category-card{background:var(--color-bg-card);border-radius:var(--radius-card);border:1px solid var(--color-border-light);transition:border-color var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out);color:var(--color-text);align-items:center;gap:12px;padding:14px 16px;display:flex}.category-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-card-hover);color:var(--color-text)}.category-card-marker{background:var(--cat-bg,var(--color-primary-light));width:36px;height:36px;color:var(--cat-color,var(--color-primary));border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;line-height:1;display:flex}.category-card-body{flex:1;min-width:0}.category-card-name{font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 2px;line-height:1.3}.category-card-desc{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.category-card-arrow{color:var(--color-text-tertiary);transition:color var(--duration-fast) var(--ease-out);flex-shrink:0;font-size:13px}.category-card:hover .category-card-arrow{color:var(--color-primary)}.category-card[data-class="1"]{--cat-color:#1e3a5f;--cat-bg:#edf2f7}.category-card[data-class="2"]{--cat-color:#0c5a6e;--cat-bg:#ecfeff}.category-card[data-class="3"]{--cat-color:#9f1239;--cat-bg:#fff1f2}.category-card[data-class="4"]{--cat-color:#1e3a5f;--cat-bg:#edf2f7}.category-card[data-class="5"]{--cat-color:#92600a;--cat-bg:#fdf8ef}.category-card[data-class="6"]{--cat-color:#166534;--cat-bg:#f0fdf4}.category-card[data-class="7"]{--cat-color:#854d0e;--cat-bg:#fefce8}.category-card[data-class="8"]{--cat-color:#166534;--cat-bg:#f0fdf4}.category-card[data-class="9"]{--cat-color:#9d174d;--cat-bg:#fdf2f8}.category-card[data-class="10"]{--cat-color:#44403c;--cat-bg:#f5f5f4}.category-card[data-class="11"]{--cat-color:#1e3a5f;--cat-bg:#edf2f7}@media (width<=768px){.home-hero{padding:40px 24px}.home-hero-title{font-size:28px}.home-hero-subtitle{margin-bottom:28px;font-size:14px}.home-hero-stat-value{font-size:24px}.home-hero-stat{padding:0 16px}.category-grid{grid-template-columns:1fr}}@media (width<=480px){.home-hero{padding:32px 20px}.home-hero-title{font-size:24px}.home-hero-stats{flex-wrap:wrap;gap:12px 0}.home-hero-stat{padding:0 14px}.home-hero-stat-value{font-size:22px}.home-hero-stat-divider{display:none}.home-page{gap:32px}}@media (prefers-reduced-motion:reduce){.category-card{transition:none}}.category-page{flex-direction:column;display:flex}.category-header{background:var(--color-bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);border:1px solid var(--color-border-light);margin-bottom:24px;padding:28px}.category-title{color:var(--color-text);margin:0 0 8px;font-size:24px;font-weight:700}.category-desc{color:var(--color-text-secondary);margin:0 0 8px;font-size:14px;line-height:1.6}.category-meta{color:var(--color-text-tertiary);font-size:13px}.back-home{color:var(--color-primary);margin-top:12px;font-size:14px;display:inline-block}.cat-tag-row{background:var(--color-bg-card);border-radius:var(--radius-card);border:1px solid var(--color-border-light);box-shadow:var(--shadow-card);flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:16px 20px;display:flex}.cat-tag{cursor:pointer;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:6px;padding:7px 14px;font-size:13.5px;font-weight:500;transition:all .18s;display:inline-flex}.cat-tag:hover{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, transparent)}.cat-tag--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 2px 8px color-mix(in srgb, var(--color-primary) 35%, transparent)}.cat-tag--active:hover{background:var(--color-primary);color:#fff;opacity:.9}.cat-tag-count{background:color-mix(in srgb, currentColor 15%, transparent);border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11.5px;font-weight:600;line-height:18px;display:inline-flex}.cat-tag--active .cat-tag-count{background:#ffffff40}.tool-detail{flex-direction:column;gap:24px;display:flex}.tool-breadcrumb{color:var(--color-text-secondary,#666);align-items:center;gap:6px;padding:0;font-size:13px;display:flex}.breadcrumb-link{color:var(--color-text-secondary,#666);align-items:center;gap:4px;transition:color .15s;display:inline-flex}.breadcrumb-link:hover{color:var(--color-primary)}.breadcrumb-sep{color:var(--color-text-tertiary,#a09daa);flex-shrink:0;font-size:12px}.breadcrumb-current{color:var(--color-text,#2d2a32);font-weight:500}.tool-detail-main{background:var(--color-bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:24px}.tool-detail-related{flex-direction:column;display:flex}.tool-detail-back{text-align:center;padding:16px 0}.back-home{color:var(--color-primary);font-size:14px}.back-home:hover{text-decoration:underline}.tool-loading{color:var(--color-text-secondary,#666);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 20px;display:flex}.tool-loading-spinner{border:3px solid #00000014;border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite tool-spin}@keyframes tool-spin{to{transform:rotate(360deg)}}.search-page{flex-direction:column;display:flex}.search-header{background:var(--color-bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);border:1px solid var(--color-border-light);margin-bottom:24px;padding:24px}.search-title{color:var(--color-text);align-items:center;gap:8px;margin:0 0 8px;font-size:20px;font-weight:600;display:flex}.search-meta{color:var(--color-text-secondary);margin:0;font-size:14px}.not-found{background:var(--color-bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);text-align:center;border:1px solid var(--color-border-light);padding:80px 24px}.not-found-code{color:var(--color-primary);opacity:.85;font-size:96px;font-weight:700;line-height:1}.not-found-title{color:var(--color-text);margin:16px 0 8px;font-size:24px}.not-found-desc{color:var(--color-text-secondary);margin:0 0 24px;font-size:14px}.not-found-home{background:var(--color-primary);color:#fff;border-radius:var(--radius-pill);font-size:14px;font-weight:var(--font-weight-medium);transition:background .2s, transform .2s var(--ease-out);align-items:center;gap:6px;padding:10px 28px;display:inline-flex}.not-found-home:hover{background:var(--color-primary-dark);color:#fff;transform:translateY(-1px)}.tool-container{background:var(--color-bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:24px;padding:24px}.tool-container-header{border-bottom:1px solid var(--color-border-light);margin-bottom:16px;padding-bottom:12px}.tool-container-title{font-size:20px;font-family:var(--font-display);color:var(--color-text);margin:0 0 4px}.tool-container-desc{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.6}.tool-container-body{flex-wrap:wrap;align-items:stretch;gap:20px;display:flex}.tool-container-main{flex:480px;min-width:0}.tool-container-side{flex:0 0 320px}.tool-container-side .tool-side{flex-direction:column;gap:12px;display:flex}.form-field{margin-bottom:14px}.form-label{font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:6px;display:block}.form-input,.form-textarea,.form-select{border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-bg-card);width:100%;color:var(--color-text);font-size:14px;font-family:var(--font-mono);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);padding:10px 14px;line-height:1.5}.form-input:hover,.form-textarea:hover,.form-select:hover{border-color:var(--color-primary)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-ring);outline:none}.form-textarea{resize:vertical;min-height:120px}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2357534e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-checkbox{cursor:pointer;color:var(--color-text-secondary);align-items:center;gap:6px;margin-right:16px;font-size:13px;display:inline-flex}.form-checkbox input{cursor:pointer;width:16px;height:16px;accent-color:var(--color-primary)}.form-row{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.form-row>*{flex:140px}.tool-buttons{flex-wrap:wrap;gap:10px;display:flex}.btn{font-size:13px;font-weight:var(--font-weight-medium);border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text);border-radius:var(--radius-small);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:9px 18px;display:inline-flex}.btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-dark);color:#fff;border-color:var(--color-primary-dark)}.btn-small{padding:6px 12px;font-size:12px}.output-box{background:var(--color-bg-subtle);border:1px solid var(--color-border-light);border-radius:var(--radius-small);min-height:80px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;color:var(--color-text);max-height:360px;padding:14px;font-size:13px;line-height:1.6;overflow:auto}.output-empty{color:var(--color-text-tertiary);font-style:italic}.output-error{color:var(--color-error-text);background:var(--color-error-bg)}.alert{border-radius:var(--radius-small);border:1px solid #0000;margin-bottom:14px;padding:11px 14px;font-size:13px;line-height:1.5}.alert-info{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-border-light)}.alert-success{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-border-light)}.alert-error{background:var(--color-error-bg);color:var(--color-error-text);border-color:var(--color-border-light)}.data-table{border-collapse:collapse;border:1px solid var(--color-border-light);border-radius:var(--radius-small);width:100%;font-size:13px;overflow:hidden}.data-table th,.data-table td{border-bottom:1px solid var(--color-border-light);text-align:left;padding:9px 12px}.data-table tr:last-child td{border-bottom:none}.data-table th{background:var(--color-bg-subtle);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.toast{border-radius:var(--radius-small);font-size:13px;font-weight:var(--font-weight-medium);z-index:9999;box-shadow:var(--shadow-lg);padding:10px 18px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-info{background:var(--color-primary);color:#fff}.toast-error{background:var(--color-error);color:#fff}.toast-success{background:var(--color-success);color:#fff}@media (width<=768px){.tool-container{padding:16px}.tool-container-body{flex-direction:column}.tool-container-side{flex:100%}}.tabs-container{flex-direction:column;display:flex}.tabs-nav{border-bottom:1px solid var(--color-border-light);gap:4px;display:flex;overflow-x:auto}.tabs-tab{font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px}.tabs-tab:hover{color:var(--color-text)}.tabs-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tabs-content{padding:16px 0}.progress-wrapper{align-items:center;gap:10px;display:flex}.progress-label{color:var(--color-text-secondary);flex-shrink:0;min-width:60px;font-size:13px}.progress-track{background:var(--color-border-light);border-radius:1px;flex:1;height:6px;overflow:hidden}.progress-bar{height:100%;transition:width .3s var(--ease-out);border-radius:1px}.progress-bar-primary{background:var(--color-primary)}.progress-bar-success{background:var(--color-success)}.progress-bar-error{background:var(--color-error)}.progress-value{font-size:12px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-align:right;min-width:36px;font-family:var(--font-mono)}.tooltip-wrapper{display:inline-flex;position:relative}.tooltip-wrapper:after{content:attr(data-tooltip);color:#fff;border-radius:var(--radius-small);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-out);z-index:200;box-shadow:var(--shadow-lg);background:#1c1917;padding:5px 9px;font-size:12px;line-height:1.4;position:absolute}.tooltip-wrapper:hover:after{opacity:1}.tooltip-top:after{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-bottom:after{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-left:after{top:50%;right:calc(100% + 6px);transform:translateY(-50%)}.tooltip-right:after{top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.collapsible-section{border:1px solid var(--color-border-light);border-radius:var(--radius-small);overflow:hidden}.collapsible-header{width:100%;font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-text);background:var(--color-bg-subtle);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);border:none;align-items:center;gap:8px;padding:11px 14px;display:flex}.collapsible-header:hover{background:var(--color-bg-hover)}.collapsible-icon{transition:transform var(--duration-fast) var(--ease-out)}.collapsible-section:not(.open) .collapsible-icon{transform:rotate(-90deg)}.collapsible-body{border-top:1px solid var(--color-border-light);padding:14px}.stack{gap:var(--space-3);flex-direction:column;display:flex}.stack-sm{gap:var(--space-2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.row-sm{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.center-y{align-items:center;gap:var(--space-2);display:flex}.center-text{text-align:center}.center-x{justify-content:center;display:flex}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.text-sm{font-size:13px}.text-xs{font-size:12px}.text-lg{font-size:18px}.text-muted{color:var(--color-text-secondary)}.text-mono{font-family:var(--font-mono)}.panel{background:var(--color-bg-subtle);border:1px solid var(--color-border-light);border-radius:var(--radius-small);padding:var(--space-3)}.code-box{background:var(--color-bg-subtle);border:1px solid var(--color-border-light);border-radius:var(--radius-small);padding:var(--space-3);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;max-height:420px;color:var(--color-text);font-size:13px;line-height:1.6;overflow:auto}.badge{font-size:12px;font-weight:var(--font-weight-medium);border-radius:var(--radius-small);background:var(--color-bg-subtle);color:var(--color-text-secondary);border:1px solid var(--color-border-light);align-items:center;padding:2px 10px;display:inline-flex}.badge-primary{background:var(--color-primary-light);color:var(--color-primary-dark);border-color:var(--color-border-light)}.badge-success{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-border-light)}.badge-error{background:var(--color-error-bg);color:var(--color-error-text);border-color:var(--color-border-light)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-border-light)}.divider{background:var(--color-border-light);height:1px;margin:var(--space-3) 0;border:none}.btn-secondary{background:var(--color-bg-subtle);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-hover)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{filter:brightness(.94)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{filter:brightness(.94)}.btn-warning{background:var(--color-warning);color:#fff}.btn-warning:hover{filter:brightness(.94)}.file-picker{border:1px dashed var(--color-border);border-radius:var(--radius-small);background:var(--color-bg-subtle);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;transition:border-color .12s,background .12s;display:flex}.file-picker.is-dragover{border-color:var(--color-primary);background:var(--color-primary-light)}.file-picker-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-picker-btn{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.file-picker-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:13px;overflow:hidden}.file-picker-hint{color:var(--color-text-secondary);font-size:12px}.stat-row{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;padding:5px 0;font-size:13px;display:flex}.stat-row:last-child{border-bottom:none}.stat-row .stat-label{color:var(--color-text-secondary)}.stat-row .stat-value{font-weight:var(--font-weight-semibold);color:var(--color-text)}.result-card{background:var(--color-bg-subtle);border:1px solid var(--color-border-light);border-radius:var(--radius-small);text-align:center;min-width:70px;padding:16px 20px}.result-card .result-value{font-size:32px;font-family:var(--font-mono);color:var(--color-primary);font-weight:700;line-height:1.2}.result-card .result-label{color:var(--color-text-secondary);margin-top:4px;font-size:12px}.grid-2{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=600px){.grid-2,.grid-3{grid-template-columns:1fr}}.result-highlight{background:var(--color-bg-subtle);border-radius:var(--radius-small);padding:12px;font-size:14px}.color-swatch{border:1px solid var(--color-border);border-radius:var(--radius-small);cursor:pointer;width:40px;height:36px;padding:0}:root{--color-primary:#1e3a5f;--color-primary-dark:#152d4a;--color-primary-light:#edf2f7;--color-accent:#92600a;--color-accent-light:#fdf8ef;--color-bg:#fafaf9;--color-bg-card:#fff;--color-bg-subtle:#f5f5f4;--color-bg-hover:#edf2f7;--color-text:#1c1917;--color-text-secondary:#57534e;--color-text-tertiary:#a8a29e;--color-border:#d6d3d1;--color-border-light:#e7e5e4;--color-success:#16a34a;--color-success-bg:#f0fdf4;--color-success-text:#15803d;--color-warning:#ca8a04;--color-warning-bg:#fefce8;--color-warning-text:#a16207;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-error-text:#b91c1c;--color-info:var(--color-primary);--color-info-bg:var(--color-primary-light);--color-info-text:var(--color-primary-dark);--shadow-sm:0 1px 2px #0000000d;--shadow-card:0 1px 2px #0000000d;--shadow-card-hover:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001a;--radius-card:4px;--radius-small:2px;--radius-pill:2px;--font-display:"Space Grotesk", "PingFang SC", "Microsoft YaHei", sans-serif;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", "Cascadia Code", monospace;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--color-ring:#1e3a5f4d;--max-width:1200px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--duration-fast:.12s;--duration-normal:.2s}[data-theme=dark]{--color-bg:#1a1a1a;--color-bg-card:#242424;--color-bg-subtle:#2e2e2e;--color-bg-hover:#383838;--color-text:#e7e5e4;--color-text-secondary:#a8a29e;--color-text-tertiary:#78716c;--color-border:#404040;--color-border-light:#333;--color-primary:#7ba3cc;--color-primary-dark:#9dbde0;--color-primary-light:#1e2d3d;--color-accent:#d4a03c;--color-accent-light:#2a2210;--color-ring:#7ba3cc59;--shadow-card:0 1px 2px #0000004d;--shadow-card-hover:0 2px 8px #0006;--shadow-lg:0 4px 16px #00000080}[data-theme=high-contrast]{--color-bg:#000;--color-bg-card:#0a0a0a;--color-bg-subtle:#141414;--color-bg-hover:#1c1c1c;--color-text:#fff;--color-text-secondary:#fbbf24;--color-text-tertiary:#d1d5db;--color-border:#fff;--color-border-light:#6b7280;--color-primary:#ffeb3b;--color-primary-dark:#f59e0b;--color-primary-light:#1c1917;--color-accent:#22d3ee;--color-accent-light:#0c4a6e;--color-ring:#ffeb3b;--shadow-card:0 0 0 1px #fff;--shadow-card-hover:0 0 0 2px #ffeb3b}[data-theme=colorful]{--color-primary:#e11d48;--color-primary-dark:#be123c;--color-primary-light:#fff1f2;--color-accent:#0d9488;--color-accent-light:#f0fdfa;--color-bg:#0f172a;--color-bg-card:#1e293b;--color-bg-subtle:#243049;--color-bg-hover:#2c3a57;--color-text:#f1f5f9;--color-text-secondary:#cbd5e1;--color-text-tertiary:#94a3b8;--color-border:#ffffff26;--color-border-light:#ffffff14;--color-ring:#e11d4859;--shadow-card:0 1px 2px #0000004d;--shadow-card-hover:0 2px 8px #0006}[data-theme=tech-blue]{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#dbeafe;--color-accent:#0ea5e9;--color-accent-light:#e0f2fe;--color-bg:#f8fafc;--color-bg-card:#fff;--color-bg-subtle:#f1f5f9;--color-bg-hover:#eef4ff;--color-text:#0f172a;--color-text-secondary:#64748b;--color-text-tertiary:#94a3b8;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-ring:#2563eb4d;--shadow-card:0 1px 2px #2563eb0d;--shadow-card-hover:0 2px 8px #2563eb1a}[data-theme=emerald]{--color-primary:#059669;--color-primary-dark:#047857;--color-primary-light:#d1fae5;--color-accent:#0891b2;--color-accent-light:#cffafe;--color-bg:#f0fdf4;--color-bg-card:#fff;--color-bg-subtle:#ecfdf5;--color-bg-hover:#e6f9ee;--color-text:#064e3b;--color-text-secondary:#527c68;--color-text-tertiary:#6b9080;--color-border:#d1fae5;--color-border-light:#ecfdf5;--color-ring:#0596694d;--shadow-card:0 1px 2px #0596690d;--shadow-card-hover:0 2px 8px #0596691a}[data-theme=violet]{--color-primary:#6d28d9;--color-primary-dark:#5b21b6;--color-primary-light:#ede9fe;--color-accent:#db2777;--color-accent-light:#fce7f3;--color-bg:#faf5ff;--color-bg-card:#fff;--color-bg-subtle:#f3eefc;--color-bg-hover:#efe7fd;--color-text:#2e1065;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-border:#e9d5ff;--color-border-light:#f3e8ff;--color-ring:#6d28d94d;--shadow-card:0 1px 2px #6d28d90d;--shadow-card-hover:0 2px 8px #6d28d91a}[data-theme=glassmorphism]{--color-primary:#6366f1;--color-primary-dark:#4f46e5;--color-primary-light:#6366f11f;--color-accent:#a855f7;--color-accent-light:#a855f71a;--color-bg:#0f172a;--color-bg-card:#ffffff12;--color-bg-subtle:#ffffff0a;--color-bg-hover:#ffffff1a;--color-text:#fff;--color-text-secondary:#ffffffb3;--color-text-tertiary:#fff6;--color-border:#ffffff26;--color-border-light:#ffffff12;--color-ring:#6366f166;--shadow-card:0 1px 2px #0000004d;--shadow-card-hover:0 2px 8px #0006}[data-theme=dark-pro]{--color-primary:#60a5fa;--color-primary-dark:#3b82f6;--color-primary-light:#60a5fa1f;--color-accent:#a78bfa;--color-accent-light:#a78bfa1a;--color-bg:#0f172a;--color-bg-card:#1e293b;--color-bg-subtle:#243049;--color-bg-hover:#2c3a57;--color-text:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-tertiary:#64748b;--color-border:#334155;--color-border-light:#1e293b;--color-ring:#60a5fa59;--shadow-card:0 1px 2px #0000004d;--shadow-card-hover:0 2px 8px #0006}[data-theme=warm-orange]{--color-primary:#ea580c;--color-primary-dark:#c2410c;--color-primary-light:#ffedd5;--color-accent:#ca8a04;--color-accent-light:#fef3c7;--color-bg:#fff7ed;--color-bg-card:#fff;--color-bg-subtle:#fff4e8;--color-bg-hover:#ffeedb;--color-text:#431407;--color-text-secondary:#9a3412;--color-text-tertiary:#c2410c;--color-border:#fed7aa;--color-border-light:#ffedd5;--color-ring:#ea580c4d;--shadow-card:0 1px 2px #ea580c0d;--shadow-card-hover:0 2px 8px #ea580c1a}*{box-sizing:border-box}html,body{font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{color:var(--color-primary)}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{outline:none;font-family:inherit}img{max-width:100%;display:block}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-small)}:root{--json-key:#1e3a5f;--json-string:#16a34a;--json-number:#1e3a5f;--json-boolean:#92600a;--json-null:#dc2626;--json-punct:var(--color-text-secondary)}[data-theme=dark]{--json-key:#9dbde0;--json-string:#4ade80;--json-number:#7ba3cc;--json-boolean:#d4a03c;--json-null:#f87171;--json-punct:var(--color-text-secondary)}[data-theme=high-contrast]{--json-key:#fff;--json-string:#22d3ee;--json-number:#60a5fa;--json-boolean:#f472b6;--json-null:#ff6b6b;--json-punct:#fbbf24}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}.page{min-height:calc(100vh - 200px);padding:28px 0}.section-title{font-size:16px;font-weight:var(--font-weight-semibold);font-family:var(--font-display);color:var(--color-text);letter-spacing:0;align-items:center;gap:10px;margin:0 0 16px;display:flex}.section-title:before{content:"";background:var(--color-primary);border-radius:0;width:4px;height:16px;display:inline-block}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:32px;display:grid}.empty-tip{text-align:center;color:var(--color-text-secondary);background:var(--color-bg-card);border-radius:var(--radius-card);border:1px solid var(--color-border);padding:60px 20px}@media (width<=480px){:root{--max-width:100%}.container{padding:0 14px}.page{padding:16px 0}.tool-grid{grid-template-columns:1fr;gap:10px;margin-bottom:24px}.section-title{margin:0 0 12px;font-size:15px}.empty-tip{padding:40px 16px;font-size:14px}}@media (width>=481px) and (width<=768px){.tool-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=769px) and (width<=1200px){.tool-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1201px){:root{--max-width:1320px}.tool-grid{grid-template-columns:repeat(4,1fr);gap:14px}.section-title{font-size:17px}.empty-tip{padding:80px 32px;font-size:16px}}
