.photo-workspace{display:grid;grid-template-columns:360px minmax(0,1fr);gap:24px;align-items:start}.photo-controls label{line-height:1.6}.photo-controls input,.photo-controls select{font-size:16px}.photo-controls select{margin-top:7px}.drop-zone{padding:22px 16px;border:2px dashed #c1b2e8;border-radius:14px;background:#faf8ff;margin:20px 0}.drop-zone.dragging{background:#e9e1ff;border-color:#7254d9}.drop-zone label{margin:0;color:#6746bd}.drop-zone small{display:block;color:#748098;font-size:12px;line-height:1.6;margin-top:10px}.photo-controls input[type=file]{padding:9px;font-size:12px;margin-top:9px}.mode-note{border-left:3px solid #b49adc;padding:12px;background:#f7f4ff;font-size:13px!important}.photo-controls details{margin:20px 0;padding-top:16px;border-top:1px solid #e7e3f0}.photo-controls summary{cursor:pointer;color:#6c54a5;font-weight:600;font-size:14px}.photo-controls output{float:right;color:#7354c5}.photo-preview{background:#eeedf5;border-radius:14px;padding:26px;min-height:450px;display:flex;align-items:center;justify-content:center}.canvas-frame{position:relative;width:min(100%,360px);overflow:hidden;box-shadow:0 8px 30px #20263c1f;background:white}.canvas-frame canvas{display:block;width:100%;height:100%}.guide-line{position:absolute;left:0;right:0;border-top:2px dashed #8662e1;pointer-events:none}.guide-line span{font-size:10px;background:#6b46ca;color:white;padding:3px 5px;position:absolute;right:0;top:-20px}.empty-photo{text-align:center;max-width:320px}.empty-photo svg{width:155px;height:215px;margin:20px auto}.empty-photo h3{font-size:18px}.empty-photo p{font-size:13px}.photo-result #photo-info{font-size:12px;overflow-wrap:anywhere}.photo-result h3{font-size:17px}.photo-result ul{padding:0;list-style:none}.photo-result li{padding:10px 13px;border-radius:9px;background:#f7f7fb;margin:8px 0;font-size:13px;line-height:1.6}.photo-result li.match{border-left:3px solid #43a58d}.photo-result li.review{border-left:3px solid #dc9c45}.photo-result li.unknown{color:#727e92}.photo-result #check-caption,.photo-result #measure{font-size:12px}.manual-checks label{font-size:13px;font-weight:400;display:flex;gap:10px;align-items:start;line-height:1.6}.manual-checks input{width:18px;height:18px;flex-shrink:0;margin-top:3px}.manual-checks{padding:15px;background:#faf9fd;border-radius:12px}.photo-actions button{font-family:inherit}.photo-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}.photo-steps article{padding:20px;background:white;border:1px solid #e4e4f0;border-radius:14px}.photo-steps span{font-size:12px;color:#795ace}.photo-steps h2{font-size:17px;margin:10px 0}.photo-steps p{font-size:13px;line-height:1.7;color:#6d7890}.ca-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.ca-hub-card{background:#fff;border:1px solid #e1e5ef;border-radius:16px;padding:25px;color:#17213b}.ca-hub-card h2{font-size:20px}.ca-hub-card p{font-size:14px;line-height:1.7;color:#6a778e}.ca-hub-card span{font-size:12px;color:#7859c8}.ca-hub-card:hover{border-color:#a68ade;box-shadow:0 8px 22px #7152a810}.ca-callout{background:linear-gradient(115deg,#ede6fd,#f7f4ff);border:1px solid #dfd5f4;border-radius:18px;padding:28px;margin:25px 0}.ca-callout h2{margin-top:0}.ca-callout p{font-size:15px;color:#655585;line-height:1.7}.related{display:flex;flex-wrap:wrap;gap:18px;margin:24px 0;font-size:14px}footer{text-align:center;padding:25px}#status{font-size:13px;line-height:1.6}#print-area{display:none}[hidden]{display:none!important}@media(max-width:880px){.photo-workspace{grid-template-columns:1fr}.ca-hub-grid{grid-template-columns:1fr 1fr}.photo-steps{grid-template-columns:1fr}.photo-preview{min-height:350px}.hero .privacy{min-width:210px}}@media(max-width:540px){.ca-hub-grid{grid-template-columns:1fr}.hero{display:block}.hero .privacy{margin-top:18px}.photo-preview{padding:18px}.panel{padding:20px}}@media print{@page{size:152.4mm 101.6mm;margin:5mm}body>*{display:none!important}#print-area{display:block!important}.print-label{font-size:8pt;text-align:center;margin:0 0 4mm}.print-row{display:flex;justify-content:center;gap:8mm}.print-row img{object-fit:fill;border:.1mm solid #999;max-width:none}}
