.prepare-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;margin:35px 0}.prepare-hero h1{font:clamp(32px,4vw,52px)/1.1 Georgia,serif;max-width:650px}.prepare-hero img{width:100%;height:auto;border-radius:18px;display:block}.prepare-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:28px}.prepare-board{position:relative;margin:26px 22px;background:#e5ded2}.prepare-board canvas{display:block;width:100%;height:auto}.prepare-board svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.corner{position:absolute;width:44px;height:44px;border-radius:50%;background:#155b50;color:white;border:3px solid white;box-shadow:0 1px 6px #0008;transform:translate(-50%,-50%);padding:0;font:bold 16px Arial;cursor:grab;touch-action:none}.corner[aria-pressed=true]{background:#95351f;outline:2px solid #95351f;outline-offset:2px}.corner:focus-visible{outline:4px solid #102f71;outline-offset:3px}.prepare-controls label{display:grid;gap:6px;font-weight:600;margin:12px 0}.prepare-controls input,.prepare-controls select{width:100%;min-height:44px;padding:9px;border:1px solid #8d9387;border-radius:8px;background:white;color:#171b17;font:inherit;box-sizing:border-box}.prepare-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.prepare-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.prepare-actions .btn{min-height:44px}.prepare-preview{padding:20px;background:#e8e3d9;border-radius:14px;text-align:center;margin-top:28px}.prepare-preview canvas{display:block;max-width:100%;max-height:520px;width:auto;height:auto;margin:auto}.prepare-magnifier{width:180px;height:180px;max-width:100%;border:2px solid #155b50;display:block;margin:16px auto;background:white}.prepare-magnifier-caption{text-align:center}.prepare-help{font-size:15px;color:#4a514a}.prepare-error{color:#9b291d;min-height:1.5em}.prepare-result-info{font-weight:600}.prepare-upload{border:2px dashed #668a79;border-radius:12px;padding:20px;background:#faf8f1}.prepare-upload input{display:block;max-width:100%;margin-top:12px;font:inherit}.prepare-handoff{margin:22px auto;padding:22px;border:1px solid #83a28c;border-radius:16px;max-width:760px;background:#fffaf0;font:16px/1.5 Arial,sans-serif;color:#20271f}.prepare-handoff img{display:block;max-width:100%;max-height:220px;margin:12px auto}.prepare-handoff button{min-height:44px;padding:12px 18px;border:0;border-radius:9px;background:#155b50;color:white;font:600 16px Arial;cursor:pointer}.prepare-handoff button:disabled{opacity:.55;cursor:default}.prepare-handoff a{color:#155b50;text-decoration:underline}.prepare-handoff button:focus-visible{outline:3px solid #d68c22;outline-offset:3px}.prepare-handoff .prepare-actions button+button{background:#eee8dd;color:#313a2c}.prepare-handoff p{margin:10px 0}.prepare-controls :focus-visible{outline:3px solid #155b50;outline-offset:2px}
@media(max-width:740px){.prepare-hero,.prepare-layout{grid-template-columns:1fr;gap:16px}.prepare-hero{margin:20px 0}.prepare-hero img{max-width:450px;margin:auto}.prepare-hero h1{font-size:34px}.prepare-actions .btn{flex:1 1 170px}.prepare-board{margin:25px 18px}.prepare-preview{padding:12px}.prepare-pair{gap:8px}}
@media(prefers-reduced-motion:reduce){.prepare-actions .btn{transition:none;transform:none!important}}
