.tool{margin:1rem 0 0;padding:1rem}@media (width>=640px){.tool{padding:1.5rem}}.tool [hidden]{display:none!important}.tool-bar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.tool-bar-label{color:var(--navy);font-weight:600}.tool select{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);border-radius:8px;max-width:100%;padding:.4rem 2rem .4rem .75rem;font-size:1rem}.start-actions{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.start-actions .btn{flex:200px}.tips{color:var(--quiet);margin:.5rem 0 0;padding-left:1.2rem;font-size:.95rem}.tips li{margin-bottom:.25rem}.offline-note{background:var(--pass-bg);color:var(--pass-text);border-radius:10px;align-items:flex-start;gap:.6rem;margin:1rem 0 0;padding:.7rem .9rem;font-size:.95rem;display:flex}.offline-note svg{width:20px;height:20px;color:var(--pass);flex:none;margin-top:2px}.cam-view{background:#0f172a;border-radius:10px;max-height:70vh;margin:0 auto;position:relative;overflow:hidden}.cam-view video{object-fit:cover;width:100%;height:100%}.cam-view video.mirrored{transform:scaleX(-1)}.ghost,.ghost svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.countdown{color:#fff;text-shadow:0 2px 12px #00000080;place-items:center;font-size:5rem;font-weight:700;display:grid;position:absolute;inset:0}.cam-hint{color:var(--quiet);margin:.75rem 0;font-size:.95rem}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.busy{text-align:center;color:var(--quiet);flex-direction:column;align-items:center;padding:3rem 1rem;display:flex}.spinner{border:4px solid var(--border);border-top-color:var(--blue);border-radius:50%;width:36px;height:36px;margin-bottom:1rem;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.error-text{background:var(--fail-bg);color:var(--fail);border-radius:10px;padding:.9rem 1rem;font-weight:500}.result-grid{gap:1.5rem;display:grid}@media (width>=760px){.result-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.preview-col{align-self:start;position:sticky;top:1rem}}.preview{width:min(100%, 420px, calc(52vh * var(--ar,.78)));border:3px solid var(--navy);touch-action:none;cursor:grab;background:#fff;border-radius:4px;margin:0 auto;transition:border-color .2s;position:relative;overflow:hidden}.preview.status-pass{border-color:var(--pass)}.preview.status-warn{border-color:var(--warn-line)}.preview.status-fail,.preview.has-gap{border-color:var(--fail)}.ready{border-radius:10px;align-items:center;gap:.5rem;max-width:420px;margin:0 auto .6rem;padding:.55rem .8rem;font-size:.97rem;font-weight:600;display:flex}.ready:empty{display:none}.ready svg{flex:none;width:20px;height:20px}.ready.pass{background:var(--pass-bg);color:var(--pass)}.ready.warn{background:var(--warn-bg);color:var(--warn)}.ready.fail{background:var(--fail-bg);color:var(--fail)}.preview:active{cursor:grabbing}.preview canvas{width:100%;height:auto}.preview .guides{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.change-photo{flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:420px;margin:.6rem auto 0;display:flex}.change-photo .btn{white-space:nowrap;flex:auto}.change-photo-info{text-align:center;max-width:420px;margin:.35rem auto 0}.btn-small{min-height:40px;padding:.45rem 1rem;font-size:.95rem}.btn-small svg{width:18px;height:18px}.adjust{border-top:1px solid var(--border);max-width:420px;margin:1rem auto 0;padding-top:.75rem}.zoom{color:var(--navy);align-items:center;gap:.75rem;font-weight:600;display:flex}.zoom input{accent-color:var(--blue);flex:1;min-height:32px}.adjust-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.crown{align-items:center;gap:.3rem;display:inline-flex}.mini{font:inherit;border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--navy);cursor:pointer;border-radius:6px;font-size:.8rem}.btn-link.small{color:var(--link);cursor:pointer;font:inherit;background:0 0;border:0;padding:.25rem;font-size:.9rem;text-decoration:underline}.verdict{border-radius:10px;align-items:center;gap:.6rem;margin-bottom:.75rem;padding:.8rem 1rem;font-weight:600;display:flex}.verdict svg{flex:none;width:22px;height:22px}.verdict.pass{background:var(--pass-bg);color:var(--pass)}.verdict.warn{background:var(--warn-bg);color:var(--warn)}.verdict.fail{background:var(--fail-bg);color:var(--fail)}.checks{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.checks li{border-bottom:1px solid var(--border);grid-template-columns:24px 1fr;gap:.6rem;padding:.6rem .1rem;display:grid}.checks svg{width:22px;height:22px;margin-top:1px}.checks .pass svg{color:var(--pass)}.checks .warn svg{color:var(--warn)}.checks .fail svg{color:var(--fail)}.checks .info svg{color:var(--info)}.checks strong{font-size:.97rem;display:block}.checks .msg{color:var(--quiet);font-size:.92rem;display:block}.checks .fail .msg{color:var(--fail)}.checks .warn .msg{color:var(--warn-text)}.honesty{background:var(--info-bg);color:var(--text);border-radius:10px;margin:1rem 0;padding:.7rem .9rem;font-size:.92rem}.outputs{flex-direction:column;align-items:stretch;gap:.35rem;display:flex}.outputs .btn-link{align-self:flex-start}.output-info{margin:0 0 .6rem}.preview-col .next-steps{max-width:420px;margin-left:auto;margin-right:auto}.next-steps{border:1px solid var(--border);border-radius:10px;margin-top:1rem;padding:.9rem 1rem;font-size:.95rem}.next-steps p:last-child{margin-bottom:0}
