.archive-canvas{touch-action:none;overscroll-behavior:contain;cursor:grab;isolation:isolate;width:100%;height:100%;min-height:440px;position:relative;overflow:hidden}.archive-canvas.is-panning,.archive-canvas.is-panning *{cursor:grabbing!important}.canvas-world{transform-origin:0 0;position:absolute;top:0;left:0}.canvas-card{cursor:grab;position:absolute}.canvas-card img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.canvas-card .card-link{cursor:grab}.canvas-card.is-moving,.canvas-card.is-moving .card-link{cursor:grabbing}.canvas-card.is-moving{filter:drop-shadow(0 12px 12px #18251a20)}.canvas-card-move{top:calc(-14px / var(--canvas-zoom));right:calc(-14px / var(--canvas-zoom));width:calc(28px / var(--canvas-zoom));height:calc(28px / var(--canvas-zoom));color:#272c27;opacity:0;cursor:move;background:#fafbf8;border:1px solid #cdd1ca;border-radius:50%;place-items:center;display:grid;position:absolute}.canvas-card-move svg{width:calc(13px / var(--canvas-zoom));height:calc(13px / var(--canvas-zoom))}.canvas-card:hover .canvas-card-move,.canvas-card:focus-within .canvas-card-move{opacity:1}.canvas-card:focus-within{z-index:1001!important}.canvas-controls{z-index:1100;cursor:default;touch-action:manipulation;background:#f9faf7ed;border:1px solid #d4d8d1;border-radius:5px;align-items:center;gap:2px;padding:5px;display:flex;position:absolute;bottom:24px;right:28px;box-shadow:0 2px 8px #10181008}.canvas-controls button{border-radius:2px;place-items:center;min-width:32px;min-height:32px;display:grid}.canvas-controls button:hover:not(:disabled){background:#e5e9e1}.canvas-controls button:disabled{opacity:.35;cursor:default}.canvas-controls output{text-align:center;min-width:44px;font:10px monospace}.canvas-control-divider{background:#d4d8d1;width:1px;height:17px;margin:0 3px}.canvas-instructions{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:700px){.canvas-controls{bottom:16px;right:12px}.canvas-controls button{min-width:34px;min-height:36px}.canvas-card-move{opacity:1}}@media (prefers-reduced-motion:reduce){.canvas-card{transition:none}}
