@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap);body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#fff;--surface:#f3f4f2;--ink:#14161a;--muted:#6b7078;--line:#e3e5e3;--accent:#2451ff;--accent-ink:#fff;--danger:#c8442c;--radius:10px;--font-ui:"Space Grotesk",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box}body,html{background:#fff;background:var(--bg);color:#14161a;color:var(--ink);margin:0;padding:0}body{-webkit-font-smoothing:antialiased;font-family:Space Grotesk,system-ui,sans-serif;font-family:var(--font-ui)}button,input,textarea{font-family:inherit}.app{display:flex;flex-direction:column;margin:0 auto;max-width:560px;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);padding-top:env(safe-area-inset-top)}.app-header{align-items:center;color:#14161a;color:var(--ink);display:flex;gap:.5rem;padding:1.1rem 1.25rem .6rem}.corner-mark{color:#2451ff;color:var(--accent);flex-shrink:0}.wordmark{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.tab-bar{border-bottom:1px solid #e3e5e3;border-bottom:1px solid var(--line);display:flex;gap:1.5rem;padding:0 1.25rem}.tab{appearance:none;background:none;border:none;border-bottom:2px solid #0000;color:#6b7078;color:var(--muted);cursor:pointer;font-family:Space Grotesk,system-ui,sans-serif;font-family:var(--font-ui);font-size:.95rem;font-weight:500;margin-bottom:-1px;padding:.85rem .1rem;transition:color .15s ease,border-color .15s ease}.tab-active{border-bottom-color:#2451ff;border-bottom-color:var(--accent);color:#14161a;color:var(--ink)}.tab:focus-visible{border-radius:4px;outline:2px solid #2451ff;outline:2px solid var(--accent);outline-offset:2px}.app-main{display:flex;flex:1 1;padding:1.5rem 1.25rem 2rem}.panel{display:flex;flex-direction:column;width:100%}.panel-label{color:#6b7078;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.78rem;margin:0 0 .9rem}.camera-frame{align-items:center;aspect-ratio:3/4;background:#f3f4f2;background:var(--surface);border-radius:10px;border-radius:var(--radius);display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.camera-media{height:100%;object-fit:cover;width:100%}.camera-message{align-items:center;color:#6b7078;color:var(--muted);display:flex;flex-direction:column;font-size:.9rem;gap:.7rem;padding:1.5rem;text-align:center}.camera-message p{margin:0}.field-label{font-size:.92rem;margin-bottom:.5rem}.field-label,.text-input{color:#14161a;color:var(--ink)}.text-input{background:#f3f4f2;background:var(--surface);border:1px solid #e3e5e3;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius);font-size:1rem;line-height:1.45;min-height:120px;padding:.85rem .9rem;resize:vertical;width:100%}.text-input:focus-visible{outline:2px solid #2451ff;outline:2px solid var(--accent);outline-offset:1px}.char-count{color:#6b7078;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.76rem;margin:.5rem 0 0}.char-count-low{color:#c8442c;color:var(--danger)}.action-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.25rem}.btn{appearance:none;border:none;border-radius:10px;border-radius:var(--radius);cursor:pointer;font-family:Space Grotesk,system-ui,sans-serif;font-family:var(--font-ui);font-size:.95rem;font-weight:500;padding:.8rem 1.3rem;transition:opacity .15s ease,background .15s ease}.btn:disabled{cursor:not-allowed;opacity:.4}.btn-primary{background:#2451ff;background:var(--accent);color:#fff;color:var(--accent-ink);flex:1 1;min-width:140px}.btn-primary:not(:disabled):active{opacity:.85}.btn-ghost{background:#0000;border:1px solid #e3e5e3;border:1px solid var(--line);color:#14161a;color:var(--ink)}.btn-ghost:active{background:#f3f4f2;background:var(--surface)}.btn:focus-visible{outline:2px solid #2451ff;outline:2px solid var(--accent);outline-offset:2px}.panel-error{color:#c0392b}.panel-error,.panel-status{font-size:.9rem;margin-top:.5rem}.panel-status{color:#666}.result-box{background:#fafafa;border:1px solid #ddd;border-radius:8px;margin-top:1rem;padding:.75rem 1rem}.result-text{font-size:1rem;margin:.35rem 0 .5rem;word-break:break-word}.debug-gallery{border-top:1px solid #e2e2e2;border-top:1px solid var(--border-color,#e2e2e2);margin-top:1rem;padding-top:1rem}.debug-gallery-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));margin-top:.5rem}.debug-gallery-item{align-items:center;display:flex;flex-direction:column;gap:.25rem;margin:0}.debug-gallery-item img{aspect-ratio:1/1;background:#f3f3f3;border:1px solid #e2e2e2;border:1px solid var(--border-color,#e2e2e2);border-radius:6px;cursor:zoom-in;object-fit:cover;width:100%}.debug-gallery-item figcaption{color:#767676;color:var(--text-muted,#767676);font-size:.7rem;line-height:1.2;text-align:center;word-break:break-all}.debug-gallery-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.debug-gallery-download{font-size:.7rem;padding:.2rem .5rem}.lightbox-overlay{align-items:center;background:#000000d9;cursor:zoom-out;display:flex;flex-direction:column;gap:.75rem;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:1000}.lightbox-image{border-radius:4px;cursor:default;max-height:80vh;max-width:90vw;object-fit:contain}.lightbox-caption{color:#fff;font-size:.85rem;opacity:.8}.lightbox-close{background:#0000;border:none;color:#fff;cursor:pointer;font-size:2rem;line-height:1;position:absolute;right:1.5rem;top:1rem}.app-loading-screen{align-items:center;background:#f5f5f7;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.app-loading-logo{animation:logoPulse 4s ease-in-out infinite;height:auto;object-fit:contain;transform:translateY(-4vh);width:40vw}@keyframes logoPulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.btn,.tab{transition:none}}@media (min-width:640px){.app{padding-top:2rem}.camera-frame{aspect-ratio:4/3}}
/*# sourceMappingURL=main.66851127.css.map*/