.feedback-cycle{--cycle-ink:#27392f;--cycle-line:var(--layout-line-color,#686b68);--cycle-upgrade:#31834c;position:relative;min-width:0;width:calc(100%*var(--layout-diagram-size,100)/100);justify-self:center;margin:0;color:var(--cycle-ink);container:feedback-cycle / inline-size}
.feedback-cycle__stage{position:relative;width:100%;height:var(--cycle-stage-height,76cqw);isolation:isolate}
.feedback-cycle__centre-label{position:absolute;transform:translate(-50%,-50%) translateY(10px);width:42cqw;text-align:center;color:var(--cycle-ink);font-size:clamp(13px,2.55cqw,20px);font-weight:700;line-height:1.3;letter-spacing:-.02em;pointer-events:none}
.feedback-cycle__wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:-1;pointer-events:none}
.feedback-cycle__wire{fill:none;stroke:var(--cycle-line);stroke-width:var(--layout-line-width,5);stroke-dasharray:var(--wire-body,none);stroke-linecap:butt;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
.feedback-cycle__wire--input{stroke-width:var(--layout-line-width,5)}
.feedback-cycle__arrow{fill:var(--cycle-line);stroke:none}
.feedback-cycle__node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%,-50%);text-align:center}
.feedback-cycle__node[data-node=field]{width:calc(clamp(92px,18cqw,140px)*var(--layout-field-size,100)/100)}
.feedback-cycle__node small{display:none}
.feedback-cycle__node[data-node=engineer]{width:max-content}
.feedback-cycle__node[data-node=upgrades]{width:calc(29cqw*var(--layout-upgrades-size,100)/100);gap:10px}
.feedback-cycle__field-art{display:block;width:calc(clamp(64px,13cqw,100px)*var(--layout-field-size,100)/100);aspect-ratio:1}
.feedback-cycle__field-art img{display:block;width:100%;height:auto;aspect-ratio:1;transform:translateY(-5px)}
.feedback-cycle__node strong,.feedback-cycle__output strong{font-family:inherit;font-size:clamp(11px,2.1cqw,16px);line-height:1.2;font-weight:550;letter-spacing:-.035em}
.feedback-cycle__brandmark{display:block;width:calc(clamp(114px,26cqw,210px)*var(--layout-engineer-size,100)/100);height:auto;margin-bottom:5px;color:var(--cycle-ink)}
.feedback-cycle__engineer{gap:4px}
.feedback-cycle__engineer strong{font-size:calc(clamp(15px,3.8cqw,29px)*var(--layout-engineer-size,100)/100);letter-spacing:-.045em;white-space:nowrap}
.feedback-cycle__cogs{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);display:block;width:calc(clamp(70px,16.5cqw,133px)*var(--layout-engineer-size,100)/100);height:auto;aspect-ratio:1}
.feedback-cycle__compatibility{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:var(--layout-compatibility-gap,28px) 0 0;width:min(100%,380px);transform-origin:left center}
.feedback-cycle__compatibility-label{flex:none;font-size:11px;color:#677265;white-space:nowrap}
.feedback-cycle__tools{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) minmax(0,.6fr);align-items:center;gap:24px;width:100%;text-align:center}
.feedback-cycle__tool{display:flex;align-items:center;justify-content:center;min-width:0;width:100%}
.feedback-cycle__logo{display:flex;align-items:center;justify-content:center;width:100%;height:34px}
.feedback-cycle__logo img{display:block;width:100%;height:auto;object-fit:contain}
.feedback-cycle__hardware{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;margin-bottom:3px;align-items:end}
.feedback-cycle__hardware-item{position:relative;min-width:0}
.feedback-cycle__hardware-item:first-child{grid-column:1 / -1;width:70%;justify-self:center}
.feedback-cycle__hardware-item img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain}
.feedback-cycle__hardware .feedback-cycle__boost{position:absolute;right:-1px;top:0;width:clamp(10px,2.2cqw,18px);height:auto;aspect-ratio:16/24;fill:var(--cycle-upgrade);stroke:none}
.feedback-cycle__outputs{position:absolute;transform:translate(-50%,-50%);width:calc(29cqw*var(--layout-outputs-size,100)/100)}
.feedback-cycle__output{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.feedback-cycle__output-art{position:relative;display:block;width:80%;aspect-ratio:1}
.feedback-cycle__output-art img{position:absolute;inset:0;display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
/* Separate the existing artwork into two display layers for a small layout nudge. */
.feedback-cycle__output-art img:first-child{clip-path:polygon(0 0,100% 0,100% 52.5%,56% 52.5%,56% 100%,0 100%)}
.feedback-cycle__output-art .feedback-cycle__documentation{clip-path:inset(52.5% 0 0 56%);transform:translateY(3px)}
.feedback-cycle__output strong{text-wrap:balance}
.feedback-cycle__marks{max-width:380px;margin:14px 0 0;color:#7c837b;font-size:9px;line-height:1.5;text-align:left;translate:0 24px}
.feedback-cycle__description{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@container feedback-cycle (max-width:520px){
 .feedback-cycle__node{gap:5px}
 .feedback-cycle__node[data-node=upgrades]{gap:7px}
 .feedback-cycle__brandmark{margin-bottom:2px}
 .feedback-cycle__engineer{gap:3px}
 .feedback-cycle__hardware{gap:2px}
 .feedback-cycle__output{gap:7px}
}
@media(max-width:850px){.feedback-cycle{width:calc(min(100%,640px)*var(--layout-diagram-size,100)/100)}}

/* Layout lab values remain inert until exported settings are applied. */
#hardware-feedback .tl-feature__copy{translate:calc(var(--layout-copy-x,0)*1vw) calc(var(--layout-copy-y,0)*1vh);transform:scale(calc(var(--layout-copy-size,100)/100))}
#hardware-feedback .tl-feature__copy h2{translate:calc(var(--layout-heading-x,0)*1vw) calc(var(--layout-heading-y,0)*1vh);transform:scale(calc(var(--layout-heading-size,100)/100));transform-origin:left center}
#hardware-feedback .tl-feature__copy p{translate:calc(var(--layout-description-x,0)*1vw) calc(var(--layout-description-y,0)*1vh);transform:scale(calc(var(--layout-description-size,100)/100));transform-origin:left center}
#hardware-feedback .feedback-cycle{left:calc(var(--layout-diagram-x,0)*1vw);top:calc(var(--layout-diagram-y,0)*1vh)}
.feedback-cycle__compatibility{translate:calc(var(--layout-compatibility-x,0)*1vw) calc(var(--layout-compatibility-y,0)*1vh + 24px);transform:scale(calc(var(--layout-compatibility-size,100)/100))}
