.physical-dialog{width:min(960px,calc(100vw - 24px));max-width:960px;max-height:calc(100dvh - 24px);padding:clamp(16px,3vw,30px);overflow:auto;box-sizing:border-box}.physical-dialog *{box-sizing:border-box}.physical-body{min-width:0}.physical-intro{color:var(--muted,#6d756a);max-width:70ch}.physical-main-controls,.physical-upload,.physical-crop,.physical-scan-controls,.physical-output>div{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.physical-body label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;min-width:0}.physical-body input:not([type=checkbox]):not([type=file]),.physical-body select{max-width:100%;min-width:0;width:100%;padding:10px;border:1px solid #c5cec1;border-radius:8px;background:var(--surface,#fff);color:inherit;font:inherit}.physical-main-controls label{flex:1;min-width:180px}.physical-file{position:relative;overflow:hidden;cursor:pointer}.physical-file input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.physical-file:focus-within{outline:2px solid currentColor;outline-offset:3px}.physical-file:has(input:disabled){opacity:.5;pointer-events:none}.physical-note{font-size:.8rem;line-height:1.55;color:var(--muted,#657061)}.physical-warning{padding:14px;border:1px solid #c6933a;background:#fff7e3;color:#60420b;border-radius:9px}.physical-page-tabs{display:flex;gap:8px;overflow-x:auto;padding:10px 0}.physical-page-tabs button{flex:0 0 auto;border:1px solid #c5cec1;border-radius:9px;background:transparent;padding:9px 14px;color:inherit}.physical-page-tabs button[aria-pressed=true]{background:#314c37;color:#fff}.physical-page-tabs small{display:block;opacity:.75}.physical-capture,.physical-compare,.physical-output{padding:18px 0;border-top:1px solid #d6ddcf}.physical-capture h3,.physical-compare h3,.physical-output h3{font-size:1.05rem;margin:0 0 15px}.physical-upload label:first-child{width:140px}.physical-photo{position:relative;margin:18px auto;max-width:650px;line-height:0;background:#1c261c;border-radius:10px;overflow:hidden}.physical-photo>img{display:block;width:100%;height:auto;object-fit:contain}.physical-grid-overlay{position:absolute;display:grid;pointer-events:none;border:2px solid #a6ef9c}.physical-grid-overlay span{border:1px dashed #afffa7;background:#3c8b2c0a;line-height:1;color:white;font:700 14px system-ui;text-shadow:0 1px 3px #000;padding:6px}.physical-crop{padding-bottom:15px}.physical-crop label{width:95px}.physical-pocket-grid{display:grid;grid-template-columns:repeat(var(--physical-columns),minmax(0,1fr));gap:9px;max-width:650px;margin:18px auto}.physical-pocket{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;border:2px solid #d9b875;border-radius:8px;padding:5px;background:#fffaf0;overflow:hidden;color:#3e483c;cursor:pointer}.physical-pocket.confirmed{border-color:#6c9367;background:#f3f8f0}.physical-pocket.empty{border-color:#bfc9ba;background:#f5f7f2}.physical-pocket img{display:block;width:100%;height:auto;max-height:170px;aspect-ratio:63/88;object-fit:contain}.physical-pocket>span:last-child{font-size:clamp(9px,1.8vw,12px);font-weight:700;max-width:100%}.physical-pocket-number{position:absolute;top:4px;left:4px;z-index:1;background:#203e26;color:white;padding:2px 6px;border-radius:50%;font:700 12px system-ui}.physical-no-image{display:grid;place-items:center;width:100%;aspect-ratio:63/88;max-height:170px;font-size:28px;background:#e9eee2}.physical-review-panel{border:1px solid #b9c8b2;background:#f5f8f1;border-radius:12px;padding:16px;margin-top:16px;scroll-margin:20px}.physical-review-panel h4{margin:0;font-size:1rem}.physical-review-panel p{font-size:.82rem}.physical-candidates{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.physical-candidates button{display:flex;flex-direction:column;gap:5px;align-items:center;flex:1;min-width:110px;max-width:180px;padding:9px;border:1px solid #c3d0bd;border-radius:8px;background:#fff;color:#293f2b;font:inherit;text-align:left}.physical-candidates img{width:90px;height:125px;object-fit:contain}.physical-candidates button>span{font-size:.75rem}.physical-search-results{display:grid;gap:5px;max-height:250px;overflow:auto;margin:10px 0}.physical-search-results button{text-align:left;border:1px solid #cbd4c6;background:white;padding:9px;border-radius:5px;color:#293f2b}.physical-confirm{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.physical-confirm label{flex:1 1 220px}.physical-moves{padding-left:24px;max-height:420px;overflow:auto}.physical-moves li{margin:10px 0;padding:10px;background:#f0f5eb;border-radius:8px}.physical-moves label{display:flex;flex-direction:row;align-items:start;font-size:.85rem;gap:12px}.physical-moves input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:#315c39}.physical-moves label>span{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.physical-moves .done{opacity:.65}.physical-moves .done strong{text-decoration:line-through}.physical-moves small{font-weight:400}.physical-body button:disabled{opacity:.5;cursor:not-allowed}.physical-body #physical-status{position:sticky;bottom:-16px;margin:0 -4px;padding:12px 4px;background:var(--surface,#fff);color:#315c39;font-size:.85rem;min-height:1em}.physical-body #physical-status:empty{display:none}@media(max-width:520px){.physical-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding:14px 12px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.physical-main-controls{gap:8px}.physical-main-controls label{flex-basis:100%}.physical-photo>img{max-height:none}.physical-upload{align-items:stretch}.physical-upload .button{flex:1 1 150px}.physical-pocket-grid{gap:5px}.physical-pocket{padding:3px}.physical-confirm .button{flex:1 1 160px}.physical-crop{gap:8px}.physical-crop label{width:calc(25% - 6px)}.physical-candidates button{min-width:85px}.physical-candidates img{width:70px;height:98px}.physical-moves{padding-left:21px}}
