.pp{--guide-head: #22c55e;--guide-head-ink: #065f46;--guide-mid: #38bdf8;--guide-mid-ink: #075985;--guide-face: #a855f7;--guide-face-ink: #6b21a8;--guide-eye: #f59e0b;--guide-eye-ink: #92400e}.pp{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4)}.pp-seal{display:inline-flex;align-items:center;gap:var(--sp-2);justify-self:start;font-size:var(--fs-small);font-weight:var(--fw-bold);color:var(--ink-muted);border:1px solid var(--hairline);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3)}.pp-err{color:var(--danger);background:var(--danger-tint);border:1px solid var(--danger);border-radius:var(--r-md);padding:var(--sp-3);margin:0}.pp-field{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-1)}.pp-select{max-width:100%}.pp-label{font-size:var(--fs-small);font-weight:var(--fw-bold);color:var(--ink-muted)}.pp-select{min-height:var(--tap);border:1px solid var(--edge);border-radius:var(--r-md);background:var(--surface);color:var(--ink);padding:0 var(--sp-3);font:inherit}.pp-drop{border:2px dashed var(--edge);border-radius:var(--r-lg);padding:var(--sp-8) var(--sp-4);text-align:center;cursor:pointer;background:var(--surface)}.pp-drop:hover,.pp-drop:focus-visible{border-color:var(--ink)}.pp-drop-title{font-weight:var(--fw-bold);margin:0 0 var(--sp-1)}.pp-drop-sub{color:var(--ink-muted);font-size:var(--fs-small);margin:0}.pp-work{display:flex;gap:var(--sp-6);flex-wrap:wrap;align-items:flex-start}.pp-stage{display:grid;gap:var(--sp-2)}.pp-step{margin:0;font-size:var(--fs-small);color:var(--ink)}.pp-photo{touch-action:none;cursor:ns-resize;border-radius:var(--r-md);border:1px solid var(--hairline);background:#fff;display:block}.pp-preview{border-radius:var(--r-md);border:1px solid var(--hairline);background:#fff;display:block}.pp-previews{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-end}.pp-fig{margin:0;display:flex;flex-direction:column;gap:var(--sp-1)}.pp-fig figcaption{font-size:.75rem;color:var(--ink-muted)}.pp-verdict{margin:0;font-size:var(--fs-small);font-weight:var(--fw-bold);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);max-width:34ch}.pp-verdict.is-ok{color:var(--save);background:var(--success-tint)}.pp-verdict.is-warn{color:var(--warning);background:var(--warning-tint)}.pp-check{display:flex;gap:var(--sp-2);align-items:flex-start;font-size:var(--fs-small)}.pp-bg{display:grid;gap:var(--sp-2);border-left:2px solid var(--hairline);padding-left:var(--sp-3)}.pp-bg input[type=range]{width:100%}.pp-warn{margin:0;font-size:var(--fs-small);color:var(--warning);max-width:40ch}.pp-controls{display:grid;gap:var(--sp-4);flex:1;min-width:240px}.pp-hint{color:var(--ink-muted);font-size:var(--fs-small);margin:0;max-width:34ch}.pp-metric{font-variant-numeric:tabular-nums;font-family:var(--metric);color:var(--ink-muted)}.pp-spec{display:grid;gap:var(--sp-1);margin:0;font-size:var(--fs-small)}.pp-spec>div{display:flex;justify-content:space-between;gap:var(--sp-4);border-bottom:1px solid var(--hairline);padding-bottom:var(--sp-1)}.pp-spec dt{color:var(--ink-muted)}.pp-spec dd{margin:0;color:var(--ink);font-weight:var(--fw-bold)}.pp-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap}.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-4);border-radius:var(--r-pill);border:1px solid transparent;background:var(--cta);color:var(--on-cta);font-weight:var(--fw-bold);text-decoration:none;cursor:pointer}.pp-btn[disabled]{opacity:.55;cursor:default}.pp-btn--ghost{background:var(--surface);color:var(--ink);border-color:var(--edge)}.pp-result{border:1px solid var(--hairline);border-radius:var(--r-lg);padding:var(--sp-4);background:var(--surface);display:grid;gap:var(--sp-3)}.pp-result-title{margin:0;font-weight:var(--fw-bold);color:var(--ink)}.pp-downloads{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}.pp-note{margin:0;color:var(--ink-muted);font-size:var(--fs-small)}.pp-rules{border-top:1px solid var(--hairline);padding-top:var(--sp-3)}.pp-rules summary{cursor:pointer;font-weight:var(--fw-bold)}.pp-rules ul{margin:var(--sp-3) 0 0;padding-left:var(--sp-5);display:grid;gap:var(--sp-2);color:var(--ink-muted);font-size:var(--fs-small)}.pp-src{font-size:var(--fs-small);color:var(--ink-muted);margin:var(--sp-3) 0 0}
