:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#111827;background-color:#f3f4f6}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#e0f2fe 0,#f9fafb 55%,#e5e7eb)}#app{max-width:1120px;margin:0 auto;padding:3rem 1.5rem 4rem}.app-header{text-align:center;margin-bottom:2.5rem;position:relative}.app-title{font-size:2.4rem;font-weight:700;letter-spacing:.03em;color:#111827;margin-bottom:.5rem}.app-subtitle{font-size:1rem;color:#4b5563;margin-bottom:1rem}.app-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.3rem}.badge{font-size:.75rem;padding:.25rem .6rem;border-radius:999px;background:#2563eb0f;color:#1d4ed8;border:1px solid rgba(37,99,235,.18)}.lang-switch{position:absolute;top:0;right:0;display:flex;gap:.25rem}.lang-btn{padding:.15rem .55rem;border-radius:999px;border:1px solid rgba(148,163,184,.7);background:#f9fafbe6;font-size:.75rem;color:#4b5563;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .08s ease}.lang-btn:hover{background-color:#e5edff;border-color:#4f46e5;transform:translateY(-.5px)}.lang-btn.active{background:linear-gradient(135deg,#2563eb,#4f46e5);border-color:transparent;color:#fff}.main-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr);gap:1.5rem;align-items:flex-start}@media(max-width:900px){.main-layout{grid-template-columns:minmax(0,1fr)}}.card{background:#fff;border-radius:1rem;padding:1.4rem 1.5rem;box-shadow:0 18px 40px #0f172a1f;border:1px solid rgba(148,163,184,.35)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-title{font-size:1.1rem;font-weight:600;color:#111827}.card-desc{font-size:.85rem;color:#6b7280}.scenario-presets{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.scenario-btn{padding:.3rem .75rem;border-radius:999px;border:1px solid rgba(148,163,184,.9);background-color:#f9fafb;font-size:.8rem;color:#374151;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;transition:background-color .12s ease,border-color .12s ease,transform .08s ease}.scenario-btn span{font-size:.7rem;color:#6b7280}.scenario-btn:hover{background-color:#e5edff;border-color:#4f46e5;transform:translateY(-.5px)}.scenario-btn.active{background:linear-gradient(135deg,#2563eb,#4f46e5);border-color:transparent;color:#fff}.scenario-btn.active span{color:#e5e7eb}.drop-area{position:relative;border-radius:.9rem;border:1.5px dashed #93c5fd;background:linear-gradient(120deg,#eff6fff2,#eff6ffcc,#dbeafef2);padding:1.6rem 1.4rem;text-align:center;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .12s ease}.drop-area.dragover{border-color:#2563eb;box-shadow:0 0 0 1.5px #2563eb66;transform:translateY(-1px)}.drop-title{font-size:1rem;font-weight:600;color:#111827;margin-bottom:.35rem}.drop-subtitle{font-size:.85rem;color:#6b7280;margin-bottom:.7rem}.drop-hint{font-size:.8rem;color:#9ca3af}.primary-text{color:#2563eb}.file-input{display:none}.controls-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.4fr);gap:.9rem;margin-top:1.2rem}@media(max-width:600px){.controls-grid{grid-template-columns:minmax(0,1fr)}}.field-group label{display:block;font-size:.8rem;font-weight:500;color:#4b5563;margin-bottom:.35rem}.field-row{display:flex;gap:.55rem;align-items:center}.input{flex:1;height:2.35rem;padding:0 .75rem;border-radius:.65rem;border:1px solid #d1d5db;font-size:.9rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;background-color:#f9fafb}.input:focus{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb33;background-color:#fff}.input-suffix{font-size:.8rem;color:#6b7280}.preset-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem}.chip{font-size:.75rem;padding:.2rem .6rem;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid rgba(59,130,246,.6);cursor:pointer;transition:background-color .13s ease,transform .08s ease}.chip:hover{background:#dbeafe;transform:translateY(-.5px)}.chip.secondary{background:#f3f4ff;border-color:#a5b4fc;color:#4f46e5}.toggle-row{display:flex;align-items:center;gap:.5rem;margin-top:.6rem}.toggle-label{font-size:.8rem;color:#4b5563}.privacy-hint{font-size:.75rem;color:#6b7280;margin-top:.35rem}.privacy-hint strong{color:#111827}.toggle{position:relative;width:38px;height:20px}.toggle input{opacity:0;width:0;height:0}.toggle-track{position:absolute;cursor:pointer;inset:0;background-color:#e5e7eb;border-radius:999px;transition:background-color .15s ease}.toggle-thumb{position:absolute;height:16px;width:16px;left:2px;top:2px;background-color:#fff;border-radius:999px;box-shadow:0 1px 3px #00000040;transition:transform .15s ease}.toggle input:checked+.toggle-track{background-color:#2563eb}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(18px)}.actions-row{display:flex;justify-content:space-between;align-items:center;margin-top:1.2rem;gap:.75rem}.progress{flex:1;font-size:.8rem;color:#6b7280}.progress-bar{position:relative;width:100%;height:6px;border-radius:999px;background-color:#e5e7eb;overflow:hidden;margin-top:.25rem}.progress-bar-fill{position:absolute;inset:0;width:0%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#4f46e5);transition:width .18s ease-out}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:.9rem;border:none;font-size:.9rem;font-weight:500;cursor:pointer;outline:none;transition:transform .09s ease,box-shadow .12s ease,background-color .15s ease}.btn-primary{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 12px 25px #2563eb66}.btn-primary:hover:not(:disabled){box-shadow:0 16px 32px #2563eb8c;transform:translateY(-1px)}.btn-primary:disabled{background:#9ca3af;box-shadow:none;cursor:default}.btn-ghost{background:transparent;color:#4b5563}.btn-ghost:hover:not(:disabled){background-color:#94a3b829}.btn-sm{padding:.4rem .7rem;border-radius:999px;font-size:.8rem}.btn-danger{color:#b91c1c}.btn-danger:hover:not(:disabled){background-color:#f871712e}.btn-icon{font-size:1rem}.btn-secondary{background:#0f172a;color:#e5e7eb;box-shadow:0 12px 26px #0f172aa6}.btn-secondary:hover:not(:disabled){background:#020617}.summary-chips{display:flex;flex-wrap:wrap;gap:.4rem}.summary-chip{font-size:.75rem;padding:.18rem .55rem;border-radius:999px;background:#f9fafb;border:1px dashed #d1d5db;color:#4b5563}.summary-chip strong{color:#111827}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.list-count{font-size:.8rem;color:#6b7280}.file-list{margin:0;padding:0;list-style:none;max-height:360px;overflow-y:auto;border-radius:.7rem;border:1px solid #e5e7eb;background:#f9fafb}.file-row{display:grid;grid-template-columns:54px minmax(0,1.7fr) minmax(0,1.5fr) auto;gap:.7rem;padding:.45rem .7rem;align-items:center;border-bottom:1px solid #e5e7eb;background:#fff}.file-row:nth-child(2n){background:#f9fafb}.file-thumb{width:48px;height:48px;border-radius:.6rem;object-fit:cover;background-color:#e5e7eb}.file-meta{min-width:0}.file-name{font-size:.85rem;font-weight:500;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-sub{font-size:.75rem;color:#6b7280}.file-result{font-size:.78rem;color:#4b5563}.file-size-ok{color:#16a34a;font-weight:500}.file-size-warn{color:#e11d48;font-weight:500}.status-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.16rem .5rem;border-radius:999px;font-size:.7rem}.status-pending{background-color:#fef3c7;color:#92400e}.status-success{background-color:#dcfce7;color:#166534}.status-error{background-color:#fee2e2;color:#b91c1c}.status-badge-dot{width:7px;height:7px;border-radius:999px;background-color:currentColor}.empty-hint{text-align:center;padding:1.3rem .8rem;font-size:.85rem;color:#9ca3af}.sidebar-section{margin-bottom:1.2rem}.sidebar-title{font-size:.9rem;font-weight:600;color:#111827;margin-bottom:.4rem}.sidebar-text{font-size:.8rem;color:#6b7280}.sidebar-list{padding-left:1rem;margin:.25rem 0 0;font-size:.8rem;color:#4b5563}.sidebar-list li+li{margin-top:.15rem}.sidebar-pill-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem}.sidebar-pill{font-size:.7rem;padding:.18rem .55rem;border-radius:999px;background-color:#eff6ff;color:#1d4ed8}.footer-note{margin-top:1.5rem;font-size:.75rem;color:#9ca3af;text-align:center}.footer-note strong{color:#4b5563}
