/* v1.4 keyboard-shortcut help and visual pan mode */
.shortcut-dialog{border:1px solid #d7e1ee;border-radius:16px;padding:0;width:min(640px,calc(100vw - 26px));max-height:min(88dvh,780px);overflow:auto;background:#fff;color:#243349;box-shadow:0 25px 80px #172b4666;font-family:inherit}
.shortcut-dialog::backdrop{background:#10233c99}
.shortcut-heading{position:sticky;top:0;z-index:1;display:flex;gap:20px;align-items:flex-start;justify-content:space-between;background:#f3f7fc;border-bottom:1px solid #d7e1ee;padding:18px 18px 13px}
.shortcut-heading h2{font-weight:800;font-size:18px;margin:0 0 5px}
.shortcut-heading p{font-size:12px;margin:0;color:#58708b}
.shortcut-heading button{cursor:pointer;border:0;background:#e6edf5;color:#1e3653;font-size:22px;border-radius:9px;width:32px;height:32px;flex:none}
.shortcut-platform,.shortcut-note{margin:12px 18px;font-size:12px;line-height:1.7;color:#52657c}
.shortcut-table{margin:0 18px;display:grid;gap:0}
.shortcut-table>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;border-bottom:1px solid #edf1f6;padding:7px 3px;font-size:12.5px}
.shortcut-table>div span{margin-right:auto}
.shortcut-table kbd{border:1px solid #d4dfeb;border-bottom-width:2px;background:#f4f7fa;border-radius:6px;padding:3px 8px;font:600 11px/1.4 system-ui,sans-serif;white-space:nowrap}
.workspace-scroll.pan-ready,.workspace-scroll.pan-ready *{cursor:grab!important}
.workspace-scroll.panning,.workspace-scroll.panning *{cursor:grabbing!important;user-select:none!important}
@media(max-width:550px){.shortcut-heading h2{font-size:15px}.shortcut-table>div{font-size:12px}.shortcut-note{font-size:11px}}
@media print{.shortcut-dialog{display:none!important}}

/* v1.4.1: make selection mode distinct from text-editing mode */
.paper-element.is-text:not(.editing-text), .paper-element.is-text:not(.editing-text) .editable-text { cursor:default; user-select:none; }
.paper-element.is-text.editing-text .editable-text { cursor:text; user-select:text; }

/* Visible keyboard build marker for diagnosing stale deployments */
.shortcut-debug{font-size:10px;white-space:nowrap;color:#3e5e7e;border:1px solid #d9e5f2;border-radius:7px;padding:3px 6px;background:#edf5fc}
@media(max-width:980px){.shortcut-debug{font-size:9px}}

/* v1.5 text fit + drag from object body */
.paper-element.is-text:not(.editing-text), .paper-element.is-text:not(.editing-text) .editable-text { cursor:move; user-select:none; }
.paper-element.is-text.editing-text .editable-text { cursor:text; user-select:text; }

/* v1.5.1 - smart alignment guides; never visible on print */
.paper .snap-guide{position:absolute;z-index:9999!important;pointer-events:none;background:#008ee8;opacity:.85}
.paper .snap-guide-x{width:1px;top:0;height:100%}
.paper .snap-guide-y{height:1px;left:0;width:100%}
.paper-element.grouped-object.selected{outline-color:#0b6fc8}
.selection-actions button:disabled{opacity:.38;cursor:not-allowed}
@media(max-width:500px){.selection-actions{left:5px;right:5px;overflow-x:auto;max-width:calc(100% - 10px)}.selection-actions button{flex-shrink:0}}
@media print{.snap-guide{display:none!important}}
