*{box-sizing:border-box;margin:0;padding:0}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#1f2937;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}button,input,textarea,select{font-family:inherit}.tabs-container{position:fixed;top:80px;left:0;right:0;background:#fff;border-bottom:1px solid #e5e7eb;z-index:300;height:48px;display:flex;align-items:center}.tabs-content{max-width:1400px;margin:0 auto;width:100%;padding:0 20px;display:flex;gap:8px}.tab-item{padding:8px 16px;border:none;background:transparent;color:#6b7280;font-size:.95rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;position:relative}.tab-item:hover{color:#1f2937}.tab-item.active{color:#2563eb;border-bottom-color:#2563eb}@media(max-width:768px){.tabs-container{top:70px;height:44px}.tabs-content{padding:0 16px}.tab-item{font-size:.9rem;padding:6px 12px}}.app-header{position:fixed;top:0;left:0;right:0;background:#fff;border-bottom:1px solid #e5e7eb;padding:20px 0;margin-bottom:0;box-shadow:0 1px 3px #0000000d;z-index:200;height:80px;display:flex;align-items:center}.header-content{text-align:center;width:100%;margin:0 auto;padding:0 20px}.header-title{margin:0 0 8px;font-size:1.75rem;font-weight:700;color:#1f2937}.header-subtitle{margin:0;font-size:.95rem;color:#6b7280}@media(max-width:768px){.app-header{top:0;height:70px;padding:16px 0}.header-title{font-size:1.5rem}.header-subtitle{font-size:.85rem}}@media(min-width:768px){.header-title{font-size:2rem}.header-subtitle{font-size:1rem}}.home-page{width:100%;min-height:calc(100vh - 128px);background:#f5f5f5;padding:40px 0}.home-content{max-width:1000px;margin:0 auto;padding:40px 32px;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026}.home-title{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 24px;text-align:center;letter-spacing:-.5px}.home-intro{font-size:1rem;color:#4b5563;margin:0 0 20px;line-height:1.8;font-weight:500}.home-list{margin:0 0 28px;padding-left:0;list-style:none;color:#374151;line-height:1.8}.home-list li{margin-bottom:16px;font-size:.95rem;padding-left:28px;position:relative;color:#4b5563}.home-list li:before{content:"✨";position:absolute;left:0;font-size:1.1rem}.home-paragraph{font-size:.95rem;color:#4b5563;margin:0 0 20px;line-height:1.8}.home-section-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin:36px 0 24px;padding-bottom:12px;border-bottom:3px solid;border-image:linear-gradient(90deg,#667eea,#764ba2) 1;position:relative}.home-section-title:after{content:"";position:absolute;bottom:-3px;left:0;width:60px;height:3px;background:linear-gradient(90deg,#667eea,#764ba2)}.home-benefits{margin:0 0 28px}.home-benefit-item{font-size:.95rem;color:#4b5563;margin:0 0 16px;line-height:1.8;padding:16px 20px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;transition:all .3s ease}.home-benefit-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:#cbd5e1}.home-benefit-item-highlight{font-weight:600;padding:22px 28px;background:#fff;border-left:5px solid;border-image:linear-gradient(180deg,#3b82f6,#0ea5e9) 1;border-top:1px solid #e0f2fe;border-right:1px solid #e0f2fe;border-bottom:1px solid #e0f2fe;border-radius:12px;margin:0 0 20px;box-shadow:0 2px 8px #3b82f614,0 1px 3px #0000000d;color:#1e293b;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:0}.home-benefit-item-highlight:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(180deg,#3b82f6,#0ea5e9);z-index:1}.home-benefit-item-highlight:after{content:"";position:absolute;top:0;right:0;width:0;height:100%;background:linear-gradient(135deg,#3b82f60d,#0ea5e90d);transition:width .3s ease;z-index:0}.home-benefit-item-highlight:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f626,0 2px 8px #00000014;border-color:#bae6fd}.home-benefit-item-highlight:hover:after{width:100%}.home-tools-container{margin:28px 0 32px;padding:32px;background:linear-gradient(135deg,#fff,#f8fafc,#f1f5f9);border-radius:20px;border:2px solid #e2e8f0;box-shadow:0 10px 40px #667eea14,inset 0 1px #ffffffe6;position:relative;overflow:hidden}.home-tools-container:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#667eea,#764ba2,#667eea);background-size:200% 100%;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.home-tools-list{margin:0;padding-left:0;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.home-tool-item{margin-bottom:0;padding:24px;background:#fff;border:1.5px solid #e2e8f0;border-left:5px solid;border-image:linear-gradient(180deg,#667eea,#764ba2) 1;border-radius:14px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000000d;position:relative;overflow:hidden}.home-tool-item:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(180deg,#667eea,#764ba2);transition:width .3s ease;z-index:1}.home-tool-item:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#667eea05,#764ba205);opacity:0;transition:opacity .3s ease;z-index:0}.home-tool-item:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 12px 32px #667eea40;border-color:#cbd5e1}.home-tool-item:hover:before{width:6px}.home-tool-item:hover:after{opacity:1}.home-tool-item p{margin:0 0 12px;font-size:.92rem;color:#475569;line-height:1.75;position:relative;z-index:2}.home-tool-item p:last-child{margin-bottom:0}.home-tool-item strong{color:#1e293b;font-size:1.05rem;font-weight:700;display:block;margin-bottom:12px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:2;line-height:1.5}.home-suitable{margin:28px 0;padding:20px 24px;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border-radius:12px;border:2px solid #bfdbfe;box-shadow:0 4px 12px #3b82f61a}.home-suitable p{margin:0 0 8px;font-size:.95rem;color:#1e40af;line-height:1.7;font-weight:500}.home-suitable p:last-child{margin-bottom:0}.home-link{margin:24px 0;text-align:center}.home-link a{color:#667eea;font-size:1rem;text-decoration:none;word-break:break-all;transition:all .3s ease;font-weight:600;padding:12px 24px;display:inline-block;background:linear-gradient(135deg,#667eea15,#764ba215);border-radius:8px;border:2px solid transparent;border-image:linear-gradient(135deg,#667eea,#764ba2) 1}.home-link a:hover{color:#764ba2;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.home-qrcode{margin:28px 0;text-align:center;padding:20px;background:#f8fafc;border-radius:12px}.qrcode-image{max-width:300px;width:100%;height:auto;border-radius:12px;box-shadow:0 8px 24px #0000001f;transition:transform .3s ease}.qrcode-image:hover{transform:scale(1.02)}.home-note{font-size:.9rem;color:#64748b;margin:20px 0;padding:16px 20px;background:#f8fafc;border-radius:12px;text-align:center;border:1px solid #e2e8f0;font-weight:500}.home-signature{font-size:1rem;color:#64748b;margin:32px 0 0;text-align:right;font-style:italic;font-weight:500;padding-right:20px;position:relative}.home-signature:before{content:"—";margin-right:8px;color:#cbd5e1}@media(max-width:768px){.home-page{padding:20px 0}.home-content{padding:24px 16px;border-radius:12px}.home-title{font-size:1.5rem;margin-bottom:20px}.home-section-title{font-size:1.25rem;margin-top:28px;margin-bottom:20px}.home-intro{font-size:.9rem}.home-list{padding-left:0}.home-list li{font-size:.9rem;padding-left:24px}.home-paragraph{font-size:.9rem}.home-tools-list{padding-left:0;grid-template-columns:1fr;gap:16px}.home-tool-item{padding:16px}.home-tool-item p{font-size:.85rem}.home-tool-item strong{font-size:.95rem}.home-benefit-item{font-size:.9rem;padding:14px 16px}.home-benefit-item-highlight{padding:18px 20px;font-size:.9rem}.home-tools-container{padding:20px;margin:20px 0 24px}.home-link a{font-size:.9rem;padding:10px 20px}.qrcode-image{max-width:250px}.home-qrcodes{grid-template-columns:1fr;gap:24px;margin:24px 0;padding:20px 0}.home-qrcode-item .qrcode-image{max-width:200px}}.home-connections{margin:24px 0}.home-connections a{color:#667eea;text-decoration:none;transition:color .2s ease;font-weight:500}.home-connections a:hover{color:#764ba2;text-decoration:underline}.home-qrcodes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:36px 0;padding:32px 0}.home-qrcode-item{text-align:center;padding:20px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;transition:all .3s ease}.home-qrcode-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a;border-color:#cbd5e1}.home-qrcode-label{font-size:.95rem;font-weight:600;color:#374151;margin:0 0 16px}.home-qrcode-item .qrcode-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease}.home-qrcode-item:hover .qrcode-image{transform:scale(1.05)}.announcement-sidebar{position:fixed;left:0;top:128px;width:200px;height:calc(100vh - 128px);background:#fff;border-right:1px solid #e5e7eb;overflow-y:auto;z-index:150}.announcement-sidebar-nav{padding:20px 0}.announcement-sidebar-item{padding:12px 24px;cursor:pointer;font-size:.95rem;color:#374151;transition:all .2s ease;border-left:3px solid transparent}.announcement-sidebar-item:hover{background:#f9fafb;color:#3b82f6}.announcement-sidebar-item.active{background:#eff6ff;color:#3b82f6;border-left-color:#3b82f6;font-weight:500}@media(max-width:1024px){.announcement-sidebar{display:none}}@media(max-width:768px){.announcement-sidebar{top:114px;height:calc(100vh - 114px)}}.sidebar{position:fixed;left:0;top:128px;width:200px;height:calc(100vh - 128px);background:#fff;border-right:1px solid #e5e7eb;overflow-y:auto;z-index:150}.sidebar-nav{padding:20px 0}.sidebar-item{padding:12px 24px;cursor:pointer;font-size:.95rem;color:#374151;transition:all .2s ease;border-left:3px solid transparent}.sidebar-item:hover{background:#f9fafb;color:#3b82f6}.sidebar-item.active{background:#eff6ff;color:#3b82f6;border-left-color:#3b82f6;font-weight:500}@media(max-width:1024px){.sidebar{display:none}}@media(max-width:768px){.sidebar{top:114px;height:calc(100vh - 114px)}}.search-bar{position:relative;width:100%;max-width:600px}.search-input{width:100%;padding:10px 36px 10px 14px;font-size:.95rem;border:1px solid #e5e7eb;border-radius:6px;outline:none;transition:all .2s ease;background:#fff}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:#9ca3af}.search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.25rem;color:#9ca3af;cursor:pointer;padding:4px;line-height:1;transition:color .2s ease;display:flex;align-items:center;justify-content:center}.search-clear:hover{color:#6b7280}@media(max-width:768px){.search-bar{max-width:100%}.search-input{font-size:16px}}.category-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:0;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.category-buttons{display:flex;flex-wrap:wrap;gap:8px;flex:1}.category-btn{padding:6px 14px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;color:#6b7280;transition:all .2s ease;display:flex;align-items:center;gap:6px}.category-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.category-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.category-count{font-size:.8rem;opacity:.8}@media(max-width:768px){.category-filter{flex-direction:column;align-items:stretch}.category-buttons{width:100%}.category-btn{flex:1;min-width:0}}.tool-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000001a;transition:all .2s ease;cursor:pointer;border:1px solid #f3f4f6;display:flex;gap:12px;height:100%}.tool-card-icon{width:40px;height:40px;border-radius:6px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;flex-shrink:0;overflow:hidden}.tool-card-icon img{width:100%;height:100%;object-fit:cover;border-radius:6px}.tool-card-icon-fallback{font-size:1.2rem;font-weight:600;color:#fff}.tool-card-content{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.tool-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.tool-card-header{display:flex;align-items:flex-start;gap:8px}.tool-card-title{margin:0;font-size:1.1rem;font-weight:600;color:#1f2937;flex:1;line-height:1.4}.tool-card-description{margin:0;color:#6b7280;font-size:.875rem;line-height:1.6;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tool-card-footer{display:flex;align-items:center;padding-top:12px;border-top:1px solid #f3f4f6;margin-top:auto}.tool-card-category{background:#f3f4f6;color:#6b7280;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:500}@media(max-width:768px){.tool-card{padding:16px}.tool-card-title{font-size:1rem}.tool-card-description{font-size:.8rem}}.app{min-height:100vh;background:#fafafa}.app-layout{display:flex;margin-top:128px}.app-main{flex:1;margin-left:200px;min-height:calc(100vh - 80px)}.app-main.no-sidebar{margin-left:0}.app-container{max-width:1400px;margin:0 auto;padding:24px 20px 40px}.filters-section{margin-bottom:32px;display:flex;flex-direction:column;gap:16px}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.empty-state{text-align:center;padding:60px 20px;color:#6b7280}.empty-state p{margin:8px 0;font-size:1rem}.empty-hint{font-size:.9rem!important;color:#9ca3af}@media(max-width:1024px){.app-main{margin-left:0}}@media(max-width:768px){.app-layout{margin-top:114px}}@media(max-width:768px){.app-container{padding:20px 16px 32px}.tools-grid{grid-template-columns:1fr;gap:16px}.filters-section{margin-bottom:24px;gap:12px}}@media(min-width:769px)and (max-width:1024px){.tools-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}}
