/* V0.15: messages, coordinator, task queue and teams are separate business units. */
.cycle-space{display:none;position:absolute;inset:0;pointer-events:auto;color:#54765f}
.film-v15[data-mode=final] #film-loop>.workspace-label,.film-v15[data-mode=final] #film-loop>.workspace-left,.film-v15[data-mode=final] #film-loop>.workspace-coordinator,.film-v15[data-mode=final] #film-loop>.workspace-right,.film-v15[data-mode=final] #workspace-flow{display:none}
.film-v15[data-mode=final] .cycle-space{display:block}
.cycle-top{height:39px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #cfddce;font-size:14px;color:#728f77;gap:15px}
.cycle-key{display:flex;gap:13px;font-size:11px;white-space:nowrap}.cycle-key span:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#85a8cf;margin-right:5px}.cycle-key [data-state=awaiting-user]:before{background:#c7a46c}.cycle-key [data-state=done]:before{background:#83ae8d}
.cycle-grid{position:absolute;inset:57px 0 0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.5fr) minmax(0,.9fr) minmax(0,1.2fr);gap:23px}
.cycle-grid>section{min-width:0;min-height:0;position:relative;display:flex;flex-direction:column}
.cycle-region-heading{height:30px;display:flex;align-items:flex-start;justify-content:space-between;gap:6px;flex-shrink:0;color:#68816b}.cycle-region-heading h2{font-size:15px;font-weight:500;margin:0;white-space:nowrap}.cycle-region-heading>span{font-size:10px;color:#94a68b;white-space:nowrap;margin-top:3px}
.cycle-agent .cycle-region-heading>span{display:none}
.cycle-agent:has(.cycle-reminder[data-task]:not([data-task=""])) .cycle-actions{margin-top:130px;height:220px}
.cycle-messages,.cycle-tasks{position:relative;flex:1;min-height:0;overflow:hidden;mask-image:linear-gradient(#000 0%,#000 88%,transparent 100%)}
.cycle-message{position:absolute;inset:0 0 auto;background:#fffdf7e8;border:1px solid #d0dccc;border-radius:9px;padding:13px 14px;color:#557261;will-change:transform,opacity}
.cycle-message header{display:flex;gap:7px;align-items:center;height:23px;margin-bottom:9px;font-size:11px;color:#8da087}.cycle-you{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#e7efdf;font-size:11px;color:#879e7b;flex-shrink:0}.cycle-message-kind{font-size:12px;font-weight:400;color:#65816c}.cycle-message-ref{font-size:10px;color:#9dac94;margin-left:auto;white-space:nowrap}
.cycle-message-copy{position:relative;font-size:17px;line-height:1.65;overflow-wrap:anywhere}.cycle-message-layout{visibility:hidden;display:block}.cycle-message-text{position:absolute;inset:0;margin:0;font:inherit}.cycle-message[data-state=typing]{border-color:#9fb5a0;background:#fffef8;box-shadow:0 0 0 2px #adc4a017}.cycle-message[data-state=typing] .cycle-you{background:#dbe9d3;color:#65936c}.cycle-input-caret{display:inline-block;width:1px;height:14px;background:#669370;vertical-align:-2px;margin-left:3px;animation:cycle-caret .7s steps(1) infinite}
.cycle-message[data-kind=decision],.cycle-message[data-kind=supplement]{background:#f5f0e4;border-color:#ddc9a4}.cycle-message[data-kind=decision] .cycle-message-kind,.cycle-message[data-kind=supplement] .cycle-message-kind{color:#a08b60}
.cycle-message-stamp{position:absolute;right:9px;bottom:8px;display:none;transform:rotate(-5deg);box-shadow:0 4px 12px #25493024;background:#fffef8;padding:3px;border:1px solid #a4c296;border-radius:4px;width:66px;height:44px}.cycle-message-stamp img{width:100%;height:100%;object-fit:cover}.cycle-message-stamp i{position:absolute;right:-5px;bottom:-5px;width:16px;height:16px;background:#89ad7c;color:#fff;border:2px solid #fffdf7;border-radius:50%;font-size:9px;line-height:12px;text-align:center;font-style:normal}.cycle-message[data-has-result=true] .cycle-message-stamp{display:block}
.cycle-actor{padding-top:98px;text-align:center}.cycle-portrait{position:relative;width:65px;height:65px;margin:auto}.cycle-portrait img{width:100%;height:100%;object-fit:contain;border-radius:12px}.cycle-portrait .activity-light{width:14px;height:14px;right:-3px;bottom:-2px}.cycle-actor>strong{display:block;font-size:21px;font-weight:500;margin-top:11px;color:#234f43}.cycle-reminder{position:absolute;top:247px;left:-7px;right:-7px;background:#f4ecdb;border:1px solid #d9c398;border-radius:7px;padding:10px 11px;z-index:2;box-shadow:0 4px 15px #68724509}.cycle-reminder b{font-size:11px;font-weight:500;color:#9e8050}.cycle-reminder p{font-size:12px;line-height:1.6;margin:6px 0 0;color:#a08b69}
.cycle-actions{--action-step:67px;position:relative;list-style:none;padding:0;margin:28px 0 0;height:330px;overflow:hidden;mask-image:linear-gradient(#000 0%,#000 55%,#0008 77%,transparent 100%)}
.cycle-action{position:absolute;inset:0 0 auto;display:flex;gap:7px;padding:3px 1px;height:var(--action-step);will-change:transform,opacity;font-size:13px}.cycle-action>div{min-width:0;line-height:1.6}.cycle-action .action-title{font-size:13px;font-weight:500;overflow-wrap:anywhere}.cycle-action .action-detail{font-size:10px;margin-top:5px;line-height:1.6;color:#8ba083;overflow-wrap:anywhere}.cycle-action .action-indicator{width:10px;height:10px;flex:0 0 10px;margin-top:5px;border:1px solid #8cac98;border-radius:50%;position:relative}.cycle-action[data-current=true]{color:#365e4a}.cycle-action[data-state=running] .action-indicator{border-top-color:transparent;animation:indicator-spin .8s linear infinite;transform-origin:center}.cycle-action[data-state=running] .action-caret{display:inline-block}.cycle-action[data-state=done] .action-indicator:after{content:'';position:absolute;left:2px;top:1px;width:3px;height:5px;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg)}
.cycle-tasks{--task-step:74px}
.cycle-task{position:absolute;inset:0 0 auto;height:65px;display:flex;align-items:center;gap:9px;border:1px solid #c7d6e5;border-left:3px solid #83a5c9;background:#edf3fc;border-radius:7px;padding:9px 11px;color:#577e9e;will-change:transform,opacity}
.cycle-task-mark{width:11px;height:11px;flex-shrink:0;border:1px solid #86a4bc;border-top-color:transparent;border-radius:50%;font-style:normal;font-size:9px;line-height:11px;text-align:center;animation:indicator-spin .8s linear infinite}
.cycle-task-copy{min-width:0;flex:1}.cycle-task-copy>strong{font-size:14px;display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.cycle-task-meta{display:flex;gap:8px;align-items:center;margin-top:4px;font-size:10px}.cycle-task-meta small{font-size:10px;color:#8fa7b9}.cycle-task-status{font-size:10px;white-space:nowrap;color:#7492ab}.cycle-task[data-state=queued] .cycle-task-mark,.cycle-task[data-state=resuming] .cycle-task-mark{border-color:#aac0d2;border-top-color:#aac0d2;animation:none}
.cycle-task[data-state=awaiting-user]{background:#f7f0e1;border-color:#d8c394;border-left-color:#c4a161;color:#9b8153}.cycle-task[data-state=awaiting-user] .cycle-task-status{color:#a48c5e}.cycle-task[data-state=awaiting-user] .cycle-task-mark{animation:none;border:0;color:#b4955e}.cycle-task[data-state=done]{background:#eaf3e4;border-color:#b6cfa8;border-left-color:#82ac76;color:#60814e}.cycle-task[data-state=done] .cycle-task-mark{animation:none;border:0;color:#7a9c63}.cycle-task[data-state=done] .cycle-task-status{color:#83a16c}
.cycle-task-receipt{display:none;position:relative;flex:0 0 57px;height:37px;transform:rotate(-4deg);padding:2px;border:1px solid #b4cc9f;background:#fffef8;border-radius:3px}.cycle-task-receipt img{width:100%;height:100%;object-fit:cover}.cycle-task-receipt i{font-style:normal;position:absolute;bottom:-4px;right:-4px;background:#87ad78;color:#fff;border:1px solid #fffef8;border-radius:50%;font-size:8px;width:12px;height:12px;line-height:11px;text-align:center}.cycle-task[data-has-result=true] .cycle-task-receipt{display:block}
.cycle-team-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#c5d3bf transparent;mask-image:linear-gradient(#000 0%,#000 95%,transparent 100%);padding-right:6px;outline:none}.cycle-team-scroll:focus-visible{outline:1px solid #97b19b;outline-offset:4px;border-radius:6px}.cycle-team-rail{display:flex;flex-direction:column;gap:11px;padding-bottom:15px}
.cycle-team{position:relative;background:#fffff9cf;border:1px solid #d6e1d2;border-radius:8px;padding:12px 13px 14px;flex-shrink:0}.cycle-team>header{display:flex;justify-content:space-between;align-items:center;gap:8px;line-height:1.5}.cycle-team>header strong{font-size:17px;font-weight:500;color:#577862;white-space:nowrap}.cycle-team-badge{font-size:10px;color:#90a98d;white-space:nowrap}.cycle-roles{display:flex;gap:6px;margin-top:11px;align-items:flex-start}.cycle-role{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;color:#90a28a;width:31px;flex-shrink:0;white-space:nowrap}.cycle-role-avatar{width:31px;height:31px;position:relative}.cycle-role-avatar img{width:100%;height:100%;object-fit:contain;border-radius:5px}.cycle-role .activity-light{width:10px;height:10px;right:-3px;bottom:-3px;border-width:1px}.cycle-role .activity-light.running:before{inset:1px;border-width:1px}.cycle-role .activity-light.done b{font-size:6px;line-height:8px}.cycle-role[data-state=running] .cycle-role-avatar{outline:1px solid #91b59a;outline-offset:3px;border-radius:4px}.cycle-role[data-state=decision] .cycle-role-avatar{outline:1px solid #c7aa78;outline-offset:3px;border-radius:4px}.cycle-team[data-state=working],.cycle-team[data-state=returning],.cycle-team[data-state=resuming]{border-color:#9bc0aa}.cycle-team[data-state=awaiting-user]{border-color:#d1bb8e;background:#fcf8eecf}.cycle-team-progress{position:absolute;bottom:0;left:9px;right:9px;height:2px;overflow:hidden}.cycle-team-progress i{display:block;width:100%;height:100%;background:#91b7a0;transform:scaleX(0);transform-origin:left}
.activity-light.decision{background:#f7efd9;border-color:#c6aa72}.activity-light.decision b{font-size:8px;color:#ad8c4f;line-height:10px;display:block;text-align:center}
.cycle-flow{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:5}.cycle-path{fill:none;stroke:#89af99;stroke-width:1;stroke-dasharray:3 5}.cycle-courier rect{fill:#fffef9;stroke:#90b19b;stroke-width:1}.cycle-flight-label{font:11px var(--font);fill:#578b70}.cycle-flight-id{font:9px var(--font);fill:#859d87}
@keyframes cycle-caret{50%{opacity:0}}
@media(min-width:1001px) and (max-width:1300px){.cycle-grid{grid-template-columns:minmax(0,1fr) minmax(0,.46fr) minmax(0,.85fr) minmax(0,1.15fr);gap:13px}.cycle-region-heading h2{font-size:13px}.cycle-region-heading>span{font-size:9px}.cycle-team{padding:11px 10px 13px}.cycle-team>header strong{font-size:15px}.cycle-roles{gap:4px}.cycle-role,.cycle-role-avatar{width:26px}.cycle-role-avatar{height:26px}.cycle-role{font-size:9px}.cycle-message{padding:11px}.cycle-message-copy{font-size:14px}.cycle-task-copy>strong{font-size:12px}.cycle-task-meta,.cycle-task-meta small,.cycle-task-status{font-size:9px}.cycle-task{padding:8px;gap:7px}.cycle-task-receipt{flex-basis:45px;height:31px}.cycle-actions{--action-step:64px}.cycle-action .action-title{font-size:12px}.cycle-action .action-detail{font-size:9px}}
@media(min-width:1001px) and (max-height:820px){.cycle-actor{padding-top:40px}.cycle-portrait{width:57px;height:57px}.cycle-reminder{top:185px;padding:8px}.cycle-reminder p{font-size:11px}.cycle-actions{height:250px;--action-step:59px;margin-top:20px}.cycle-tasks{--task-step:68px}.cycle-task{height:59px}.cycle-message-copy{font-size:14px}}
@media(min-width:641px) and (max-width:1000px){.film-v15[data-mode=final]{min-height:1120px}.cycle-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-template-rows:1fr 1fr;grid-template-areas:'user tasks' 'agent teams';gap:25px 35px}.cycle-user{grid-area:user}.cycle-agent{grid-area:agent}.cycle-queue{grid-area:tasks}.cycle-teams{grid-area:teams}.cycle-actor{padding-top:24px}.cycle-actions{margin-top:20px;height:240px;--action-step:55px}.cycle-reminder{top:177px;left:5px;right:5px}.cycle-team>header strong{font-size:16px}.cycle-team{padding:12px}.cycle-roles{gap:5px}.cycle-role,.cycle-role-avatar{width:28px}.cycle-role-avatar{height:28px}.cycle-message-copy{font-size:15px}}
@media(max-width:640px){.film-v15[data-mode=final]{min-height:1460px}.cycle-top{height:46px;font-size:12px;display:block}.cycle-key{font-size:9px;gap:12px;margin-top:7px}.cycle-grid{inset:63px 0 0;display:flex;flex-direction:column;gap:20px}.cycle-region-heading{height:28px}.cycle-region-heading h2{font-size:14px}.cycle-region-heading>span{font-size:10px}.cycle-user{flex:0 0 253px}.cycle-agent{flex:0 0 165px}.cycle-queue{flex:0 0 260px}.cycle-teams{flex:1;min-height:280px!important}.cycle-actor{position:absolute;left:0;top:35px;padding:0;width:65px}.cycle-portrait{width:52px;height:52px}.cycle-actor>strong{font-size:17px;margin-top:10px}.cycle-actions{margin:0 0 0 85px;height:135px;--action-step:46px}.cycle-action .action-title{font-size:13px}.cycle-action .action-detail{font-size:10px}.cycle-reminder{top:45px;left:76px;right:0;padding:9px;max-height:119px;overflow:hidden}.cycle-reminder p{font-size:12px}.cycle-reminder b{font-size:10px}.cycle-message{padding:11px 12px}.cycle-message-copy{font-size:14px}.cycle-tasks{--task-step:62px}.cycle-task{height:53px;padding:8px 11px}.cycle-task-copy>strong{font-size:13px}.cycle-task-meta{margin-top:3px}.cycle-team{padding:11px 12px 13px}.cycle-team>header strong{font-size:16px}.cycle-role,.cycle-role-avatar{width:28px}.cycle-role-avatar{height:28px}.cycle-roles{gap:6px}.cycle-team-scroll{padding-right:4px}.cycle-message-stamp{width:59px;height:40px}}
@media(max-width:640px){.cycle-agent:has(.cycle-reminder[data-task]:not([data-task=""])) .cycle-actions{visibility:hidden;margin-top:0}}
@media(max-width:360px){.cycle-role,.cycle-role-avatar{width:25px}.cycle-role-avatar{height:25px}.cycle-roles{gap:5px}.cycle-team>header strong{font-size:14px}.cycle-role{font-size:9px}.cycle-task-copy>strong{font-size:12px}.cycle-task-receipt{flex-basis:46px;height:32px}.cycle-message-copy{font-size:13px}}
@media(prefers-reduced-motion:reduce){.cycle-input-caret,.cycle-task-mark,.cycle-action .action-indicator{animation:none!important}}

/* Chat keeps the user's words, the linked task, and its delivered result together. */
.cycle-messages{--message-link-height:36px}
.cycle-user .cycle-region-heading{height:39px;align-items:center;justify-content:flex-start;padding-bottom:10px;gap:8px}
.cycle-user .cycle-region-heading h2{color:#47654f;font-size:15px}
.cycle-user .cycle-region-heading>span:not(.cycle-chat-avatar){margin:0 0 0 auto;font-size:10px}
.cycle-chat-avatar{display:block;width:24px;height:24px;flex:0 0 24px}
.cycle-chat-avatar img{display:block;width:100%;height:100%;object-fit:contain;border-radius:5px}
.cycle-message{border-radius:12px 12px 4px 12px;background:#fffef8ed}
.cycle-message header{margin-bottom:8px}
.cycle-message-link{height:0;overflow:hidden;opacity:0}
.cycle-linked-task{height:28px;margin-top:8px;border:1px solid #cbd9e4;background:#edf3f9;border-radius:5px;display:flex;align-items:center;gap:6px;padding:0 7px;color:#7190a8;min-width:0;font-size:11px}
.cycle-linked-task-mark{width:10px;height:10px;flex:0 0 10px;border:1px solid #91adbd;border-top-color:transparent;border-radius:50%;animation:indicator-spin .8s linear infinite;font-style:normal;font-size:11px;line-height:11px;text-align:center}
.cycle-linked-task-id{font-size:10px;flex-shrink:0;color:#8ba1b3}
.cycle-linked-task-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#567c97;font-size:12px}
.cycle-linked-task-status{white-space:nowrap;flex-shrink:0;font-size:11px}
.cycle-message-link[data-state=queued] .cycle-linked-task-mark,.cycle-message-link[data-state=resuming] .cycle-linked-task-mark{animation:none;border-top-color:#91adbd}
.cycle-message-link[data-state=awaiting-user] .cycle-linked-task{border-color:#dac493;background:#f7f0df;color:#a18a5b}
.cycle-message-link[data-state=awaiting-user] .cycle-linked-task-title{color:#a18a5b}
.cycle-message-link[data-state=awaiting-user] .cycle-linked-task-mark{animation:none;border:0;color:#b28f54}
.cycle-message-link[data-state=done] .cycle-linked-task{background:#eaf3e5;border-color:#bfd3b1;color:#7b9a69}
.cycle-message-link[data-state=done] .cycle-linked-task-title{color:#6b8959}
.cycle-message-link[data-state=done] .cycle-linked-task-mark{animation:none;border:0;color:#71965d}
.cycle-message-stamp{--stamp-height:94px;right:10px;bottom:calc(var(--linked-height,0px) + 16px);width:min(47%,146px);height:min(var(--stamp-height),calc(100% - var(--linked-height,0px) - 67px));transform:rotate(-3deg);padding:4px;border-radius:5px;box-shadow:0 5px 14px #25493024}
.cycle-message-stamp i{width:20px;height:20px;font-size:12px;line-height:16px;right:-4px;bottom:-4px}
@media(min-width:1001px) and (max-width:1300px){.cycle-user .cycle-region-heading h2{font-size:13px}.cycle-user .cycle-region-heading>span{font-size:9px}.cycle-linked-task{gap:4px;padding:0 5px}.cycle-linked-task-title{font-size:11px}.cycle-linked-task-status{font-size:10px}.cycle-linked-task-id{font-size:9px}.cycle-message-stamp{--stamp-height:80px;max-width:126px}}
@media(min-width:1001px) and (max-height:820px){.cycle-message-stamp{--stamp-height:80px;max-width:126px}}
@media(max-width:640px){.cycle-user .cycle-region-heading h2{font-size:14px}.cycle-user .cycle-region-heading>span{font-size:10px}.cycle-message-stamp{--stamp-height:80px;max-width:126px}.cycle-user{flex-basis:285px}}
@media(max-width:360px){.cycle-linked-task{gap:4px;padding:0 5px}.cycle-linked-task-title{font-size:11px}.cycle-linked-task-status{font-size:10px}.cycle-linked-task-id{font-size:9px}.cycle-message-stamp{--stamp-height:72px;max-width:112px}}
@media(prefers-reduced-motion:reduce){.cycle-linked-task-mark{animation:none!important}}
