.idphoto-hero{background:linear-gradient(to bottom,var(--bg-white) 0%,var(--bg-gray) 100%);border-bottom:1px solid var(--border);padding:60px 20px 48px;text-align:center}.idphoto-hero .hero-title{font-size:2.2rem;font-weight:800;color:var(--dark);margin:0 0 12px;line-height:1.3}.idphoto-hero .hero-title span{color:var(--primary)}.idphoto-hero .hero-desc{font-size:1.15rem;color:var(--text-main);margin:0 0 8px}.idphoto-hero .hero-desc strong{color:var(--dark)}.idphoto-hero .hero-sub{font-size:.95rem;color:var(--text-muted);margin:0 0 40px}.idphoto-app{display:flex;gap:24px;max-width:1200px;margin:0 auto;padding:24px 20px 60px;align-items:stretch}.settings-panel{width:360px;min-width:320px;flex-shrink:0;display:flex;flex-direction:column}.panel-section{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);border:1px solid var(--border);display:flex;flex-direction:column}.panel-title{display:flex;gap:8px;font-size:1.05rem;font-weight:700;margin:0 0x;align-items:center;gap:6px;font-size:.88rem;font-weight:600;color:var(--dark);margin-bottom:10px}.format-select{width:100%;padding:10px 36px 10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-white);color:var(--dark);font-size:.9rem;font-weight:500;outline:none;cursor:pointer;transition:border-color .2s;font-family:inherit;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2366666e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.format-select:focus{border-color:var(--primary)}.gpu-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:6px;line-height:1.6}.env-banner{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--card-bg, #fff);font-size:.82rem;line-height:1.5;color:var(--text-main)}.env-status{display:flex;align-items:center;gap:8px}.env-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#9ca3af}.env-banner[data-state=loading] .env-dot{background:#f59e0b;animation:env-pulse 1s ease-in-out infinite}.env-banner[data-state=ready] .env-dot{background:#16a34a}.env-banner[data-state=error] .env-dot{background:#dc2626}@keyframes env-pulse{0%,to{opacity:1}50%{opacity:.35}}.env-text{flex:1;word-break:break-all}.size-limit-row{display:flex;align-items:center;gap:8px}.size-separator{color:var(--text-muted);font-weight:500}.size-limit-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-white);color:var(--dark);font-size:.9rem;font-weight:500;outline:none;transition:border-color .2s;text-align:center;font-family:inherit}.size-limit-input:focus{border-color:var(--primary)}.bg-color-options{display:flex;gap:10px;flex-wrap:wrap}.bg-color-btn{width:48px;height:48px;border:2px solid var(--border);border-radius:10px;background:transparent;padding:4px;cursor:pointer;transition:var(--transition);position:relative}.bg-color-btn:hover{border-color:var(--primary)}.bg-color-btn.active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.color-preview{width:100%;height:100%;border-radius:6px}.keep-preview{background:repeating-linear-gradient(45deg,#ccc 0 5px,#fff 5px 10px)}.transparent-preview{background:repeating-conic-gradient(#ccc 0% 25%,#fff 0% 50%) 50% / 12px 12px}.custom-color-input{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer}.custom-preview{background:#438edb}.settings-scroll{height:350px;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;margin-right:-6px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.settings-scroll::-webkit-scrollbar{width:6px}.settings-scroll::-webkit-scrollbar-track{background:transparent}.settings-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.settings-scroll::-webkit-scrollbar-thumb:hover{background:var(--primary)}.settings-scroll .field-group:last-child{margin-bottom:0}@media(max-width:860px){.settings-scroll{grid-column:1 / -1}}@media(max-width:640px){.settings-scroll{height:340px}}.guide-toggle{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;color:var(--dark);cursor:pointer;user-select:none;line-height:1.5}.guide-toggle input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.quality-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:var(--border);outline:none;margin:0}.quality-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 2px 8px #0052ff59;border:3px solid white;transition:box-shadow .2s}.quality-slider::-webkit-slider-thumb:hover{box-shadow:0 2px 14px #0052ff80}.quality-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 2px 8px #0052ff59;border:3px solid white}.range-with-value{display:flex;align-items:center;gap:12px}.range-with-value .quality-slider{flex:1}.range-value{flex:0 0 48px;text-align:right;font-size:.82rem;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums}.bg-seg{display:flex;gap:6px}.bg-seg button{flex:1;padding:9px 4px;border:1px solid var(--border);background:var(--bg-white);color:var(--text-main);border-radius:10px;font-size:.82rem;cursor:pointer;transition:var(--transition);font-family:inherit}.bg-seg button:hover{border-color:var(--primary);color:var(--primary)}.bg-seg button.active{background:var(--primary);border-color:var(--primary);color:#fff}.btn-convert{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:var(--transition);margin:8px 0 20px;font-family:inherit}.btn-convert:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #10b98166}.btn-convert:active:not(:disabled){transform:translateY(0)}.btn-convert:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.btn-action{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-white);color:var(--text-muted);font-size:.88rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit}.btn-action:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.btn-action:active:not(:disabled){transform:scale(.97)}.btn-action:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-change-image{width:100%;margin-bottom:0;margin-top:16px}.progress-wrap{position:fixed;top:0;left:0;right:0;height:4px;background:#009eff1f;border-radius:0;overflow:hidden;display:none;z-index:99999;pointer-events:none;box-shadow:0 1px 3px #00000026}.progress-wrap.visible{display:block}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--primary),#00a2ff);border-radius:0;transition:width .2s ease}.main-area{flex:1;min-width:0;display:flex;flex-direction:column;gap:20px}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);background:var(--card-bg);padding:60px 24px;text-align:center;cursor:pointer;transition:var(--transition);flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.upload-zone:hover,.upload-zone.dragover{border-color:var(--primary);background:var(--primary-light)}.upload-zone .upload-icon{width:80px;height:80px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--primary)}.upload-zone .upload-title{font-size:1.1rem;font-weight:600;color:var(--dark);margin:0 0 8px}.upload-zone .upload-sub{font-size:.9rem;color:var(--text-muted);margin:0;line-height:1.8}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:620px){.preview-grid{grid-template-columns:1fr}}.preview-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}.preview-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.preview-label{font-size:.85rem;font-weight:700;color:var(--text-main)}.preview-meta{font-size:.75rem;color:var(--text-muted)}.preview-body{position:relative;display:flex;align-items:center;justify-content:center;min-height:280px;background:var(--bg-gray);padding:12px}.preview-body canvas{max-width:100%;max-height:460px;border-radius:8px;box-shadow:0 4px 16px #00000014}.status-log{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;max-height:200px;overflow-y:auto;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.8rem;line-height:1.6}.log-line{color:var(--text-muted);word-break:break-all}.log-line .t{color:var(--text-muted);opacity:.7}.log-line.ok{color:#16a34a}.log-line.warn{color:#d97706}.log-line.error{color:#dc2626}.log-line.info{color:var(--text-main)}.idphoto-info{background:var(--bg-gray);border-top:1px solid var(--border);padding:60px 20px 80px}.idphoto-info .container{max-width:1200px;margin:0 auto}.faq-section{max-width:800px;margin:0 auto}.spec-presets{margin:56px auto 40px}.spec-presets-title{font-size:1.5rem;font-weight:800;color:var(--dark);text-align:center;margin:0 0 8px}.spec-presets-sub{font-size:.9rem;color:var(--text-muted);text-align:center;margin:0 0 28px}.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.spec-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 16px;cursor:pointer;transition:var(--transition)}.spec-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:var(--primary)}.spec-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.spec-title{font-size:1rem;font-weight:700;color:var(--dark);margin:0}.spec-tag{flex-shrink:0;font-size:.72rem;font-weight:600;color:var(--primary);background:var(--primary-light);border-radius:99px;padding:2px 10px}.spec-size{font-size:1.05rem;font-weight:700;color:var(--primary);margin:0 0 2px}.spec-pixel{font-size:.85rem;color:var(--text-main);margin:0 0 10px;font-variant-numeric:tabular-nums}.spec-note{font-size:.78rem;color:var(--text-muted);line-height:1.6;margin:0}@media(max-width:900px){.spec-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.spec-presets{margin-top:40px}.spec-grid{grid-template-columns:1fr}.spec-card{padding:16px 14px}}.faq-title{font-size:1.5rem;font-weight:800;color:var(--dark);text-align:center;margin:0 0 32px}.faq-item{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:12px;overflow:hidden;transition:border-color .2s}.faq-item:hover{border-color:var(--primary)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border:none;background:transparent;cursor:pointer;text-align:left;font-size:.95rem;font-weight:600;color:var(--dark);line-height:1.5;transition:color .2s;font-family:inherit}.faq-question:hover{color:var(--primary)}.faq-arrow{flex-shrink:0;color:var(--text-muted);transition:transform .3s ease}.faq-item.open .faq-arrow{transform:rotate(180deg);color:var(--primary)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease}.faq-item.open .faq-answer{max-height:320px}.faq-answer p{padding:0 20px 18px;font-size:.9rem;color:var(--text-muted);line-height:1.7;margin:0}@media(max-width:1024px){.idphoto-app{max-width:100%;gap:16px;padding:20px 16px 48px}.settings-panel{width:320px;min-width:280px}}@media(max-width:860px){.idphoto-app{flex-direction:column;padding:16px 12px 48px;align-items:stretch}.settings-panel{width:100%;min-width:0;position:static;order:2}.main-area{order:1;min-height:220px}.upload-zone{order:1;min-height:200px}.settings-panel .panel-section{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-panel .panel-title,.settings-panel .field-group:first-of-type,.settings-panel .btn-convert,.settings-panel .btn-change-image{grid-column:1 / -1}}@media(max-width:640px){.idphoto-app{padding:12px 10px 40px;gap:12px}.panel-section{padding:16px;border-radius:var(--radius-md)}.settings-panel .panel-section{grid-template-columns:1fr}.upload-zone{padding:28px 16px;min-height:200px}.upload-zone .upload-icon{width:60px;height:60px;margin-bottom:16px}.upload-zone .upload-icon svg{width:32px;height:32px}.upload-zone .upload-title{font-size:.95rem}.upload-zone .upload-sub{font-size:.8rem}.bg-color-btn{width:42px;height:42px}.preview-body{min-height:240px}}@media(max-width:380px){.idphoto-app{padding:10px 8px 36px}.panel-section{padding:14px 12px}}@media(max-width:640px){.idphoto-hero{padding:40px 16px 32px}.idphoto-hero .hero-title{font-size:1.5rem}.idphoto-hero .hero-desc{font-size:1rem}.idphoto-info{padding:40px 16px 60px}.faq-title{font-size:1.25rem}.faq-question{padding:14px 16px;font-size:.9rem}.faq-answer p{padding:0 16px 14px;font-size:.85rem}}
