@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-latin-400-C38fXH4l.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/inter-latin-700-Yt3aPRUw.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;-webkit-font-smoothing:antialiased;--bg:#f7f7ff;--surface:#fff;--surface-container:#f3edf7;--ink:#1d1b20;--ink-soft:#625b71;--primary:#6750a4;--primary-container:#eaddff;--outline:#79747e;--outline-variant:#cac4d0;--success:#386a20;--success-container:#ddedd5;--warning:#a05a00;--warning-container:#ffedcf;--error:#b3261e;--error-container:#f9dedc;--shape-card:24px;--motion-duration:.2s;color:var(--ink);background:#e5e5e5;font-family:Inter,Noto Sans CJK JP,Hiragino Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}body{-webkit-text-size-adjust:100%;background:#e5e5e5;min-width:320px;margin:0}button,input{font:inherit}button,label,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,summary,.upload-button{cursor:pointer}h1,h2,p,ul,ol{margin:0}h1,h2{overflow-wrap:anywhere}button{color:inherit}a{color:var(--primary)}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}main:focus{outline:none}[hidden]{display:none!important}.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{isolation:isolate;background:var(--bg);border-radius:28px;flex-direction:column;width:100%;max-width:390px;min-height:max(844px,100dvh);margin:0 auto;display:flex;position:relative;overflow:clip}.app-header{flex:0 0 72px;justify-content:space-between;align-items:flex-start;height:72px;padding:20px 14px 0 24px;display:flex}.brand-name{font-size:23px;font-weight:700;line-height:28px}.app-menu{margin-top:-10px;position:relative}.app-menu summary{width:48px;height:48px;color:var(--ink-soft);border-radius:50%;place-items:center;font-size:23px;line-height:28px;list-style:none;display:grid}.app-menu summary::-webkit-details-marker{display:none}.menu-content{z-index:10;background:var(--surface-container);border-radius:16px;width:min(300px,100vw - 48px);padding:16px;font-size:13px;line-height:1.6;position:absolute;right:0;box-shadow:0 3px 12px #1d1b2026}.menu-content>button,.menu-content nav button{width:100%;min-height:48px;color:var(--primary);text-align:left;background:0 0;border:0;border-radius:12px;padding:12px;font-size:13px}.menu-content button:hover{background:var(--primary-container)}.menu-content button:disabled{color:var(--ink-soft);cursor:not-allowed}.menu-content>p{margin-top:12px}.screen{animation:enter var(--motion-duration) ease-out;flex-direction:column;gap:20px;padding:20px 16px 24px;display:flex}@keyframes enter{0%{opacity:.2}to{opacity:1}}.button{text-align:center;border:0;border-radius:999px;justify-content:center;align-items:center;min-width:48px;min-height:52px;padding:16px 22px 18px;font-size:15px;font-weight:700;line-height:18px;text-decoration:none;display:inline-flex}.button-primary{background:var(--primary);color:#fff}.button-secondary{background:var(--primary-container);color:var(--primary)}.button-quiet{color:var(--primary);background:0 0}.button-danger-quiet{color:var(--error);background:0 0}.button:hover{filter:brightness(.97)}.button:disabled{color:#1d1b2061;cursor:not-allowed;background:#1d1b2014}.stack-actions{gap:12px;display:grid}.lead,.hint,.field-hint{color:var(--ink-soft);font-size:13px;line-height:1.6}.eyebrow{color:var(--primary);margin-bottom:8px;font-size:12px}.screen-header h1{margin-bottom:12px;font-size:24px}.upload-screen{flex:1;gap:20px;padding-bottom:24px}.hero{background:var(--primary-container);border-radius:26px;min-height:142px;padding:28px 20px 30px}.hero h1{margin-bottom:15px;font-size:22px;line-height:27px}.hero p{color:var(--ink-soft);font-size:13px;line-height:16px}.hero .privacy-caption{color:var(--primary);margin-top:11px;font-size:12px;line-height:15px}.upload-card{background:var(--surface);border-radius:24px;flex-direction:column;min-height:291px;padding:29px 0 24px;display:flex}.upload-icon{background:var(--surface-container);width:88px;height:88px;color:var(--primary);border-radius:50%;align-self:center;place-items:center;margin-bottom:22px;font-size:38px;font-weight:400;line-height:46px;display:grid}.upload-card h2{margin-bottom:15px;margin-left:calc(50% - 106px);font-size:19px;line-height:23px}.upload-card p{color:var(--ink-soft);margin-bottom:22px;margin-left:calc(50% - 130px);font-size:13px;line-height:16px}.upload-button{justify-content:flex-start;align-self:center;width:204px;max-width:calc(100% - 32px)}.upload-card:has(input:focus-visible) .upload-button{outline:3px solid var(--primary);outline-offset:3px}.upload-hint{color:var(--ink-soft);margin-top:12px;margin-left:17px;font-size:13px;line-height:16px}.review-screen{gap:0;padding:20px 16px 30px}.review-header h1{margin-bottom:15px;padding-left:4px;font-size:24px;line-height:29px}.success-banner{background:var(--success-container);min-height:60px;color:var(--success);white-space:pre-wrap;border-radius:18px;padding:17px 19px 24px;font-size:16px;font-weight:700;line-height:19px}.results-heading{margin-top:33px;padding:0 4px}.results-heading h2{margin-bottom:10px;font-size:18px;line-height:22px}.results-heading p{color:var(--ink-soft);font-size:13px;line-height:16px}.item-list{gap:13px;margin-top:22px;padding:0;list-style:none;display:grid}.item-card{background:var(--surface);border-radius:20px;min-width:0}.item-summary-row{align-items:center;gap:14px;min-height:99px;padding:16px 23px 19px 14px;display:flex}.item-icon{background:var(--surface-container);width:54px;height:54px;color:var(--primary);border:0;border-radius:18px;flex:0 0 54px;place-items:center;padding:0;font-size:23px;line-height:28px;display:grid;transform:translateY(1px)}.item-summary{text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:0;display:flex}.item-summary-text{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.item-summary-text strong{font-size:16px;line-height:19px}.item-jan{font-variant-numeric:tabular-nums;color:var(--ink-soft);margin-top:9px;font-size:13px;line-height:16px}.item-status{margin-top:7px;font-size:11px;line-height:13px}.is-confirmed{color:var(--success)}.is-review{color:var(--warning)}.is-invalid{color:var(--error)}.item-chevron{color:var(--ink-soft);font-size:25px;line-height:30px}.add-item-button{justify-content:flex-start;align-self:center;width:min(270px,100%);margin-top:36px}.item-editor{gap:16px;padding:8px 16px 20px;display:grid}.item-card-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badge-row{flex-wrap:wrap;flex:1;gap:4px;display:flex}.badge{border-radius:8px;padding:4px 8px;font-size:11px}.badge-valid{background:var(--success-container);color:var(--success)}.badge-needs-review,.warning-list{background:var(--warning-container);color:var(--warning)}.badge-invalid{background:var(--error-container);color:var(--error)}.badge-neutral{background:var(--surface-container);color:var(--ink-soft)}.meta-text{color:var(--ink-soft);font-size:11px}.field{gap:6px;display:grid}.field label{color:var(--ink-soft);font-size:12px}.field input{border:1px solid var(--outline);background:var(--surface);width:100%;min-width:0;min-height:48px;color:var(--ink);border-radius:12px;padding:12px;font-size:17px}.field input::placeholder{color:var(--ink);opacity:1}.field input[aria-invalid=true]{border-color:var(--error)}.jan-input{font-variant-numeric:tabular-nums}.field-hint,.status-detail,.confirm-hint{color:var(--ink-soft);font-size:12px}.status-invalid .status-detail{color:var(--error)}.warning-list{border-radius:12px;margin:0;padding:12px 12px 12px 28px;font-size:12px;line-height:1.6}.confirm-row{cursor:pointer;align-items:center;gap:10px;min-height:48px;padding:8px 0;font-size:14px;font-weight:700;display:flex}.confirm-row input{width:24px;height:24px;accent-color:var(--primary);flex-shrink:0}.confirm-row:has(input:disabled){color:var(--ink-soft);cursor:not-allowed}.empty-card{border-radius:var(--shape-card);background:var(--surface);margin-top:22px;padding:24px 20px}.empty-card h2{margin-bottom:12px;font-size:20px}.empty-card p{color:var(--ink-soft);font-size:13px}.manual-screen{flex:1;gap:0;padding:28px 16px 85px}.manual-form{flex-direction:column;flex:1;display:flex}.manual-heading{margin-bottom:46px;padding:0 8px}.manual-heading h1{margin-bottom:14px;font-size:25px;line-height:30px}.manual-heading p{color:var(--ink-soft);font-size:14px;line-height:17px}.manual-form .field{background:var(--surface);border-radius:15px;gap:0;height:78px;padding:8px 16px 13px}.manual-form>.field:first-of-type{padding-top:9px}.manual-form>.field:first-of-type input{padding-top:7px;padding-bottom:14px}.manual-form .field+.field{margin-top:19px}.manual-form .field label{line-height:15px}.manual-form .field input{border:0;border-radius:4px;height:42px;min-height:0;padding:10px 0 11px;font-size:17px;line-height:21px}.manual-form .field:focus-within{outline:2px solid var(--primary);outline-offset:1px}.manual-form .field input:focus-visible{outline:none}.manual-form .field:has(input[aria-invalid=true]){outline:2px solid var(--error)}.validation-hint{background:var(--primary-container);border-radius:17px;min-height:86px;margin-top:21px;padding:24px 16px 20px}.validation-hint strong{color:var(--primary);font-size:15px;line-height:18px;display:block}.validation-hint p{color:var(--ink-soft);margin-top:9px;font-size:12px;line-height:15px}.form-error,.barcode-error{background:var(--error-container);color:var(--error);border-radius:12px;margin-top:16px;padding:12px 16px;font-size:13px}.form-actions{gap:18px;margin-top:auto;padding:101px 16px 0;display:grid}.form-actions .button-primary{min-height:54px;font-size:16px;line-height:19px}.back-link{justify-content:flex-start;align-self:flex-start;min-height:48px;padding:15px 4px 16px;font-size:14px;line-height:17px}.manual-app .app-header{padding:15px 20px 0}.manual-app .back-link{font-size:17px;line-height:21px}.barcode-screen{gap:0;padding:8px 16px 98px}.barcode-main{flex-direction:column;min-width:0;display:flex}.barcode-heading{margin-bottom:37px;padding:15px 4px 0}.barcode-heading p{color:var(--ink-soft);font-size:13px;line-height:16px}.barcode-sheet{background:var(--surface);border-radius:28px;flex-direction:column;align-items:flex-start;height:319px;padding:25px 22px 33px;display:flex}.barcode-sheet h2{margin-bottom:33.4px;font-size:16px;line-height:19px}.barcode-svg{background:#fff;flex:0 0 162px;width:min(270px,100% + 20px);height:162px;margin-left:-20px;display:block}.barcode-svg.is-hidden{display:none}.barcode-number{font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;white-space:nowrap;margin-top:-17.4px;margin-left:49px;font-size:19px;font-weight:700;line-height:23px}.barcode-caption{color:var(--ink-soft);white-space:nowrap;margin-top:25px;margin-left:27px;font-size:13px;line-height:16px}.barcode-actions{gap:14px;padding:23px 21px 0;display:grid}.barcode-actions .button{justify-content:flex-start}.barcode-nav{align-items:center;gap:8px;display:flex}.barcode-counter{white-space:nowrap}.barcode-app.is-focus{background:#fff;border-radius:0;max-width:1100px;min-height:100dvh}.barcode-screen.is-focus{background:#fff;flex:1;gap:16px;padding:16px}.is-focus .barcode-main{flex:1;justify-content:center;align-items:center;gap:12px}.is-focus .barcode-sheet{align-items:center;width:100%;height:auto;padding:8px}.is-focus .barcode-svg{flex-basis:auto;width:100%;max-width:960px;height:45dvh;margin:0}.is-focus .barcode-number{margin:0;font-size:clamp(24px,5vw,46px);line-height:1.3}.is-focus .barcode-actions{padding:0}.is-focus .barcode-actions .button{justify-content:center}.focus-name{font-size:22px;font-weight:700}.center-screen{text-align:center;justify-content:center;align-items:center;min-height:60vh}.spinner{border:4px solid var(--primary-container);border-top-color:var(--primary);border-radius:50%;width:44px;height:44px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.preview-frame{background:var(--surface);border-radius:var(--shape-card);place-items:center;max-height:50vh;padding:12px;display:grid}.preview-frame img{width:auto;max-width:100%;height:auto;max-height:calc(50vh - 24px);display:block}.image-meta{color:var(--ink-soft);text-align:center;font-size:12px}.notice,.privacy-note{background:var(--primary-container);color:var(--ink-soft);border-radius:16px;gap:8px;padding:16px;font-size:13px;line-height:1.6;display:grid}.notice-warning{background:var(--warning-container);color:var(--warning)}.processing-card{background:var(--surface);border-radius:var(--shape-card);grid-template-columns:68px minmax(0,1fr);gap:16px;padding:20px;display:grid}.processing-thumb{border-radius:12px;height:110px;overflow:hidden}.processing-thumb img{object-fit:cover;width:100%;height:100%}.processing-status{min-width:0}.progress-steps{color:var(--ink-soft);gap:8px;padding:0;font-size:12px;list-style:none;display:flex}.progress-steps li{border-bottom:3px solid var(--outline-variant);flex:1;padding-bottom:6px}.progress-steps .is-active,.progress-steps .is-complete{color:var(--primary);border-color:var(--primary)}.progress-message{margin:12px 0;font-size:13px}.progress-track{background:var(--primary-container);border-radius:8px;height:8px;overflow:hidden}.progress-fill{background:var(--primary);height:100%;transition:width var(--motion-duration);display:block}.progress-percent{color:var(--ink-soft);text-align:right;margin-top:8px;font-size:12px}.error-card{border-radius:var(--shape-card);background:var(--error-container);gap:16px;padding:24px;display:grid}.error-card h1{font-size:24px}.error-card p{font-size:14px}.error-mark{color:var(--error);font-size:32px}@media (min-width:700px) and (min-height:541px){.app{min-height:844px;margin-block:24px}.barcode-app.is-focus{min-height:100dvh;margin:0 auto}}@media (orientation:landscape) and (max-height:540px){.barcode-app{border-radius:0;max-width:844px;min-height:100dvh}.barcode-sheet{align-items:center}.barcode-svg{width:min(600px,100%);margin-left:0}}@media (max-width:359px){.hero{padding-inline:16px}.hero h1{font-size:20px}.review-header h1{font-size:21px}.item-summary-row{gap:10px;padding-right:16px}.item-icon{flex-basis:44px;width:44px;height:48px}.confirm-row{font-size:13px}.barcode-number{margin-left:20px;font-size:18px}.barcode-caption{margin-left:0;font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.item-card>.confirm-row{border-top:1px solid var(--surface-container);margin:0 16px}.item-card>.confirm-hint{margin:0 16px 12px}.barcode-screen>.barcode-nav{grid-template-columns:1fr auto 1fr;gap:16px;margin:20px 21px 0;display:grid}.barcode-screen>.barcode-nav .button{padding-inline:16px}.review-screen{padding-bottom:calc(150px + env(safe-area-inset-bottom))}.review-next-step{z-index:20;width:min(100%,390px);padding:16px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--outline-variant);background:var(--surface);justify-content:space-between;align-items:center;gap:20px;margin:0;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 20px #1d1b2010}.review-next-step>.review-selected-count{color:var(--ink);gap:4px;display:grid}.review-selected-count strong{font-size:28px;font-weight:700;line-height:34px}.review-selected-count span{color:var(--ink-soft);font-size:12px;font-weight:400}.review-next-step .button{min-width:156px}@media (max-width:359px){.review-next-step{padding-inline:16px}.review-next-step .button{min-width:136px}}.barcode-screen,.barcode-screen.is-focus{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.barcode-product-sheet{z-index:30;width:min(100%,390px);height:calc(72px + env(safe-area-inset-bottom));background:var(--surface-container);border:1px solid var(--outline-variant);max-height:50dvh;padding-bottom:env(safe-area-inset-bottom);transition:height var(--motion-duration) ease-out;border-bottom:0;border-radius:24px 24px 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 24px #1d1b201a}.barcode-product-sheet.is-open{height:50dvh}.barcode-product-sheet.is-dragging{transition:none}.product-sheet-handle{width:100%;color:var(--primary);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:0 0;border:0;border-radius:24px 24px 0 0;flex:0 0 72px;justify-content:space-between;align-items:center;padding:24px 24px 12px;font-size:15px;font-weight:700;display:flex;position:relative}.product-sheet-grip{background:var(--outline);border-radius:4px;width:36px;height:4px;position:absolute;top:8px;left:calc(50% - 18px)}.product-sheet-count{color:var(--ink-soft);margin-left:8px;font-size:12px;font-weight:400}.product-sheet-list{overscroll-behavior:contain;flex:1;min-height:0;padding:0 12px 12px;overflow-y:auto}.product-sheet-list ul{gap:6px;padding:0;list-style:none;display:grid}.product-sheet-list button{background:var(--surface);text-align:left;border:0;border-radius:16px;align-items:center;gap:12px;width:100%;min-height:72px;padding:12px;display:flex}.product-sheet-list button[aria-current]{background:var(--primary-container)}.product-sheet-list strong{overflow-wrap:anywhere;font-size:14px;display:block}.product-sheet-list small{color:var(--ink-soft);margin-top:4px;font-size:12px;display:block}.product-sheet-index{color:var(--primary);font-size:12px}.product-sheet-current{color:var(--primary);flex-shrink:0;margin-left:auto;font-size:11px}:root,body{background:var(--bg)}.app{border-radius:0;min-height:100dvh;margin:0 auto}.upload-app,.barcode-app,.barcode-app.is-focus{border-radius:0;height:100dvh;min-height:0;margin:0 auto;overflow:hidden}.upload-app .app-header,.barcode-app .app-header{flex-basis:56px;height:56px;padding-top:14px}.upload-screen{gap:12px;min-height:0;padding:12px 16px 16px}.upload-screen .hero{flex-shrink:0;min-height:0;padding:16px 20px}.upload-screen .hero h1{margin-bottom:8px}.upload-screen .hero .privacy-caption{margin-top:6px}.upload-card{flex:1;justify-content:center;align-items:center;min-height:0;padding:16px}.upload-icon{flex-shrink:0;width:clamp(48px,10dvh,88px);height:clamp(48px,10dvh,88px);margin-bottom:12px}.upload-card h2,.upload-card p{text-align:center;margin-left:0}.upload-card h2{margin-bottom:10px}.upload-card p{margin-bottom:14px}.upload-hint{text-align:center;flex-shrink:0;margin:0;font-size:12px;line-height:16px}.barcode-screen,.barcode-screen.is-focus{min-height:0;padding:8px 16px calc(84px + env(safe-area-inset-bottom));flex:1;gap:10px}.barcode-screen>.back-link{display:none}.barcode-main,.is-focus .barcode-main{flex:1;justify-content:flex-start;align-items:stretch;gap:10px;min-height:0}.barcode-heading{flex-shrink:0;margin:0;padding:0 4px}.barcode-heading h1{margin-bottom:6px;font-size:24px;line-height:29px}.barcode-sheet,.is-focus .barcode-sheet{flex:1;justify-content:center;align-items:center;gap:8px;height:auto;min-height:0;padding:12px 16px}.barcode-sheet h2{flex-shrink:0;align-self:flex-start;margin:0}.barcode-svg,.is-focus .barcode-svg{flex:100px;width:min(100%,300px);height:auto;min-height:0;max-height:30dvh;margin:0}.barcode-number,.is-focus .barcode-number{flex-shrink:0;margin:0;font-size:20px;line-height:25px}.barcode-caption{white-space:normal;text-align:center;flex-shrink:0;margin:0;font-size:12px}.barcode-actions{flex-shrink:0;grid-template-columns:1fr 1fr;gap:10px;padding:0}.barcode-actions .button{justify-content:center;min-height:48px;padding:10px;font-size:13px}.barcode-screen>.barcode-nav{flex-shrink:0;gap:12px;margin:0}.barcode-nav .button{min-height:48px;padding:10px}.is-focus .barcode-actions{grid-template-columns:1fr}.focus-name{flex-shrink:0;font-size:20px;line-height:26px}.focus-hint{flex-shrink:0;font-size:12px;line-height:16px}@media (orientation:landscape) and (max-height:500px){.upload-app,.barcode-app{max-width:900px}.upload-app .app-header,.barcode-app .app-header{flex-basis:48px;height:48px;padding-top:10px}.upload-screen{grid-template-rows:1fr auto;grid-template-columns:1fr 1fr;gap:10px;padding-block:8px;display:grid}.upload-card{grid-area:1/2/3;padding:12px}.upload-hint{grid-area:2/1}.upload-icon{width:40px;height:40px;margin-bottom:8px;font-size:28px;line-height:36px}.upload-card h2{margin-bottom:8px;font-size:17px;line-height:21px}.upload-card p{margin-bottom:10px}.barcode-screen,.barcode-screen.is-focus{grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr) 220px;gap:12px;display:grid}.barcode-main{grid-area:1/1/3}.barcode-actions{grid-area:1/2;grid-template-columns:1fr;align-self:center}.barcode-screen>.barcode-nav{grid-area:2/2}.barcode-heading h1{font-size:20px;line-height:24px}.barcode-sheet h2,.barcode-caption,.focus-hint{display:none}.barcode-svg,.is-focus .barcode-svg{max-height:none}}
