/* Shared original Logic Bunting Tally dock — launcher/minimize behavior is intentionally identical across modules. */
#tallyDock{--bg:#0d1123;--panel:#171d33;--ink:#f0f3ff;--muted:#afbad2;--line:#303a56;--purple:#be9cff;--cyan:#63dff5;--pink:#ffa1d3;--shadow:0 12px 35px rgba(0,0,0,.13);--glass:linear-gradient(115deg,#15304a,#2b2450 55%,#382440);--focus:#ad8dff;color:var(--ink);font:14px/1.5 Inter,"Segoe UI",Arial,sans-serif}
[data-theme=light] #tallyDock{--bg:#f6f7fc;--panel:#fff;--ink:#182240;--muted:#52617c;--line:#d6dceb;--purple:#7040c4;--cyan:#086e88;--pink:#b32379;--shadow:0 12px 35px rgba(42,53,98,.055);--glass:linear-gradient(115deg,#edfaff,#f1ecff 55%,#fff0f8);--focus:#7345cc}
#tallyDock button{font-family:inherit;line-height:1.5;color:var(--ink)}
#tallyDock button:focus-visible{outline:2px solid var(--focus);outline-offset:4px;box-shadow:none}
#tallyDock .icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
#tallyDock .light-asset{display:none!important}[data-theme=light] #tallyDock .light-asset{display:block!important}[data-theme=light] #tallyDock .dark-asset{display:none!important}
#tallyDock .neon{position:relative;isolation:isolate;border-color:rgba(134,123,247,.45)}
#tallyDock .neon::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;background:linear-gradient(105deg,#45dfff,#9d75fc,#ff74c3,#45dfff);background-size:250% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:tallyV1BorderFlow 7s linear infinite;z-index:2}
#tallyDock .glass{background:var(--glass);box-shadow:inset 0 1px rgba(255,255,255,.14);overflow:hidden}
#tallyDock .glass::after{content:"";position:absolute;z-index:-1;inset:0;transform:none;pointer-events:none;background:linear-gradient(105deg,transparent 32%,rgba(143,235,255,.14) 44%,rgba(229,193,255,.24) 50%,rgba(255,190,223,.12) 57%,transparent 69%);border-radius:inherit;background-size:240% 100%;background-position:190% 50%;animation:tallyV1GlassSweep 6s ease-in-out infinite}
#tallyDock .glass:hover{background:var(--glass)!important}
#tallyDock{position:fixed;right:26px;bottom:24px;z-index:900;display:flex;align-items:center;gap:6px}
#tallyDock .tally-launcher{height:79px;display:flex;align-items:center;padding:8px 22px 8px 9px;gap:7px;border:1px solid var(--line);border-radius:19px;background:var(--glass);box-shadow:0 10px 38px rgba(10,9,34,.27),0 0 24px rgba(133,100,247,.14);text-align:left;overflow:visible}
#tallyDock .tally-launcher::after{border-radius:inherit;overflow:hidden}
#tallyDock .tally-launcher-art{display:block;width:75px;height:75px;flex-shrink:0;margin-top:-9px}
#tallyDock .tally-launcher-art img{width:100%;height:100%;object-fit:contain}
#tallyDock .tally-launcher-copy strong{display:block;font-size:15px;font-weight:700}
#tallyDock .tally-launcher-copy strong b{color:var(--purple);font-weight:400}
#tallyDock .tally-launcher-copy small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
#tallyDock .dock-toggle{width:22px;height:31px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel);border-radius:7px;padding:0;color:var(--muted)}
#tallyDock .dock-toggle .icon{width:12px}
#tallyDock.collapsed .tally-launcher-copy{display:none}
#tallyDock.collapsed .tally-launcher{padding:5px;height:69px}
#tallyDock.collapsed .tally-launcher-art{width:60px;height:60px;margin:0}
#tallyDock .sparkles{position:absolute;inset:0;pointer-events:none;overflow:visible}
#tallyDock .sparkles i{font-style:normal;font-size:12px;position:absolute;color:#a17eff;text-shadow:0 0 8px rgba(118,224,255,.6);opacity:0;animation:tallyV1Sparkle 3.8s ease-in-out infinite;animation-delay:-1s}
#tallyDock .sparkles i:nth-child(1){left:8%;top:1%;color:var(--cyan)}#tallyDock .sparkles i:nth-child(2){left:43%;top:9%;animation-delay:-2.6s;right:auto}#tallyDock .sparkles i:nth-child(3){right:8%;top:2%;bottom:auto;color:var(--pink);animation-delay:-3.5s}#tallyDock .sparkles i:nth-child(4){left:23%;bottom:1%;animation-delay:-.6s}#tallyDock .sparkles i:nth-child(5){right:27%;bottom:3%;color:var(--cyan);animation-delay:-1.8s}
@keyframes tallyV1BorderFlow{0%{background-position:0% 50%}100%{background-position:250% 50%}}@keyframes tallyV1GlassSweep{0%,18%{background-position:190% 50%}62%,100%{background-position:-90% 50%}}@keyframes tallyV1Sparkle{0%,100%{opacity:0;transform:translateY(2px) scale(.7)}45%{opacity:.85;transform:translateY(-5px) scale(1)}}
[data-effects=subtle] #tallyDock .neon::before{padding:1px;opacity:.55;animation:none}[data-effects=subtle] #tallyDock .glass::after{animation:none;opacity:0}[data-effects=subtle] #tallyDock .sparkles{display:none}[data-effects=subtle] #tallyDock .tally-launcher{box-shadow:var(--shadow)}
@media(max-width:820px){#tallyDock{right:16px;bottom:16px}}@media(max-width:620px){#tallyDock .tally-launcher{height:69px;padding:5px 15px 5px 7px;border-radius:16px}#tallyDock .tally-launcher-art{width:62px;height:62px;margin-top:-7px}#tallyDock .tally-launcher-copy strong{font-size:13px}#tallyDock .tally-launcher-copy small{font-size:10px}#tallyDock{bottom:14px;right:13px;gap:4px}}
@media(prefers-reduced-motion:reduce){#tallyDock,#tallyDock * ,#tallyDock *::before,#tallyDock *::after{animation:none!important;transition:none!important}}@media print{#tallyDock{display:none!important}}
