*{-webkit-box-sizing:border-box;box-sizing:border-box}body,html{width:100%;min-height:100%;margin:0;padding:0;background:#f6f8fc;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input{font:inherit}#app,.home-page{width:100%;min-height:100vh}.home-page{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:16px}.home-card{width:100%;max-width:520px;padding:24px 16px;text-align:center}.home-title{margin:0 0 10px;color:#111827;font-size:28px;font-weight:700;line-height:1.25}.home-desc{margin:0 0 24px;color:#6b7280;font-size:15px;line-height:1.7}.file-selector{width:100%}.file-input{display:none}.upload-box{width:100%;min-height:210px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:10px;padding:28px 18px;border:2px dashed #b8c4d6;border-radius:18px;background:#fff;color:#111827;-webkit-box-shadow:0 12px 32px rgba(17,24,39,.06);box-shadow:0 12px 32px rgba(17,24,39,.06);cursor:pointer;-webkit-transition:border-color .2s ease,-webkit-transform .2s ease,-webkit-box-shadow .2s ease;transition:border-color .2s ease,-webkit-transform .2s ease,-webkit-box-shadow .2s ease;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease,-webkit-transform .2s ease,-webkit-box-shadow .2s ease;-webkit-tap-highlight-color:transparent}.upload-box:active{-webkit-transform:scale(.99);transform:scale(.99)}.upload-box:hover{border-color:#14b4b4;-webkit-box-shadow:0 16px 38px rgba(17,24,39,.09);box-shadow:0 16px 38px rgba(17,24,39,.09)}.upload-icon{width:58px;height:58px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;background:rgba(20,180,180,.12);color:#14b4b4;font-size:38px;font-weight:300;line-height:1}.upload-title{color:#111827;font-size:20px;font-weight:700}.upload-desc{max-width:320px;color:#6b7280;font-size:13px;line-height:1.6}.upload-action{margin-top:4px;padding:9px 22px;border-radius:999px;background:#14b4b4;color:#fff;font-size:14px;font-weight:600}.progress-wrap{width:100%;margin-top:18px}.progress-bar{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#e5e7eb}.progress-inner{height:100%;border-radius:inherit;background:#14b4b4;-webkit-transition:width .2s ease;transition:width .2s ease}.progress-text{margin-top:8px;color:#6b7280;font-size:13px}.status-text{margin-top:18px;padding:12px 14px;border-radius:12px;background:rgba(20,180,180,.1);color:#0f766e;font-size:14px;line-height:1.6;word-break:break-word}.status-text.error{background:rgba(239,68,68,.1);color:#b91c1c}@media(max-width:480px){.home-page{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;padding:22px 14px}.home-card{padding:28px 0 0}.home-title{font-size:25px}.home-desc{margin-bottom:20px;font-size:14px}.upload-box{min-height:190px;padding:24px 14px;border-radius:16px}.upload-title{font-size:19px}}@media(prefers-color-scheme:dark){body,html{background:#111827}.home-title,.upload-box,.upload-title,body,html{color:#f9fafb}.home-desc,.progress-text,.upload-desc{color:#9ca3af}.upload-box{border-color:#374151;background:#1f2937;-webkit-box-shadow:none;box-shadow:none}.progress-bar{background:#374151}}