/* One physical cover coordinate system and wire on both faces of the notebook. */
.v14-delete-book{position:absolute;right:-8px;top:-9px;z-index:8;display:none;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff9ee;color:#aa3649;border:1px solid #ba9c8d;box-shadow:0 2px 6px #0003;font:21px/1 sans-serif;cursor:pointer}
[data-inspect]:hover .v14-delete-book,[data-inspect]:focus-within .v14-delete-book{display:grid}
.v8-catalog-row .v14-delete-book{right:7px;top:7px}
.v14-sticker-box{position:absolute;border:1px dashed #de2246;box-sizing:border-box;transform-origin:center;pointer-events:none;backface-visibility:hidden}
.v14-sticker-box .v12-size{width:15px!important;height:15px!important;background:#fffdf4!important;border:2px solid #de2246!important}
.v14-sticker-box .v12-spin{border-color:#de2246!important;color:#a62145!important}
@media(hover:none){.v14-delete-book{display:grid}}
.table-materials-layer.organizing .physical-tool.placed-material{background:transparent!important;box-shadow:none!important}
.table-materials-layer .physical-tool.eraser:not(.tip-docked){height:calc(29px * var(--object-scale,1))!important;width:calc(35px * var(--object-scale,1))!important;justify-content:center;overflow:visible}
.table-materials-layer .physical-tool.eraser:not(.tip-docked) .real-instrument{flex-shrink:0}
.table-materials-layer .physical-tool.eraser:not(.tip-docked) .v9-rotate-tool{top:-29px;right:-17px}
.studio-drawing-table>#v10-decorations{z-index:1}
.studio-drawing-table>.paper-stage{position:relative;z-index:2;pointer-events:none;overflow:visible}
.studio-drawing-table>.paper-stage .paper-spread{pointer-events:auto}
.organizing-table .paper-spread{opacity:1!important}
.v8-book-3d{background:transparent;isolation:auto}
.v8-book-3d canvas{transform:translateZ(14px);object-fit:fill}
.v8-cover-back{transform:rotateY(180deg) translateZ(14px)}
.v8-cover-spine{width:28px;transform:translateZ(-14px) rotateY(-90deg)}
.v8-book-3d:after{width:28px;transform:translateZ(-14px) rotateY(90deg)}
.v9-book-top,.v9-book-bottom{height:28px}.v9-book-top{transform:translateZ(-14px) rotateX(90deg)}.v9-book-bottom{transform:translateZ(-14px) rotateX(-90deg)}
.v10-cover-binding.v12-helix{transform:translateZ(0);transform-style:preserve-3d}
.v12-wire{position:absolute;left:0;top:-1.3px;display:block;height:2.6px;border-radius:2px;background:linear-gradient(#d9e2dc,#7f8c85 38%,#293a32 74%,#b9c7bf);transform-origin:0 50%;backface-visibility:visible}
.v12-wire-hole{position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:#19221f;box-shadow:0 0 0 1px #ccc4a8;backface-visibility:visible}
.v11-preview-leaf{position:relative;transform-origin:left center;animation:v12-unfold .55s ease-out}
.v11-preview-leaf .v10-binding{display:block}.v11-preview-leaf[data-binding=book] .v10-binding{display:none}
.v11-preview-leaf[data-binding=top] .v10-binding{left:7%;right:7%;top:-20px;height:38px}
.v11-preview-leaf[data-binding=side] .v10-binding{top:7%;bottom:7%;left:-20px;width:38px}
.v10-binding svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(1px 2px 1px #17211966)}
@keyframes v12-unfold{from{transform:perspective(1200px) rotateY(-60deg);opacity:.35}to{transform:perspective(1200px) rotateY(0);opacity:1}}
.v12-locked{padding:10px 12px;background:#f2eee4;border-radius:6px;font-size:11px;line-height:1.5;color:#736858}
.v8-cover-controls select:disabled{opacity:.65;cursor:not-allowed}
.v12-tip-shape{border-bottom:1px solid #ddd4c3;margin-bottom:18px;padding-bottom:12px}.v12-tip-shape small{display:block;font-size:10px;line-height:1.5;color:#857a68}
.shortcut-field input[data-shortcut]{width:130px!important;max-width:100%;font-size:11px!important;text-align:center;cursor:pointer}.shortcut-field input:focus{outline:2px solid #de2246}
.desk-order-row{grid-template-columns:auto auto minmax(50px,1fr) auto auto}
/* Controls belong to the selected object, rather than the entire table. */
.physical-tool .v9-rotate-tool,.organizing .physical-tool .v9-rotate-tool,.physical-tool .v11-tool-delete,.organizing .physical-tool .v11-tool-delete{display:none!important}
.physical-tool.v12-selected-tool .v9-rotate-tool{display:grid!important;pointer-events:auto;opacity:1}
.physical-tool.v12-selected-tool .v11-tool-delete{display:block!important}
.physical-tool.v12-selected-tool.tip-docked{overflow:visible!important}
.physical-tool.v12-selected-tool{z-index:21!important}
.v12-tool-size-controls{position:absolute;inset:0;pointer-events:none;display:none;z-index:10}
.v12-selected-tool .v12-tool-size-controls{display:block}
.v12-selected-tool .v12-tool-size-controls .v12-size{width:9px!important;height:9px!important}
.v12-size.n{top:0;left:50%;cursor:ns-resize}.v12-size.s{top:100%;left:50%;cursor:ns-resize}.v12-size.e{top:50%;left:100%;cursor:ew-resize}.v12-size.w{top:50%;left:0;cursor:ew-resize}
.v12-decor-controls{display:none;position:absolute;inset:0;border:1px dashed #f6e9cf;pointer-events:none;filter:none}
.v12-selected-object .v12-decor-controls{display:block}.v10-decor{overflow:visible}
#v10-decorations.organizing .v10-decor{outline:none}
.v12-size,.v12-spin,.v12-delete{position:absolute!important;width:22px!important;height:22px!important;min-width:0!important;padding:0!important;display:grid;place-items:center;border:1px solid #938975!important;border-radius:50%!important;background:#fffbef!important;color:#443c31!important;font:18px/1 sans-serif!important;pointer-events:auto!important;touch-action:none;z-index:3;cursor:pointer}
.v12-size{width:13px!important;height:13px!important;border-radius:3px!important;cursor:nwse-resize;transform:translate(-50%,-50%)}
.v12-size.nw{top:0;left:0}.v12-size.ne{top:0;left:100%;cursor:nesw-resize}.v12-size.sw{top:100%;left:0;cursor:nesw-resize}.v12-size.se{top:100%;left:100%}
.v12-delete{right:-29px;top:-25px;color:#a13949!important}.v12-spin{left:calc(50% - 11px);top:-34px;cursor:grab}
.v12-spin:after{content:'';position:absolute;top:100%;left:50%;height:11px;border-left:1px solid #938975;pointer-events:none}
.v12-selected-object>svg{animation:v12-selected-object 3s ease-in-out infinite}.v12-selected-object:hover>svg,.v12-selected-object:focus-within>svg{animation-play-state:paused}
.v12-decor-controls .v12-delete{right:0;top:0}
@keyframes v12-selected-object{0%,100%{translate:0 0}50%{translate:0 -.6px}}
/* Notes remain clipped in the export; only their small permitted overhang floats outside. */
.paper-spread{overflow:visible}.v12-bleed{z-index:2;pointer-events:none}
.v12-inserts{position:absolute;inset:0;z-index:5;pointer-events:none}.v12-inserts[hidden]{display:none}
.v12-insert-hit{position:absolute;pointer-events:none;touch-action:none;background:transparent;box-sizing:border-box;transform-origin:center;border:1px solid transparent}
.v12-inserts.arranging .v12-insert-hit[data-type=note]{cursor:text}
.v12-inserts.arranging .v12-insert-hit{pointer-events:auto;cursor:move;border:1px dashed #90745388}
.v12-insert-hit.selected{outline:1px solid #de2246;outline-offset:3px}
.v12-move{position:absolute;left:0;bottom:calc(100% + 6px);padding:3px 5px;background:#fffaeb;color:#554737;border-radius:3px;font:10px sans-serif;cursor:move;pointer-events:auto;white-space:nowrap}
.v12-note-text{position:absolute;inset:14% 9% 8%;width:82%;height:78%;padding:0;border:0;outline:0;resize:none;background:var(--note-color,#f4dc80);color:#51432f;font-family:cursive;line-height:1.3;pointer-events:auto;cursor:text;box-shadow:none;box-sizing:border-box}
#v12-collage-bar{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;z-index:55;background:#f8f0dd;padding:8px 12px;border:1px solid #d1bfa4;border-radius:8px;font-size:11px;box-shadow:0 3px 10px #31261922;max-width:94%;width:max-content}
#v12-collage-bar[hidden]{display:none}#v12-collage-bar label{display:flex;gap:7px;align-items:center}#v12-collage-bar input{width:32px;height:25px;padding:0;border:0}#v12-collage-bar button,#v12-collage-bar select{border:0;background:#ddd2ba;padding:7px;border-radius:5px;font-size:11px}#v12-collage-bar [data-v12=draw]{background:#de2246;color:white;white-space:nowrap}
#v12-close-book{font-size:11px;white-space:nowrap}
.v12-book-closed .paper-viewport,.v12-book-closed .paper-spread,.v12-book-closed #v10-brush-cursor{visibility:hidden;pointer-events:none}
.v12-book-closed .physical-tool .v9-rotate-tool,.v12-book-closed .physical-tool .v11-tool-delete{display:none!important}
.v12-book-closed .v12-tool-size-controls{display:none}
body:has(#v12-closed-desk) #v12-close-book,body:has(#v12-closed-desk) #v11-collages,body:has(#v12-closed-desk) .page-controls,body:has(#v12-closed-desk) .studio-desk-actions{visibility:hidden;pointer-events:none}
#v12-closed-desk{position:absolute;inset:0 15%;z-index:8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;pointer-events:none}
#v12-closed-desk .v12-closed-stage{pointer-events:auto;background:none;min-height:0;height:72%;width:100%;overflow:visible}
#v12-closed-desk .v8-book-3d{width:min(75%,calc(var(--cover-ratio,.8) * 440px))}
#v12-closed-desk>button{pointer-events:auto;padding:12px 24px;border:1px solid #b7a68e;background:#faf4e7;color:#42392c;border-radius:5px;box-shadow:0 3px 7px #36241726;font-size:13px}
#v12-closed-desk>small{color:var(--table-text,#52442f);font-size:11px}
.v8-book-3d canvas.v12-closed-tabs{position:absolute;inset:auto;transform:translateZ(0);background:transparent!important;pointer-events:none;backface-visibility:visible;border-radius:0;object-fit:fill}
@media(max-width:760px){.shortcut-field input[data-shortcut]{width:100px!important}.v12-size{width:18px!important;height:18px!important}#v12-close-book{font-size:9px;padding:5px}#v12-closed-desk{inset:0 10%;gap:10px}#v12-closed-desk .v8-book-3d{width:min(78%,calc(var(--cover-ratio,.8) * 270px))}#v12-collage-bar{padding:6px;gap:5px}#v12-collage-bar>span{display:none}.v12-delete{right:-25px}.v12-locked{font-size:10px}}
@media(prefers-reduced-motion:reduce){.v11-preview-leaf,.v12-selected-object>svg{animation:none}}
@media(max-width:760px){
 .v8-cover-editor{height:min(760px,calc(88dvh - 100px));grid-template-rows:minmax(140px,32%) minmax(0,1fr);gap:12px;min-height:0}
 .v8-cover-editor>.v8-cover-stage{height:100%;min-height:0;position:relative}
 .v8-cover-editor>.v8-cover-controls{min-height:0;max-height:100%;overflow:auto;padding:4px 5px 12px;overscroll-behavior:contain}
 .v8-cover-editor .v8-book-3d{width:min(70%,calc(var(--cover-ratio,.8) * 160px))}
 .v8-cover-editor #v8-cover-hint{font-size:8px;bottom:7px}
 .v8-cover-editor .v11-paper-preview{padding:16px 18px 10px;gap:7px}
 .v8-cover-editor .v11-preview-leaf{width:min(100%,calc(var(--preview-ratio) * 125px))}
 .v8-cover-editor .v11-preview-leaf canvas{max-height:125px}
 .v8-cover-editor .v11-paper-preview button{padding:4px 10px;font-size:9px}
 .v8-cover-editor .v11-paper-preview small{display:none}
}

/* Shelf handles follow the same aspect ratio and rotation as the sticker. */
.v15-shelf-stage{position:relative;touch-action:none;margin:14px 0}
.v15-shelf-stage #v9-shelf-canvas{display:block;width:100%;height:auto;margin:0;box-sizing:border-box;border:0}
.v15-shelf-selection{position:absolute;border:1px dashed #de2246;pointer-events:none;box-sizing:border-box}
.v15-shelf-selection button{position:absolute;width:16px;height:16px;min-width:0;padding:0;border:2px solid #de2246;border-radius:3px;background:white;pointer-events:auto;touch-action:none;transform:translate(-50%,-50%)}
.v15-shelf-selection .nw{left:0;top:0;cursor:nwse-resize}.v15-shelf-selection .ne{left:100%;top:0;cursor:nesw-resize}.v15-shelf-selection .sw{left:0;top:100%;cursor:nesw-resize}.v15-shelf-selection .se{left:100%;top:100%;cursor:nwse-resize}
.v15-shelf-selection .turn{left:50%;top:-24px;width:25px;height:25px;border-radius:50%;cursor:grab;color:#652338}

/* One edge layout for all materials, independent of notebook zoom and kit rotation. */
.physical-kit.materials-detached{overflow:visible!important;background:none!important;box-shadow:none!important;min-width:0!important;min-height:0!important;pointer-events:none}
.physical-kit.materials-detached>input,.physical-kit.materials-detached>button{pointer-events:auto}
.table-materials-layer .placed-material.tip-docked{width:90px!important;height:var(--dock-slot,44px)!important;padding:0!important;overflow:visible!important;background:transparent!important;box-shadow:none!important;outline:none!important;transform:none!important}
.table-materials-layer .placed-material.tip-docked .real-instrument{position:absolute!important;left:0!important;top:50%!important;margin:0!important;transform:translate(-50%,-50%) rotate(90deg) scale(var(--object-scale,1))!important;transform-origin:center!important;transition:transform .16s}
.table-materials-layer .placed-material.tip-docked[data-edge=right] .real-instrument{left:100%!important;transform:translate(-50%,-50%) rotate(-90deg) scale(var(--object-scale,1))!important}
.table-materials-layer .placed-material.tip-docked[data-edge=bottom]{width:var(--dock-slot,48px)!important;height:80px!important}
.table-materials-layer .placed-material.tip-docked[data-edge=bottom] .real-instrument{left:50%!important;top:100%!important;transform:translate(-50%,-50%) scale(var(--object-scale,1))!important}
.table-materials-layer .placed-material.tip-docked:hover .real-instrument,.table-materials-layer .placed-material.tip-docked:focus-within .real-instrument{transform:translate(calc(-50% + 20px),-50%) rotate(90deg) scale(var(--object-scale,1))!important}
.table-materials-layer .placed-material.tip-docked[data-edge=right]:hover .real-instrument,.table-materials-layer .placed-material.tip-docked[data-edge=right]:focus-within .real-instrument{transform:translate(calc(-50% - 20px),-50%) rotate(-90deg) scale(var(--object-scale,1))!important}
.table-materials-layer .placed-material.tip-docked[data-edge=bottom]:hover .real-instrument,.table-materials-layer .placed-material.tip-docked[data-edge=bottom]:focus-within .real-instrument{transform:translate(-50%,calc(-50% - 20px)) scale(var(--object-scale,1))!important}
.physical-kit:not(.materials-detached){scrollbar-width:thin;overflow-x:hidden!important}

.table-materials-layer .placed-material.eraser.tip-docked .real-instrument{height:29px!important;width:35px!important}
.table-materials-layer .placed-material.eraser.tip-docked[data-edge=left] .real-instrument{left:20px!important}
.table-materials-layer .placed-material.eraser.tip-docked[data-edge=right] .real-instrument{left:calc(100% - 20px)!important}
.table-materials-layer .placed-material.eraser.tip-docked[data-edge=bottom] .real-instrument{top:calc(100% - 18px)!important}
