:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1e2a24;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#f4f1ea;--surface:#fff;--surface-muted:#faf8f2;--ink:#1e2a24;--ink-soft:#59645e;--line:#ddd6c8;--line-strong:#b9b0a0;--primary:#0d5b4a;--primary-pressed:#094537;--primary-soft:#e7f1ed;--warning:#7a5200;--warning-bg:#fff4d6;--warning-line:#e3bd68;--danger:#9b2c21;--danger-bg:#fbeceb;--danger-line:#dfa59e;--success:#1e6846;--success-bg:#e9f5ed;--success-line:#a7d1b8;--neutral-bg:#eeece6;--radius:16px;--shadow:0 10px 30px #362f2114;background:#f4f1ea;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Meiryo,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{min-width:320px;min-height:100vh;background:var(--bg);min-height:100dvh;color:var(--ink);-webkit-text-size-adjust:100%;margin:0}button,input{font:inherit}button{touch-action:manipulation}button,label{-webkit-tap-highlight-color:transparent}h1,h2,p,ol,ul{margin-top:0}h1,h2{letter-spacing:-.02em;line-height:1.25}p{line-height:1.7}a{color:var(--primary)}:focus-visible{outline-offset:3px;outline:3px solid #1a7c66}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.app{width:100%;max-width:820px;min-height:100vh;min-height:100dvh;padding:max(10px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex}.app-header{align-items:center;gap:9px;padding:4px 0 10px;display:flex}.brand-mark{background:var(--ink);border-radius:6px;align-items:stretch;gap:2px;width:26px;height:22px;padding:3px;display:flex}.brand-mark span{background:#fff;border-radius:1px;display:block}.brand-mark span:first-child{width:2px}.brand-mark span:nth-child(2){width:4px}.brand-mark span:nth-child(3){width:2px}.brand-mark span:nth-child(4){width:3px}.brand-name{letter-spacing:-.02em;font-size:17px;font-weight:800}.brand-tag{border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;margin-left:auto;padding:4px 8px;font-size:11px;font-weight:700}.screen{flex-direction:column;flex:1;gap:18px;padding:10px 0 8px;display:flex}.app-footer{border-top:1px solid var(--line);color:var(--ink-soft);text-align:center;margin-top:28px;padding-top:14px;font-size:11px}.eyebrow{color:var(--primary);letter-spacing:.06em;margin-bottom:8px;font-size:12px;font-weight:800}.lead{color:var(--ink-soft);margin-bottom:0;font-size:15px}.hint{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.65}.section-title{margin:0 0 12px;font-size:16px}.hero{padding:20px 2px 6px}.hero h1{letter-spacing:-.045em;margin-bottom:14px;font-size:clamp(2rem,8vw,3.2rem);line-height:1.12}.hero .lead{max-width:34em}.upload-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:22px;padding:18px}.upload-button{width:100%}.upload-card .hint{text-align:center;margin-top:10px}.manual-start-button{width:100%;margin-top:10px}.flow-steps{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.flow-steps li{border:1px solid var(--line);color:var(--ink-soft);background:#ffffff8c;border-radius:14px;flex-direction:column;gap:7px;padding:12px 10px;font-size:11px;font-weight:700;display:flex}.step-number{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.privacy-note,.notice{border-radius:14px;flex-direction:column;gap:3px;padding:13px 15px;font-size:12px;line-height:1.65;display:flex}.privacy-note{background:var(--primary-soft);color:#21493d;border:1px solid #b9d6c8}.privacy-note strong{font-size:13px}.notice-warning{border:1px solid var(--warning-line);background:var(--warning-bg);color:#5c4005}.notice-warning strong{font-size:13px}.button{text-align:center;cursor:pointer;border:1.5px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:11px 16px;font-size:15px;font-weight:750;line-height:1.3;text-decoration:none;transition:background-color .12s,border-color .12s,transform 80ms;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.42}.button-primary{border-color:var(--primary);background:var(--primary);color:#fff}.button-primary:hover:not(:disabled){background:var(--primary-pressed)}.button-secondary{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}.button-secondary:hover:not(:disabled){border-color:var(--ink-soft)}.button-quiet{color:var(--ink-soft);text-underline-offset:3px;background:0 0;border-color:#0000;text-decoration:underline}.button-danger-quiet{color:var(--danger);background:0 0;border-color:#0000}.button-large{border-radius:15px;min-height:56px;padding:15px 20px;font-size:16px}.button-compact{min-height:44px;padding:8px 12px;font-size:13px}.stack-actions{gap:10px;display:grid}.screen-header h1{margin-bottom:8px;font-size:clamp(1.55rem,6vw,2.1rem)}.screen-header .lead{max-width:42em}.center-screen{text-align:center;justify-content:center;align-items:center}.center-screen h1{margin-bottom:0;font-size:24px}.spinner{border:4px solid #d7e4de;border-top-color:var(--primary);border-radius:50%;width:42px;height:42px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.preview-frame{border:1px solid var(--line);background:#e9e4d9;border-radius:18px;justify-content:center;align-items:center;max-height:50vh;padding:8px;display:flex;overflow:hidden}.preview-frame img{border-radius:10px;width:auto;max-width:100%;height:auto;max-height:calc(50vh - 16px);display:block}.image-meta{color:var(--ink-soft);text-align:center;margin:-10px 0 0;font-size:11px}.processing-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:15px;padding:16px;display:grid}.processing-thumb{background:#e9e4d9;border-radius:11px;height:112px;overflow:hidden}.processing-thumb img{object-fit:cover;width:100%;height:100%}.processing-status{min-width:0}.progress-steps{gap:5px;margin:0 0 12px;padding:0;list-style:none;display:flex}.progress-steps li{border-bottom:3px solid var(--line);color:var(--ink-soft);flex:1;padding-bottom:5px;font-size:11px;font-weight:700}.progress-steps li.is-active{border-bottom-color:var(--primary);color:var(--primary)}.progress-steps li.is-complete{color:#35705b;border-bottom-color:#8fb9a8}.progress-message{min-height:3.4em;margin-bottom:8px;font-size:14px;font-weight:650;line-height:1.5}.progress-track{background:#e8e3d8;border-radius:999px;width:100%;height:10px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--primary);height:100%;transition:width .18s;display:block}.progress-percent{color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right;margin:6px 0 0;font-size:11px}.error-card{border:1px solid var(--danger-line);background:var(--surface);border-radius:20px;flex-direction:column;gap:10px;padding:20px;display:flex}.error-mark{background:var(--danger-bg);width:42px;height:42px;color:var(--danger);border-radius:50%;place-items:center;font-size:22px;font-weight:900;display:grid}.error-card h1{margin-bottom:0;font-size:23px}.error-card p{color:var(--ink-soft);margin-bottom:0;font-size:14px}.review-header{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.review-header>div{flex:240px}.summary-row{flex-wrap:wrap;gap:6px;display:flex}.summary-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:750}.summary-valid{border-color:var(--success-line);background:var(--success-bg);color:var(--success)}.summary-review{border-color:var(--warning-line);background:var(--warning-bg);color:var(--warning)}.summary-invalid{border-color:var(--danger-line);background:var(--danger-bg);color:var(--danger)}.summary-confirmed{background:var(--primary-soft);color:var(--primary);border-color:#b9d6c8}.compact-primary{width:100%}.empty-card{border:1px dashed var(--line-strong);text-align:center;background:#fff9;border-radius:18px;padding:24px 18px}.empty-mark{background:var(--neutral-bg);width:48px;height:48px;color:var(--ink-soft);border-radius:50%;place-items:center;margin:0 auto 12px;font-size:20px;font-weight:800;display:grid}.empty-card h2{margin-bottom:8px;font-size:20px}.empty-card p{color:var(--ink-soft);margin-bottom:18px;font-size:14px}.item-list{gap:13px;margin:0;padding:0;list-style:none;display:grid}.item-card{border:1px solid var(--line);background:var(--surface);border-left-width:4px;border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex;box-shadow:0 6px 18px #362f210d}.item-card.status-valid{border-left-color:var(--success-line)}.item-card.status-needs-review{border-left-color:var(--warning-line)}.item-card.status-invalid{border-left-color:var(--danger-line)}.item-card-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.badge-row{flex-wrap:wrap;flex:1;gap:5px;display:flex}.badge{border:1px solid #0000;border-radius:999px;align-items:center;min-height:24px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.badge-valid{border-color:var(--success-line);background:var(--success-bg);color:var(--success)}.badge-needs-review{border-color:var(--warning-line);background:var(--warning-bg);color:var(--warning)}.badge-invalid{border-color:var(--danger-line);background:var(--danger-bg);color:var(--danger)}.badge-neutral{border-color:var(--line);background:var(--neutral-bg);color:var(--ink-soft)}.badge-confirmed{background:var(--primary-soft);color:var(--primary);border-color:#b9d6c8}.meta-text{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:10px}.field{flex-direction:column;gap:5px;display:flex}.field label{font-size:12px;font-weight:750}.field input{border:1.5px solid var(--line-strong);width:100%;min-height:49px;color:var(--ink);background:#fff;border-radius:11px;padding:10px 12px;font-size:16px}.field input:focus{border-color:var(--primary)}.field input[aria-invalid=true]{border-color:var(--danger);background:snow}.jan-input{font-variant-numeric:tabular-nums;letter-spacing:.035em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:18px!important}.field-hint{color:var(--ink-soft);font-size:11px;line-height:1.5}.status-detail{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.6}.status-invalid .status-detail{color:var(--danger);font-weight:650}.warning-list{border:1px solid var(--warning-line);background:var(--warning-bg);color:#5c4005;border-radius:11px;gap:5px;margin:0;padding:10px 12px 10px 28px;font-size:12px;line-height:1.55;display:grid}.confirm-row{border:1px solid var(--line);background:var(--surface-muted);cursor:pointer;border-radius:12px;align-items:center;gap:10px;min-height:50px;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.confirm-row input{width:24px;height:24px;accent-color:var(--primary);flex:none}.confirm-row:has(input:disabled){cursor:not-allowed;opacity:.55}.confirm-hint{color:var(--ink-soft);margin:-6px 0 0;font-size:11px}.item-delete{border-radius:9px;min-width:44px;min-height:44px;padding:6px 9px;font-size:12px}.bulk-actions{gap:8px;display:grid}.bulk-actions .hint{text-align:center;margin:0}.manual-form{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;padding:18px}.manual-form .field{margin-top:12px}.form-error{border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger);border-radius:10px;margin:12px 0 0;padding:9px 11px;font-size:13px;font-weight:650}.form-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.add-item-button{width:100%}.review-footer-hint{padding:0 4px}.barcode-screen{width:100%;max-width:1100px;min-height:100vh;min-height:100dvh;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));color:#101010;background:#fff;flex-direction:column;gap:6px;margin:0 auto;display:flex}.barcode-topbar{justify-content:space-between;align-items:center;gap:12px;width:100%;padding:2px 2px 0;display:flex}.barcode-counter{font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.barcode-main{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:2px 2px 4px;display:flex}.barcode-heading{text-align:center}.barcode-heading .eyebrow{color:#4e5a54;margin-bottom:3px}.barcode-heading h1{overflow-wrap:anywhere;margin-bottom:2px;font-size:clamp(20px,4vw,28px)}.barcode-confirmed{color:#466557;margin:0;font-size:12px;font-weight:700}.barcode-sheet{background:#fff;border:1px solid #e3e3e3;border-radius:12px;flex-direction:column;align-items:center;gap:4px;width:100%;max-width:960px;padding:clamp(7px,1.8vw,18px);display:flex}.barcode-svg{background:#fff;width:100%;height:auto;max-height:46vh;display:block}.barcode-svg.is-hidden{display:none}.barcode-error{border:1px solid var(--danger-line);color:#8a2419;text-align:center;background:#fff;border-radius:10px;margin:8px 0;padding:12px;font-size:13px;font-weight:650}.barcode-number{font-variant-numeric:tabular-nums;letter-spacing:.055em;text-align:center;-webkit-user-select:all;user-select:all;white-space:nowrap;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(24px,7.2vw,46px);font-weight:850;line-height:1.25}.barcode-format{color:#5a5a5a;letter-spacing:.02em;margin:0;font-size:11px;font-weight:650}.scan-guidance{color:#3b403d;text-align:center;width:100%;max-width:640px;font-size:12px}.scan-guidance p{margin-bottom:4px;font-weight:700}.scan-guidance ul{margin:0;padding:0;line-height:1.6;list-style:none}.wake-lock-note{color:#666;text-align:center;max-width:640px;margin:0;font-size:11px;line-height:1.5}.focus-name{text-align:center;margin:0;font-size:clamp(16px,4vw,22px);font-weight:800}.focus-hint{color:#555;text-align:center;margin:0;font-size:11px}.barcode-screen.is-focus .barcode-main{gap:7px}.barcode-screen.is-focus .barcode-sheet{padding:6px}.barcode-screen.is-focus .barcode-svg{max-height:57vh}.barcode-nav{background:#fff;grid-template-columns:1fr 1.15fr 1fr;gap:7px;width:100%;margin:0 auto;padding:4px 2px 2px;display:grid}.barcode-nav .button{min-width:0;min-height:52px;padding-left:8px;padding-right:8px}@media (orientation:landscape) and (max-height:540px){.barcode-screen{gap:2px;padding-top:4px;padding-bottom:4px}.barcode-topbar{padding:0}.barcode-main{gap:4px}.barcode-heading .eyebrow,.barcode-confirmed{display:none}.barcode-heading h1{font-size:16px}.barcode-svg{max-height:48vh}.barcode-number{font-size:clamp(18px,5vh,30px)}.scan-guidance,.wake-lock-note,.focus-hint{display:none}.barcode-nav .button{min-height:46px}}@media (max-width:380px){.barcode-number{letter-spacing:.035em}}@media (max-width:699px){.app{padding:max(6px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}.app-header{gap:8px;padding:2px 0 6px}.brand-mark{width:24px;height:20px}.brand-name{font-size:15px}.brand-tag{padding:3px 7px;font-size:10px}.screen{gap:12px;padding:6px 0 4px}.app-footer{margin-top:16px;padding-top:10px;font-size:10px}.eyebrow{margin-bottom:4px;font-size:11px}.lead{font-size:13px;line-height:1.6}.hint{font-size:11px;line-height:1.5}.hero{padding:4px 2px 0}.hero h1{margin-bottom:8px;font-size:clamp(1.5rem,6.5vw,2rem);line-height:1.15}.upload-card{border-radius:16px;padding:12px}.upload-card .hint{margin-top:8px}.manual-start-button{margin-top:2px}.section-title{margin-bottom:8px;font-size:14px}.button{border-radius:11px;min-height:44px;padding:9px 14px;font-size:14px}.button-large{border-radius:13px;min-height:50px;padding:11px 16px;font-size:15px}.button-compact{min-height:44px;padding:7px 11px;font-size:12px}.stack-actions{gap:8px}.screen-header h1{margin-bottom:4px;font-size:clamp(1.35rem,5.6vw,1.7rem)}.center-screen h1{font-size:20px}.spinner{border-width:3px;width:36px;height:36px}.flow-steps{gap:6px}.flow-steps li{border-radius:11px;flex-direction:row;align-items:center;gap:5px;padding:8px 7px;font-size:10px}.step-number{flex:none;width:19px;height:19px;font-size:10px}.privacy-note,.notice{border-radius:11px;gap:2px;padding:10px 12px;font-size:11px;line-height:1.5}.privacy-note strong,.notice-warning strong{font-size:12px}.preview-frame{border-radius:14px;max-height:44vh;padding:6px}.preview-frame img{border-radius:8px;max-height:calc(44vh - 12px)}.image-meta{margin-top:-6px;font-size:10px}.processing-card{border-radius:14px;grid-template-columns:68px minmax(0,1fr);gap:11px;padding:12px}.processing-thumb{border-radius:9px;height:88px}.progress-steps{margin-bottom:8px}.progress-steps li{border-bottom-width:2px;padding-bottom:3px;font-size:10px}.progress-message{min-height:2.8em;margin-bottom:6px;font-size:12px}.progress-track{height:8px}.progress-percent{margin-top:3px;font-size:10px}.error-card{border-radius:16px;gap:8px;padding:14px}.error-mark{width:34px;height:34px;font-size:18px}.error-card h1{font-size:19px}.error-card p{font-size:12px;line-height:1.55}.review-header{align-items:center;gap:8px}.review-header>div{flex:200px}.summary-row{gap:5px}.summary-chip{padding:3px 7px;font-size:10px}.item-list{gap:9px}.item-card{border-left-width:3px;border-radius:14px;gap:8px;padding:12px}.item-card-top{gap:5px}.badge-row{gap:4px}.badge{min-height:21px;padding:1px 7px;font-size:10px}.meta-text{font-size:9px}.field{gap:3px}.field label{font-size:11px}.field input{border-radius:9px;min-height:44px;padding:8px 10px}.jan-input{font-size:17px!important}.field-hint{font-size:10px;line-height:1.4}.status-detail{font-size:11px;line-height:1.45}.warning-list{border-radius:9px;gap:3px;padding:7px 9px 7px 24px;font-size:11px;line-height:1.45}.confirm-row{border-radius:10px;gap:8px;min-height:44px;padding:7px 10px;font-size:13px}.confirm-row input{width:22px;height:22px}.confirm-hint{margin-top:-4px;font-size:10px}.item-delete{padding:5px 8px;font-size:11px}.bulk-actions{gap:6px}.manual-form{border-radius:16px;padding:12px}.manual-form .field{margin-top:9px}.form-error{margin-top:9px;padding:7px 9px;font-size:12px}.form-actions{gap:6px;margin-top:12px}.empty-card{border-radius:14px;padding:18px 14px}.empty-mark{width:38px;height:38px;margin-bottom:8px;font-size:17px}.empty-card h2{margin-bottom:6px;font-size:17px}.empty-card p{margin-bottom:14px;font-size:12px;line-height:1.55}}@media (min-width:700px){.screen{gap:22px}.hero{padding-top:36px}.upload-card{padding:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
