/* Task milestones replace media-player scrubbing on the design/build chapters. */
.ugc-fullscreen .task-footer { flex-shrink: 0; display: flex; align-items: center; gap: clamp(26px, 4vw, 64px); padding: 18px 26px 14px; border-top: 1px solid #425436; background: #202e1a; }
.task-progress-wrap { min-width: 0; flex: 1; }
.task-progress ol { display: grid; grid-template-columns: repeat(var(--task-count), minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.task-step { position: relative; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; color: #879a74; }
.task-step::before { content: ''; position: absolute; height: 1px; top: 12px; width: calc(100% - 36px); left: calc(-50% + 18px); background: #495d3d; transition: background .45s; }
.task-step:first-child::before { display: none; }
.task-step.is-connected::before { background: #a8c187; }
.task-node { width: 25px; height: 25px; display: grid; place-items: center; position: relative; border: 1px solid #637855; border-radius: 50%; background: #202e1a; color: transparent; transition: border-color .4s, background .4s, color .4s, box-shadow .4s; }
.task-node svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.task-step.is-current .task-node { border-color: #c0d79e; box-shadow: 0 0 0 4px #c0d79e10; }
.task-step.is-current .task-node::after { content: ''; width: 5px; height: 5px; position: absolute; background: #b4ca94; border-radius: 50%; }
.task-progress.is-running .task-step.is-current .task-node::after { animation: task-working 1.5s ease-in-out infinite; }
.task-step.is-complete { color: #d5e4c1; }
.task-step.is-current { color: #c6d7b3; }
.task-step.is-complete .task-node { background: #c5dca3; border-color: #c5dca3; color: #2b401e; box-shadow: 0 0 15px #bdda9236; }
.task-label { font: 600 14px/1.4 var(--sans); text-align: center; white-space: normal; }
.task-status { margin: 11px 0 0; text-align: center; font: 11px/1.5 var(--sans); color: #b0c59c; min-height: 17px; }
.task-next { display: flex; align-items: center; justify-content: center; flex: 0 0 clamp(190px, 20vw, 290px); min-height: 52px; }
.ugc-fullscreen .task-next .task-continue { width: 100%; min-height: 52px; padding-inline: 22px; transition: background .45s, border-color .45s, color .45s, box-shadow .6s; }
.ugc-fullscreen .task-next .task-continue:disabled { background: #2b3b23; border-color: #465c37; color: #8ca07b; box-shadow: none; cursor: not-allowed; transform: none; }
.ugc-fullscreen .task-next .task-continue.is-ready { background: #c5dca3; color: #283d1b; border-color: #c5dca3; box-shadow: 0 0 26px #bfdc9920; }
.ugc-fullscreen .task-next .task-continue.is-ready:hover { background: #d7eab9; border-color: #d7eab9; box-shadow: 0 0 26px #bfdc9933; }
.task-pending { font: 13px var(--sans); color: #a9bf95; text-align: center; }
.task-replay-controls { display: flex; gap: 17px; align-items: center; flex-shrink: 0; }
.ugc-fullscreen .task-replay-controls button { background: transparent; border: 0; padding: 5px 0; min-width: 0; font: 12px var(--sans); color: #c2d6ac; cursor: pointer; }
.ugc-fullscreen .task-replay-controls button:disabled { color: #7c906a; cursor: wait; }
.ugc-fullscreen .task-replay-controls button:hover:not(:disabled) { color: #e3edce; }
.ugc-fullscreen .task-replay-controls [hidden], .ugc-fullscreen .task-next [hidden] { display: none; }
.ugc-fullscreen .designer-window-bar .task-replay-controls { margin-left: 0; }
.ugc-fullscreen .design-stage-area { margin-top: 25px; }
.ugc-fullscreen .designer-autonomy-note { margin-top: auto; text-align: left; padding-top: 20px; }
.ugc-fullscreen .designer-reference-card img { height: clamp(100px, 20vh, 240px); }
.ugc-fullscreen .research-results img { height: clamp(130px, 20vh, 250px); }
.ugc-fullscreen .castle-player-top { align-items: center; flex-shrink: 0; }
.ugc-fullscreen .castle-player-top > b { margin-left: auto; }
.ugc-fullscreen .deck-build .castle-design-workbench { border-radius: 0; }
.ugc-fullscreen .castle-task-footer { background: #1b2716; }
.ugc-fullscreen .castle-task-footer .task-node { background: #1b2716; }
.ugc-fullscreen .castle-task-footer .is-complete .task-node { background: #c5dca3; }
.ugc-fullscreen .castle-task-footer + .castle-footnote { background: #1b2716; }
@keyframes task-working { 50% { opacity: .35; transform: scale(.7); } }
@media (min-width: 761px) and (max-height: 800px) {
  .ugc-fullscreen .task-footer { padding-block: 17px 13px; }
  .task-status { margin-top: 11px; }
  .ugc-fullscreen .design-stage-area { margin-top: 18px; }
  .ugc-fullscreen .designer-reference-card img { height: 18vh; }
  .ugc-fullscreen .route-paper svg { max-height: 25vh; }
  .ugc-fullscreen .designer-brief-panel { padding-bottom: 17px; }
}
@media (max-width: 1000px) and (min-width: 761px) {
  .ugc-fullscreen .task-footer { gap: 24px; padding-inline: 20px; }
  .task-label { font-size: 12px; }
  .task-next { flex-basis: 180px; }
  .ugc-fullscreen .task-next .task-continue { padding-inline: 16px; font-size: 11px; }
}
@media (max-width: 760px) {
  .ugc-fullscreen .task-footer { position: sticky; bottom: 0; z-index: 4; flex-direction: column; gap: 11px; padding: 14px 10px 12px; box-shadow: 0 -10px 22px #17221040; }
  .task-progress-wrap { width: 100%; }
  .task-step { gap: 8px; }
  .task-step::before { top: 10px; width: calc(100% - 26px); left: calc(-50% + 13px); }
  .task-node { height: 21px; width: 21px; }
  .task-node svg { height: 14px; width: 14px; }
  .task-label { font-size: 11px; white-space: normal; line-height: 1.4; }
  .task-status { font-size: 10px; margin-top: 10px; }
  .task-next { flex: none; width: 100%; min-height: 40px; }
  .ugc-fullscreen .task-next .task-continue { min-height: 40px; padding: 10px 14px; font-size: 11px; }
  .task-pending { font-size: 11px; }
  .task-replay-controls { gap: 10px; }
  .ugc-fullscreen .task-replay-controls button { font-size: 11px; }
  .ugc-fullscreen .designer-demo-label { display: none; }
  .ugc-fullscreen .designer-window-bar .task-replay-controls { margin-left: auto; }
  .ugc-fullscreen .designer-output { min-height: 430px; }
  .ugc-fullscreen .design-stage-area { margin-top: 24px; }
  .ugc-fullscreen .designer-autonomy-note { margin-top: 0; padding-top: 5px; }
  .ugc-fullscreen .designer-reference-card img { height: 135px; }
  .ugc-fullscreen .castle-player-top > b { margin-left: 0; font-size: 10px; }
  .ugc-fullscreen .castle-player-top .task-replay-controls { margin-left: auto; }
  .ugc-fullscreen .castle-task-footer .task-label { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .task-node, .task-step::before, .ugc-fullscreen .task-next .task-continue { transition: none; }
  .task-progress.is-running .task-step.is-current .task-node::after { animation: none; }
}
