.pd-app{
  --pd-bg:#FFFFFF; --pd-surface:#F7F8F9; --pd-surface-2:#F0F1F3;
  --pd-border:#DEE2E7; --pd-border-soft:#EAEDF0;
  --pd-text:#12181F; --pd-text-muted:#48505C; --pd-text-dim:#6B7280;
  --pd-accent:#E0590C; --pd-accent-soft:#FFF0E6; --pd-accent-dim:#F6C9A8;
  --pd-diag:#0B8A5C; --pd-diag-dim:#DFF5EB; --pd-danger:#C0392B; --pd-radius:10px;
  width:100%; max-width:1040px; margin:32px auto; background:var(--pd-bg);
  border:1px solid var(--pd-border); border-radius:14px; overflow:hidden;
  font-family:'Inter',sans-serif; color:var(--pd-text); box-sizing:border-box;
  box-shadow:0 1px 2px rgba(16,24,32,0.04), 0 12px 28px rgba(16,24,32,0.06);
}
.pd-app *{ box-sizing:border-box; }
.pd-topbar{ display:flex; align-items:center; justify-content:space-between; padding:22px 28px; border-bottom:1px solid var(--pd-border); background:#FFFFFF; }
.pd-brand{ display:flex; align-items:center; gap:13px; }
.pd-mark{ width:36px; height:36px; border-radius:9px; background:var(--pd-accent); display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:700; color:#FFFFFF; font-size:14px; flex-shrink:0; }
.pd-brand-text h1{ font-family:'Space Grotesk',sans-serif; font-size:18px; font-weight:700; margin:0; letter-spacing:-.1px; color:#0D1218; }
.pd-brand-text p{ margin:2px 0 0; font-size:13px; color:var(--pd-text-muted); font-weight:600; }
.pd-status-pill{ display:flex; align-items:center; gap:7px; padding:7px 14px; border-radius:999px; background:var(--pd-surface); border:1px solid var(--pd-border); font-size:12.5px; color:var(--pd-text); font-weight:700; }
.pd-dot{ width:6px; height:6px; border-radius:50%; background:var(--pd-text-dim); transition:background .3s, box-shadow .3s; }
.pd-dot.pd-live{ background:var(--pd-diag); box-shadow:0 0 5px rgba(14,143,98,0.5); }
.pd-dot.pd-busy{ background:var(--pd-accent); box-shadow:0 0 5px rgba(217,83,15,0.5); animation:pd-pulse 1s infinite; }
.pd-body{ display:grid; grid-template-columns:1fr 1fr; }
@media (max-width:760px){ .pd-body{ grid-template-columns:1fr; } }
.pd-left{ padding:28px; border-right:1px solid var(--pd-border); }
@media (max-width:760px){ .pd-left{ border-right:none; border-bottom:1px solid var(--pd-border); } }
.pd-viewfinder{ position:relative; aspect-ratio:16/10; border-radius:var(--pd-radius); background:var(--pd-surface); border:2px dashed var(--pd-accent-dim); display:flex; align-items:center; justify-content:center; overflow:hidden; cursor:pointer; transition:border-color .2s, background .2s; }
.pd-viewfinder:hover{ border-color:var(--pd-accent); background:var(--pd-accent-soft); }
.pd-viewfinder.pd-drag-over{ border-color:var(--pd-accent); background:var(--pd-accent-soft); }
.pd-viewfinder img{ width:100%; height:100%; object-fit:cover; }
.pd-vf-empty{ text-align:center; color:var(--pd-text-muted); padding:20px; }
.pd-vf-empty svg{ display:block; margin:0 auto 14px; color:var(--pd-accent); opacity:1; width:30px; height:30px; }
.pd-t1{ font-size:15.5px; color:var(--pd-text); font-weight:700; margin-bottom:5px; }
.pd-t2{ font-size:13.5px; color:var(--pd-text-muted); font-weight:500; }
.pd-corner{ display:none; }
.pd-scanline{ position:absolute; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,var(--pd-accent),transparent); opacity:0; top:0; }
.pd-viewfinder.pd-scanning{ border-color:var(--pd-accent); border-style:solid; }
.pd-viewfinder.pd-scanning .pd-scanline{ opacity:1; animation:pd-sweep 1.6s linear infinite; }
.pd-viewfinder.pd-locked{ border-color:var(--pd-diag); border-style:solid; }
.pd-app input[type=file]{ display:none; }
.pd-or-row{ display:flex; align-items:center; gap:12px; margin:22px 0; color:var(--pd-text-muted); font-size:12.5px; font-weight:700; letter-spacing:.3px; text-transform:uppercase; }
.pd-or-row::before,.pd-or-row::after{ content:""; flex:1; height:1px; background:var(--pd-border); }
.pd-app textarea{ width:100%; min-height:78px; resize:vertical; background:#FFFFFF; border:1.5px solid var(--pd-border); border-radius:var(--pd-radius); color:var(--pd-text); font-family:'Inter',sans-serif; font-size:15px; padding:13px 14px; outline:none; transition:border-color .2s, box-shadow .2s; line-height:1.5; }
.pd-app textarea:focus{ border-color:var(--pd-accent); box-shadow:0 0 0 3px var(--pd-accent-soft); }
.pd-app textarea::placeholder{ color:var(--pd-text-dim); }
.pd-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.pd-chip{ font-size:13px; font-weight:600; color:var(--pd-accent); background:var(--pd-accent-soft); border:1px solid var(--pd-accent-dim); border-radius:999px; padding:7px 14px; cursor:pointer; transition:all .15s; }
.pd-chip:hover{ background:var(--pd-accent); color:#FFFFFF; border-color:var(--pd-accent); }
.pd-scan-btn{ margin-top:22px; width:100%; padding:16px; border-radius:var(--pd-radius); background:var(--pd-accent); color:#FFFFFF; border:none; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:16px; cursor:pointer; letter-spacing:.1px; transition:filter .15s, transform .05s; box-shadow:0 2px 8px rgba(224,89,12,0.28); }
.pd-scan-btn:hover{ filter:brightness(1.06); }
.pd-scan-btn:active{ transform:scale(.99); }
.pd-scan-btn:disabled{ opacity:.5; cursor:not-allowed; }
.pd-right{ padding:28px; display:flex; flex-direction:column; background:#FFFFFF; }
.pd-terminal-label{ font-size:12.5px; color:var(--pd-text-muted); letter-spacing:.3px; text-transform:uppercase; margin-bottom:12px; font-weight:700; }
.pd-log{ background:var(--pd-surface); border:1px solid var(--pd-border); border-radius:var(--pd-radius); padding:4px 18px; font-size:14.5px; color:var(--pd-text); min-height:0; }
.pd-log .pd-idle{ display:block; padding:26px 4px; color:var(--pd-text-muted); font-weight:500; text-align:center; }
.pd-log .pd-idle::before{ content:"🔍"; display:block; font-size:26px; margin-bottom:10px; }
.pd-log .pd-line{ opacity:0; animation:pd-fadeIn .35s forwards; padding:11px 0; border-bottom:1px solid var(--pd-border-soft); display:flex; align-items:center; gap:11px; }
.pd-log .pd-line:last-child{ border-bottom:none; }
.pd-log .pd-line .pd-arrow{ flex-shrink:0; width:18px; height:18px; border-radius:50%; background:#FFFFFF; border:1.5px solid var(--pd-border); color:var(--pd-text-dim); font-size:9px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.pd-log .pd-line.pd-ok .pd-arrow{ background:var(--pd-diag-dim); border-color:var(--pd-diag-dim); color:var(--pd-diag); }
.pd-log .pd-line.pd-error-line{ display:block; color:var(--pd-danger); border:none; padding:11px 0; }
.pd-result{ margin-top:18px; border:1px solid var(--pd-border); border-radius:var(--pd-radius); background:#FFFFFF; overflow:hidden; opacity:0; transform:translateY(6px); transition:opacity .4s ease, transform .4s ease; }
.pd-result.pd-show{ opacity:1; transform:translateY(0); }
.pd-result-head{ padding:16px 18px 12px; border-bottom:1px solid var(--pd-border-soft); display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.pd-result-head h3{ margin:0; font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:700; color:#12181F; }
.pd-result-head .pd-cat{ margin-top:3px; font-size:12.5px; color:var(--pd-text-muted); font-weight:600; }
.pd-confidence{ text-align:right; flex-shrink:0; }
.pd-confidence .pd-pct{ font-size:20px; font-weight:700; color:var(--pd-diag); }
.pd-confidence .pd-label{ font-size:11px; color:var(--pd-text-muted); letter-spacing:.3px; text-transform:uppercase; font-weight:700; }
.pd-bar-track{ height:5px; background:var(--pd-border-soft); margin:0 18px; border-radius:3px; overflow:hidden; }
.pd-bar-fill{ height:100%; width:0%; background:var(--pd-diag); transition:width 1s cubic-bezier(.2,.8,.2,1); }
.pd-reasoning{ padding:16px 18px; font-size:14.5px; line-height:1.65; color:var(--pd-text); }
.pd-keywords{ padding:0 18px 16px; display:flex; flex-wrap:wrap; gap:6px; }
.pd-kw{ font-size:12px; color:var(--pd-text); background:var(--pd-surface); border:1px solid var(--pd-border); border-radius:5px; padding:4px 9px; font-weight:600; }
.pd-matches{ padding:0 18px 18px; }
.pd-matches .pd-m-title{ font-size:12px; color:var(--pd-text-muted); text-transform:uppercase; letter-spacing:.3px; margin-bottom:9px; font-weight:700; }
.pd-app .pd-match-item{ display:flex; justify-content:space-between; align-items:center; padding:12px 14px; background:var(--pd-surface); border:1px solid var(--pd-border-soft); border-radius:8px; margin-bottom:7px; font-size:14px; font-weight:600; text-decoration:none !important; color:var(--pd-text) !important; transition:border-color .15s; }
.pd-app .pd-match-item:hover{ border-color:var(--pd-accent); background:var(--pd-accent-soft); }
.pd-app .pd-match-item .pd-sku{ font-size:12.5px; color:var(--pd-text-muted) !important; font-weight:500; }
.pd-app .pd-match-item .pd-price{ font-size:14px; color:var(--pd-diag) !important; margin-left:8px; font-weight:700; }
.pd-error-line{ color:var(--pd-danger); }
@keyframes pd-pulse{ 0%,100%{opacity:1;} 50%{opacity:.4;} }
@keyframes pd-sweep{ 0%{top:0;} 100%{top:100%;} }
@keyframes pd-fadeIn{ to{opacity:1;} }
@media (prefers-reduced-motion:reduce){
  .pd-dot.pd-busy{ animation:none; }
  .pd-viewfinder.pd-scanning .pd-scanline{ animation:none; }
  .pd-log .pd-line{ animation:none; opacity:1; }
}

.pd-cta-row{ padding:6px 18px 18px; }
.pd-instructions-btn{ width:100%; padding:13px; border-radius:8px; background:#FFFFFF; border:2px solid var(--pd-accent); color:var(--pd-accent); font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:14.5px; cursor:pointer; transition:all .15s; }
.pd-instructions-btn:hover{ background:var(--pd-accent-soft); }
.pd-reset-btn{ width:100%; padding:13px; border-radius:8px; background:#FFFFFF; border:1.5px solid var(--pd-border); color:var(--pd-text); font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:14px; cursor:pointer; transition:all .15s; }
.pd-reset-btn:hover{ border-color:var(--pd-text-dim); background:var(--pd-surface); }

.pd-model-row{ margin-top:20px; }
.pd-model-label{ display:block; font-size:13px; color:var(--pd-text); letter-spacing:.1px; margin-bottom:7px; font-weight:700; }
.pd-model-label span{ font-weight:500; color:var(--pd-text-muted); }
.pd-model-input{ width:100%; padding:11px 13px; background:#FFFFFF; border:1.5px solid var(--pd-border); border-radius:var(--pd-radius); color:var(--pd-text); font-size:15px; outline:none; transition:border-color .2s, box-shadow .2s; }
.pd-model-input:focus{ border-color:var(--pd-accent); box-shadow:0 0 0 3px var(--pd-accent-soft); }
.pd-model-input::placeholder{ color:var(--pd-text-dim); }
.pd-lookup-box{ margin-top:24px; border:1px solid var(--pd-border); border-radius:var(--pd-radius); background:var(--pd-surface); padding:20px; }
.pd-lookup-btn{ margin-top:10px; width:100%; padding:13px; border-radius:8px; background:#FFFFFF; border:2px solid var(--pd-accent); color:var(--pd-accent); font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:14.5px; cursor:pointer; transition:all .15s; }
.pd-lookup-btn:hover{ background:var(--pd-accent); color:#FFFFFF; }
.pd-lookup-btn:disabled{ opacity:.5; cursor:not-allowed; }
.pd-disclaimer{ padding:14px 28px; font-size:12.5px; color:var(--pd-text-muted); font-weight:500; border-top:1px solid var(--pd-border); text-align:center; background:var(--pd-surface); }
.pd-result-disclaimer{ padding:0 18px 14px; font-size:12.5px; color:var(--pd-text-muted); font-style:italic; }

.pd-pct.pd-conf-high{ color:#0E8F62 !important; }
.pd-pct.pd-conf-mid{ color:#A8660A !important; }
.pd-pct.pd-conf-low{ color:#C0392B !important; }
.pd-bar-fill.pd-conf-high{ background:#0E8F62 !important; }
.pd-bar-fill.pd-conf-mid{ background:#C4841A !important; }
.pd-bar-fill.pd-conf-low{ background:#C0392B !important; }

/* Instructions panel */
.pd-instr-meta{ padding:16px 18px 0; display:flex; gap:10px; align-items:center; }
.pd-instr-badge{ font-size:12px; font-weight:700; color:var(--pd-accent); background:var(--pd-accent-soft); border:1px solid var(--pd-accent-dim); border-radius:6px; padding:5px 11px; }
.pd-instr-time{ font-size:12.5px; color:var(--pd-text-muted); font-weight:600; }
.pd-instr-block{ padding:16px 18px 0; }
.pd-instr-label{ font-size:12px; text-transform:uppercase; letter-spacing:.3px; color:var(--pd-text-muted); font-weight:700; margin-bottom:9px; }
.pd-instr-tags{ display:flex; flex-wrap:wrap; gap:7px; }
.pd-instr-tag{ font-size:13px; background:var(--pd-surface); border:1px solid var(--pd-border); color:var(--pd-text); font-weight:600; border-radius:6px; padding:6px 10px; }
.pd-instr-warnings{ padding:16px 18px 0; }
.pd-instr-warning{ font-size:13px; color:#8A4B0A; background:#FFF6E9; border:1px solid #F3DFB4; border-radius:8px; padding:10px 12px; margin-bottom:7px; }
.pd-instr-steps{ padding:18px; display:flex; flex-direction:column; gap:16px; }
.pd-instr-step{ display:flex; gap:13px; }
.pd-instr-step-num{ flex-shrink:0; width:25px; height:25px; border-radius:50%; background:var(--pd-text); color:#FFFFFF; font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; }
.pd-instr-step-title{ font-weight:700; font-size:14px; color:var(--pd-text); margin-bottom:3px; }
.pd-instr-step-desc{ font-size:14px; color:var(--pd-text-muted); font-weight:500; line-height:1.55; }
.pd-instr-error{ padding:16px 18px; color:var(--pd-danger); font-size:13.5px; }

.pd-video-loading {
  font-size: 13px;
  color: #888;
  padding: 12px 0;
}
.pd-video-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #888;
  margin: 20px 0 10px;
}
.pd-video-frame {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  border-radius: 8px;
  overflow: hidden;
  background: #000;
}
.pd-video-frame iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}