.layout-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}.layout-workspace[hidden],.layout-tool [hidden]{display:none}.layout-preview{position:sticky;top:110px;min-width:0}.layout-preview canvas{display:block;width:100%;height:auto;aspect-ratio:9/16;background:#eaf0f7;border-radius:16px;box-shadow:0 12px 30px #263c5b12}.layout-form{min-width:0}.layout-form fieldset{border:0;margin:0 0 28px;padding:0;min-width:0}.layout-form legend{font-size:19px;font-weight:600;margin-bottom:12px;line-height:1.4}.layout-form label{display:grid;gap:7px;font-size:14px;line-height:1.5;margin-bottom:14px;color:#263b5c}.layout-form input,.layout-form select,.layout-form textarea{width:100%;max-width:100%;min-width:0;font:inherit;font-size:16px;line-height:1.5;border:1px solid #a9b9d0;border-radius:8px;background:#fff;color:#182334;padding:10px}.layout-form input[type=file]{padding:8px;font-size:13px}.layout-form input[type=range]{padding:0;min-height:44px}.layout-form textarea{resize:vertical}.layout-form .micro{font-size:13px;line-height:1.6}.layout-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.layout-actions{display:flex;flex-wrap:wrap;gap:10px}.layout-actions button{font-size:14px;padding:12px 15px;min-height:44px}.layout-summary{font-size:15px;line-height:1.6;margin:16px 0;color:#263b5c}.layout-guides{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;margin-bottom:12px}.layout-guides input{width:18px;height:18px;accent-color:#2454d8}.layout-error{color:#a52d24;font-size:16px;line-height:1.6}.layout-form input:focus-visible,.layout-form select:focus-visible,.layout-form textarea:focus-visible,.layout-tool button:focus-visible{outline:3px solid #2454d8;outline-offset:3px}.layout-tool button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:800px){.layout-workspace{grid-template-columns:1fr;gap:32px}.layout-preview{position:static;max-width:350px;width:100%;margin:auto}.layout-preview canvas{max-width:290px;margin:auto}.layout-form fieldset{margin-bottom:28px}.layout-form input[type=file]{font-size:16px}.layout-fields label{font-size:14px}}@media(prefers-reduced-motion:reduce){.layout-tool *{scroll-behavior:auto}}
