@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}:root{--max-width:1600px;--muted:#6b6f76;--card-bg:#ffffff;--glass:rgba(255,255,255,0.7);--accent:#a78bfa;--new:#ffffff}#root,body,html{height:100%;display:block;background:linear-gradient(120deg,#ffffff,#f6f8ff,#fff5f8,#ffffff);background-size:400% 400%;animation:gradientShift 18s ease infinite;color:#222;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:clamp(15px,1vw + .5rem,18px);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Open Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.container{max-width:var(--max-width);width:96vw;margin:20px auto 40px;padding:0 32px;box-sizing:border-box}.header{padding:4px 0 16px;border-bottom:1px solid rgba(0,0,0,.03)}.logo{display:flex;gap:12px;align-items:center}.logo-img{width:60px;height:auto}.logo-text h1{margin:0;font-size:25px;background:linear-gradient(270deg,#5b45d6,#ff6a00,#5b45d6,#32a852);background-size:800% 800%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradientShift 10s ease infinite}.logo-text p{margin:0;color:var(--muted);font-size:16px}.features{margin:20px 0 30px;display:flex;gap:26px;justify-content:center;flex-wrap:nowrap;width:100%}.feature{flex:1 1;background:var(--new);border-radius:14px;padding:18px;text-align:center;box-shadow:0 8px 30px rgba(15,23,42,.04)}.feature-icon{font-size:25px;margin-bottom:8px}.feature h4{margin:0 0 6px;font-size:16px}.feature p{margin:0;font-size:14px;color:var(--muted)}.main-grid{display:flex;flex-direction:column;align-items:center;gap:32px;width:100%}.upload-row{margin:0 auto 24px}.side-cards,.upload-row{display:flex;justify-content:center;align-items:stretch;gap:24px;width:100%;box-sizing:border-box;padding:0 16px;flex-wrap:wrap}.side-cards .help{flex:1 1;min-width:300px;background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.1);padding:20px;box-sizing:border-box}.card.output-card{flex:1 1;background:var(--new);border-radius:14px;padding:18px;text-align:center;box-shadow:0 8px 30px rgba(15,23,42,.04)}.card.upload-card{margin-bottom:32px;max-width:auto;width:100%}.helps{margin-top:20px;display:flex;gap:26px;margin-bottom:30px;flex-wrap:wrap}.help{flex:1 1 250px;background:var(--card-bg);border-radius:14px;padding:18px;text-align:left;box-shadow:0 8px 30px rgba(15,23,42,.04);min-width:250px;box-sizing:border-box}.help-icon{font-size:22px;margin-bottom:8px}.help h4{margin:0 0 6px;font-size:16px}.help p{margin:0;font-size:14px;color:var(--muted)}@media (max-width:600px){.helps{gap:10px}.help{flex:1 1 100%;min-width:auto}}.card{background:var(--new);border-radius:12px;padding:22px;box-shadow:10px 10px 30px rgba(2,6,23,.04);min-height:260px}.output-card h3,.upload-card h3{margin:0 0 6px}.muted{color:var(--muted);font-size:13px;margin-bottom:12px}.drop-area{margin-top:14px;border-radius:12px;border:2px dashed rgba(167,139,250,.45);background:linear-gradient(180deg,rgba(167,139,250,.04),rgba(167,139,250,.02));padding:28px 16px;text-align:center;cursor:pointer;transition:all .18s ease}.drop-area:hover{transform:translateY(-4px);box-shadow:0 8px 26px rgba(84,69,217,.06)}.drop-illustration{font-size:32px;margin-bottom:8px;opacity:.95}.drop-title{font-weight:600;color:#6b46c1;margin-bottom:6px}.drop-sub{color:var(--muted);font-size:13px;margin-bottom:10px}.file-types{font-size:12px;color:#9aa0ad;margin-top:8px}.take-photo-area{background:#f9f9f9;border-radius:12px;padding:28px 16px;margin-top:14px;min-height:220px;border:1px solid #eee}li{font-size:13px}.preview-container{margin-top:16px;text-align:center}.preview-container img{max-width:80%;max-height:240px;border-radius:8px;border:1px solid #eee;box-shadow:0 2px 12px rgba(130,130,160,.03)}.preview-caption{font-size:12px;color:#888;margin-top:4px}.upload-meta{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.selected{font-size:13px;color:var(--muted)}.actions{display:flex;gap:10px;align-items:center}.btn{font-family:inherit;border:none;border-radius:6px;padding:.55em 1.3em;font-size:1em;font-weight:500;background:linear-gradient(90deg,#007bff,#4f8cff 80%);color:#fff;box-shadow:0 2px 8px #0001;transition:background .2s,box-shadow .2s,transform .1s;cursor:pointer;outline:none;margin:0}.btn.ghost{background:linear-gradient(90deg,#f6f7fc,#e7ebfc);color:#2661c7;border:1.8px solid #d3e0f6;box-shadow:none}.btn.primary{background:linear-gradient(90deg,#007bff,#4f8cff 80%);color:#fff;border:none}.btn[disabled]{opacity:.55;cursor:not-allowed;background:#f0f0f4!important;color:#b4b4c1!important;border-color:#e0e0e0!important;box-shadow:none!important}.btn:hover:not(:disabled){background:linear-gradient(90deg,#0056b3,#2274d8);box-shadow:0 4px 16px #2274d840;transform:translateY(-1px) scale(1.03);color:#fff}.btn.ghost:hover:not(:disabled){background:#e7ebfc;color:#124091;border-color:#b4d4f8}.btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.progress-wrap{margin-top:14px;display:flex;align-items:center;gap:12px}.progress-bar{width:70%;height:8px;background:#f2f5ff;border-radius:8px;overflow:hidden}.progress{height:100%;background:linear-gradient(90deg,#d25cf6,#a78bfa);width:0;transition:width .18s linear}.progress-text{font-size:12px;color:var(--muted)}.output-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px;color:var(--muted);border-radius:10px;border:1px solid rgba(0,0,0,.03);margin-top:12px}.output-illustration{font-size:28px}.output-title{font-weight:600}.panel{margin-top:14px;background:#fbfbff;padding:12px;border-radius:10px;border:1px solid rgba(0,0,0,.03)}.pre-raw,.pre-refined{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Roboto Mono,monospace;color:#222;font-size:13px;margin:0;padding:8px}.panel-head{align-items:center;justify-content:space-between;margin-bottom:8px}.panel-actions,.panel-head{display:flex;gap:8px}.small-btn{background:transparent;border:1px solid rgba(0,0,0,.06);padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13px}.footer{margin-top:30px;text-align:center;color:var(--muted);font-size:13px;padding-top:20px;border-top:1px solid rgba(0,0,0,.03)}.legal{display:flex;gap:15px;justify-content:center}@media (max-width:900px){.main-grid{grid-template-columns:1fr}.features{flex-direction:column;gap:12px}}@keyframes loadingProgress{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}