.shape-menu{position:relative}.shape-menu summary{width:44px;height:44px;display:grid;place-items:center;list-style:none;cursor:pointer;border:1.5px solid #b9d3e3;background:#fcfaff;color:#316a8e;border-radius:8px;touch-action:manipulation}.shape-menu summary::-webkit-details-marker{display:none}.shape-menu summary>svg{width:27px;height:27px;display:block;pointer-events:none}.shape-menu summary:hover,.shape-menu[open] summary{background:#e8f6ff}.shape-menu summary.active{background:#dcf2ff;border-color:#79b2d6;box-shadow:inset 0 -3px #1679b5}.shape-menu summary:focus-visible{outline:3px solid #1679b5;outline-offset:3px}
.shape-options{position:absolute;top:calc(100% + 9px);left:0;z-index:12;width:270px;max-width:calc(100vw - 32px);display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;background:white;border:1.5px solid #b3d0e2;border-radius:11px;box-shadow:0 8px 24px #22445920}.shape-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:78px;border:1px solid #d0e2ed;border-radius:8px;background:#fcfaff;color:#436276;padding:8px 4px;touch-action:manipulation}.shape-option svg{width:32px;height:32px;pointer-events:none}.shape-option span{font-size:10px;text-align:center;line-height:1.3}.shape-option:hover{background:#eaf7ff}.shape-option.active{background:#e2f4ff;border-color:#70b0d8;color:#155c8d}.shape-options p{grid-column:1/-1;font-size:11px;color:#56656f;margin:5px 0 0;text-align:center;line-height:1.6}
@media(max-width:720px){.shape-options{position:fixed;top:auto;left:18px;right:18px;width:auto;max-width:none;margin-top:10px}}

#shape-rotate-handle{position:absolute;left:100%;right:auto;top:50%;bottom:auto;margin-left:10px;transform:translateY(-50%);z-index:8;display:grid;place-items:center;width:44px;height:44px;border:1px solid #168de0;border-radius:50%;background:#fff;color:#155c8d;font-size:27px;box-shadow:0 2px 8px #203c5726;pointer-events:auto;touch-action:none;cursor:grab}
#shape-rotate-handle:active{cursor:grabbing;background:#dcf2ff}
@media print{#shape-rotate-handle{display:none!important}}
#shape-delete-handle{position:absolute;left:50%;right:auto;top:100%;bottom:auto;margin-top:10px;transform:translateX(-50%);z-index:8;width:44px;height:44px;display:grid;place-items:center;padding:10px;border:1px solid #edbcbc;border-radius:12px;background:#fff5f5;color:#b33131;box-shadow:0 2px 8px #203c5726;pointer-events:auto;touch-action:manipulation}#shape-delete-handle svg{pointer-events:none}#shape-delete-handle:focus-visible{outline:3px solid #b33131;outline-offset:2px}
