/* A task panel stays out of the reading column and above mobile navigation. */
.extraction-progress{position:fixed;right:24px;bottom:22px;z-index:25;width:350px;max-width:calc(100vw - 32px);overflow:hidden;border:1px solid #dbe5dc;border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 10px 36px rgba(25,64,52,.12);color:var(--ink,#183f34)}
.extraction-progress[hidden]{display:none!important}
.extraction-progress-header{display:flex;align-items:center;gap:2px;padding:4px 8px 0 6px;min-height:48px;touch-action:none;user-select:none;cursor:grab}
.extraction-progress-grip{display:grid;place-items:center;flex:none;width:28px;min-height:44px;padding:0;border:0;border-radius:8px;background:none;color:#a6b7ac;font-size:21px;cursor:grab;touch-action:none}
.extraction-progress-grip:hover{background:#f1f5f2;color:#6c8b79}
.extraction-progress[data-dragging=true],.extraction-progress[data-dragging=true] *{cursor:grabbing!important}
.extraction-progress[data-dragging=true]{box-shadow:0 16px 48px #193f3426}
.extraction-progress-toggle{display:flex;align-items:center;gap:12px;flex:1;min-width:0;min-height:44px;border:0;background:none;padding:4px 0;color:inherit;text-align:left;cursor:pointer}
.extraction-progress-title{font-size:14px;line-height:1.4;font-weight:650;flex:1}
.extraction-progress-count{font-size:12px;font-variant-numeric:tabular-nums;color:#688073;white-space:nowrap}
.extraction-progress-chevron{font-size:18px;line-height:1;width:20px;text-align:center;color:#6d8478}
.extraction-progress-close{flex:none;border:0;background:transparent;min-width:32px;min-height:36px;font-size:21px;color:#798a81;border-radius:8px;cursor:pointer;padding:0}
.extraction-progress-close:hover,.extraction-progress-toggle:hover{color:#214e40}
.extraction-progress-meter{display:block;width:calc(100% - 32px);height:4px;border:0;margin:0 16px 10px;appearance:none;border-radius:5px;overflow:hidden;background:#edf2eb;color:#386e58;accent-color:#386e58}
.extraction-progress-meter::-webkit-progress-bar{background:#edf2eb;border-radius:5px}
.extraction-progress-meter::-webkit-progress-value{background:#56866b;border-radius:5px;transition:width .25s ease}
.extraction-progress-meter::-moz-progress-bar{background:#56866b;border-radius:5px}
.extraction-progress-content{padding:0 16px 14px;max-height:min(52dvh,360px);overflow:auto;overscroll-behavior:contain}
.extraction-progress-content[hidden]{display:none!important}
.extraction-progress-detail{font-size:11px;line-height:1.6;color:#78897d;margin:0 0 7px;font-variant-numeric:tabular-nums}
.extraction-progress-list{display:grid;gap:1px}
.extraction-progress-row{display:flex;align-items:center;gap:12px;min-height:35px;padding:5px 0;text-decoration:none!important;border-bottom:1px solid #eef1eb;font-size:12px;color:inherit}
.extraction-progress-work{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.extraction-progress-state{flex:none;max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#7d8f83}
.extraction-progress-state[data-state=complete]{color:#27624b}
.extraction-progress-state[data-state=failed],.extraction-progress-state[data-state=needs_user],.extraction-progress-state[data-state=unavailable]{color:#936c39}
.extraction-progress-footer{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:10px;min-height:30px}
.extraction-progress-control{border:0;background:transparent;font:inherit;font-size:12px;color:#728477;padding:5px 0;cursor:pointer;margin-right:auto}
.extraction-progress-control:disabled{opacity:.5;cursor:default}
.extraction-progress-result{font-size:12px;font-weight:600;color:#285b46;text-decoration:none!important;padding:7px 10px;background:#edf3eb;border-radius:8px}
.extraction-progress :is(button,a):focus-visible{outline:2px solid #629a83;outline-offset:2px}
.extraction-progress[data-collapsed=true]{width:280px;border-radius:15px}
.extraction-progress[data-collapsed=true] .extraction-progress-header{min-height:46px}
.extraction-progress[data-collapsed=true] .extraction-progress-toggle{min-height:44px}
.extraction-progress[data-collapsed=true] .extraction-progress-meter{margin-bottom:10px}
@media(max-width:860px){.extraction-progress{right:12px;bottom:calc(var(--workspace-nav-height,68px) + 12px);width:min(350px,calc(100vw - 24px));border-radius:15px}.extraction-progress[data-collapsed=true]{width:250px}.extraction-progress-header{padding-left:5px}.extraction-progress-content{padding:0 14px 10px}.extraction-progress-row{min-height:34px}.extraction-progress-detail{font-size:11px}.extraction-progress-close{min-width:38px;min-height:44px}.extraction-progress-control,.extraction-progress-result{min-height:38px;display:inline-flex;align-items:center}}
@media(prefers-reduced-motion:reduce){.extraction-progress-meter::-webkit-progress-value{transition:none}}

@media(max-width:860px){.dashboard[data-extraction-progress] :is(.profile-selection-bar,.follow-selection){bottom:calc(var(--workspace-nav-height,68px) + var(--extraction-progress-height,0px) + 24px)}}

.dashboard[data-extraction-progress] .workspace-main{padding-bottom:calc(var(--extraction-progress-height,0px) + 48px)}
@media(max-width:860px){.dashboard[data-extraction-progress] .workspace-main{padding-bottom:calc(var(--workspace-nav-height,68px) + var(--extraction-progress-height,0px) + 40px)}}

/* Compact strip -> progress ball -> compact strip; task polling never opens a list. */
.extraction-progress{z-index:55;transition:box-shadow .2s}
.extraction-progress[data-snapping=true]{transition:left .2s ease,top .2s ease,box-shadow .2s}
.extraction-progress[data-dragging=true]{transition:none}
.extraction-progress[data-collapsed=true]{width:220px}
.extraction-progress-header{padding:3px 6px;min-height:42px}
.extraction-progress-grip{width:28px;height:40px;min-height:40px;position:relative;-webkit-tap-highlight-color:transparent}
.extraction-progress-grip::before{content:'';width:13px;height:2px;border-radius:2px;background:#89998d}
.extraction-progress-grip:hover{background:transparent}
.extraction-progress-toggle{gap:6px;min-height:40px}
.extraction-progress-title{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.extraction-progress-count{font-size:11px}
.extraction-progress-bubble{position:relative;isolation:isolate;display:grid;place-items:center;width:52px;height:52px;min-width:52px;min-height:52px;overflow:hidden;border:0;border-radius:50%;padding:0;background:#fff;color:#2c4938;touch-action:none;user-select:none;cursor:grab;-webkit-tap-highlight-color:transparent}
.extraction-progress-water{position:absolute;inset:0;pointer-events:none;transform:translateY(calc(100% - var(--extraction-progress-percent,0%)));transition:transform .65s ease;background:linear-gradient(to bottom,transparent 4px,#accfc0 4px)}
.extraction-progress-water[hidden]{display:none}
.extraction-progress-water::before,.extraction-progress-water::after{content:'';position:absolute;left:0;width:208px;height:12px;background-repeat:repeat-x;background-size:104px 12px;animation:extraction-water-flow 5s linear infinite;will-change:transform}
.extraction-progress-water::before{top:-6px;opacity:.6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='104' height='12' viewBox='0 0 104 12'%3E%3Cpath d='M0 4Q13 0 26 4T52 4T78 4T104 4V12H0Z' fill='%2389bcad'/%3E%3C/svg%3E");animation-duration:6.7s;animation-direction:reverse}
.extraction-progress-water::after{top:-4px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='104' height='12' viewBox='0 0 104 12'%3E%3Cpath d='M0 4Q13 0 26 4T52 4T78 4T104 4V12H0Z' fill='%23accfc0'/%3E%3C/svg%3E")}
.extraction-progress-bubble-label{position:relative;z-index:1;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none}
@keyframes extraction-water-flow{from{transform:translateX(0)}to{transform:translateX(-104px)}}
.extraction-progress[data-bubble=true]{width:54px!important;height:54px;border-radius:50%;overflow:hidden;max-width:none;box-shadow:0 4px 18px #203d3026}
.extraction-progress[data-bubble=true] :is(.extraction-progress-header,.extraction-progress-meter,.extraction-progress-content){display:none}
@media(max-width:860px){.dashboard:not(.extraction-demo)[data-extraction-progress] .workspace-main{padding-bottom:calc(var(--workspace-nav-height,68px) + 24px)}}
@media(prefers-reduced-motion:reduce){.extraction-progress,.extraction-progress-water{transition:none}.extraction-progress-water::before,.extraction-progress-water::after{animation:none;will-change:auto}}
