:root{color-scheme:light;--bg:#f3f6f7;--panel:#fff;--text:#183039;--muted:#657980;--border:#dfe8ea;--accent:#087c73;--tint:#e7f4ef;--soft:#f4f8f8;--warn:#8c5c19}*{box-sizing:border-box}body{margin:0;font:16px/1.6 'Segoe UI','Microsoft YaHei',sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer}button{color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:5px;padding:7px 11px}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}header{background:var(--panel);padding:18px 26px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px}.mark{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--accent);color:white;font-weight:600}.brand strong{font-size:20px}.brand small{margin-left:14px;color:var(--muted)}.header-actions{display:flex;gap:7px}.header-actions button{font-size:15px}.localbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--tint);padding:10px 26px;font-size:15px;color:var(--accent)}.localbar b{font-weight:500}.localbar span span{color:var(--muted);margin-left:10px}main{max-width:1500px;margin:auto;padding:22px}nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:18px}nav button{display:flex;align-items:center;gap:8px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:12px 15px;font-weight:500}nav button small{font-weight:400;color:var(--muted)}nav button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent)}nav button[data-mode=favorites]{margin-left:auto}.query{border:1px solid var(--border);background:var(--panel);padding:20px;border-radius:10px}.heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}h1{margin:0 0 4px;font-size:26px;font-weight:600}p{margin:5px 0;color:var(--muted);font-size:15px}.update{color:var(--accent);border-color:var(--accent);flex-shrink:0}.update small{color:var(--muted);border-left:1px solid var(--border);padding-left:8px;margin-left:8px;font-size:14px}label{font-size:15px;display:block}.search{display:flex;gap:8px;padding:5px 5px 5px 12px;border:1px solid var(--border);border-radius:7px;margin-top:7px}.search input{border:0;background:transparent;flex:1;min-width:0;padding:7px 0;color:var(--text)}.primary{background:var(--accent);color:white;border-color:var(--accent);padding:8px 20px}.hint{font-size:14px;margin-top:8px}.filters{display:flex;align-items:end;gap:15px;flex-wrap:wrap;margin-top:17px}.filters label{display:flex;flex-direction:column;gap:5px;font-size:14px;color:var(--muted)}select{max-width:100%;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:5px;padding:7px 24px 7px 9px;font-size:15px}.local-only{margin-left:auto;font-size:15px;color:var(--muted);padding:8px 0}#status:not(:empty){font-size:15px;margin-top:12px;color:var(--accent)}#status.error{color:#a13f29}.snapshotbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 2px;color:var(--muted);font-size:14px}.snapshotbar>span:last-child{color:var(--accent)}.results{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--panel)}.result-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.result-head strong{font-weight:500}.result-head span{font-size:14px;color:var(--muted);margin-left:8px}.result-head button{font-size:14px}.table-scroll{overflow-x:auto}table{width:100%;min-width:940px;table-layout:fixed;border-collapse:collapse}th{text-align:left;padding:12px 9px;background:var(--soft);color:var(--muted);font-size:14px;font-weight:400}th:first-child{width:31%;padding-left:18px}th:nth-child(2){width:9%}th:nth-child(3){width:11%}th:nth-child(4){width:12%}th:nth-child(5){width:12%}th:nth-child(6){width:7%}th:nth-child(7){width:9%}th:nth-child(8){width:9%}th small{display:block;font-size:14px}td{border-top:1px solid var(--border);padding:18px 9px;font-size:15px;vertical-align:middle}td:first-child{padding-left:18px}.product{display:flex;gap:11px;align-items:center}.thumb{width:65px;height:65px;display:grid;place-items:center;flex-shrink:0;background:#eef1ef;border-radius:7px;color:var(--muted);font-size:14px;text-align:center;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:contain}.title{font-size:16px;margin-bottom:5px;overflow-wrap:anywhere}.entity-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}.entity-link{color:var(--accent);font-size:14px;background:none;border:0;padding:1px 0}.save{font-size:14px;padding:2px 5px;color:var(--muted)}.save[aria-pressed=true]{background:var(--tint);color:var(--accent);border-color:transparent}.secondary{display:block;color:var(--muted);font-size:14px;margin-top:4px;overflow-wrap:anywhere}.rank{font-size:21px;font-weight:500}.price{font-size:16px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.tag{display:inline-block;border-radius:4px;padding:3px 6px;background:var(--tint);color:var(--accent);font-size:14px}.tag.unknown{background:#fbf2e4;color:var(--warn)}.textlink{border:0;background:none;color:var(--accent);padding:5px 0;font-size:15px}.browse{white-space:nowrap}.result-bottom{padding:12px 18px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border);font-size:14px;color:var(--muted)}.empty{text-align:center;padding:40px 18px;color:var(--muted)}.empty strong{font-size:16px;font-weight:500}.entities{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.entities button{min-width:170px;text-align:left;padding:12px}.entities button[aria-pressed=true]{background:var(--tint);border-color:var(--accent)}.entities small{display:block;color:var(--muted);font-size:14px;margin-top:4px}.favorite-tabs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}.favorite-tabs button{font-size:15px}.favorite-tabs button[aria-pressed=true]{background:var(--tint);color:var(--accent);border-color:var(--accent)}.favorite-tabs button span{margin-left:6px}.muted{color:var(--muted);font-size:14px}.favorite-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.favorite-card{border:1px solid var(--border);border-radius:7px;padding:13px;min-width:0}.favorite-card.selected{border-color:var(--accent);background:var(--tint)}.favorite-card strong{font-weight:500}.favorite-card p{font-size:14px;overflow-wrap:anywhere}.favorite-card textarea{width:100%;resize:vertical;border:1px solid var(--border);border-radius:4px;margin-top:8px;padding:7px;font-size:15px;background:var(--panel);color:var(--text)}.favorite-buttons{display:flex;justify-content:space-between;gap:8px;margin-top:9px}.favorite-buttons button{border:0;background:transparent;padding:3px 0;color:var(--accent);font-size:15px}.favorite-buttons button:last-child{color:var(--muted);font-size:14px}.task-panel{margin-top:15px;padding:15px;background:var(--panel);border:1px solid var(--accent);border-radius:8px;display:flex;justify-content:space-between;gap:15px}.task-panel strong{font-weight:500}.task-panel span{margin-left:10px;font-size:15px;color:var(--accent)}#job-list{font-size:15px;color:var(--muted)}.job{padding:9px;border-bottom:1px solid var(--border)}details{margin-top:18px;color:var(--muted);font-size:15px}summary{cursor:pointer}footer{font-size:14px;color:var(--muted);margin-top:16px}dialog{border:1px solid var(--border);border-radius:12px;padding:22px;max-width:660px;width:calc(100% - 32px);color:var(--text);background:var(--panel)}dialog::backdrop{background:#18303966}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}h2{font-size:20px;margin:0}dialog ol{font-size:16px;padding-left:22px}dialog li{margin:9px 0}.dialog-actions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.button{border:1px solid var(--accent);color:var(--accent);padding:7px 11px;border-radius:5px;text-decoration:none;font-size:16px}#saved-link{width:100%;padding:10px;font-size:15px;resize:vertical}
@media(max-width:700px){header{padding:14px;align-items:flex-start;flex-wrap:wrap}.brand small{display:block;margin-left:0;font-size:14px}.header-actions button{padding:6px 8px}main{padding:14px}.localbar{padding:10px 14px}.localbar span span{display:block;margin:4px 0 0}nav{gap:0}nav button{padding:10px 7px;font-size:15px}nav button small{display:none}nav button[data-mode=favorites]{margin-left:0}.query{padding:14px}.heading{align-items:flex-start}h1{font-size:22px}.update small{display:block;border:0;padding:0;margin:2px 0 0}.filters{gap:12px}.filters label{max-width:100%}.local-only{margin-left:0}.result-head{padding:12px}.favorite-list{grid-template-columns:1fr}.primary{padding:8px 12px}.task-panel{align-items:flex-start}button{min-height:34px}}@media(pointer:coarse){button{min-height:44px}input,select{font-size:21px}}

/* Larger reading sizes and local image preview. */
.title{font-size:17px;font-weight:600;line-height:1.65}.price{font-size:18px;font-weight:700}.rank{font-size:22px;font-weight:700}th,nav button,.result-head strong,.localbar b,.tag,.favorite-card strong,.task-panel strong{font-weight:600}th{font-size:15px}table{min-width:1200px}.thumb{width:86px;height:86px}.image-open{padding:0;cursor:zoom-in;border:1px solid var(--border)}.image-open:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--tint)}#image-dialog{width:calc(100% - 32px);max-width:1000px;max-height:94vh}#image-caption{font-size:16px;font-weight:600;overflow-wrap:anywhere}.image-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}#image-stage{overflow:auto;max-height:68vh;background:var(--soft);border-radius:8px;padding:16px;text-align:center}#preview-image{display:block;max-width:none;height:auto;margin:0 auto}#image-zoom-value{min-width:58px;text-align:center;font-weight:600}@media(max-width:700px){.thumb{width:78px;height:78px}#image-dialog{padding:14px}.image-toolbar{gap:6px}}

.empty-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px}.search button{flex-shrink:0}@media(max-width:700px){.search{flex-wrap:wrap}.search input{flex-basis:100%}.search button{flex:1}}

.busy-button:disabled{opacity:1;cursor:progress;color:var(--accent)}.busy-button::before{content:"";display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:8px;vertical-align:-2px;animation:busy-spin .8s linear infinite}@keyframes busy-spin{to{transform:rotate(360deg)}}#search-button[aria-busy=true]{color:var(--accent)}#status:not(:empty){font-weight:600;min-height:26px}

.identity-note{font-size:12px;color:var(--accent);background:var(--tint);padding:2px 5px;border-radius:4px}.identity-note.inferred{background:#fbf2e4;color:var(--warn)}#brand-name{width:100%;padding:9px;border:1px solid var(--border);border-radius:5px;margin:8px 0}.entity-line .save{white-space:nowrap}

.delivery-tools{padding:16px 20px;border-top:1px solid var(--border)}#delivery-shortcuts{display:flex;gap:10px;flex-wrap:wrap}#delivery-shortcuts button{font-weight:600}#delivery-shortcuts button[aria-pressed="true"]{background:var(--accent);color:white;border-color:var(--accent)}#delivery-shortcuts span{display:inline-block;margin-left:5px;opacity:.85}#delivery-filter-note{margin:10px 0 0;font-size:14px;color:var(--muted)}

.image-slot{display:block;flex:0 0 86px;width:86px}

#brand-policy-text{width:100%;padding:10px;font-size:16px;line-height:1.7;resize:vertical;border:1px solid var(--border);border-radius:5px}
.header-actions{flex-wrap:wrap;max-width:100%}

/* User-provided twin blue banners, kept separate from product data and actions. */
.brand-banners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px clamp(16px,2vw,32px);background:linear-gradient(120deg,#030F23,#09213C);border-bottom:1px solid #1E4E71}
.brand-banner{min-width:0}.brand-banner>svg{display:block;width:100%;height:auto;aspect-ratio:1200/180}
@media(max-width:900px){.brand-banners{grid-template-columns:1fr;gap:6px;padding:8px 12px}}
@media(max-width:600px){.brand-banners .banner-title{font-size:58px}.brand-banners .banner-subtitle,.brand-banners .banner-roman{display:none}}

/* Real task states with indeterminate motion; no simulated percentage. */
.search-progress{margin-top:12px;padding:10px 13px;background:linear-gradient(100deg,#eef6ff,#f7fbff);border:1px solid #bed4ef;border-radius:8px}
.search-progress-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.search-progress-heading>div{min-width:0}
#search-progress-title{font-size:16px;font-weight:650;color:#235d9c}
#search-progress-detail{margin:3px 0 0;font-size:15px;overflow-wrap:anywhere}
#search-progress-stop{min-height:38px;font-size:15px;padding:7px 12px;flex-shrink:0}
.search-progress-track{height:5px;overflow:hidden;border-radius:4px;background:#dbe7f5;margin-top:8px}
.search-progress-fill{display:block;width:32%;height:100%;border-radius:4px;background:linear-gradient(90deg,#2972ce,#46bfea);animation:search-progress-scan 1.3s ease-in-out infinite alternate}
.search-progress-steps{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:7px;font-size:14px;color:#617a97}
.search-progress-steps .current{font-weight:650;color:#1c64aa}
#search-progress-summary{margin:5px 0 0;font-size:15px;color:#315f8d}
.search-progress[data-state=lookup]{padding:5px 0;border:0;background:none}
.search-progress[data-state=lookup] .search-progress-heading{display:none}
.search-progress[data-state=paused] .search-progress-fill,.search-progress[data-state=error] .search-progress-fill,.search-progress[data-state=stopping] .search-progress-fill{animation:none;visibility:hidden}
.search-progress[data-state=error] #search-progress-title,.search-progress[data-state=paused] #search-progress-title{color:#92551c}
.search-progress[data-state=success] .search-progress-fill{width:100%;animation:none;background:#267fa8}
@keyframes search-progress-scan{from{transform:translateX(-105%)}to{transform:translateX(320%)}}
@media(prefers-reduced-motion:reduce){.search-progress-fill{animation:none;width:100%;opacity:.45}}
@media(max-width:700px){.search-progress{padding:10px}#search-progress-stop{min-height:44px}}
