/* One profile-backed collection; no game board or document-flow decoration. */
.wcys-ladybugs-slot { position:absolute; z-index:4; inset-block-end:-66px; inset-inline-end:4px; width:72px; height:72px; pointer-events:none; }
.wcys-ladybugs-slot[data-ladybug-align="start"] { inset-inline-start:4px; inset-inline-end:auto; }
.wcys-ladybugs-slot[data-ladybug-align="center"] { inset-inline-start:calc(50% - 36px); inset-inline-end:auto; }
.site-footer>.container>.wcys-ladybugs-slot { inset-block-start:-72px; inset-block-end:auto; }
.wcys-ladybug-hidden { display:grid; place-items:center; width:72px; height:72px; margin:0; padding:0; border:0; border-radius:12px; background:transparent; pointer-events:auto; cursor:pointer; }
.wcys-ladybug-hidden img { display:block; width:100%; height:100%; object-fit:contain; pointer-events:none; }
.wcys-ladybug-hidden:focus-visible { outline:3px solid var(--wcys-guide-accent,#6550a5); outline-offset:4px; background:#fffef9; }
.wcys-ladybugs-widget { width:fit-content; max-width:100%; padding:8px 12px; border:1px solid var(--wcys-line,#ded8ed); border-radius:16px; background:var(--wcys-guide-tint,#eee9f8); }
.wcys-ladybugs-widget-actions { display:flex; align-items:center; flex-wrap:wrap; gap:5px 16px; }
.wcys-ladybugs-access { display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:2px 3px; border:0; background:transparent; color:var(--wcys-guide-strong,#493777); font:650 .78rem/1.4 var(--wcys-font,system-ui); cursor:pointer; }
.wcys-ladybugs-access img { width:32px; height:32px; object-fit:contain; }
.wcys-ladybugs-quiet,.wcys-ladybugs-dialog .wcys-ladybugs-quiet { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:6px 9px; border:0; border-radius:10px; background:transparent; color:var(--wcys-guide-strong,#493777); font:600 .77rem/1.45 var(--wcys-font,system-ui); text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.wcys-ladybugs-dialog .wcys-ladybugs-quiet:hover { background:var(--wcys-guide-tint,#eee9f8); }
.wcys-ladybugs-status { margin:5px 0 0; color:#665e75; font-size:.76rem; line-height:1.6; }
.wcys-ladybugs-status:empty { display:none; }
.wcys-ladybugs-status.is-error { color:#8b382b; }
.wcys-ladybugs-dialog { position:fixed; width:min(880px,calc(100vw - 32px)); max-height:calc(100dvh - 28px); margin:auto; padding:26px; overflow:auto; overscroll-behavior:contain; border:1px solid #ded8ed; border-radius:25px; background:#fffefb; color:#3b3550; box-shadow:0 24px 80px #31244340; }
.wcys-ladybugs-dialog::backdrop { background:#29213a66; }
.wcys-ladybugs-dialog .wcys-ladybugs-close { position:absolute; top:10px; inset-inline-end:10px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:transparent; color:#655973; font:1.6rem/1 system-ui; cursor:pointer; }
.wcys-ladybugs-dialog .wcys-ladybugs-close:hover { background:var(--wcys-guide-tint,#eee9f8); }
.wcys-ladybugs-heading { display:flex; align-items:center; gap:15px; padding-inline-end:32px; }
.wcys-ladybugs-heading>img { flex:none; width:72px; height:72px; object-fit:contain; }
.wcys-ladybugs-heading h2 { margin:0; color:var(--wcys-guide-strong,#493777); font-size:clamp(1.3rem,2.3vw,1.75rem); line-height:1.2; letter-spacing:-.035em; }
.wcys-ladybugs-kicker { margin:0 0 5px; color:#796d88; font-size:.72rem; font-weight:650; }
.wcys-ladybugs-intro { margin:17px 0; color:#71687c; font-size:.85rem; line-height:1.7; }
.wcys-ladybugs-login { margin-block:18px; padding:18px; border-radius:16px; background:var(--wcys-guide-tint,#eee9f8); color:#655b72; font-size:.86rem; }
.wcys-ladybugs-login p { margin:0 0 14px; }
.wcys-ladybugs-album,.wcys-ladybugs-collage { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; }
.wcys-ladybugs-tile { position:relative; min-width:0; aspect-ratio:1; margin:0; padding:3px; overflow:hidden; border:1px solid #e6e1ed; border-radius:12px; background:#f3f1f7; }
.wcys-ladybugs-tile img { display:block; width:100%; height:100%; object-fit:contain; }
.wcys-ladybugs-tile.is-unknown { display:grid; place-items:center; border-style:dashed; color:#c3bacf; font-size:clamp(1.3rem,3vw,2.5rem); }
.wcys-ladybugs-tile figcaption { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.wcys-ladybugs-collage { width:min(100%,720px); margin:20px auto; transform-origin:center; }
.wcys-ladybugs-collage .wcys-ladybugs-tile { padding:0; border:0; background:transparent; }
.wcys-ladybugs-dialog.is-celebrating .wcys-ladybugs-collage { animation:wcys-ladybugs-celebrate 5s cubic-bezier(.18,.7,.25,1) both; }
@keyframes wcys-ladybugs-celebrate { from { transform:rotate(-360deg) scale(.72); opacity:.35; } 20% { opacity:1; } to { transform:rotate(0) scale(1); opacity:1; } }
.wcys-ladybugs-badge { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; margin:18px 0; padding:13px 18px; border:1px solid #dbcda4; border-radius:16px; background:#fff3ce; color:#71551f; font-size:.87rem; text-align:center; }
.wcys-ladybugs-badge>span { font-size:1.5rem; }
.wcys-ladybugs-dialog-actions { position:sticky; bottom:-26px; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 12px; margin:18px -10px -10px; padding:12px 10px; background:#fffefbf5; border-top:1px solid #ebe5f0; }
.wcys-ladybugs-primary,.wcys-ladybugs-dialog .wcys-ladybugs-primary { display:inline-flex; align-items:center; justify-content:center; min-height:44px; max-width:100%; padding:11px 18px; border:1px solid var(--wcys-guide-accent,#6550a5); border-radius:100px; background:var(--wcys-guide-accent,#6550a5); color:#fff; font:650 .82rem/1.45 var(--wcys-font,system-ui); text-align:center; text-decoration:none; cursor:pointer; }
.wcys-ladybugs-primary:hover,.wcys-ladybugs-dialog .wcys-ladybugs-primary:hover { border-color:var(--wcys-guide-strong,#493777); background:var(--wcys-guide-strong,#493777); }
.wcys-ladybugs-dialog :is(.wcys-ladybugs-primary,.wcys-ladybugs-quiet):disabled { cursor:default; opacity:.6; }
.wcys-ladybugs-profile-card { margin-block:18px; padding:22px; border:1px solid #ded8ed; border-radius:20px; background:#fffefb; }
.wcys-ladybugs-profile-card h3 { margin:0 0 10px; color:var(--wcys-guide-strong,#493777); font-size:1.18rem; }
.wcys-ladybugs-profile-card .wcys-ladybugs-album { margin-top:16px; }
.wcys-ladybugs-profile-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin-top:16px; }
:is(.wcys-ladybugs-dialog,.wcys-ladybugs-widget,.wcys-ladybugs-profile-card) :is(button,a):focus-visible { outline:3px solid #88551b; outline-offset:4px; }
@media(max-width:600px) { .wcys-ladybugs-slot,.wcys-ladybug-hidden { width:64px; height:64px; } .wcys-ladybugs-slot { inset-block-end:-58px; } .wcys-ladybugs-slot[data-ladybug-align="center"] { inset-inline-start:calc(50% - 32px); } .site-footer>.container>.wcys-ladybugs-slot { inset-block-start:-64px; } .wcys-ladybugs-dialog { padding:21px 16px; width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:21px; } .wcys-ladybugs-heading { gap:11px; } .wcys-ladybugs-heading>img { width:56px; height:56px; } .wcys-ladybugs-intro { font-size:.81rem; } .wcys-ladybugs-album { grid-template-columns:repeat(3,minmax(0,1fr)); } .wcys-ladybugs-collage { gap:5px; } .wcys-ladybugs-tile { border-radius:9px; } .wcys-ladybugs-dialog-actions { bottom:-21px; } .wcys-ladybugs-profile-card { padding:18px; } }
@media(prefers-reduced-motion:reduce) { .wcys-ladybugs-dialog.is-celebrating .wcys-ladybugs-collage { animation:none; } }
@media print { .wcys-ladybugs-slot,.wcys-ladybugs-widget,.wcys-ladybugs-dialog { display:none!important; } }
