/* "My list" for Main Street ideas. Site color tokens, light and dark. */
.msl-i{width:16px;height:16px;flex:none}
.msl-i-sm{width:14px;height:14px}

/* Add buttons */
.msl-artrow{margin-top:1.1rem}
.msl-add{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:.45rem .95rem;border-radius:9999px;border:1.5px solid var(--color-link);background:transparent;color:var(--color-link);font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s,color .15s,transform .1s}
.msl-add:hover{background:var(--color-ink-3)}
.msl-add[aria-pressed=true]{background:var(--accent);border-color:transparent;color:#fff}
.msl-add:focus-visible,.msl-view:focus-visible,.msl-send:focus-visible,.msl-rm:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}
.msl-add-sm{min-height:32px;padding:.25rem .7rem;font-size:.8125rem;border-width:1px}
.msl-pop{animation:msl-pop .35s cubic-bezier(.2,.9,.3,1.4)}
@keyframes msl-pop{0%{transform:scale(.9)}60%{transform:scale(1.08)}100%{transform:none}}

/* Collapsed idea rows: button sits beside the summary, not inside it */
.msl-wrap{position:relative}
.msl-row-btn{position:absolute;top:16px;right:44px}
.msl-sum{position:relative;padding-right:7.5rem}
.msl-sum > span[aria-hidden]{position:absolute;right:0;top:50%;margin-top:-.75em;line-height:1.5}
.msl-wrap details[open] ~ .msl-row-btn{display:none}
@media (max-width:640px){
  .msl-row-btn{top:14px;right:36px}
  .msl-row-btn span{display:none}
  .msl-row-btn{width:36px;min-height:36px;padding:0;justify-content:center}
  .msl-sum{padding-right:5.25rem}
}

/* Tray */
.msl-tray{position:fixed;z-index:50;left:50%;bottom:16px;transform:translate(-50%,140%);width:min(560px,calc(100% - 32px));transition:transform .35s cubic-bezier(.2,.8,.3,1);pointer-events:none}
.msl-tray.msl-show{transform:translate(-50%,0);pointer-events:auto}
.msl-pill{display:flex;align-items:center;gap:8px;padding:6px;border-radius:9999px;background:var(--color-navy);color:#fff;box-shadow:0 18px 40px -10px #0f1f3e80,0 0 0 1px #ffffff1a}
.msl-bump{animation:msl-pop .4s cubic-bezier(.2,.9,.3,1.4)}
.msl-view{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px 0 6px;border:0;border-radius:9999px;background:none;color:#fff;font-size:.9375rem;font-weight:500;cursor:pointer;text-align:left}
.msl-view:hover{background:#ffffff14}
.msl-count{display:grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border-radius:9999px;background:#ffffff;color:#0f1f3e;font-weight:700;font-size:.875rem}
.msl-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msl-send{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:9999px;background:var(--accent);color:#fff;font-size:.9375rem;font-weight:700;white-space:nowrap}
.msl-arrow{transition:transform .15s}
.msl-send:hover .msl-arrow{transform:translateX(3px)}

.msl-sheet{margin-bottom:8px;max-height:min(60vh,440px);overflow:auto;padding:16px;border-radius:20px;border:1px solid var(--color-line);background:var(--color-ink);color:var(--color-paper);box-shadow:0 24px 60px -18px #0f1f3e66}
.msl-sheet-t{font-family:var(--font-display);font-weight:700;font-size:1.125rem}
.msl-sheet-s{margin-top:2px;font-size:.8125rem;color:var(--color-mute)}
.msl-items{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.msl-item{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border-radius:12px;background:var(--color-ink-2)}
.msl-item-a{flex:1;min-width:0;display:grid;gap:1px}
a.msl-item-a:hover .msl-item-t{text-decoration:underline;text-underline-offset:3px}
.msl-item-b{font-size:.75rem;font-weight:600;color:var(--color-link)}
.msl-item-t{font-size:.9rem;font-weight:500;line-height:1.35;color:var(--color-paper)}
.msl-rm{display:grid;place-items:center;width:32px;height:32px;flex:none;border:0;border-radius:9999px;background:none;color:var(--color-mute);cursor:pointer}
.msl-rm:hover{background:var(--color-ink-3);color:var(--color-paper)}
.msl-more{display:inline-block;margin-top:12px;font-size:.875rem;font-weight:600;color:var(--color-link)}

/* Start page */
.msl-start{margin-top:1rem!important;padding:14px;border-radius:16px;border:1.5px solid var(--color-link);background:var(--color-ink-2)}
.msl-start-t{font-weight:600;font-size:.9375rem;color:var(--color-paper)}
.msl-items-start .msl-item{background:var(--color-ink)}
.msl-start-s{margin-top:10px;font-size:.8125rem;color:var(--color-mute)}

/* Leave room so the tray never covers the last thing on the page */
body:has(.msl-tray.msl-show){padding-bottom:84px}

@media (prefers-color-scheme:dark){
  :root:not([data-theme=light]) .msl-sheet{background:var(--color-ink-2)}
  :root:not([data-theme=light]) .msl-item{background:var(--color-ink-3)}
  :root:not([data-theme=light]) .msl-pill{background:#1a2c52}
}
:root[data-theme=dark] .msl-sheet{background:var(--color-ink-2)}
:root[data-theme=dark] .msl-item{background:var(--color-ink-3)}
:root[data-theme=dark] .msl-pill{background:#1a2c52}

@media (max-width:420px){
  .msl-send{padding:0 14px}
  .msl-label{font-size:.875rem}
}
@media (prefers-reduced-motion:reduce){
  .msl-tray{transition:none}
  .msl-pop,.msl-bump{animation:none}
}

/* Live region: polite, not visible */
.msl-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Extra room for the tray and an open sheet, including on a phone */
body.msl-has-tray{padding-bottom:6.5rem}
body.msl-sheet-open{padding-bottom:min(70vh,34rem)}

/* Cookie banner sits at the same edge (z-index 60). Keep the tray from covering it. */
body:has(#consent:not([hidden])) .msl-tray{
  transform:translate(-50%,140%);
  pointer-events:none;
}
