.sticker-picker{width:min(720px,calc(100vw - 24px));height:min(600px,calc(100dvh - 130px));bottom:100px;left:50%;transform:translateX(-50%);padding:20px;display:flex;flex-direction:column;gap:12px}
.sticker-picker[hidden],.sticker-controls[hidden],.sticker-placement[hidden]{display:none}
.sticker-picker .popup-heading{margin:0}.sticker-picker input[type=search]{margin:0}
.sticker-browser{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;flex:1;min-height:0}.sticker-categories{display:flex;flex-direction:column;gap:6px;overflow:auto}.sticker-categories button{flex-shrink:0;text-align:left;justify-content:flex-start}.sticker-categories button{min-height:36px;padding:6px 10px;font-size:12px}.sticker-categories button[aria-pressed=true]{background:var(--selected);color:var(--accent)}
.sticker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;grid-auto-rows:max-content;gap:8px;overflow:auto;min-height:0;flex:1}
.sticker-choice{position:relative;width:100%;height:auto;aspect-ratio:1;align-self:start;min-width:0;padding:6px}.sticker-choice img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain}
.sticker-surface{position:absolute;inset:0;pointer-events:none;z-index:30;overflow:visible;border-radius:inherit}.wall-stickers{z-index:0;overflow:visible}
.placed-sticker{position:absolute;width:96px;height:96px;transform:translate(-50%,-50%);padding:0;border:0;background:transparent!important;box-shadow:none;pointer-events:auto;touch-action:manipulation;user-select:none;-webkit-touch-callout:none}
.placed-sticker img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 3px #0003)}
.placed-sticker:focus-visible{outline:2px solid #5798ff;outline-offset:2px;border-radius:12px}
.sticker-controls{position:fixed;z-index:85;display:flex;gap:6px;padding:6px;background:#243247;border:1px solid #53637a;border-radius:14px;box-shadow:0 5px 20px #0003}
.sticker-controls button{width:44px;height:44px;padding:10px;color:#eef4ff;background:#304563;border:1px solid #526582;border-radius:10px}.sticker-controls svg{width:22px;height:22px}
.sticker-placement{position:fixed;inset:0;z-index:90;cursor:crosshair;touch-action:none;outline:none}
.sticker-ghost{position:absolute;width:96px;height:96px;transform:translate(-50%,-50%);opacity:.75;pointer-events:none}
.sticker-placement-hint{position:absolute;top:16px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);padding:10px 16px;background:#243247;color:white;border-radius:14px;display:flex;align-items:center;gap:16px;box-shadow:0 5px 20px #0003;font-size:14px}.sticker-placement-hint button{min-height:44px}
body.widget-focused:not(.overlay-focused) .wall-stickers{display:none}

.sticker-sizes{display:flex;justify-content:center;gap:10px;padding-top:12px;border-top:1px solid var(--line);flex-shrink:0}.sticker-sizes button{width:52px;height:44px;padding:0;display:grid;place-items:center}.sticker-size-dot{display:block;background:currentColor;border-radius:50%;margin:0;flex-shrink:0}.sticker-sizes button[aria-pressed=true]{background:#426ba4;box-shadow:inset 0 0 0 2px #b1d0ff}

.sticker-controls .sticker-rotate{touch-action:none;cursor:grab;user-select:none;-webkit-touch-callout:none}.sticker-controls .sticker-rotate.rotating{cursor:grabbing;background:#426ba4}

.sticker-more{grid-column:1/-1;min-height:44px}.sticker-grid p{grid-column:1/-1}@media(max-width:520px){.sticker-browser{grid-template-columns:100px minmax(0,1fr);gap:8px}.sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sticker-picker{padding:14px}.sticker-categories button{font-size:11px;padding:6px}}

.sticker-load-sentinel{grid-column:1/-1;height:1px;pointer-events:none}

.custom-pack-controls[hidden]{display:none}.custom-pack-controls{display:grid;gap:8px}.custom-pack-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.custom-pack-actions button{min-height:40px}.custom-sticker-image{filter:drop-shadow(2px 0 white) drop-shadow(-2px 0 white) drop-shadow(0 2px white) drop-shadow(0 -2px white)!important}
