.canvas-designer{padding:20px;border-bottom:1px solid #dce0d4}.canvas-designer h3{font-family:Georgia,serif;font-size:22px;line-height:1.2;margin:10px 0}.canvas-designer p{font-size:13px;line-height:1.5;color:#647565}.canvas-designer details{border-top:1px solid #dde1d7;margin-top:18px;padding-top:12px}.canvas-designer summary{font-weight:600;cursor:pointer;padding:4px 0 10px}.canvas-designer label{display:flex;flex-direction:column;gap:5px;font-size:12px;margin:9px 0;color:#596958}.canvas-designer input,.canvas-designer select,.canvas-designer textarea{box-sizing:border-box;width:100%;min-width:0;font:inherit;font-size:14px;padding:8px;border:1px solid #d9dfd1;border-radius:6px;background:#fff;color:#253d39}.canvas-designer input[type=color]{height:36px;padding:3px}.canvas-designer .design-check{flex-direction:row;align-items:center;gap:6px}.design-check input{width:auto}.design-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.design-actions,.design-add{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.canvas-designer button{font-size:12px;padding:9px 10px;border-radius:6px;min-height:36px}.canvas-designer button[aria-pressed=true]{background:#23665a;color:white;border-color:#23665a}.design-layer{display:block;text-align:left;width:100%;margin:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-design-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 22px;background:#eef0e7;border-bottom:1px solid #d9dfd1}.canvas-design-bar>div{display:flex;gap:6px;flex-direction:column;margin-right:auto}.canvas-design-bar .eyebrow{font-size:10px}.canvas-design-bar strong{font-size:13px}.canvas-design-bar button{padding:8px 10px;font-size:12px}.design-objects{display:contents}.designer-paper{position:relative;isolation:isolate}.designer-paper .paper-composition{margin:0!important}.designer-arranging .rich-note:empty:before{content:none}.design-object{position:absolute;box-sizing:border-box;touch-action:none;cursor:move;outline:1px solid transparent;outline-offset:3px;user-select:none}.design-object.selected,.design-object:focus-visible{outline:2px solid #287ec0}.design-object.locked{cursor:default}.design-object>img{width:100%;height:100%;display:block;pointer-events:none}.design-text{width:100%;height:100%;overflow:hidden;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;box-sizing:border-box}.design-text[contenteditable="true"]{cursor:text;user-select:text;outline:1px solid #287ec0}.design-shape.ellipse{border-radius:50%}.design-shape.line{background:none!important}.design-shape.line:before{content:'';position:absolute;top:50%;height:3px;background:var(--line-colour);width:100%;transform:translateY(-50%)}.object-resize{position:absolute!important;right:-7px;bottom:-7px;width:14px!important;height:14px!important;min-height:0!important;border:2px solid #fff!important;border-radius:3px!important;background:#287ec0!important;padding:0!important;cursor:nwse-resize;touch-action:none;box-shadow:0 0 0 1px #287ec0}.inscription-shield{position:absolute;background:transparent;border:1px dashed #92a496;border-radius:0;padding:0;cursor:move;touch-action:none}.inscription-shield.selected{outline:2px solid #287ec0}.inscription-shield:hover{background:#23665a08}.canvas-designer [hidden],.canvas-design-bar[hidden],.design-object[hidden],.inscription-shield[hidden]{display:none!important}.design-object:focus-visible{outline-offset:4px}@media(max-width:600px){.canvas-design-bar{padding:12px}.canvas-design-bar button{min-height:40px}.canvas-designer button{min-height:40px}}

#hieroglyph-inputs[hidden],.designer-input-toggle[hidden]{display:none!important}.designer-input-toggle{display:block;width:100%;border:0;border-bottom:1px solid #d9dfd1;border-radius:0;text-align:left;padding:14px 22px;background:#f7f8f2;font-size:13px;color:#23665a}.designer-input-toggle:before{content:'▸';margin-right:10px}.designer-input-toggle[aria-expanded=true]:before{content:'▾'}

.designer-arranging #editor{--jsesh-caret-color:transparent;--jsesh-inactive-caret-color:transparent;--jsesh-selection-color:transparent}

.desk.has-canvas-guides{padding-top:44px;padding-left:40px;padding-right:24px}.canvas-guides{position:absolute;left:0;top:0;pointer-events:none;z-index:100;user-select:none}.canvas-guides[hidden]{display:none!important}.canvas-ruler{position:absolute;background:#f7f8f2;color:#435c53;pointer-events:auto;touch-action:none;overflow:hidden;font:9px Arial,sans-serif;border:1px solid #cbd7cc}.ruler-top{top:-24px;left:0;height:24px;width:100%;cursor:row-resize}.ruler-left{left:-24px;top:0;width:24px;height:100%;cursor:col-resize}.canvas-ruler svg{display:block}.canvas-ruler line{stroke:#8b9c91;stroke-width:1}.canvas-ruler text{fill:#435c53}.canvas-ruler:focus-visible{outline:2px solid #287ec0;z-index:2}.canvas-guide-lines{position:absolute;inset:0;overflow:visible;pointer-events:none}.canvas-guide{position:absolute;display:block;background:transparent!important;border:0!important;border-radius:0;padding:0!important;pointer-events:auto;touch-action:none;min-height:0;box-shadow:none!important;color:#115f9b;font:10px Arial,sans-serif}.canvas-guide:before{content:'';position:absolute;background:#2894ce;box-shadow:0 0 0 .5px #fff8}.guide-vertical{top:0;bottom:0;left:var(--guide-position);width:11px;transform:translateX(-50%);cursor:col-resize}.guide-vertical:before{left:5px;top:0;width:1px;height:100%}.guide-horizontal{left:0;right:0;top:var(--guide-position);height:11px;transform:translateY(-50%);cursor:row-resize}.guide-horizontal:before{top:5px;left:0;height:1px;width:100%}.canvas-guide span{position:absolute;display:none;padding:3px 5px;background:#e6f6ff;border:1px solid #2894ce;white-space:nowrap;border-radius:3px;pointer-events:none}.guide-vertical span{top:3px;left:10px}.guide-horizontal span{left:3px;top:10px}.canvas-guide.selected span,.canvas-guide:hover span,.canvas-guide:focus-visible span{display:block}.canvas-guide.selected:before,.canvas-guide:focus-visible:before{background:#0064ad}.canvas-guide.snapped:before{background:#b43db8;box-shadow:0 0 0 .5px #b43db8}.canvas-guide:focus-visible{outline:none}.guides-locked .canvas-guide{pointer-events:none;opacity:.7}.guides-locked .canvas-ruler{cursor:default}.canvas-design-bar #guides-toggle[aria-pressed=true]{background:#dbece4;border-color:#8fae9b}
@media print{.canvas-guides{display:none!important}}@media(max-width:600px){.desk.has-canvas-guides{padding:36px 16px 24px 36px}}

.canvas-guides [hidden]{display:none!important}.canvas-guide:before{background:#087cc5;box-shadow:0 0 0 1px #fff9}.guide-vertical:before{width:2px}.guide-horizontal:before{height:2px}.smart-guide-lines{position:absolute;inset:0;overflow:hidden;pointer-events:none}.smart-guide{position:absolute;pointer-events:none;opacity:.9}.smart-vertical{top:0;bottom:0;left:var(--guide-position);border-left:1px dashed #b82691;filter:drop-shadow(1px 0 0 #fff)}.smart-horizontal{left:0;right:0;top:var(--guide-position);border-top:1px dashed #b82691;filter:drop-shadow(0 1px 0 #fff)}.smart-guide.page-centre{border-color:#087cc5;opacity:.65}.smart-guide.aligned{border-color:#c00087;border-style:solid;border-width:2px;opacity:1}
.design-object>svg{width:100%;height:100%;display:block;pointer-events:none;overflow:hidden}.image-edit-dialog{width:min(900px,calc(100vw - 32px));max-height:92dvh;overflow:auto;padding:24px;box-sizing:border-box}.image-edit-dialog h2{margin:8px 0 18px}.image-edit-tools{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.image-edit-tools button{font-size:13px;padding:9px 12px}.image-edit-tools button[aria-pressed=true]{background:#23665a;color:white;border-color:#23665a}.image-edit-preview-wrap{display:flex;justify-content:center;padding:18px;background:#edf0e9;border:1px solid #d5ddcf;border-radius:10px}.image-edit-stage{position:relative;max-width:100%;overflow:hidden;touch-action:none;background:conic-gradient(#ddd 25%,#fff 0 50%,#ddd 0 75%,#fff 0) 0 0/16px 16px}.image-edit-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.image-crop-box{position:absolute;border:2px solid #fff;outline:1px solid #23665a;box-sizing:border-box;box-shadow:0 0 0 1000px #122b3166;cursor:move;touch-action:none;background:linear-gradient(to right,transparent 33%,#fff7 33%,#fff7 33.3%,transparent 33.3%,transparent 66%,#fff7 66%,#fff7 66.3%,transparent 66.3%),linear-gradient(to bottom,transparent 33%,#fff7 33%,#fff7 33.3%,transparent 33.3%,transparent 66%,#fff7 66%,#fff7 66.3%,transparent 66.3%)}.image-crop-box button{position:absolute;width:20px;height:20px;min-height:0;padding:0;border:2px solid #23665a;border-radius:3px;background:white;touch-action:none}.image-crop-box [data-crop-handle=nw]{left:0;top:0;cursor:nwse-resize}.image-crop-box [data-crop-handle=ne]{right:0;top:0;cursor:nesw-resize}.image-crop-box [data-crop-handle=sw]{left:0;bottom:0;cursor:nesw-resize}.image-crop-box [data-crop-handle=se]{right:0;bottom:0;cursor:nwse-resize}.image-edit-fields{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.image-edit-fields label{display:flex;flex:1 1 100px;flex-direction:column;gap:6px;font-size:13px}.image-edit-fields input,.image-edit-fields select{width:100%;box-sizing:border-box;min-width:0;padding:8px;font:inherit;border:1px solid #ccd5c9;border-radius:5px}.image-edit-check{display:flex;align-items:center;gap:8px;font-size:13px;margin:18px 0}.image-edit-footer{display:flex;align-items:center;gap:20px;justify-content:space-between;border-top:1px solid #dce0d4;padding-top:16px}.image-edit-footer span{font-size:12px;color:#647565}.image-edit-dialog [hidden]{display:none!important}#image-edit-status{font-size:13px;min-height:20px;color:#23665a}#image-bg-fields p{font-size:13px;line-height:1.5}#object-image-reset{margin:5px 0 12px}@media(max-width:600px){.image-edit-dialog{padding:16px;width:calc(100vw - 16px)}.image-edit-preview-wrap{padding:10px}.image-edit-footer{align-items:stretch;flex-direction:column;gap:10px}.image-edit-tools button{min-height:42px}.image-crop-box button{width:24px;height:24px}}

/* Hieroglyph composition handles share the text-box interaction. */
.inscription-shield.locked{cursor:default}
.inscription-shield:focus-visible,.frame-resize:focus-visible{outline:3px solid #b97415!important;outline-offset:3px}
.frame-resize-e{right:-7px;bottom:calc(50% - 7px);cursor:ew-resize}
.frame-resize-s{right:calc(50% - 7px);bottom:-7px;cursor:ns-resize}
.frame-resize::after{content:"";position:absolute;inset:-6px}
#object-frame-controls p{font-size:12px;line-height:1.6}

.inscription-resize-overlay{position:absolute;z-index:100;pointer-events:none;box-sizing:border-box;border:1px solid transparent}
.inscription-resize-overlay[hidden]{display:none!important}
.inscription-resize-overlay .frame-resize{pointer-events:auto}

.hieroglyph-box-preview{position:absolute;pointer-events:none}.hieroglyph-box-preview[hidden]{display:none!important}.hieroglyph-box-preview>svg,.hieroglyph-object>svg{display:block;width:100%;height:100%;pointer-events:none}.glyph-box-message{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#667866;font-size:14px;padding:12px;pointer-events:none}.hieroglyph-object{border:1px dashed #92a496}.designer-paper #paper-composition{transform-origin:top left}.designer-paper #paper-composition .paper-glyphs{overflow:visible}

/* Keep arrangement tools close to the canvas and reserve strong outlines for selection. */
.canvas-design-active .desk{overflow:auto;min-height:360px;padding:28px 32px 24px}
.canvas-design-active .canvas-design-bar{position:sticky;top:0;z-index:20;padding:10px 16px;box-shadow:0 2px 8px #18392c0a}
.canvas-view-label{display:flex;align-items:center;gap:6px;font-size:12px;margin-left:auto}
.canvas-view-label select{width:100px;padding:7px;font-size:12px;background:white}
#canvas-interaction-hint{flex-basis:100%;font-size:11px;color:#667866}
.canvas-arranging .workspace>.toolbar,.canvas-arranging .workspace>.ink-panel,.canvas-arranging .canvas-hint{display:none}
.designer-arranging .inscription-shield,.hieroglyph-object{border-color:transparent}
.designer-arranging .inscription-shield:hover,.hieroglyph-object:hover{border-color:#92a496}
.design-object:hover:not(.selected):not(.locked){outline:1px solid #6e9d99}
.canvas-dragging,.canvas-dragging *{cursor:grabbing!important}
.canvas-dragging .object-resize{visibility:hidden}
.object-resize{width:16px!important;height:16px!important;right:-8px;bottom:-8px;transform:scale(max(1,calc(1 / var(--canvas-view-scale,1))));transform-origin:center}
.object-resize:after{content:'';position:absolute;inset:-5px}
.frame-resize-e{bottom:calc(50% - 8px);right:-8px;cursor:ew-resize}
.frame-resize-s{right:calc(50% - 8px);bottom:-8px;cursor:ns-resize}
.frame-resize-se{cursor:nwse-resize}
.canvas-design-active .design-help{font-size:12px;line-height:1.6}
#designer-controls{display:flex;flex-direction:column}
#designer-controls[hidden]{display:none}
#designer-controls>.selected-element-tools{order:-1;margin:0 0 16px;border-top:0;border-bottom:1px solid #dde1d7;padding:0 0 14px}
.canvas-focus>header,.canvas-focus .library{display:none}
.canvas-focus main,.canvas-focus:not(.design-panel-open) main{grid-template-columns:minmax(0,1fr)}
@media(min-width:1151px){.canvas-focus.design-panel-open main{grid-template-columns:minmax(0,1fr) 320px}}
.canvas-focus .document-bar{height:auto;min-height:72px;padding:12px 24px}
.canvas-focus .document-bar .eyebrow{display:none}
.canvas-focus .document-bar .title-row{margin:0}
@media(max-width:700px){.canvas-design-active .desk{padding:24px 20px}.canvas-design-bar{gap:6px}.canvas-view-label{margin-left:0}.canvas-design-bar>div{flex-basis:100%}.canvas-focus .document-bar{padding:12px}.canvas-focus .doc-actions{width:auto;flex-wrap:wrap}}

.canvas-design-active .paper-stage{isolation:isolate}
@media(max-width:700px){.canvas-design-bar>div{flex-basis:auto}.canvas-design-bar .eyebrow,#canvas-interaction-hint{display:none}.canvas-design-bar button{font-size:11px;padding:8px;min-height:36px}.canvas-view-label select{font-size:12px}}
.design-actions button i{display:inline;background:none;width:auto;height:auto;margin:0;border-radius:0}

.canvas-marquee{position:absolute;pointer-events:none;z-index:120;border:1px solid #287ec0;background:#287ec022}
.canvas-marquee[hidden],.canvas-group-overlay[hidden]{display:none!important}
.canvas-group-overlay{position:absolute;z-index:110;border:1px solid #287ec0;pointer-events:none;box-sizing:border-box}
.canvas-group-overlay .object-resize{pointer-events:auto}
.canvas-group-overlay:focus-visible{outline:2px solid #287ec0;outline-offset:3px}
.design-text[contenteditable="false"]{cursor:move;user-select:none}
.design-text[contenteditable="true"]{cursor:text;user-select:text;overflow:visible}
.design-text::selection,.design-text *::selection{background:#2864a5;color:white}
#object-format-scope{font-size:12px;line-height:1.5;color:#23665a}
#object-format-whole{margin-bottom:8px}
#canvas-select[aria-pressed=true]{background:#23665a;color:#fff;border-color:#23665a}
#object-text-controls [aria-pressed=mixed]{background:#dcebdc}

.canvas-arranging .desk{cursor:crosshair}

.canvas-history{display:inline-flex;gap:6px;flex-shrink:0}.canvas-arranging .paper{touch-action:none}

.object-rotation-controls{margin:14px 0;padding:14px 0;border-top:1px solid #dce0d4;border-bottom:1px solid #dce0d4}
.object-rotation-controls strong{font-size:13px}
.object-rotation-controls input[type=range]{padding:0;min-height:36px;accent-color:#23665a}

.design-group-overlay{position:absolute;border:2px dashed #23665a;box-sizing:border-box;z-index:101;pointer-events:none}
.design-group-overlay .object-resize{pointer-events:auto;touch-action:none}
.design-group-overlay:focus-visible{outline:3px solid #b97415;outline-offset:3px}
#designer-selection-status{font-size:12px;color:#23665a}
#designer-multiselect[aria-pressed=true]{background:#23665a;color:white}
.design-object.group-selected,.inscription-shield.group-selected{outline:2px solid #23665a}

.designer-paper.designer-arranging{touch-action:none}
.designer-arranging.marquee-mode,.marquee-mode .design-object,.marquee-mode .inscription-shield{cursor:crosshair}
.marquee-active,.marquee-active *{user-select:none!important;cursor:crosshair!important}
.selection-marquee{position:absolute;z-index:1000;border:1.5px solid #237dc0;background:#237dc022;box-sizing:border-box;pointer-events:none}
.selection-marquee[hidden]{display:none!important}
