/* Doomsday prep map */
.dmap{margin:10px 0 0}
.dm-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:6px 0 8px}
.dm-h{font-size:1.15rem;letter-spacing:0;text-transform:none;color:var(--text);margin:0 0 2px}
.dm-stats{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:.86rem;color:var(--muted)}
.dm-stats b{color:var(--accent);font-size:1.05rem}
.dm-legend{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 8px;font-size:.78rem;color:var(--muted)}
.dm-lg{display:inline-flex;align-items:center;gap:6px}
.dm-lg i{width:12px;height:12px;border-radius:50%;display:inline-grid;place-items:center;font-size:.6rem;font-style:normal;color:#fff}
.dm-lg.target i{background:#ffcc33;box-shadow:0 0 10px #ffcc33}.dm-lg.essential i{background:#ffcc33}.dm-lg.recommended i{background:#5aa9ff}.dm-lg.background i{background:#6b7785}.dm-lg.future i{background:#2b3744;border:1px dashed #8a95a3}.dm-lg.seen i{background:#2fa65a}
.dm-stage{position:relative;height:min(72vh,760px);border-radius:var(--r);overflow:hidden;border:1px solid var(--line-strong);background:#070a0f;box-shadow:var(--shadow-2);touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
.dm-stage:active{cursor:grabbing}
.dm-world{position:absolute;left:0;top:0;width:2400px;height:1180px;transform-origin:0 0;will-change:transform}
.dmap-svg{width:2400px;height:1180px;display:block}
.dm-year{fill:#8a95a3;font-size:16px;font-weight:700}
.dm-lane{fill:#eef2f6;font-size:15px;font-weight:800;letter-spacing:.02em}
.dm-lane-note{fill:#8a95a3;font-size:12px}
.dm-edge{stroke-width:1.6;transition:opacity .2s}
.dm-edge.essential{stroke-width:3.2}.dm-edge.recommended{stroke-width:2}.dm-edge.background{stroke-width:1;opacity:.7}
.dm-edge.lit{stroke-width:5;opacity:1}
.dm-node{cursor:pointer}
.dm-node .dm-ring{fill:#0f1620;stroke:#6b7785;stroke-width:2}
.dm-node.essential .dm-ring{stroke:#ffcc33;stroke-width:3.5}
.dm-node.recommended .dm-ring{stroke:#5aa9ff;stroke-width:3}
.dm-node.background .dm-ring{stroke:#6b7785;stroke-width:2;opacity:.85}
.dm-node.future .dm-ring{stroke:#8a95a3;stroke-dasharray:5 4}
.dm-node.target .dm-ring{stroke:#ffcc33;stroke-width:5}
.dm-halo{fill:#ffcc33;opacity:.10}
.dm-halo2{fill:#ffcc33;opacity:.16}
@keyframes dmpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.dm-node.on .dm-ring{stroke:#fff;stroke-width:5}
.dm-node.background text{opacity:.75}
.dm-check{fill:#2fa65a;stroke:#070a0f;stroke-width:2}.dm-check-t{fill:#fff;font-size:13px;font-weight:800}
.dm-label{fill:#eef2f6;font-size:14px;font-weight:700;paint-order:stroke;stroke:#070a0f;stroke-width:4px;stroke-linejoin:round}
.dm-node.essential .dm-label,.dm-node.target .dm-label{font-size:16px;fill:#ffe28a}
.dm-sub{fill:#8a95a3;font-size:11px;paint-order:stroke;stroke:#070a0f;stroke-width:3px}
.dm-stagewrap{position:relative}
.dm-tools{position:absolute;inset:0;pointer-events:none;z-index:3}
.dm-tools .dm-ctl{pointer-events:auto}
.dm-ctl{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:6px}
.dm-ctl button{width:42px;height:42px;border-radius:12px;border:1px solid var(--line-strong);background:rgba(19,26,34,.85);color:var(--text);font-size:1.2rem;cursor:pointer;backdrop-filter:blur(8px)}
.dm-side{position:absolute;left:0;right:0;bottom:0;max-height:62%;overflow:auto;transform:translateY(102%);transition:transform .28s cubic-bezier(.2,.8,.2,1);z-index:5}
.dm-side.open{transform:none}
@media(min-width:760px){.dm-side{left:auto;top:10px;bottom:10px;right:62px;width:380px;max-height:none;transform:translateX(110%)}.dm-side.open{transform:none}}
.dm-panel{position:relative;overflow:hidden;background:rgba(19,26,34,.92);border:1px solid var(--line-strong);border-radius:20px 20px 0 0;padding:16px;backdrop-filter:blur(14px);box-shadow:0 -14px 40px rgba(0,0,0,.5)}
@media(min-width:760px){.dm-panel{border-radius:20px;height:100%;overflow:auto}}
.dm-panel-bd{position:absolute;inset:0;background:var(--bd) center/cover;opacity:.18;filter:blur(10px);pointer-events:none;-webkit-mask-image:linear-gradient(#000,transparent 70%);mask-image:linear-gradient(#000,transparent 70%)}
.dm-panel>*{position:relative}
.dm-panel .more{position:absolute;right:6px;top:6px;margin:0;z-index:2}
.dm-panel-top{display:flex;gap:14px;align-items:flex-start;margin-right:34px}
.dm-panel-top img{width:72px;border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.5)}
.dm-panel h3{margin:4px 0 2px;font-size:1.15rem;line-height:1.2}
.dm-tier{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:999px;background:var(--surface-3);color:var(--muted)}
.dm-tier.essential,.dm-tier.target{background:rgba(255,204,51,.18);color:#ffe28a}.dm-tier.recommended{background:rgba(90,169,255,.18);color:#9ccaff}
.dm-why{margin:12px 0 6px;line-height:1.45;font-size:.95rem}
.dm-ov{color:var(--muted);font-size:.88rem;line-height:1.45;margin:0 0 8px}
.dm-prep{background:rgba(19,26,34,.95);border:1px solid var(--line-strong);border-radius:20px 20px 0 0;padding:14px 16px;backdrop-filter:blur(14px)}
@media(min-width:760px){.dm-prep{border-radius:20px;height:100%;overflow:auto}}
.dm-prep-head{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-bottom:8px}
.dm-prep-head .more{margin:0}
.dm-prep-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);cursor:pointer}
.dm-prep-row input{width:22px;height:22px;accent-color:var(--good)}
.dm-prep-row .num{width:22px;color:var(--muted);font-weight:700;font-size:.85rem}
.dm-prep-row img{width:34px;height:51px;border-radius:6px;object-fit:cover}.dm-prep-row .ph{width:34px;height:51px;border-radius:6px;background:var(--surface-3)}
.dm-prep-row .t{flex:1;min-width:0;display:flex;flex-direction:column}.dm-prep-row .t b{font-size:.95rem}.dm-prep-row .s{color:var(--muted);font-size:.78rem}
.dm-prep-row.done{opacity:.55}.dm-prep-row.done .t b{text-decoration:line-through}
.dm-mini{width:36px;height:36px;border:0;background:none;color:var(--muted);font-size:1rem;cursor:pointer;border-radius:50%}
.dm-prep-foot{padding:10px 0 2px;color:var(--accent);font-weight:700}
.dm-note{margin:10px 0 0}

/* ---- map v2: vector zoom, bundles, filters, list mode, detail overlay ---- */
.dm-stage{height:min(72vh,760px);cursor:grab}
.dmap-svg{position:absolute;left:-35%;top:-35%;width:170%;height:170%;display:block;--inv:1;will-change:transform;transform-origin:0 0}
.dm-world{display:none}
.dm-grid{stroke:#fff;stroke-opacity:.05;stroke-width:calc(1px * var(--inv))}
.dm-lanel{stroke:#fff;stroke-opacity:.07;stroke-dasharray:2 8;stroke-width:calc(1px * var(--inv))}
.dm-year{font-size:calc(14px * var(--inv))}
.dm-lane{font-size:calc(15px * var(--inv))}
.dm-lane-note{font-size:calc(12px * var(--inv))}
.dm-label{font-size:15px;stroke-width:4px}
.dm-node.essential .dm-label,.dm-node.target .dm-label{font-size:16.5px}
.dm-sub{font-size:11.5px;stroke-width:3px}
.dm-edge{stroke-width:calc(1.6px * var(--inv));transition:opacity .2s}
.dm-edge.essential{stroke-width:calc(3.2px * var(--inv))}
.dm-edge.recommended{stroke-width:calc(2px * var(--inv))}
.dm-edge.background{stroke-width:calc(1px * var(--inv));opacity:.6}
.dm-edge.future{stroke:#fff;stroke-opacity:.35;stroke-dasharray:6 6;stroke-width:calc(1.5px * var(--inv))}
.dm-edge.lit{stroke-width:calc(5px * var(--inv));opacity:1}
.dm-node .dm-ring{stroke-width:2.4px}
.dm-node.essential .dm-ring{stroke-width:3.5px}
.dm-node.recommended .dm-ring{stroke-width:3px}
.dm-node.target .dm-ring{stroke-width:5px}
.dm-qring{fill:none;stroke:#ffcc33;stroke-opacity:.9;stroke-dasharray:7 5;stroke-width:3px}
.dm-qmark{fill:#ffcc33;stroke:#070a0f;stroke-width:2}
.dm-node.queued .dm-check-t{fill:#1a1300}
.dm-node.seen .dm-check-t{fill:#fff}
.dm-node.off,.dm-edge.off{display:none}
.z0 .dm-node.background text,.z0 .dm-sub{opacity:0;pointer-events:none}
.z2 .dm-edge.background,.z3 .dm-edge.background{opacity:.22}
.z3 .dm-edge.recommended{opacity:.6}
.has-sel .dm-edge:not(.lit){opacity:.12}
.has-sel .dm-node:not(.on){opacity:.55}
.has-sel .dm-node.on{opacity:1}
.dm-lg.queued i{background:#ffcc33;color:#1a1300}
.dm-bar{display:flex;flex-direction:column;gap:8px;margin:4px 0 10px}
.dm-mode{align-self:flex-start;display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}
.dm-mode button{min-height:40px;padding:0 18px;border-radius:999px;border:0;background:none;color:var(--muted);font-weight:700;font-size:.9rem;cursor:pointer}
.dm-mode button.on{background:linear-gradient(180deg,var(--surface-4),var(--surface-3));color:var(--text);box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 4px 10px rgba(0,0,0,.35)}
.dm-filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.dm-filters::-webkit-scrollbar{display:none}
.dm-filters .fchip{flex:0 0 auto;min-height:38px;padding:0 13px;font-size:.84rem}
.dm-fsep{flex:0 0 1px;background:var(--line-strong);margin:6px 4px}
.dm-listwrap{margin-top:4px}
.dm-lh{display:flex;align-items:baseline;gap:10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:20px 2px 8px}
.dm-lh span{text-transform:none;letter-spacing:0;color:var(--dim);font-weight:600}
.dm-list{display:flex;flex-direction:column;gap:6px}
.dm-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface-2),var(--surface));box-shadow:var(--shadow-1);cursor:pointer}
.dm-row img,.dm-row .ph{width:40px;height:60px;border-radius:7px;object-fit:cover;background:var(--surface-3);flex:0 0 40px;box-shadow:0 8px 16px rgba(0,0,0,.45)}
.dm-row .t{flex:1;min-width:0}
.dm-row .tt{font-weight:700;font-size:.98rem;line-height:1.2}
.dm-row .s{color:var(--muted);font-size:.8rem;margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dm-row.seen .tt{color:var(--muted)}
.dm-row.queued{border-color:rgba(255,204,51,.35)}
.dm-acts{display:flex;gap:6px;flex:0 0 auto}
.dm-tgl{flex:0 0 46px;width:46px;height:46px;padding:0;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface-3);color:var(--muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1;transition:transform .12s,background .15s,color .15s}
.dm-tgl i{font-style:normal;font-weight:800;font-size:1rem}
.dm-tgl span{font-size:.56rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.dm-tgl:active{transform:scale(.94)}
.dm-tgl.on{background:linear-gradient(180deg,#5fd48c,#2fa65a);color:#fff;border-color:transparent}
.dm-tgl.star.on{background:linear-gradient(180deg,#ffd75e,var(--accent-deep));color:var(--accent-ink)}
.dm-tgl.hide{color:var(--dim)}
.dm-tgl.hide.on{background:var(--surface-4);color:var(--text);border-color:var(--line-strong)}
.dm-tgl.pop{animation:chipPop .45s cubic-bezier(.2,.8,.2,1)}
.dm-row.flash{animation:dmRowFlash .9s ease}
@keyframes dmRowFlash{0%{box-shadow:0 0 0 2px rgba(255,204,51,.95),0 10px 30px rgba(255,204,51,.25)}100%{box-shadow:var(--shadow-1)}}
.dm-row.hidden{opacity:.72}
.dm-row.hidden .tt{color:var(--muted)}
.dm-tier.hid{margin-left:6px;background:var(--surface-4);color:var(--muted)}
details.dm-hiddenlist{margin-top:22px;padding-top:12px;border-top:1px dashed var(--line-strong)}
.btn.quiet{opacity:.8}
@media(max-width:759px){
  .dm-row{flex-wrap:wrap;gap:6px 8px;padding:8px}
  .dm-row .t{flex:1 1 0}
  .dm-acts{flex:0 0 100%;padding-left:48px;gap:6px;margin-top:2px}
  .dm-acts .dm-tgl{flex:1 1 0;width:auto;max-width:110px;height:38px;flex-direction:row;gap:6px}
  .dm-acts .dm-tgl i{font-size:.95rem}
  .dm-acts .dm-tgl span{font-size:.64rem;letter-spacing:.02em}
}
.dm-detail{position:fixed;left:0;right:0;bottom:0;z-index:62;max-height:78vh;overflow:auto;transform:translateY(103%);transition:transform .26s cubic-bezier(.2,.8,.2,1);overscroll-behavior:contain}
.dm-detail.open{transform:none}
@media(min-width:760px){.dm-detail{left:auto;right:16px;top:16px;bottom:16px;width:400px;max-height:none;transform:translateX(110%)}.dm-detail.open{transform:none}}
.dm-detail .dm-panel{border-radius:22px 22px 0 0;box-shadow:0 -20px 60px rgba(0,0,0,.65)}
@media(min-width:760px){.dm-detail .dm-panel{border-radius:22px;height:100%;overflow:auto}}
.dm-panel .acts{margin-top:10px}
.dm-tier.q{margin-left:6px;background:rgba(255,204,51,.18);color:#ffe28a}
.btn.on{border-color:rgba(255,204,51,.55);background:rgba(255,204,51,.1)}
.dm-side{display:none}

.dm-s{transform-box:fill-box}
@media(min-width:760px){.dm-s{transition:transform .25s ease}}
.dm-node.crowded text{opacity:0;pointer-events:none}
.z0 .dm-node.recommended text{opacity:0;pointer-events:none}

/* full catalogue: chronology chains, catalogue tier, lane chips */
.dm-chain{stroke:#fff;stroke-opacity:.13;stroke-dasharray:3 7;stroke-width:calc(1.3px * var(--inv))}
.dm-node.catalog .dm-ring{stroke:#4b5563;stroke-width:1.8px}
.dm-node.catalog .dm-label{fill:#b8c2cc;font-size:13px}
.dm-node.catalog .dm-sub{font-size:10.5px}
.dm-lg.catalog i{background:#4b5563}
.z0 .dm-node.catalog text,.z1 .dm-node.catalog text{opacity:0;pointer-events:none}
.z0 .dm-node.background text{opacity:0;pointer-events:none}
.dm-filters.lanes .fchip{min-height:34px;font-size:.78rem;padding:0 11px;background:var(--surface)}
.dm-filters.lanes .fchip.on{background:linear-gradient(180deg,#8fb8ff,#3b7ddd);color:#06152a}
details.dm-cat summary{list-style:none;cursor:pointer}
details.dm-cat summary::-webkit-details-marker{display:none}
details.dm-cat summary::after{content:" ▸";color:var(--dim)}
details.dm-cat[open] summary::after{content:" ▾"}
/* seen is its own signal: the ring keeps the tier colour; the poster dims and gets a check */
.dm-node.seen image{filter:saturate(.3) brightness(.75)}
.dm-node.seen .dm-label{fill:#aab6c3}
.dm-seen{display:inline-block;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;margin-left:6px;background:rgba(255,255,255,.06);color:var(--muted);border:1px solid var(--line-strong)}
.dm-seen.on{background:rgba(66,194,114,.16);color:#8fe3ae;border-color:rgba(66,194,114,.4)}
.dm-facts{display:flex;flex-direction:column;gap:8px;margin:10px 0 2px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.dm-facts>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dm-facts .k{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);min-width:92px;font-weight:700}
.dm-hint{color:#ffe28a;font-size:.86rem}

.dm-edge.background{opacity:.35}
.z0 .dm-edge.background{opacity:.18}
.z0 .dm-lane-note{opacity:0}
.dm-lane{font-size:calc(14px * var(--inv))}

/* ---- filter motion: chips pop, nodes sweep in toward Doomsday, hidden ones shrink away ---- */
.dm-node{transform-box:fill-box;transform-origin:center}
.dm-node.dm-in{animation:dmNodeIn .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0ms)}
@keyframes dmNodeIn{from{opacity:0;scale:.3}}
.dm-node.dm-out{animation:dmNodeOut .32s ease-in both;pointer-events:none}
@keyframes dmNodeOut{to{opacity:0;scale:.45}}
.dm-edge.dm-in,.dm-chain.dm-in{animation:dmFadeIn .8s ease both;animation-delay:var(--d,0ms)}
@keyframes dmFadeIn{from{opacity:0}}
.dm-edge.dm-out,.dm-chain.dm-out{animation:dmFadeOut .3s ease both}
@keyframes dmFadeOut{to{opacity:0}}
.dm-count{position:absolute;left:10px;bottom:10px;z-index:3;padding:6px 12px;border-radius:999px;background:rgba(19,26,34,.82);border:1px solid var(--line-strong);backdrop-filter:blur(8px);font-size:.78rem;color:var(--muted);pointer-events:none;white-space:nowrap}
.dm-count b{color:var(--text);font-size:.92rem}
.dm-count.filtered{border-color:rgba(255,204,51,.45)}
.dm-count.filtered b{color:var(--accent)}
.dm-count.bump{animation:dmCountBump .5s cubic-bezier(.2,.8,.2,1)}
@keyframes dmCountBump{0%{transform:scale(1)}40%{transform:scale(1.14)}100%{transform:scale(1)}}
.dm-row.dm-in{animation:dmRowIn .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0ms)}
@keyframes dmRowIn{from{opacity:0;transform:translateY(10px) scale(.98)}}
@media(prefers-reduced-motion:reduce){.dm-out{display:none}.dm-node.dm-in,.dm-row.dm-in{animation:none}}

/* ---- two filter rows work independently; one Reset clears both. Map/List switches fade the pane in ---- */
.dm-barrow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dm-reset{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,204,51,.55);background:linear-gradient(180deg,rgba(255,204,51,.18),rgba(255,204,51,.06));color:var(--text);font-weight:700;font-size:.88rem;cursor:pointer;white-space:nowrap;opacity:0;visibility:hidden;transform:translateX(10px);transition:opacity .22s,transform .22s,visibility 0s .22s}
.dm-reset.show{opacity:1;visibility:visible;transform:none;transition:opacity .22s,transform .22s}
.dm-reset b{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.78rem;display:inline-grid;place-items:center}
.dm-reset.show:active{transform:scale(.96)}
.dm-mode button.pop{animation:chipPop .45s cubic-bezier(.2,.8,.2,1)}
.dm-stage.dm-in,.dm-listwrap.dm-in{animation:dmPaneIn .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes dmPaneIn{from{opacity:0;transform:translateY(10px) scale(.985)}}
@media(max-width:520px){.dm-reset{padding:0 13px;font-size:.84rem}}

/* ---- phones: map front and centre, page scrolls past it, never lost in black space ---- */
.dm-fitpill{display:none;position:absolute;left:50%;top:10px;z-index:4;transform:translate(-50%,-8px);opacity:0;pointer-events:none;align-items:center;justify-content:center;line-height:1;height:38px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,204,51,.55);background:rgba(19,26,34,.88);color:var(--text);font-weight:700;font-size:.82rem;backdrop-filter:blur(8px);white-space:nowrap;transition:opacity .2s,transform .2s;cursor:pointer}
.dm-stage.zoomed .dm-fitpill{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.dm-coach{position:absolute;left:50%;bottom:14px;z-index:4;transform:translateX(-50%);padding:8px 12px;border-radius:999px;background:rgba(19,26,34,.9);border:1px solid var(--line-strong);color:var(--text);font-size:.8rem;font-weight:600;pointer-events:none;animation:dmCoach 1.6s ease-in-out infinite;transition:opacity .35s}
.dm-coach.gone{opacity:0}
@keyframes dmCoach{0%,100%{transform:translate(-50%,0)}50%{transform:translate(calc(-50% - 8px),0)}}
@media(max-width:759px){
  .dmap{display:flex;flex-direction:column}
  .dm-top{order:0;margin:0 0 6px}
  .dm-top>div:first-child{display:none}
  .dm-stats{font-size:.78rem;gap:6px 12px}
  .dm-stats b{font-size:.95rem}
  .dm-bar{order:1;margin:0 0 8px;gap:6px}
  .dm-filters .fchip{min-height:36px;font-size:.82rem}
  .dm-filters.lanes .fchip{min-height:32px}
  .dm-stagewrap{order:2}
  .dm-stage{height:62vh;border-radius:16px}
  .dm-listwrap{order:2}
  .dm-legend{order:3;margin:10px 0 0}
  .dm-note{order:4}
  .dm-fitpill{display:inline-flex}
  .dm-tools{position:static;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 2px 0}
  .dm-ctl{position:static;flex-direction:row;gap:8px}
  .dm-ctl button{width:40px;height:40px}
  .dm-ctl [data-dm-fit]{display:none}
  .dm-count{position:static}
}

/* ---- zoom: nothing snaps. Labels, year ticks and lane notes fade; label placement waits for the gesture to settle ---- */
.dm-node text,.dm-lane-note,.dm-year{transition:opacity .28s}
.z0 .dm-year.alt{opacity:0}

/* ---- panel: the same Seen · Watch · Not interested strip as the list, right under the title ---- */
.dm-acts.panel{padding:0;margin:12px 0 2px;gap:8px}
.dm-acts.panel .dm-tgl{flex:1 1 0;width:auto;max-width:none;height:44px;flex-direction:row;gap:7px}
.dm-acts.panel .dm-tgl i{font-size:1rem}
.dm-acts.panel .dm-tgl span{font-size:.72rem;letter-spacing:.02em;text-transform:none;font-weight:700}
