/* Ask KickTip panel. Classes only, no inline styles (strict CSP). */
.has-ask{--pillb:20px}
.has-ask .ft{padding-bottom:calc(26px + 52px + var(--pillb) + env(safe-area-inset-bottom,0px))}   /* the floating pill (52px high) never hides the footer or the last lines: footer padding = pill height + its offset + the device safe area */
.askpill{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:8;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px 0 14px;border-radius:99px;background:var(--f);color:var(--w);border:2px solid var(--l);font:700 17px 'Source Sans 3',Arial,sans-serif;cursor:pointer;box-shadow:0 6px 20px rgba(18,21,25,.35)}
.askpill[hidden],.scrim[hidden],.pnl[hidden]{display:none}
.askpill i{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--l);color:var(--ink);font:italic 700 18px 'Barlow Condensed',Arial,sans-serif}
.askpill:focus-visible,.pnl .cx:focus-visible,.pnl .q:focus-visible,.pnl .chip button:focus-visible,.pnl .snd:focus-visible,.pnl .addg:focus-visible,.pnl .opt:focus-visible,.pnl a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.pnl .hdp .cx:focus-visible{outline-color:var(--l)}
.pnl .chip button:focus-visible{outline-offset:-5px}
.scrim{position:fixed;inset:0;background:rgba(18,21,25,.55);z-index:9}
.pnl{position:fixed;z-index:10;background:var(--w);color:var(--ink);display:flex;flex-direction:column;top:0;right:0;bottom:0;width:440px;max-width:100%;border-left:2px solid var(--f);box-shadow:-10px 0 30px rgba(18,21,25,.35);font:16px/1.45 'Source Sans 3',Arial,sans-serif}
.pnl .hdp{background:var(--f);color:var(--w);padding:12px 12px 12px 18px;display:flex;align-items:center;gap:10px}
.pnl .hdp h2{font-size:24px;margin:0}
.pnl .lab{display:block;font:600 14px 'Source Sans 3',Arial,sans-serif;color:#D5DBE0}
.pnl .cx{margin-left:auto;flex:none;width:44px;height:44px;border-radius:10px;border:2px solid #8A949E;background:transparent;color:var(--w);font:700 22px/1 Arial,sans-serif;cursor:pointer}
.pnl .bd{flex:1;overflow:auto;padding:16px 18px}
.pnl .bd h3{font-size:20px;margin:0 0 8px;text-transform:uppercase}
.pnl .bd a{display:inline-flex;align-items:center;min-height:44px;color:var(--f);font-weight:700}
.pnl .cmp{border-top:1px solid var(--s);padding:12px 18px 14px;background:var(--p)}
.pnl .cmp form{display:flex;gap:10px;align-items:flex-end}
.pnl .cmp label{display:block;font:700 14px 'Source Sans 3',Arial,sans-serif;margin-bottom:4px}
.pnl .cmp .fld{flex:1;min-width:0}
.pnl .cmp input{width:100%;box-sizing:border-box;min-height:48px;border:2px solid var(--s);border-radius:10px;padding:0 12px;font:16px 'Source Sans 3',Arial,sans-serif;color:var(--ink);background:var(--w)}
.pnl .cmp input:disabled{background:#E4E8EB;color:var(--s)}
.pnl .cmp input:focus{outline:3px solid var(--ink);outline-offset:1px}
.pnl .cnt{display:block;font:600 13px 'Source Sans 3',Arial,sans-serif;color:var(--s);margin-top:4px;text-align:right}
.pnl .snd{min-width:88px;min-height:48px;border-radius:10px;background:var(--f);color:var(--w);border:2px solid var(--f);font:700 16px 'Source Sans 3',Arial,sans-serif;cursor:pointer;margin-bottom:22px}
.pnl .snd:disabled{background:#E4E8EB;color:var(--s);border:2px dashed var(--s);cursor:not-allowed}
.pnl .q{display:block;width:100%;text-align:left;min-height:48px;margin:0 0 10px;padding:10px 14px;border:2px solid var(--f);border-radius:12px;background:var(--w);color:var(--ink);font:600 16px 'Source Sans 3',Arial,sans-serif;cursor:pointer}
.pnl .q small{display:block;font:600 12px 'Source Sans 3',Arial,sans-serif;letter-spacing:.08em;color:var(--s);text-transform:uppercase}
.pnl .ub{margin:0 0 12px auto;max-width:85%;background:var(--f);color:var(--w);border-radius:14px 14px 4px 14px;padding:10px 14px;width:fit-content;overflow-wrap:anywhere}
.pnl .ac,.pnl .st2{border:1px solid var(--s);border-radius:14px;padding:14px;background:var(--w)}
.pnl .ac p,.pnl .st2 p{margin:6px 0}
.pnl .req{display:inline-block;font:700 12px 'Source Sans 3',Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:var(--l);padding:4px 8px;border-radius:6px}
.pnl .chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.pnl .chip{display:inline-flex;align-items:center;gap:2px;min-height:44px;padding-left:12px;border-radius:99px;background:var(--f);color:var(--w);font:600 15px 'Source Sans 3',Arial,sans-serif}
.pnl .chip button{flex:none;width:44px;height:44px;border:0;background:transparent;color:var(--w);font:700 20px/1 Arial,sans-serif;cursor:pointer;border-radius:50%}
.pnl .addg{min-height:44px;padding:0 14px;border-radius:99px;border:2px dashed var(--f);background:var(--w);color:var(--f);font:700 15px 'Source Sans 3',Arial,sans-serif;cursor:pointer}
.pnl .ba{width:100%;table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:0;margin:8px 0}
.pnl .ba caption{text-align:left;caption-side:top;padding-bottom:4px;font:700 15px 'Source Sans 3',Arial,sans-serif}
.pnl .ba th{font-size:12px;padding:7px 8px;text-align:left}
.pnl .ba td{padding:8px;font-size:15px;border-top:1px solid var(--ban)}
.pnl .ba td.n,.pnl .ba th.n{text-align:right}
.pnl .ba th:first-child{width:38%}.pnl .ba th:nth-child(4):last-child{width:28%}.pnl .ba td,.pnl .ba th{overflow-wrap:anywhere}
.pnl .ba td:first-child{white-space:normal}
.pnl .rgn{margin:8px 0 2px}
.pnl .mdl{font-weight:700}
.pnl .dl{font-weight:700;white-space:nowrap}
.pnl .dim{color:var(--s);font-weight:600}
.pnl .meta{font:600 14px 'Source Sans 3',Arial,sans-serif;color:var(--s)}
.pnl .mn{font-size:13px;color:var(--s);margin-top:10px}
.pnl .lk{font-size:14px}
.pnl .prog{height:12px;border-radius:99px;background:#C9D1D7;overflow:hidden;margin:10px 0 6px}
.pnl .prog span{display:block;height:100%;background:var(--f);border-radius:99px;transition:width .2s}
.pnl .opt{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;margin:0 8px 8px 0;border-radius:10px;border:2px solid var(--f);background:var(--w);color:var(--ink);font:700 15px 'Source Sans 3',Arial,sans-serif;cursor:pointer;text-align:left}
.pnl .ico{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--f);color:var(--l);font:700 16px Arial,sans-serif;margin-bottom:6px}
.pnl .sk{height:14px;border-radius:6px;background:#DDE3E6;margin:10px 0;animation:ksh 1.2s ease-in-out infinite alternate}
.pnl .w90{width:90%}.pnl .w80{width:80%}.pnl .w70{width:70%}
@keyframes ksh{from{opacity:.55}to{opacity:1}}
.pnl .grab{display:none;width:44px;height:5px;border-radius:9px;background:#8A949E;margin:0 auto 6px}
@media(max-width:700px){
.has-ask{--pillb:12px}
.askpill{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:12px;justify-content:center}
.pnl{top:auto;left:0;width:100%;height:88vh;height:88dvh;border-left:0;border-top:2px solid var(--f);border-radius:18px 18px 0 0;box-shadow:0 -10px 30px rgba(18,21,25,.35)}
.pnl .hdp{border-radius:16px 16px 0 0}
.pnl{padding-bottom:env(safe-area-inset-bottom,0px)}
.pnl .grab{display:block}
}
@media(max-width:420px){.pnl .ba td,.pnl .ba th{padding:6px 4px;font-size:13px}.pnl .ba th{font-size:11px}.pnl .bd{padding:14px 12px}.pnl .ac{padding:12px 10px}}
/* KickTip shield spinner (Creative spec, 2026-10-25): static #4C5560 track + cyan moving stroke along the shield outline; 1.8s loop = trace .8s, hold closed .32s, un-trace .68s. pathLength=1, stroke in viewBox units. No inline styles: all of it is here. */
.pnl .kshd{display:block;flex:none;overflow:visible}
.pnl .kshd path{fill:none;stroke-linejoin:round;stroke-linecap:butt}
.pnl .kst{stroke:#4C5560}
.pnl .ksm{stroke:#33E1EA;stroke-dasharray:1 1.01;stroke-dashoffset:1;animation:kshTrace 1.8s linear infinite}
@keyframes kshTrace{0%{stroke-dashoffset:1;animation-timing-function:cubic-bezier(.45,0,.25,1)}44%{stroke-dashoffset:0}62%{stroke-dashoffset:0;animation-timing-function:cubic-bezier(.45,0,.25,1)}100%{stroke-dashoffset:-1}}
.pnl .snd .kshd{height:24px;width:18.8px}
.pnl .snd .kshd path{stroke-width:28px}
.pnl .snd{flex:none;width:116px;min-width:116px}   /* one fixed width idle and running, so swapping the label never shifts the box */
.pnl .snd.run{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 4px;white-space:nowrap;cursor:progress}
.pnl .snd.run span{font-size:15px}
.pnl .spin{display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--ink);border-radius:12px;padding:18px 12px;margin:10px 0}
.pnl .spin .kshd{height:96px;width:75.2px}
.pnl .spin .kshd path{stroke-width:11px}
.pnl .spcap{margin:0;font:600 16px 'Source Sans 3',Arial,sans-serif;color:#D5DBE0;text-align:center}
@media(forced-colors:active){.pnl .ksm{stroke:CanvasText}.pnl .kst{stroke:GrayText}}
@media(prefers-reduced-motion:reduce){.pnl,.pnl *{animation:none!important;transition:none!important}.pnl .ksm{stroke-dashoffset:0!important}}
.pnl .cmp .rn{margin:8px 0 0}
