:root{--bg:#f0f2f5;--surface:#ffffff;--surface2:#f8f9fa;--text:#2d3436;--text2:#636e72;--border:#dfe6e9;--shadow:0 2px 12px rgba(0,0,0,.08);--shadow-hover:0 8px 30px rgba(0,0,0,.12);--nav-bg:rgba(255,255,255,.85);--radius:16px;--radius-sm:10px;--transition:.3s cubic-bezier(.4,0,.2,1);--font:'Segoe UI',system-ui,-apple-system,sans-serif}[data-theme=dark]{--bg:#0f0f1a;--surface:#1a1a2e;--surface2:#16213e;--text:#eef0f6;--text2:#a0a4b8;--border:#2d2d44;--shadow:0 2px 12px rgba(0,0,0,.3);--shadow-hover:0 8px 30px rgba(0,0,0,.5);--nav-bg:rgba(15,15,26,.92)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;transition:background var(--transition),color var(--transition);min-height:100vh}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}nav{position:sticky;top:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:0 24px;transition:background var(--transition)}.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}.logo{font-size:1.4rem;font-weight:800;background:linear-gradient(135deg,#6c5ce7,#fd79a8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.nav-links{display:flex;gap:4px;align-items:center}.nav-links a{padding:8px 16px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:var(--text2);transition:all var(--transition)}.nav-links a:hover,.nav-links a.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.theme-toggle,.menu-toggle{background:none;border:none;color:var(--text2);font-size:1.2rem;cursor:pointer;padding:8px;border-radius:var(--radius-sm);transition:all var(--transition)}.theme-toggle:hover,.menu-toggle:hover{background:var(--surface);color:var(--text)}.menu-toggle{display:none}.hero{text-align:center;padding:60px 24px 40px;max-width:800px;margin:0 auto}.hero h1{font-size:clamp(1.8rem,5vw,3.2rem);font-weight:800;letter-spacing:-1px;background:linear-gradient(135deg,#6c5ce7,#e17055,#fdcb6e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{color:var(--text2);font-size:1.1rem;margin-top:12px;max-width:600px;margin-inline:auto}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;max-width:1200px;margin:0 auto;padding:0 24px 60px}.all-tools-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:0}.tool-card{background:var(--surface);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow);border:1px solid var(--border);transition:all var(--transition);cursor:pointer;position:relative;overflow:hidden}.tool-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:transparent}.tool-card .icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;margin-bottom:16px}.tool-card h3{font-size:1.15rem;margin-bottom:6px}.tool-card p{color:var(--text2);font-size:.9rem;line-height:1.5}.tool-card .arrow{position:absolute;top:20px;right:20px;color:var(--text2);font-size:.9rem;opacity:0;transform:translateX(-8px);transition:all var(--transition)}.tool-card:hover .arrow{opacity:1;transform:translateX(0)}.page-header{text-align:center;padding:40px 24px 30px}.page-header h1{font-size:clamp(1.5rem,4vw,2.4rem);font-weight:800}.page-header p{color:var(--text2);margin-top:6px}.tools-container{max-width:1100px;margin:0 auto;padding:0 24px 60px;display:flex;flex-direction:column;gap:32px}.tool-box{background:var(--surface);border-radius:var(--radius);padding:28px 30px;box-shadow:var(--shadow);border:1px solid var(--border)}.tool-box h2{font-size:1.2rem;margin-bottom:16px;display:flex;align-items:center;gap:10px}.tool-box h2 .badge{font-size:.7rem;background:var(--text2);color:var(--surface);padding:2px 10px;border-radius:20px;font-weight:600}label{display:block;font-size:.85rem;font-weight:600;color:var(--text2);margin-bottom:6px}textarea,input[type=text],input[type=number],input[type=url],input[type=date],input[type=color],input[type=file],select{width:100%;padding:12px 14px;background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.95rem;font-family:var(--font);transition:all var(--transition);outline:none}input[type=file]::file-selector-button{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 16px;border-radius:6px;cursor:pointer;margin-right:12px;font-weight:600;transition:all var(--transition)}input[type=file]::file-selector-button:hover{background:var(--border)}textarea{min-height:120px;resize:vertical;font-family:monospace}textarea:focus,input:focus,select:focus{border-color:#6c5ce7;box-shadow:0 0 0 3px rgba(108,92,231,.15)}.input-group{display:flex;gap:10px;flex-wrap:wrap}.input-group>*{flex:1;min-width:120px}.btn{padding:10px 22px;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition);display:inline-flex;align-items:center;gap:8px}.btn-primary{background:#6c5ce7;color:#fff}.btn-primary:hover{background:#5a4bd1;transform:translateY(-1px)}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-success{background:#00b894;color:#fff}.btn-success:hover{background:#00a381}.btn-danger{background:#e17055;color:#fff}.btn-group{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.btn-sm{padding:4px 10px;font-size:.8rem;border:none;border-radius:var(--radius-sm);cursor:pointer;background:var(--surface2);color:var(--text2);transition:all var(--transition)}.btn-sm:hover{background:var(--border);color:var(--text)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text2)}.btn-outline:hover{background:var(--surface2);color:var(--text)}.tabs{display:flex;gap:0;margin-bottom:6px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.tab{padding:6px 16px;border:none;background:var(--surface2);color:var(--text2);cursor:pointer;font-size:.85rem;font-weight:500;transition:all var(--transition);flex:1}.tab.active{background:var(--surface);color:var(--text);font-weight:600}.tab:not(.active):hover{background:var(--border)}.checkbox-group{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;padding:8px;background:var(--surface2);border-radius:var(--radius-sm);border:1px solid var(--border)}.checkbox-group label{display:flex;align-items:center;gap:6px;font-size:.82rem;cursor:pointer;padding:2px 4px;border-radius:4px;transition:background var(--transition)}.checkbox-group label:hover{background:var(--surface)}.checkbox-group input[type=checkbox]{accent-color:#6c5ce7;cursor:pointer}.font-mono{font-family:"Cascadia Code","Fira Code","JetBrains Mono",Consolas,monospace}.output{margin-top:12px;padding:14px;background:var(--surface2);border-radius:var(--radius-sm);border:1px solid var(--border);min-height:40px;font-size:.95rem;line-height:1.6;white-space:pre-wrap;word-break:break-all}.output-box{display:flex;gap:10px;align-items:flex-start}.output-box .output{flex:1}.copy-btn{background:none;border:1px solid var(--border);color:var(--text2);cursor:pointer;padding:8px 12px;border-radius:var(--radius-sm);font-size:.85rem;transition:all var(--transition);white-space:nowrap}.copy-btn:hover{background:var(--surface2);color:var(--text)}.row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:12px}.row>*{flex:1;min-width:180px}.tools-filter-row{align-items:flex-end}.calc-display{width:100%;padding:16px 18px;font-size:1.8rem;font-weight:700;text-align:right;background:var(--surface2);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text);margin-bottom:12px;font-family:monospace}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.calc-grid button{padding:16px;border:none;border-radius:var(--radius-sm);font-size:1.15rem;font-weight:600;cursor:pointer;background:var(--surface2);color:var(--text);transition:all var(--transition)}.calc-grid button:hover{background:var(--border)}.calc-grid .op{background:#6c5ce7;color:#fff}.calc-grid .op:hover{background:#5a4bd1}.calc-grid .eq{background:#00b894;color:#fff}.calc-grid .eq:hover{background:#00a381}.calc-grid .clr{background:#e17055;color:#fff}.calc-grid .clr:hover{background:#d16350}.color-preview{width:100%;height:80px;border-radius:var(--radius-sm);margin:10px 0;border:2px solid var(--border)}.gradient-preview{width:100%;height:100px;border-radius:var(--radius-sm);margin:10px 0}.timer-display{font-size:clamp(2.5rem,8vw,4.5rem);font-weight:800;font-family:monospace;text-align:center;padding:20px 0;letter-spacing:4px}.cat-section{max-width:1200px;margin:0 auto;padding:0 24px 20px}.cat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.cat-header h2{font-size:1.3rem;display:flex;align-items:center;gap:10px}.cat-header a{font-size:.85rem;color:var(--text2);transition:color var(--transition)}.cat-header a:hover{color:var(--text)}#searchInput{padding-left:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23636e72'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center;background-size:18px}.page-content{max-width:800px;margin:0 auto;padding:0 24px 60px}.page-content h2{font-size:1.3rem;margin:28px 0 12px}.page-content p{color:var(--text2);margin-bottom:12px;line-height:1.7}.contact-form{background:var(--surface);padding:28px 30px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border)}.contact-form .row{margin-bottom:0}@keyframes skel-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.skel{background:linear-gradient(90deg,var(--surface2) 25%,var(--surface) 50%,var(--surface2) 75%);background-size:200% 100%;animation:skel-shimmer 1.2s ease-in-out infinite;border-radius:var(--radius-sm)}.skel-hide{opacity:0;transition:opacity .3s ease}.toast{position:fixed;bottom:24px;right:24px;z-index:999;background:var(--surface);color:var(--text);padding:14px 22px;border-radius:var(--radius-sm);box-shadow:0 8px 30px rgba(0,0,0,.15);border:1px solid var(--border);font-size:.9rem;font-weight:500;transform:translateY(100px);opacity:0;transition:all var(--transition)}.toast.show{transform:translateY(0);opacity:1}footer{text-align:center;padding:32px 24px;border-top:1px solid var(--border);color:var(--text2);font-size:.85rem}.breadcrumb{position:sticky;top:65px;z-index:99;background:var(--surface);border-bottom:1px solid var(--border);backdrop-filter:blur(10px)}@media (max-width:768px){.breadcrumb{top:57px}}.breadcrumb-list{display:flex;align-items:center;gap:8px;font-size:.85rem;flex-wrap:wrap}.breadcrumb-list li{display:flex;align-items:center;gap:8px;color:var(--text2)}.breadcrumb-list li a{color:var(--text2);transition:color var(--transition)}.breadcrumb-list li a:hover{color:#6c5ce7}.breadcrumb-list li:not(:last-child)::after{content:'›';color:var(--border);font-size:1.1rem;font-weight:700}.breadcrumb-list li:last-child{color:var(--text);font-weight:600}.faq-accordion{display:flex;flex-direction:column;gap:8px}.faq-item{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;transition:all var(--transition)}.faq-item[open]{border-color:#6c5ce7;box-shadow:0 2px 12px rgba(108,92,231,.1)}.faq-question{padding:16px 20px;cursor:pointer;font-weight:600;font-size:1rem;color:var(--text);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:all var(--transition)}.faq-question::-webkit-details-marker{display:none}.faq-question::after{content:'＋';font-size:1.2rem;color:#6c5ce7;font-weight:700;transition:transform .3s ease;flex-shrink:0}.faq-item[open] .faq-question::after{content:'−'}.faq-question:hover{background:var(--border)}.faq-answer{padding:0 20px 16px;color:var(--text2);line-height:1.7;font-size:.95rem}.faq-answer p{margin:0}.related-tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.related-tool-card{padding:16px!important}.related-tool-card h3{font-size:.9rem!important;margin-bottom:2px!important}.related-tool-card p{font-size:.72rem!important}.tool-detailed-about ul{padding-left:20px}.tool-detailed-about li{margin-bottom:8px;line-height:1.7}@media(max-width:768px){nav{padding:0 16px}.menu-toggle{display:block}.nav-links{position:fixed;top:64px;left:0;right:0;background:var(--nav-bg);backdrop-filter:blur(20px);flex-direction:column;padding:16px;gap:4px;border-bottom:1px solid var(--border);transform:translateY(-120%);opacity:0;transition:all var(--transition);pointer-events:none}.nav-links.open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-links a{width:100%;text-align:center;padding:12px}.tool-grid{grid-template-columns:1fr;padding:0 16px 40px}.tool-box{padding:20px 16px}.hero{padding:40px 16px 30px}.tools-container{padding:0 16px 40px}.row{flex-direction:column}.row>*{min-width:unset}.tools-filter-row{align-items:stretch}#toolsGrid,.all-tools-grid{grid-template-columns:1fr 1fr}.related-tools-grid{grid-template-columns:1fr 1fr}.breadcrumb-list{font-size:.8rem}}@media(max-width:480px){.nav-inner{height:56px}.logo{font-size:1.15rem}.tool-card{padding:16px 12px}.tool-card .icon{width:36px;height:36px;font-size:1rem;margin-bottom:12px;border-radius:10px}.tool-card h3{font-size:.95rem;margin-bottom:4px}.tool-card p{font-size:.75rem}.tool-card .badge{font-size:.6rem}.calc-grid button{padding:12px;font-size:1rem}.input-group{flex-direction:column}.output-box{flex-direction:column}#toolsGrid,.all-tools-grid{grid-template-columns:1fr 1fr;gap:12px}.related-tools-grid{grid-template-columns:1fr}}.btn-sm{padding:4px 10px;font-size:.8rem;border:none;border-radius:var(--radius-sm);cursor:pointer;background:var(--surface2);color:var(--text2);transition:all var(--transition)}.btn-sm:hover{background:var(--border);color:var(--text)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text2)}.btn-outline:hover{background:var(--surface2);color:var(--text)}.tabs{display:flex;gap:0;margin-bottom:6px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.tab{padding:6px 16px;border:none;background:var(--surface2);color:var(--text2);cursor:pointer;font-size:.85rem;font-weight:500;transition:all var(--transition);flex:1}.tab.active{background:var(--surface);color:var(--text);font-weight:600}.tab:not(.active):hover{background:var(--border)}.checkbox-group{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;padding:8px;background:var(--surface2);border-radius:var(--radius-sm);border:1px solid var(--border)}.checkbox-group label{display:flex;align-items:center;gap:6px;font-size:.82rem;cursor:pointer;padding:2px 4px;border-radius:4px;transition:background var(--transition)}.checkbox-group label:hover{background:var(--surface)}.checkbox-group input[type=checkbox]{accent-color:#6c5ce7;cursor:pointer}.font-mono{font-family:monospa