:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8f7f4;--panel:#fff;--ink:#1c1b19;--muted:#77736b;--line:#e3e0d8;--accent:#1c1b19;--accent-ink:#fff;--warm:#c2401c;--viewer:#f0eee9;--serif:Georgia, "Iowan Old Style", "Times New Roman", serif;--mono:ui-monospace, "SF Mono", Consolas, monospace}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);min-height:100dvh;color:var(--ink);padding:env(safe-area-inset-top,0) 0 env(safe-area-inset-bottom,0);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.55}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-shell{flex-direction:column;width:min(100%,620px);min-height:100dvh;margin:0 auto;padding:20px clamp(16px,5vw,28px) 36px;display:flex}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:inline-flex}.brand-logo{width:70px;height:50px;color:var(--ink);flex:none;justify-content:center;align-items:center;display:inline-flex}.brand-logo svg{width:100%;height:100%;display:block}.brand-text{flex-direction:column;gap:3px;min-width:0;display:flex}.brand h1{font:600 2.2rem/1 var(--serif);letter-spacing:-.01em;margin:0}.brand small{color:var(--muted);font:400 .9rem/1.2 var(--mono)}.top-actions{flex:none;align-items:center;gap:10px;display:flex}.language-switcher{border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;padding:3px;display:inline-flex}.language-switcher button{min-width:48px;min-height:42px;color:var(--muted);font:600 .9rem var(--mono);background:0 0;border:0;border-radius:999px;padding:0 12px}.language-switcher button.active{background:var(--accent);color:var(--accent-ink)}.qr-button{border:1px solid var(--ink);min-width:56px;min-height:46px;color:var(--ink);font:600 .95rem var(--mono);background:0 0;border-radius:999px;padding:0 14px}.flow-card{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:stretch;padding:48px 0 32px;display:flex}.step-label{color:var(--muted);font:600 .74rem var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}.flow-card h2{max-width:18ch;font:600 clamp(1.8rem, 8vw, 2.5rem)/1.08 var(--serif);letter-spacing:-.025em;margin:0 auto}.flow-help{max-width:36ch;color:var(--muted);margin:14px auto 28px;font-size:.96rem}.action-button{border-radius:12px;width:100%;min-height:58px;padding:0 20px;font-weight:650}#camera-btn{cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:flex}.upload-link{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;align-self:center;margin-top:14px;padding:4px 8px;font-size:.9rem;font-weight:500;text-decoration:underline}.upload-link:hover{color:var(--ink);background:0 0}.primary{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink)}.primary:hover:not(:disabled){opacity:.9}.secondary{border:1px solid var(--line);background:var(--panel);color:var(--ink);margin-top:10px}.loading{min-height:58px;color:var(--muted);justify-content:center;align-items:center;gap:12px;font-weight:600;display:flex}.loading[hidden],.action-button[hidden],.upload-link[hidden]{display:none!important}.spinner{border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.status{min-height:1.5em;color:var(--muted);margin:18px 0 0;font-size:.88rem}.status.err{color:var(--warm)}#qr-dialog{border:1px solid var(--ink);background:var(--panel);width:min(92vw,340px);color:var(--ink);border-radius:12px;padding:18px}#qr-dialog::backdrop{background:#00000080}#qr-box svg{background:#fff;width:260px;max-width:100%;height:260px;margin:0 auto;display:block}.qr-url{color:var(--muted);word-break:break-all;margin:12px 0;font-size:.72rem}#qr-dialog form button{border:1px solid var(--ink);width:100%;min-height:44px;color:var(--ink);background:0 0;border-radius:8px}dialog.camera{border:0;border-radius:12px;width:min(96vw,640px);padding:8px}dialog.camera video{background:#000;border-radius:8px;width:100%;display:block}dialog.camera .row{gap:8px;margin-top:8px;display:flex}dialog.camera::backdrop{background:#0009}@media (max-width:520px){.app-shell{padding-top:16px}.topbar{align-items:center}.brand-logo{width:46px;height:30px}.brand h1{font-size:1.8rem}.brand small{font-size:.8rem}.language-switcher button{min-width:42px;min-height:38px;font-size:.8rem}.qr-button{min-width:48px;min-height:40px;font-size:.85rem}.flow-card{padding-top:38px}}
