.wcl{margin:18px 0;padding:12px;border:1px solid #d7c6e7;border-radius:10px;background:#fff;min-width:0}.wcl h3{margin:0 0 8px}.wcl-pits{font-size:.84rem;margin:8px 0}.wcl-scroll{max-width:100%;max-height:440px;overflow:auto;overscroll-behavior:contain;border:1px solid #ddd5e6;border-radius:7px;background:#faf9fc;touch-action:pan-x pan-y}.wcl-scroll:focus-visible{outline:3px solid #543078}.wcl-stage{position:relative;min-width:180px}.wcl-stage svg{position:absolute;inset:0;pointer-events:none}.wcl-number{position:absolute;width:48px;height:44px;padding:1px;border:1px solid #706877;border-radius:4px;background:var(--wcl-color);color:#172534;font:700 13px system-ui;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0002}.wcl-number span{z-index:1;position:relative;background:#ffffffb8;border-radius:3px;padding:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.wcl-number .is-commercial{border:3px solid #e8a900;border-radius:50%;min-width:34px;min-height:34px;display:flex;justify-content:center;align-items:center;padding:0;background:#ffffffbb}.wcl-number:focus-visible,.wcl-number:hover,.wcl-number.is-selected{outline:3px solid #502778;outline-offset:2px;z-index:2}.wcl-number.is-closed:before{content:'';position:absolute;inset:0;background:linear-gradient(42deg,transparent 47%,#563344 48%,#563344 51%,transparent 52%),linear-gradient(-42deg,transparent 47%,#563344 48%,#563344 51%,transparent 52%)}.wcl-number.is-surface{height:58px;flex-direction:column;justify-content:flex-end;border-style:dashed}.wcl-number img{width:28px;height:32px;object-fit:contain}.wcl-number.is-surface span{font-size:11px}.wcl-key{font-size:.72rem;color:#62516a;margin:10px 0}.wcl-commercial-key{color:#bd8600;font-weight:900;font-size:1rem}.wcl-major-key{color:#9563b7}.wcl-editor fieldset{border:1px solid #d7c6e7;border-radius:8px;margin:14px 0;padding:12px}.wcl-editor .wcl-inline{display:flex;align-items:center;gap:8px;margin:8px 0}.wcl-editor .wcl-inline input{width:auto}.wcl-editor [data-wcl-preview]{margin-top:14px}.wcl-editor .wcl-number{touch-action:manipulation}.wcl-editor [data-wcl-fields] .wa-btn{min-width:44px;min-height:44px}.wcl-editor [role=status]{white-space:pre-line}.wcl-reference{font-weight:700;color:#512678}.wa-grid>section{min-width:0}@media(max-width:600px){.wcl{padding:9px}.wcl-editor .wa-grid{grid-template-columns:1fr}.wcl-scroll{max-height:340px}.wcl-editor .wcl-scroll{max-height:270px}}
.wcl-number.is-wide{width:108px}.wcl-number.is-wide span{white-space:nowrap;max-width:100%}
.wcl-scroll,.wcl-editor .wcl-scroll{position:relative;overflow:clip;max-height:none;touch-action:manipulation}.wcl-stage{position:absolute;left:0;top:0;min-width:0;transform-origin:top left}.wcl-number.is-surface{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;display:block}.wcl-number .wcl-surface-icon{position:static;width:100%;height:100%;display:block}.wcl-editor [data-wcl-size-control][hidden]{display:none}
.wcl-access{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:4px 0 8px}.wcl-access p{flex:1 1 160px;margin:0;font-size:.82rem}.wcl-access .wa-btn{min-height:44px}.wcl-access[hidden]{display:none}
.wa-modal.wa-point-dialog,.wa-modal.wcl-wide-dialog{width:min(1400px,96vw);max-width:96vw}.wa-point-dialog>.wa>.wa-modal-content>.wa-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr)}.wcl-editor{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);gap:20px;align-items:start}.wcl-workbench,.wcl-settings{min-width:0}.wcl-workbench{position:sticky;top:78px}.wcl-editor [data-wcl-preview]{margin-top:0}.wcl-settings fieldset:first-child{margin-top:0}.wcl-movement{padding:10px 0}.wcl-movement p{margin:0 0 8px;font-weight:700}.wcl-move-buttons{display:grid;grid-template-columns:repeat(4,minmax(44px,64px));gap:8px}.wcl-move-buttons .wa-btn{min-height:48px;font-size:1.2rem;padding:7px}.wcl-save{grid-column:1/-1}.wcl-editor .wcl-scroll{max-height:min(52dvh,520px)}@media(max-width:900px){.wa-modal.wa-point-dialog,.wa-modal.wcl-wide-dialog{width:98vw;max-width:98vw}.wa-point-dialog>.wa>.wa-modal-content>.wa-grid,.wcl-editor{grid-template-columns:minmax(0,1fr)}.wcl-workbench{position:static}.wcl-editor{gap:8px}.wcl-editor .wcl-scroll{max-height:min(34dvh,270px)}.wcl-movement{padding-bottom:0}.wcl-settings .wa-grid{grid-template-columns:minmax(0,1fr)}}
.wcl-number .wcl-surface-photo{position:static;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.wcl-number.is-inactive{opacity:.32;filter:grayscale(1)}.wcl-number.is-inactive:after{content:'−';position:absolute;right:-4px;top:-4px;width:18px;height:18px;border-radius:50%;background:#fff;border:1px solid #594d64;color:#594d64;font-size:16px;line-height:16px}.wcl-editor .wcl-number{touch-action:none;cursor:grab;user-select:none}.wcl-editor .wcl-number:active{cursor:grabbing}.wcl-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 14px}.wcl-model{min-width:0;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px;border:1px solid #d7c6e7;border-radius:8px;background:#fff;color:#352340;font:inherit;cursor:pointer}.wcl-model img{display:block;max-width:100%;width:70px;height:68px;object-fit:contain;pointer-events:none}.wcl-model span{font-size:.72rem;line-height:1.25;text-align:center;overflow-wrap:anywhere}.wcl-model:hover,.wcl-model:focus-visible,.wcl-model.is-selected{border-color:#512678;outline:2px solid #512678;outline-offset:1px;background:#f5effa}.wcl-arrangement{margin-top:12px;border:1px solid #ddd5e6;border-radius:7px;padding:10px}.wcl-arrangement summary{cursor:pointer;color:#512678;font-weight:700}.wcl-arrow-coordinates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.wcl-arrow-coordinates label{min-width:0}.wcl-editor [data-wcl-catalogue][hidden]{display:none}.wcl-inventory-change{padding:9px;background:#fff7e4;border-radius:6px;color:#674000;font-size:.82rem}.wcl-inventory-change[hidden]{display:none}.wcl-editor .wcl-scroll{max-height:none}.wcl-movement .wa-hint{font-weight:400;font-size:.78rem;margin-top:8px}.wcl-editor .wa-grid label{min-width:0}@media(max-width:900px){.wcl-model-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wcl-arrow-coordinates{grid-template-columns:repeat(2,minmax(0,1fr))}.wcl-editor .wcl-scroll{max-height:none}.wcl-editor-dialog>.wa>.wa-modal-content{padding:12px}}

.wcl [hidden]{display:none!important}

/* Direct arrow manipulation: wide hit area and independent endpoint grips. */
.wcl-arrow-body,.wcl-arrow-handle{position:absolute;box-sizing:border-box;margin:0;padding:0;touch-action:none;user-select:none;cursor:grab;z-index:3}
.wcl-arrow-body{height:28px;border:0;border-radius:14px;background:transparent;transform-origin:0 50%}
.wcl-arrow-body:hover,.wcl-arrow-body:focus-visible,.wcl-arrow-body.is-selected{background:#c9252c18;outline:2px dashed #c9252c}
.wcl-arrow-handle{width:24px;height:24px;transform:translate(-50%,-50%);border:2px solid #c9252c;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;z-index:4}
.wcl-arrow-handle:hover,.wcl-arrow-handle:focus-visible,.wcl-arrow-handle.is-selected{outline:3px solid #502778;outline-offset:2px}
.wcl-arrow-body:active,.wcl-arrow-handle:active{cursor:grabbing}
.wcl-editor .wcl-arrow-settings{margin:10px 0}
.wcl-editor .wcl-arrow-settings>label,.wcl-editor [data-wcl-arrow-tools]>label{margin:6px 0}

.wcl-editor .wcl-arrow-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;font-size:.82rem}
.wcl-arrow-settings [data-wcl-arrow-tools]{display:contents}
.wcl-arrow-settings .wa-hint{grid-column:1/-1;margin:0}
.wcl-arrow-advanced{grid-column:1/-1;order:3}
.wcl-arrow-advanced summary{cursor:pointer}
.wcl-arrow-settings label{min-width:0}
.wcl-arrow-settings input[type=range]{width:100%}
.wcl-arrow-settings label:has([name=arrow_length]){grid-column:1/-1}
.wcl-movement .wcl-first{margin-top:8px;min-height:44px}
/* Shared controls; compact mobile layout and horizontal desktop workspace. */
.wa-modal.wcl-editor-dialog,.wa-modal:has(#wa-editor){width:min(760px,98vw);max-width:98vw}
.wcl-editor-dialog>.wa>.wa-modal-content,.wa-modal:has(#wa-editor)>.wa>.wa-modal-content{padding:12px}
.wcl-editor-dialog .wcl-editor{grid-template-columns:minmax(0,1fr);gap:8px}
.wcl-editor-dialog .wcl-workbench{position:static}
.wcl-editor-dialog .wcl-movement{padding-bottom:0}
.wcl-editor-dialog .wcl-settings .wa-grid,#wa-editor .wa-grid{grid-template-columns:minmax(0,1fr)}
.wcl-editor-dialog .wcl-arrow-coordinates{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:901px){
 .wa-modal.wcl-editor-dialog{width:min(1600px,98vw)}
 .wa-modal:has(#wa-editor){width:min(1400px,98vw)}
 .wcl-editor-dialog>.wa>.wa-modal-content,.wa-modal:has(#wa-editor)>.wa>.wa-modal-content{padding:18px}
 .wcl-editor-dialog .wcl-editor{grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);gap:20px}
 .wcl-editor-dialog .wcl-movement{padding-bottom:10px}
 .wcl-editor-dialog .wcl-settings .wa-grid,#wa-editor .wa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wcl-editor-dialog .wcl-arrow-coordinates{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.wcl-editor input[name=number][readonly]{background:#f7f3fb;color:#512477;font-weight:700;cursor:default}.wcl-code-hint{font-size:.78rem;line-height:1.4}.wcl-model:disabled{cursor:default;opacity:.55}.wcl-model.is-selected:disabled{opacity:1}
/* Compare the actual site photo with the draft without leaving the editor. */
.wcl-visuals{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.wcl-plan-tools,.wcl-situation{min-width:0}
.wcl-situation{padding:12px;border:1px solid #d7c6e7;border-radius:8px;background:#fff}
.wcl-situation h3{margin:0 0 10px;font-size:.9rem;color:#512678}
.wcl-situation .wa-hint{margin:10px 0 0}
.wcl-situation-image{display:block;width:100%;padding:0;border:0;border-radius:6px;background:#f4f1f7;cursor:zoom-in}
.wcl-situation-image img{display:block;width:100%;height:clamp(180px,34vh,360px);object-fit:contain;border-radius:6px}
.wcl-situation [data-wcl-photo-retry]{margin-top:10px}
@media(min-width:901px){
 .wcl-visuals{grid-template-columns:minmax(0,1fr) minmax(210px,.95fr)}
 .wcl-visuals:has([data-wcl-photo-empty]){grid-template-columns:minmax(0,1fr)}
}

/* Keep empty closed pits readable as permanent physical locations. */
.wcl-number.is-empty-pit{opacity:1;filter:none;background:#eeeaf2;border:1px dashed #706877}.wcl-number.is-empty-pit.is-major{background:#9563b7}.wcl-number.is-empty-pit:after{display:none}

/* Show every container's occupied area while arranging the plan. */
.wcl-editor .wcl-number{outline:2px solid #9b85ac;outline-offset:0}
.wcl-editor .wcl-number:hover,.wcl-editor .wcl-number:focus-visible,.wcl-editor .wcl-number.is-selected{outline:3px solid #502778;outline-offset:2px}
.wcl-movement .wcl-magnet{font-size:.85rem;font-weight:650;min-height:36px}.wcl-magnet input{width:18px;height:18px;accent-color:#512477}
.wcl-pit-group{position:absolute;pointer-events:none}
.wcl-pit-group>.wcl-number,.wcl-component{pointer-events:auto}
.wcl-component{position:absolute;box-sizing:border-box;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:3px;border:1px solid #8d8493;border-radius:4px;background:#fff;color:#62566c;cursor:pointer;font:700 10px system-ui;overflow:hidden}
.wcl-component img{display:block;width:36px;height:36px;object-fit:contain;pointer-events:none;user-select:none}
.wcl-component.is-unlinked{border-style:dashed;background:#f8f6fa;color:#887b91;font-size:22px;font-weight:400}
.wcl-component.is-retired{opacity:.42;filter:grayscale(1)}
.wcl-component:focus-visible,.wcl-component:hover{outline:3px solid #502778;outline-offset:2px}
.wcl-editor .wcl-component{outline:2px solid #9b85ac;outline-offset:0;cursor:pointer}
.wcl-editor .wcl-component:focus-visible,.wcl-editor .wcl-component:hover{outline:3px solid #502778;outline-offset:2px}
.wcl-component-lines{pointer-events:none}
.wcl-component-lines line{stroke:#807787;stroke-width:1.5;vector-effect:non-scaling-stroke}
.wcl-component-picker{margin-top:12px;padding-top:12px;border-top:1px solid #e5deeb}
.wcl-component-preview{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:.82rem;overflow-wrap:anywhere}
.wcl-component-preview>img,.wcl-component-preview>span:first-child{flex:0 0 44px;box-sizing:border-box;width:44px;height:44px;object-fit:contain;display:flex;align-items:center;justify-content:center;border:1px solid #ded6e4;border-radius:4px}
.wcl-component-preview>span:first-child{font-size:12px;color:#766882}
.wcl-component-counts{margin:6px 0;color:#62516a;font-size:.78rem;line-height:1.5}
.wcl-component-settings [data-wcl-side-all]{margin-top:6px}
.wcl-component-side-toolbar{margin-bottom:12px;padding:10px 12px;border:1px solid #d8c8e4;border-radius:8px;background:#f6f1fa}
.wcl-component-side-toolbar[hidden]{display:none}
.wcl-component-side-toolbar>label{display:flex;flex-direction:column;gap:5px;font-weight:650;font-size:.85rem}
.wcl-component-side-toolbar .wa-hint{margin:7px 0 0;font-size:.78rem}
.wcl-component-picker [hidden]{display:none!important}
.wcl-component-info-photo{display:block;width:140px;height:140px;object-fit:contain;margin:0 auto 12px}
