:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:#05060a;margin:0}h1,p{margin:0}:root{--bg:#05060a;--bg-elevated:#0e1220;--bg-elevated-2:#141a2c;--border:#ffffff14;--border-strong:#ffffff29;--text:#f4f6fb;--text-secondary:#99a1ba;--text-tertiary:#5c6280;--accent-start:#22d3ee;--accent-end:#a855f7;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--warning-bg:#f59e0b24;--warning-text:#fbbf24;--warning-border:#f59e0b47;--error:#f87171}.app{max-width:480px;min-height:100dvh;padding:env(safe-area-inset-top) 18px env(safe-area-inset-bottom);background:var(--bg);color:var(--text);background-image:radial-gradient(560px 320px at 12% -6%,#22d3ee24,#0000),radial-gradient(480px 300px at 100% 8%,#a855f71f,#0000);background-attachment:fixed;flex-direction:column;margin:0 auto;display:flex}.app-header{text-align:center;padding:28px 0 16px}.brand{justify-content:center;align-items:center;gap:10px;display:flex}.app-header h1{letter-spacing:-.02em;background:linear-gradient(135deg,#fff,#c7ccdb);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.4rem;font-weight:700}.subtitle{color:var(--text-secondary);margin:6px 0 0;font-size:.8rem}.screen{flex-direction:column;flex:1;gap:16px;display:flex}.capture-screen,.processing-screen{text-align:center;justify-content:center;align-items:center}.processing-screen p{letter-spacing:.02em;color:var(--accent-start);font-family:ui-monospace,SF Mono,monospace;font-size:.78rem}.primary-button,.secondary-button{cursor:pointer;border:none;border-radius:14px;min-height:48px;padding:14px 20px;font-size:1rem;transition:transform .15s,box-shadow .15s,opacity .15s}.primary-button:active,.secondary-button:active{transform:scale(.97)}.primary-button{background:var(--accent-gradient);color:#06070c;font-weight:700;box-shadow:0 8px 24px -8px #22d3ee73,0 8px 24px -10px #a855f759}.secondary-button{color:var(--text);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d}.primary-button:disabled{color:var(--text-tertiary);box-shadow:none;cursor:not-allowed;background:#ffffff14}.primary-button:disabled:active{transform:none}.actions{gap:12px;padding:12px 0 20px;display:flex}.actions .primary-button,.actions .secondary-button{flex:1}.preview-frame{background:var(--accent-gradient);border-radius:18px;width:100%;max-width:320px;padding:3px;box-shadow:0 12px 32px -14px #22d3ee59}.preview-thumb{object-fit:cover;background:var(--bg-elevated);border-radius:15px;width:100%;max-height:200px;display:block}.spinner{background:conic-gradient(from 0deg, var(--accent-start), var(--accent-end), transparent 100%);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 4px))}@keyframes spin{to{transform:rotate(360deg)}}.error-text{color:var(--error);font-size:.9rem}.empty-notice{color:var(--text-secondary);text-align:center;font-size:.9rem}.raw-ocr{color:var(--text-secondary);margin-bottom:16px;font-size:.8rem}.raw-ocr summary{cursor:pointer}.raw-ocr-body{flex-direction:column;gap:8px;margin-top:8px;display:flex}.copy-button{border:1px solid var(--border-strong);color:var(--text);cursor:pointer;background:#ffffff0d;border-radius:10px;align-self:flex-start;padding:8px 14px;font-size:.8rem}.raw-ocr textarea{box-sizing:border-box;white-space:pre-wrap;word-break:break-word;background:var(--bg-elevated);border:1px solid var(--border);color:#c7cce0;resize:none;border-radius:10px;width:100%;padding:10px;font-family:ui-monospace,monospace;font-size:.78rem}.field-list{border:1px solid var(--border);background:#ffffff08;border-radius:18px;flex-direction:column;gap:10px;padding:16px;display:flex;overflow-y:auto}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:.75rem;display:flex}.badge{color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-border);text-transform:none;letter-spacing:normal;border-radius:6px;padding:1px 7px;font-size:.66rem}.required-group{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;margin-bottom:4px;padding-bottom:14px;display:flex}.validation-hint{color:var(--warning-text);margin:0;font-size:.78rem}.field input{border:1px solid var(--border);background:var(--bg-elevated-2);color:var(--text);border-radius:12px;padding:12px 14px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:var(--text-tertiary)}.field input:focus{border-color:var(--accent-start);outline:none;box-shadow:0 0 0 3px #22d3ee2e}.app-footer{justify-content:center;align-items:center;gap:14px;margin-top:auto;padding:28px 0 16px;display:flex}.footer-link{color:var(--text-tertiary);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:4px;font-size:.78rem;text-decoration:underline}.footer-link:hover{color:var(--text-secondary)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#020308b8;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modal{background:var(--bg-elevated);border:1px solid var(--border-strong);width:100%;max-width:480px;max-height:80dvh;padding:24px 20px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overflow-y:auto;box-shadow:0 -20px 60px -20px #0009}.modal h2{background:linear-gradient(135deg,#fff,#c7ccdb);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 16px;font-size:1.1rem}.modal-list{color:var(--text-secondary);flex-direction:column;gap:12px;margin:0 0 20px;padding-left:20px;font-size:.88rem;line-height:1.6;display:flex}.modal-list li::marker{color:var(--accent-start)}.modal .secondary-button{width:100%}
