/* Time-aware cooperative capsule, based on the visitor's local clock. */
.coop-viewer.time-sunrise .coop-bar,
.coop-viewer.time-sunrise .coop-bar.compact {
  border-color:#f3c9c2;
  background:linear-gradient(110deg,#fffaf3 0%,#ffe8d3 42%,#f1ddff 100%);
  box-shadow:0 15px 38px #b45b6a24,0 3px 0 #fff inset;
}
.coop-viewer.time-sunrise .coop-bar::before { border-color:#ff9b5a38; }
.coop-viewer.time-sunrise .coop-bar::after { border-color:#f07ca02e; }

.coop-viewer.time-day .coop-bar,
.coop-viewer.time-day .coop-bar.compact {
  border-color:#bfe9df;
  background:linear-gradient(110deg,#ffffff 0%,#eafbf7 48%,#fff2d8 100%);
  box-shadow:0 15px 38px #278f8320,0 3px 0 #fff inset;
}
.coop-viewer.time-day .coop-bar::before { border-color:#ffc76635; }
.coop-viewer.time-day .coop-bar::after { border-color:#3bcabb38; }

.coop-viewer.time-sunset .coop-bar,
.coop-viewer.time-sunset .coop-bar.compact {
  border-color:#e3c1eb;
  background:linear-gradient(110deg,#fff8ef 0%,#ffd8bd 38%,#e3d2ff 100%);
  box-shadow:0 15px 38px #8e4d8c29,0 3px 0 #fff inset;
}
.coop-viewer.time-sunset .coop-bar::before { border-color:#f0787138; }
.coop-viewer.time-sunset .coop-bar::after { border-color:#9b6be638; }

.coop-viewer.time-moon .coop-bar,
.coop-viewer.time-moon .coop-bar.compact {
  border-color:#c8caf4;
  background:linear-gradient(110deg,#fdfdff 0%,#e9eaff 48%,#dcecf8 100%);
  box-shadow:0 15px 42px #3545802b,0 3px 0 #fff inset;
}
.coop-viewer.time-moon .coop-bar::before { border-color:#8290e634; }
.coop-viewer.time-moon .coop-bar::after { border-color:#68cbd238; }
.coop-viewer.time-moon .coop-expand-cue i {
  background:linear-gradient(135deg,#4e59bf,#7666d9);
  box-shadow:0 5px 14px #3f438b42;
}

@media (prefers-reduced-motion:no-preference) {
  .coop-viewer .coop-bar::before { animation:coop-sky-drift 9s ease-in-out infinite alternate; }
  .coop-viewer .coop-bar::after { animation:coop-sky-drift 7s ease-in-out infinite alternate-reverse; }
}
@keyframes coop-sky-drift {
  to { transform:translate3d(8px,5px,0) rotate(8deg); }
}

/* A drawn chevron stays crisp and cannot be clipped like a font glyph. */
.coop-bar.compact ~ .coop-expand-cue {
  max-width:118px;
  overflow:visible;
}
.coop-expand-cue i {
  position:relative;
  flex:0 0 27px;
  overflow:visible;
  font-size:0;
}
.coop-expand-cue i::before {
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:7px;
  height:7px;
  border-top:2px solid #fff;
  border-right:2px solid #fff;
  transform:translate(-65%,-50%) rotate(45deg);
}

/* The expansion control forms the capsule's integrated right-hand end cap. */
.coop-bar.compact ~ .coop-expand-cue {
  top:0;
  left:298px;
  width:106px;
  height:70px;
  max-width:106px;
  justify-content:center;
  gap:7px;
  padding:0 10px;
  overflow:hidden;
  border-left:1px solid #ffffff4f;
  border-radius:0 18px 18px 0;
  color:#fff;
  background:linear-gradient(135deg,#6540e7,#8554f1);
  box-shadow:none;
}
.coop-bar.compact ~ .coop-expand-cue span { color:#fff; }
.coop-bar.compact ~ .coop-expand-cue span b { color:#ffd08a; }
.coop-bar.compact ~ .coop-expand-cue i {
  width:24px;
  height:24px;
  flex-basis:24px;
  background:#ffffff24;
  box-shadow:none;
}
.coop-bar.compact ~ .coop-expand-cue:hover,
.coop-bar.compact ~ .coop-expand-cue:focus {
  background:linear-gradient(135deg,#7048ed,#9360f5);
}
@media(max-width:480px) {
  .coop-bar.compact ~ .coop-expand-cue { left:auto; right:14px; }
}

.coop-viewer .coop-bar.compact,
.coop-viewer .coop-bar.compact:hover,
.coop-viewer .coop-bar.compact:focus-within {
  width:min(430px,calc(100% - 28px));
}
.coop-bar.compact ~ .coop-expand-cue {
  left:334px;
  width:110px;
  height:86px;
  max-width:110px;
  gap:7px;
  padding:0 7px 0 14px;
}
.coop-bar.compact:hover ~ .coop-expand-cue,
.coop-bar.compact:focus-within ~ .coop-expand-cue,
.coop-bar.compact ~ .coop-expand-cue:hover,
.coop-bar.compact ~ .coop-expand-cue:focus {
  width:110px;
  height:86px;
  max-width:110px;
  opacity:1;
  pointer-events:auto;
}
.coop-bar.compact ~ .coop-expand-cue span { font-size:.78rem; }
.coop-bar.compact ~ .coop-expand-cue i {
  width:30px;
  height:30px;
  flex-basis:30px;
}
.coop-expand-cue i::before { width:8px; height:8px; }
@media(max-width:480px) {
  .coop-bar.compact ~ .coop-expand-cue,
  .coop-bar.compact:hover ~ .coop-expand-cue,
  .coop-bar.compact:focus-within ~ .coop-expand-cue { left:auto; right:14px; width:110px; max-width:110px; }
}

/* Keep the compact capsule and its integrated end cap on one exact box. */
.coop-viewer .coop-bar,
.coop-viewer .coop-bar.compact,
.coop-viewer .coop-bar.compact:hover,
.coop-viewer .coop-bar.compact:focus-within {
  top:10px;
}
.coop-viewer .coop-bar.compact,
.coop-viewer .coop-bar.compact:hover,
.coop-viewer .coop-bar.compact:focus-within {
  height:86px;
  min-height:86px;
  box-sizing:border-box;
  box-shadow:0 15px 38px #4325802b;
}
.coop-bar.compact ~ .coop-expand-cue,
.coop-bar.compact:hover ~ .coop-expand-cue,
.coop-bar.compact:focus-within ~ .coop-expand-cue,
.coop-bar.compact ~ .coop-expand-cue:hover,
.coop-bar.compact ~ .coop-expand-cue:focus {
  top:10px;
  height:86px;
  box-sizing:border-box;
}
.coop-report-trigger{position:absolute;z-index:6;top:190px;left:18px;width:auto;padding:7px 11px;border:1px solid #d9cff0;border-radius:9px;color:#665c80;background:#fffffff0;box-shadow:0 7px 18px #25134f18;font:inherit;font-size:.7rem;cursor:pointer}.coop-report-dialog{width:min(520px,calc(100% - 28px));padding:30px;border:0;border-radius:22px;color:#2b1763;background:linear-gradient(145deg,#fff,#faf6ff);box-shadow:0 30px 90px #23114f70}.coop-report-dialog::backdrop{background:#2113439e;backdrop-filter:blur(5px)}.coop-report-dialog h2{margin:4px 35px 7px}.coop-report-dialog>p{color:#786e99}.coop-report-dialog .report-kicker{margin:0;color:#15978e;font-size:.68rem;font-weight:900;letter-spacing:.1em}.coop-report-dialog .report-close{position:absolute;top:16px;right:18px;width:auto;border:0;background:none;color:#8176a0;font-size:1.7rem;cursor:pointer}.coop-report-dialog form{display:grid;gap:14px}.coop-report-dialog label{display:grid;gap:6px}.coop-report-dialog select,.coop-report-dialog textarea{width:100%;padding:11px;border:1px solid #d9cff0;border-radius:10px;background:#fff;color:#2b1763;font:inherit}.report-notice{margin:12px 0;padding:11px;border-radius:10px;color:#13786f;background:#e9faf6}
