:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f9fc;--bg-soft:#f8fafc;--panel:#fff;--panel-solid:#fff;--text:#172033;--muted:#667085;--line:#2c3e6224;--line-strong:#2563eb59;--primary:#2558d8;--primary-strong:#1d4ed8;--teal:#0f9f9a;--rose:#c94c74;--warning:#9a6700;--danger:#c62828;--success:#0b7a53;--shadow:0 8px 22px #0f235014;--button-text:#fff}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1220;--bg-soft:#101827;--panel:#141c2a;--panel-solid:#111827;--text:#eef4ff;--muted:#a5b4c8;--line:#becfee29;--line-strong:#60a5fa70;--primary:#6ea8fe;--primary-strong:#86b7ff;--teal:#2dd4bf;--rose:#fb7185;--warning:#f5c451;--danger:#ff8b8b;--success:#7be3b2;--shadow:0 8px 24px #0003;--button-text:#08111f}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--text);overscroll-behavior-y:contain;background:linear-gradient(145deg,#f8fafc 0%,#edf3f8 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}:root[data-theme=dark] body{background:linear-gradient(145deg,#0c111d 0%,#121a28 100%)}body:before,body:after{content:none;display:none}:root body.processing-lite,:root[data-theme=dark] body.processing-lite{background:var(--bg)}body.processing-lite:before,body.processing-lite:after{display:none}body.processing-lite *{transition-duration:0s!important;animation-play-state:paused!important}body.processing-lite .hero-panel,body.processing-lite .feedback-section,body.processing-lite .donation-card{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:var(--panel-solid)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.page-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:48px 0 28px}.hero-panel,.donation-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);contain:layout paint}.hero-panel{border-radius:8px;padding:28px}.top-bar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:28px;display:flex}.top-actions{flex:none;align-items:center;gap:10px;display:flex}.language-toggle{border:1px solid var(--line);background:var(--panel-solid);min-height:44px;color:var(--muted);white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.language-toggle button{min-height:32px;color:inherit;background:0 0;border:0;border-radius:6px;font-size:.9rem;font-weight:740}.language-toggle button.is-active{color:var(--button-text);background:linear-gradient(135deg, var(--primary), var(--teal))}.eyebrow{color:var(--teal);margin:0 0 10px;font-size:.82rem;font-weight:700}h1{letter-spacing:0;margin:0;font-size:clamp(2rem,5vw,4.2rem);line-height:1.04}.subtitle{max-width:720px;color:var(--muted);margin:16px 0 0;font-size:1.05rem;line-height:1.7}.workspace-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:18px;display:grid}.tool-surface,.status-surface,.settings-strip,.donation-card{border:1px solid var(--line);background:var(--bg-soft);border-radius:8px}.tool-surface,.status-surface{padding:18px}.upload-box{border:1.5px dashed var(--line-strong);background:linear-gradient(135deg, #2558d814, #0f9f9a0d), var(--bg-soft);text-align:center;border-radius:8px;place-items:center;min-height:244px;padding:28px;transition:border-color .12s;display:grid}.upload-box.is-dragging{border-color:var(--teal);background:linear-gradient(135deg, #2558d821, #0f9f9a1a), var(--bg-soft)}.upload-icon{border:1px solid var(--line);width:52px;height:52px;color:var(--primary);background:var(--panel-solid);border-radius:8px;justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.upload-title{margin:0 0 8px;font-size:1.1rem;font-weight:760}.upload-help,.file-meta,.fine-print,.hint-text{color:var(--muted);line-height:1.6}.upload-help{margin:0 0 16px}.hidden-input{display:none}.primary-button,.secondary-button,.icon-button,.choice-button,.download-button,.copy-button{border:1px solid #0000;border-radius:8px;min-height:44px;transition:color .12s,border-color .12s,background-color .12s}.primary-button,.download-button{width:100%;color:var(--button-text);background:linear-gradient(135deg, var(--primary), var(--teal));justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:760;display:inline-flex}.primary-button:hover:not(:disabled),.download-button:hover,.secondary-button:hover,.icon-button:hover,.choice-button:hover,.copy-button:hover{border-color:var(--line-strong)}.primary-button:disabled{opacity:.55}.secondary-button,.copy-button,.icon-button{color:var(--text);background:var(--panel-solid);border-color:var(--line);justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.icon-button{flex:none;width:46px}.file-card{border:1px solid var(--line);background:var(--panel-solid);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:12px;margin-top:14px;padding:14px;display:grid}.file-icon{border:1px solid var(--line);width:44px;height:44px;color:var(--primary);background:linear-gradient(135deg,#2558d81a,#0f9f9a14);border-radius:8px;place-items:center;display:grid}.file-content{min-width:0}.file-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0 0 3px;font-weight:740;overflow:hidden}.file-meta{margin:0;font-size:.9rem}.file-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.compact-button{white-space:nowrap;min-height:36px;padding:0 10px;font-size:.88rem}.upload-progress-block{gap:8px;margin-top:12px;display:grid}.upload-progress-label{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:.9rem;line-height:1.5;display:flex}.upload-progress-label strong{color:var(--primary)}.progress-track{border:1px solid var(--line);background:color-mix(in srgb, var(--muted) 12%, transparent);border-radius:999px;width:100%;height:8px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--teal));height:100%;display:block}.progress-fill.is-failed{background:var(--danger)}.section-title{margin:0 0 12px;font-size:1rem}.option-section{margin-top:18px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice-button{color:var(--text);text-align:left;background:var(--panel-solid);border-color:var(--line);justify-content:flex-start;align-items:center;gap:9px;padding:12px;display:flex}.choice-button span{gap:3px;display:grid}.choice-button strong{font-weight:760}.choice-button small{color:var(--muted);font-size:.78rem;line-height:1.35}.choice-button.is-selected{border-color:var(--primary);background:linear-gradient(135deg,#2558d824,#0f9f9a14)}.quality-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.settings-strip{gap:10px;margin-top:18px;padding:14px;display:grid}.toggle-row{color:var(--text);justify-content:space-between;align-items:center;gap:14px;display:flex}.toggle-row span{align-items:center;gap:8px;display:inline-flex}.switch{border:1px solid var(--line);background:var(--panel-solid);border-radius:999px;flex:none;width:48px;height:28px;position:relative}.switch:after{content:"";background:var(--muted);border-radius:999px;width:20px;height:20px;position:absolute;top:3px;left:3px}.switch.is-on{border-color:var(--primary);background:#2558d82e}.switch.is-on:after{background:var(--primary);left:23px}.action-row{gap:10px;margin-top:18px;display:grid}.retry-upload-button{width:100%;min-height:46px}.status-surface{flex-direction:column;min-height:100%;display:flex}.status-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.status-item{min-height:48px;color:var(--muted);pointer-events:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 0 10px 28px;display:grid;position:relative}.status-item:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;right:14px}.status-item:first-child:before{top:50%}.status-item:last-child:before{bottom:50%}.status-item.is-active{color:var(--text);font-weight:760}.status-item.is-complete{color:var(--success)}.status-item.is-failed{color:var(--danger)}.status-label{min-width:0}.status-icon{z-index:1;border:1px solid var(--line);width:30px;height:30px;color:var(--muted);background:var(--panel-solid);border-radius:999px;place-items:center;display:grid}.status-item.is-active .status-icon{color:var(--primary);border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 14%, transparent)}.status-item.is-complete .status-icon{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, transparent)}.status-item.is-failed .status-icon{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.message-box{border:1px solid var(--line);background:var(--panel-solid);color:var(--muted);border-radius:8px;margin-top:16px;padding:12px 14px;line-height:1.6}.message-box p{margin:8px 0 0}.message-box.error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:color-mix(in srgb, var(--danger) 8%, var(--panel-solid))}.message-box.error p,.message-box.error ul{margin:8px 0 0}.message-box.error ul{padding-left:18px}.message-box.warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 40%, transparent)}.download-zone{margin-top:auto;padding-top:18px}.result-card{border:1px solid var(--line);background:var(--panel-solid);border-radius:8px;gap:10px;margin-top:16px;padding:14px;display:grid}.result-card h3,.result-card p,.result-grid{margin:0}.result-card h3{font-size:1rem}.result-card p{color:var(--muted);line-height:1.6}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.result-grid div{border:1px solid var(--line);background:var(--bg-soft);border-radius:8px;min-width:0;padding:10px}.result-grid dt{color:var(--muted);font-size:.82rem}.result-grid dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:760}.download-button{min-height:48px;text-decoration:none}.donation-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:18px;padding:20px;display:grid}.donation-card h2{align-items:center;gap:8px;margin:0 0 8px;font-size:1.15rem;display:inline-flex}.donation-card p{color:var(--muted);margin:0;line-height:1.7}.address-box{gap:10px;margin-top:14px;display:grid}.address-line{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.mono-value{overflow-wrap:anywhere;min-width:0;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.qr-box{border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;width:190px;height:232px;padding:10px;display:grid}.qr-box img{object-fit:contain;width:100%;height:100%}.site-footer{color:var(--muted);text-align:center;padding:20px 4px 0;font-size:.92rem}.footer-links{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:10px;display:flex}.footer-links a{color:var(--primary);text-decoration:none}.footer-links a:hover{text-decoration:underline}.legal-page{width:min(860px,100% - 32px);margin:0 auto;padding:48px 0}.legal-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);contain:layout paint;border-radius:8px;padding:28px}.legal-card h1{font-size:clamp(1.9rem,5vw,3rem)}.legal-card h2{margin:26px 0 8px;font-size:1.1rem}.legal-card p,.legal-card li{color:var(--muted);line-height:1.8}.legal-card a{color:var(--primary)}.legal-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.feedback-section{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);contain:layout paint;border-radius:8px;margin-top:18px;padding:22px}.feedback-heading h2{align-items:center;gap:8px;margin:0;font-size:1.3rem;display:inline-flex}.feedback-heading p{color:var(--muted);margin:8px 0 0;line-height:1.6}.feedback-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.82fr);gap:20px;margin-top:20px;display:grid}.feedback-list{contain:layout paint;align-content:start;gap:10px;min-width:0;display:grid}.feedback-item{border:1px solid var(--line);background:var(--panel-solid);border-radius:8px;min-width:0;padding:14px}.feedback-meta,.feedback-author{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;display:flex}.feedback-stars{color:#d28a00;display:inline-flex}.sample-label{border:1px solid var(--line);color:var(--teal);border-radius:6px;padding:2px 6px}.feedback-message{overflow-wrap:anywhere;white-space:pre-wrap;margin:10px 0;line-height:1.65}.feedback-author{justify-content:space-between}.feedback-author strong{color:var(--text)}.feedback-empty,.admin-state{color:var(--muted);margin:0;padding:24px 0;line-height:1.6}.feedback-form,.admin-login{border:1px solid var(--line);background:var(--bg-soft);border-radius:8px;align-content:start;gap:14px;min-width:0;padding:16px;display:grid}.feedback-field{gap:7px;min-width:0;display:grid}.feedback-field label,.feedback-rating legend,.admin-login label{font-size:.9rem;font-weight:730}.feedback-field input,.feedback-field select,.feedback-field textarea,.admin-login input{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--text);background:var(--panel-solid);border-radius:8px;outline:0;padding:10px 12px}.feedback-field textarea{resize:vertical;min-height:104px;line-height:1.5}.feedback-field input:focus,.feedback-field select:focus,.feedback-field textarea:focus,.admin-login input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent)}.feedback-message-field{position:relative}.feedback-message-field>span{color:var(--muted);font-size:.76rem;position:absolute;bottom:8px;right:10px}.feedback-rating{border:0;gap:6px;margin:0;padding:0;display:grid}.feedback-rating>div{gap:3px;display:flex}.feedback-rating button{width:36px;height:36px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.feedback-rating button.is-active{color:#d28a00}.feedback-notice{border:1px solid color-mix(in srgb, var(--success) 38%, transparent);color:var(--success);background:color-mix(in srgb, var(--success) 7%, var(--panel-solid));border-radius:8px;margin:0;padding:10px 12px;line-height:1.5}.feedback-notice.error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 38%, transparent);background:color-mix(in srgb, var(--danger) 7%, var(--panel-solid))}.comment-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.admin-page{width:min(1040px,100% - 32px);margin:0 auto;padding:40px 0}.admin-shell{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);contain:layout paint;border-radius:8px;padding:24px}.admin-toolbar,.admin-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-toolbar{margin-bottom:22px}.admin-toolbar a{color:var(--primary)}.admin-heading h1{font-size:clamp(1.8rem,4vw,2.7rem)}.admin-login{width:min(420px,100%);margin-top:24px}.admin-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:24px;display:grid}.admin-tabs button{border:1px solid var(--line);min-width:0;min-height:44px;color:var(--text);background:var(--panel-solid);border-radius:8px;padding:8px 10px}.admin-tabs button.is-active{color:var(--button-text);background:linear-gradient(135deg, var(--primary), var(--teal));border-color:#0000}.admin-tabs span{background:color-mix(in srgb, currentColor 12%, transparent);border-radius:999px;place-items:center;min-width:22px;height:22px;margin-left:4px;font-size:.78rem;display:inline-grid}.admin-comments-list{gap:10px;margin-top:14px;display:grid}.admin-comment{border:1px solid var(--line);background:var(--panel-solid);border-radius:8px;min-width:0;padding:16px}.admin-comment-meta{color:var(--muted);flex-wrap:wrap;gap:8px 12px;font-size:.85rem;display:flex}.admin-comment-meta strong{color:var(--text)}.admin-comment p{overflow-wrap:anywhere;white-space:pre-wrap;margin:12px 0;line-height:1.65}.admin-comment time{color:var(--muted);font-size:.82rem}.admin-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.admin-action{border:1px solid var(--line);min-height:38px;color:var(--text);background:var(--bg-soft);border-radius:8px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.admin-action.approve{color:var(--success)}.admin-action.reject,.admin-action.delete{color:var(--danger)}.spin{transform:none}@media (max-width:840px){:root body,:root[data-theme=dark] body{background:var(--bg)}.page-shell{width:min(100% - 24px,680px);padding-top:22px}.hero-panel{padding:18px}.top-bar,.donation-card{grid-template-columns:1fr}.top-bar{flex-wrap:wrap;align-items:center}.top-actions{justify-content:space-between;width:100%}.language-toggle{max-width:calc(100vw - 96px)}.workspace-grid{grid-template-columns:1fr}.feedback-section{padding:18px}.feedback-layout,.choice-grid,.quality-row,.file-card,.file-heading{grid-template-columns:1fr}.file-heading{display:grid}.file-actions{grid-template-columns:1fr 1fr;justify-content:stretch;display:grid}.compact-button{width:100%}.result-grid,.address-line{grid-template-columns:1fr}.qr-box{justify-self:center;width:180px;height:220px}.legal-toolbar{flex-direction:column;align-items:flex-start}.admin-page{width:min(100% - 24px,680px);padding:20px 0}.admin-shell{padding:18px}.admin-toolbar,.admin-heading{flex-direction:column;align-items:flex-start}.admin-toolbar .top-actions,.admin-heading .secondary-button{width:100%}.admin-tabs button{font-size:.82rem}.admin-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-action{justify-content:center}}
