:root{color:#243b34;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--muted:#53665e;--accent:#22543d;--border:#c5cec5;background:#f5f6f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button,input[type=file]{min-height:48px}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline-offset:4px;outline:3px solid #977000}h1,h2,h3,p{margin:0}.app-shell{width:min(100% - 48px,1000px);margin:0 auto}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:28px 0;display:flex}.wordmark{letter-spacing:-1.5px;color:var(--accent);font-size:30px;font-weight:800;text-decoration:none}.wordmark span{color:#95720b}.model-badge{border:1px solid var(--border);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600}main{padding:48px 0 24px}.intro{margin-bottom:28px}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;color:var(--accent);font-size:12px;font-weight:700}h1{letter-spacing:-1.8px;margin:12px 0;font-size:clamp(36px,6vw,52px);line-height:1.15}.intro>p:last-child{color:var(--muted);font-size:18px;line-height:1.6}.processing-notice{color:#58491e;background:#faf5e5;border:1px solid #d2c392;border-radius:12px;margin-bottom:24px;padding:18px 20px;font-size:14px;line-height:1.6}.processing-notice p{margin-top:3px}.check-layout{border:1px solid var(--border);background:#fff;border-radius:18px;grid-template-columns:1.1fr 1fr;display:grid;overflow:hidden}.upload-panel,.result-panel{min-width:0;padding:28px}.upload-panel{border-right:1px solid var(--border)}.section-heading{align-items:center;gap:12px;margin-bottom:24px;display:flex}.step{color:var(--accent);background:#edf2e9;border-radius:7px;padding:8px;font-size:12px;font-weight:700}h2{letter-spacing:-.3px;font-size:19px}.preview{background:#f5f6f1;border:1px dashed #86978b;border-radius:12px;justify-content:center;align-items:center;height:265px;margin-bottom:22px;display:flex;overflow:hidden}.preview.has-image{border-style:solid}.preview img{object-fit:contain;width:100%;height:100%}.empty-preview{text-align:center;padding:16px}.receipt-symbol{color:#53665e;margin-bottom:12px;font-size:42px;display:block}.empty-preview strong{font-size:15px}.empty-preview p{color:var(--muted);margin-top:8px;font-size:14px;line-height:1.6}label{margin-bottom:8px;font-size:14px;font-weight:650;display:block}input[type=file]{width:100%;color:var(--muted);font-size:13px}input::file-selector-button{font:inherit;color:var(--accent);cursor:pointer;background:#fff;border:1px solid #86978b;border-radius:8px;min-height:48px;margin-right:10px;padding:12px 14px;font-weight:600}.help{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.6}.file-name{overflow-wrap:anywhere;margin-top:12px;font-size:13px}.preparing{color:var(--muted);margin-top:12px;font-size:14px}.panel-description{color:var(--muted);margin-bottom:24px;font-size:15px;line-height:1.7}.retry-button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;width:100%;margin-top:24px;padding:13px 18px;font-weight:650}.retry-button:hover{background:#143c29}.result-region{margin-top:24px;font-size:14px;line-height:1.6}.waiting{color:var(--muted);border-top:1px solid var(--border);padding-top:14px}.result{background:#f0f5ec;border:1px solid #a8bdaa;border-radius:12px;padding:20px}.result-not_receipt,.result-uncertain{background:#faf5e5;border-color:#d2c392}h3{margin:8px 0;font-size:20px;line-height:1.35}.error{color:#8f2c24;background:#fff2f0;border:1px solid #dda59f;border-radius:10px;margin-top:16px;padding:16px;font-size:14px;line-height:1.6}.footer-note{text-align:center;color:var(--muted);margin:24px 0;font-size:12px;line-height:1.6}@media (width<=700px){.app-shell{width:min(100% - 32px,500px)}.app-header{padding:20px 0}main{padding-top:32px}.check-layout{grid-template-columns:1fr}.upload-panel,.result-panel{padding:22px}.upload-panel{border-right:0;border-bottom:1px solid var(--border)}.preview{height:240px}}
