/* Page Layout — workspace, rulers, canvas, text input, drop zone, print output */
.center { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.workspace { position: relative; flex: 1 1 auto; display: grid; grid-template-columns: var(--ruler) minmax(0, 1fr); grid-template-rows: var(--ruler) minmax(0, 1fr); min-height: 0; background: var(--pasteboard); }
.app.no-rulers .workspace { grid-template-columns: 0 minmax(0, 1fr); grid-template-rows: 0 minmax(0, 1fr); }
.ruler-corner { background: var(--ruler-bg); border-right: 1px solid var(--border-dark); border-bottom: 1px solid var(--border-dark); }
.ruler { width: 100%; height: 100%; display: block; background: var(--ruler-bg); cursor: crosshair; touch-action: none; }
.ruler-h { border-bottom: 1px solid var(--border-dark); }
.ruler-v { border-right: 1px solid var(--border-dark); }
.stage { position: relative; overflow: hidden; min-width: 0; min-height: 0; grid-column: 2; grid-row: 2; }
.ruler-h { grid-column: 2; grid-row: 1; } .ruler-v { grid-column: 1; grid-row: 2; } .ruler-corner { grid-column: 1; grid-row: 1; }
.view { position: absolute; left: 0; top: 0; display: block; touch-action: none; outline: none; }
.view[data-tool="select"] { cursor: default; }
.view[data-tool="text"] { cursor: text; }
.view[data-tool="rect"], .view[data-tool="ellipse"], .view[data-tool="line"], .view[data-tool="polygon"], .view[data-tool="frame"] { cursor: crosshair; }
.view[data-tool="hand"] { cursor: grab; }
.view[data-tool="zoom"] { cursor: zoom-in; }
.view.loaded { cursor: copy !important; }
.text-input { position: absolute; left: 0; top: 0; width: 2px; height: 16px; opacity: 0; padding: 0; border: 0; resize: none; overflow: hidden; pointer-events: none; font-size: 16px; caret-color: transparent; color: transparent; background: transparent; }
.print-root { display: none; }
@media print {
  @page { margin: 0; }
  html, body { height: auto; overflow: visible; background: #fff; }
  .app, .sui-back, .sui-toast, .sui-menu { display: none !important; }
  .print-root { display: block; }
  .print-root img { display: block; page-break-after: always; break-after: page; }
  .print-root img:last-child { page-break-after: auto; break-after: auto; }
}
.press-drop { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); z-index: 4; width: min(520px, calc(100% - 24px)); box-sizing: border-box; padding: 6px 10px; border-radius: 10px; background: var(--bg-panel); border: 1px solid var(--accent-line); box-shadow: 0 2px 10px rgba(0, 0, 0, .2); }
.press-drop:empty { display: none; }
