/* Helper: sparkle button above the navigation and its sheet. */
.assist-button{position:fixed;z-index:46;right:max(18px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid #ffffff1f;border-radius:50%;background:#161b26e0;color:#fff;box-shadow:0 14px 40px #000b;backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);cursor:pointer}
.assist-button .ico,.assist-mark .ico{width:22px;height:22px;fill:currentColor;stroke:none}
.assist-button:hover,.assist-button:focus-visible{background:#20283a;outline:none;box-shadow:0 0 0 2px var(--brand-blue,#3266f5),0 14px 40px #000b}
html.phone-menu .assist-button{bottom:calc(84px + env(safe-area-inset-bottom))}
body:has(#now-playing:not([hidden])) .assist-button{bottom:calc(96px + env(safe-area-inset-bottom))}
html.phone-menu body:has(#now-playing:not([hidden])) .assist-button{bottom:calc(150px + env(safe-area-inset-bottom))}
.ddns-setup-only .assist-button{display:none}

.assist-sheet{position:fixed;inset:auto max(18px,env(safe-area-inset-right)) calc(88px + env(safe-area-inset-bottom)) auto;width:min(420px,calc(100vw - 32px));max-height:min(640px,calc(100vh - 120px));margin:0;padding:0;border:1px solid #ffffff1f;border-radius:20px;background:#12161f;color:var(--text,#f6f4ef);box-shadow:0 24px 60px #000c;overflow:hidden}
.assist-sheet[open]{display:flex;flex-direction:column}
.assist-sheet::backdrop{background:rgba(5,6,10,.5)}
html.phone-menu .assist-sheet{inset:auto 0 0 0;width:100%;max-width:none;max-height:82vh;border-radius:20px 20px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}
.assist-head{display:flex;align-items:center;gap:10px;padding:16px 16px 12px;border-bottom:1px solid #ffffff12}
.assist-head h2{flex:1;margin:0;font-size:17px}
.assist-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#3266f533;color:#a4c0ff}
.assist-close{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:#ffffff12;color:inherit;cursor:pointer}
.assist-close .ico{width:16px;height:16px}
.assist-body{overflow:auto;padding:14px 16px 18px;display:grid;gap:14px;font-size:14px;line-height:1.45}
.assist-quiet{margin:0;color:var(--muted,#9aa3b2)}
.assist-error{margin:0;color:#ff9b9b}
.assist-chips{display:flex;flex-wrap:wrap;gap:8px}
.assist-chip{padding:7px 12px;border:1px solid #ffffff24;border-radius:999px;background:#ffffff0d;color:inherit;font:inherit;font-size:13px;cursor:pointer}
.assist-chip:hover,.assist-chip:focus-visible{background:#ffffff1c;outline:none}
.assist-issues{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.assist-issue{display:grid;grid-template-columns:10px 1fr;gap:10px;padding:12px;border:1px solid #ffffff12;border-radius:14px;background:#ffffff08}
.assist-issue strong{display:block}
.assist-issue small{display:block;color:var(--muted,#9aa3b2)}
.assist-issue p{margin:4px 0 8px}
.assist-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#7298ff}
.assist-issue[data-severity=warning] .assist-dot{background:#e9b76e}
.assist-issue[data-severity=problem] .assist-dot{background:#ff6b6b}
.assist-answer{display:grid;gap:12px}
.assist-answer>p{margin:0}
.assist-facts{display:grid;gap:6px;margin:0}
.assist-facts div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:#ffffff08}
.assist-facts dt{color:var(--muted,#9aa3b2)}
.assist-facts dd{margin:0;text-align:right}
.assist-eta ol{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}
.assist-eta li{display:flex;justify-content:space-between;gap:12px;padding-left:18px;position:relative}
.assist-eta li::before{content:"";position:absolute;left:0;top:6px;width:9px;height:9px;border:1.5px solid #ffffff55;border-radius:50%}
.assist-eta li.done::before{background:#5ad18a;border-color:#5ad18a}
.assist-eta small{color:var(--muted,#9aa3b2);text-align:right}
.assist-actions{display:grid;gap:4px}
.assist-actions .button{justify-content:center;margin-top:6px}
.assist-actions small{color:var(--muted,#9aa3b2);font-size:12px}
.assist-actions .danger{border-color:#ff6b6b66;color:#ffb3b3}
.assist-actions .confirming{background:#ff6b6b;border-color:#ff6b6b;color:#1a0b0b}
.assist-tag{margin-left:6px;padding:1px 6px;border-radius:999px;background:#ffffff26;font-size:11px}
.assist-back{justify-self:start;padding:0;border:0;background:none;color:#a4c0ff;font:inherit;cursor:pointer}
