.batchLaunch{width:100%;margin-bottom:10px}.batchDialog{max-width:1000px;background:#fff}.batchDialog h2{font-size:25px}.batchPhotos,.batchInputs,.batchThumbs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.batchPhotos section{background:#f2f7f4;padding:16px;border-radius:16px;min-width:0}.batchPhotos canvas{display:block;max-width:100%;max-height:340px;width:auto;height:auto;margin:12px auto}.batchFile{font-size:14px}.batchSettings{margin:16px 0}.batchSettings label{flex:1;min-width:100px}.batchPair{border:1px solid var(--line);padding:16px;border-radius:16px;margin:12px 0}.batchPair h4{margin:0}.batchThumbs img{max-width:100%;max-height:230px;object-fit:contain}.batchPair details{border:0}.batchInputs input{font-size:16px}.batchDialog .settingsline{align-items:flex-start;gap:10px}.batchDialog .settingsline input{flex-shrink:0;margin-top:5px}.batchDialog #batchStatus{background:#edf6f0;border-radius:12px;padding:12px}.pairTitle{font-size:25px;margin-top:18px}.pairBoard{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pairBoard>div{display:flex;flex-direction:column;gap:10px}.pairLanguage{font-size:13px;color:var(--muted)}.pairTile{min-height:74px;font-size:17px;overflow-wrap:anywhere;padding:12px 8px;border:2px solid #dce7e1}.pairTile.selected{border-color:#147b60;background:#e1f5ec;box-shadow:0 0 0 2px #bee8d7}.pairTile.matched{background:#d4efd9;border-color:#a3d3ad;opacity:.72}.pairTile.tryAgain{background:#fff0d5;border-color:#edcd89}.pairProgress{height:9px;background:#e3ece7;border-radius:12px;overflow:hidden}.pairProgress span{display:block;background:#29a67a;height:100%;transition:width .3s}.roundReward{padding:20px;text-align:center;background:linear-gradient(120deg,#e4f5eb,#fff4d8);border-radius:18px;margin:16px 0}.roundReward>div{color:#c88610;font-size:42px;letter-spacing:7px;animation:starIn .4s ease-out}.roundReward strong{font-size:23px}.roundReward p{margin:5px 0;font-size:14px}.saveHint{font-size:12px;color:var(--muted);margin:4px 0 12px}.tabs{flex-wrap:wrap}.tabs button{min-width:70px}#shareWortNest{margin-top:10px}#shareLink{font-size:16px}@keyframes starIn{from{transform:scale(.7);opacity:.2}to{transform:scale(1);opacity:1}}@media(max-width:640px){.batchPhotos,.batchInputs{grid-template-columns:1fr}.batchDialog{padding:18px 14px}.batchDialog h2{font-size:23px}.batchPhotos canvas{max-height:270px}.batchPair{padding:12px}.pairTile{font-size:16px;min-height:76px}.pairBoard{gap:8px}.tabs button{flex:1 1 40%;padding:10px}.batchDialog input,.batchDialog select{font-size:16px}.roundReward>div{font-size:36px}}

.scanPrepare{display:flex;gap:12px;align-items:center;padding:14px;background:#edf7f1;border-radius:16px;margin:18px 0}.scanPrepare span{font-size:13px}#scanDialog label{display:block;margin:12px 0}#scanDialog .settingsline{display:flex}#scanDialog select,#scanDialog input:not([type=checkbox]){max-width:100%;width:100%;font-size:16px}#scanRows{max-height:55vh;overflow:auto}#scanRows .batchPair{margin-top:12px}#scanDialog a{color:#19745b}@media(max-width:600px){.scanPrepare{flex-direction:column;align-items:stretch}}

#scanReview{margin-top:20px}#scanRows .scanUncertain{border-left:4px solid #bc851d;background:#fffcf3}.scanPairState{font-weight:700;color:#19745b;margin:0 0 6px}.scanUncertain .scanPairState{color:#805500}.scanSource{font-size:12px;color:var(--muted);padding:0!important;margin:6px 0!important}.scanSource summary{font-size:12px}.scanActionBar{position:sticky;bottom:-18px;background:#fff;border-top:1px solid var(--line);padding:14px 0 6px;z-index:2}.scanActionBar p{margin:0 0 8px}.scanActionBar #scanSelection{font-weight:700}.scanActionBar .primary{width:100%;min-height:48px}.scanActionBar .meta{margin-top:8px}#scanRows{max-height:45vh}#scanDialog input[type=checkbox]{width:22px;height:22px;accent-color:#19745b}#scanSelectAll{min-height:44px}#scanDialog button:disabled{opacity:.5}@media(max-width:600px){.scanActionBar{bottom:-14px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}#scanRows{max-height:42vh}}

.scanMissing{padding:18px;background:#edf7f1;border:1px solid #b9dbca;border-radius:16px;margin:18px 0}.scanMissing strong{font-size:18px;color:#145e49}.scanMissing p{margin:10px 0}.scanMissing button{min-height:48px}
