@font-face{font-family:"bootstrap-icons";src:url("//cdn.jiexin.name/assets/vendor/bootstrap-icons/font/fonts/bootstrap-icons.woff2") format("woff2");font-display:block}:root{--imgtool-accent:#6f42c1;--imgtool-accent-2:#0d6efd}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'PingFang SC','Microsoft YaHei',sans-serif;background:#f7f8fb}.navbar{position:sticky;top:0;z-index:1030;box-shadow:0 2px 12px rgba(0,0,0,0.08)}.navbar-brand{display:inline-flex;align-items:center;gap:0.7rem;font-weight:700;font-size:1.4rem}.brand-mark{width:2.1rem;height:2.1rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.65rem;background:linear-gradient(135deg,var(--imgtool-accent) 0%,var(--imgtool-accent-2) 100%);color:#fff;font-size:1.05rem}.bg-primary{background:linear-gradient(135deg,#5a32a3 0%,#3b68d9 100%) !important}.hero{background:linear-gradient(135deg,#f3ecff 0%,#e9f1ff 100%);border-radius:1.5rem;padding:3rem 1.5rem;text-align:center}.hero h1{font-weight:800;color:#212529}.hero p{color:#56606f}.tool-card{transition:all 0.3s ease;border:none;box-shadow:0 2px 8px rgba(0,0,0,0.08);height:100%}.tool-card:hover{transform:translateY(-5px);box-shadow:0 10px 28px rgba(0,0,0,0.14)}.tool-card .card-body{padding:1.25rem 1.1rem}.tool-card .card-title{font-weight:600;font-size:1rem;margin-bottom:0.4rem}.tool-icon{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--imgtool-accent) 0%,var(--imgtool-accent-2) 100%);color:#fff;border-radius:12px;font-size:1.35rem;margin-bottom:0.9rem}.tool-icon-row{margin-right:1rem;margin-bottom:0;flex-shrink:0}.upload-zone{border:2px dashed #d3d8e3;border-radius:14px;padding:2.6rem 1.2rem;text-align:center;cursor:pointer;transition:all 0.3s;background:#fafbfd}.upload-zone:hover,.upload-zone.dragover{border-color:var(--imgtool-accent);background:#f3eeff}.upload-zone input[type="file"]{display:none}.upload-zone label{cursor:pointer;color:#7a8290;margin:0}.upload-zone label strong{color:#333;display:block;margin-bottom:0.25rem}.upload-note{color:#6c757d;font-size:0.93rem}.file-list .list-group-item{display:flex;justify-content:space-between;align-items:center;gap:0.75rem}.file-thumb{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid #eee;background:#fafafa}.file-meta{font-size:0.8rem;color:#8a92a0}.result-box{border:1px solid #eef0f4;border-radius:12px;padding:1rem;background:#fafbfd}.result-thumb{max-width:100%;max-height:220px;border-radius:10px;margin-bottom:0.6rem;border:1px solid #ececec}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:0.75rem}.metric{background:#f7f8fb;border-radius:10px;padding:0.75rem;text-align:center}.metric .metric-value{font-weight:700;font-size:1.05rem}.metric .metric-label{font-size:0.78rem;color:#8a92a0}.color-preview{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.color-swatch{width:64px;height:64px;border-radius:12px;border:1px solid #e3e3e3;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.6)}.palette-grid{display:flex;flex-wrap:wrap;gap:0.5rem}.palette-chip{width:46px;height:46px;border-radius:9px;border:1px solid #e3e3e3;cursor:pointer;position:relative}.palette-chip::after{content:attr(data-color);position:absolute;left:50%;transform:translateX(-50%);bottom:-1.4rem;font-size:0.66rem;color:#6c757d;white-space:nowrap}.crop-stage{position:relative;overflow:hidden;background:#f1f3f7;border:1px solid #e7e9ee;border-radius:12px;max-height:520px;user-select:none}.crop-stage img{display:block;max-width:100%}.crop-box{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px rgba(0,0,0,0.42),0 0 12px rgba(0,0,0,0.3);cursor:move}.crop-box .crop-handle{position:absolute;width:14px;height:14px;background:#fff;border:2px solid #6f42c1;border-radius:3px}.crop-handle.nw{left:-7px;top:-7px;cursor:nwse-resize}.crop-handle.ne{right:-7px;top:-7px;cursor:nesw-resize}.crop-handle.sw{left:-7px;bottom:-7px;cursor:nesw-resize}.crop-handle.se{right:-7px;bottom:-7px;cursor:nwse-resize}.preview-canvas{max-width:100%;border-radius:10px;border:1px solid #ececec;background:#fff}.btn-accent{background:linear-gradient(135deg,var(--imgtool-accent),var(--imgtool-accent-2));border:none;color:#fff}.btn-accent:hover{color:#fff;filter:brightness(1.05)}.section-heading{border-left:4px solid var(--imgtool-accent);padding-left:0.85rem;font-weight:700}.site-footer{background:#2b2f38;color:#fff;padding:40px 0 20px;margin-top:60px}.site-footer h5{font-weight:600;margin-bottom:1.5rem}.site-footer a{color:rgba(255,255,255,0.72);text-decoration:none;transition:color 0.2s}.site-footer a:hover{color:#fff}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:0.5rem}.footer-language-switcher{display:flex;flex-wrap:wrap;gap:0.75rem}.footer-language-link{display:inline-flex;align-items:center;justify-content:center;min-width:88px;padding:0.5rem 0.9rem;border:1px solid rgba(255,255,255,0.18);border-radius:999px;background:rgba(255,255,255,0.05);color:rgba(255,255,255,0.84) !important}.footer-language-link:hover{background:rgba(255,255,255,0.12);color:#fff !important}.footer-language-link-active{border-color:rgba(255,255,255,0.4);background:rgba(255,255,255,0.18);color:#fff !important}.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:20px;margin-top:30px;text-align:center}.imgtool-toast-container{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:9999;display:flex;flex-direction:column;align-items:center;gap:0.5rem;pointer-events:none}.imgtool-toast{background:rgba(33,37,41,0.92);color:#fff;padding:0.6rem 1.1rem;border-radius:999px;font-size:0.92rem;box-shadow:0 6px 20px rgba(0,0,0,0.18);transition:opacity 0.3s}.imgtool-toast.success{background:rgba(25,135,84,0.95)}.imgtool-toast.error{background:rgba(220,53,69,0.95)}.imgtool-toast.hide{opacity:0}.breadcrumb a{text-decoration:none}.feature-list{list-style:none;padding:0}.feature-list li{padding:0.5rem 0;padding-left:1.6rem;position:relative}.feature-list li::before{content:"✓";position:absolute;left:0;color:#28a745;font-weight:bold}.sitemap-section h2{border-left:4px solid var(--imgtool-accent);padding-left:0.85rem}@media (max-width:768px){.upload-zone{padding:1.8rem 0.8rem}.site-footer .row > div{margin-bottom:1.5rem}.hero{padding:2rem 1rem}}