#frisby{scroll-margin-top:60px;margin:55px calc(var(--gutter) * -1) 90px;color:#f6dfb3;background:#100d0b}.frisby-scroll{position:relative}.frisby-stage{position:relative;height:calc(100svh - 147px);min-height:440px;isolation:isolate;overflow:clip}.frisby-canvas{position:relative;height:100%;overflow:clip;transform:translateZ(0)}.frisby-layers{position:absolute;inset:0 0 70px;overflow:clip}.fight-arena{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fight-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0c0a08ad,transparent 55%,#0c0a0845)}.fight-heading{position:absolute;top:6%;left:var(--gutter);z-index:1}.fight-heading p{font-size:14px}.fight-heading h3{font:400 clamp(100px,16vw,270px)/1.05 'Anton',sans-serif;letter-spacing:-.025em;margin-top:12px}.fight-chicken,.fight-willy{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;will-change:transform;transform-origin:50% 80%}.fight-willy{z-index:2}.fight-chicken{z-index:3}.fight-result{position:absolute;inset:0 0 70px;width:100%;background:#090a0a;opacity:0;z-index:4;overflow:clip}.fight-result>img{width:100%;height:100%;object-fit:contain}.fight-result>span{position:absolute;right:22px;bottom:20px;padding:10px 14px;background:#100d0be6;border:1px solid #f6dfb350;font-size:14px}.fight-controls{position:absolute;bottom:0;left:0;right:0;min-height:70px;background:#100d0bf2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px var(--gutter);z-index:5}.fight-controls>div{display:flex;gap:30px}.fight-controls button,.fight-controls a{font-size:14px;line-height:1.35;padding:10px 0;border-bottom:1px solid transparent}.fight-controls button{color:#afa99e}.fight-controls button[aria-pressed=true]{color:#f6dfb3;border-color:#f6dfb3}.fight-controls button>span{font-size:12px;margin-right:10px}.fight-controls a{border-color:#f6dfb370}.fight-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#ffffff20;z-index:6}.fight-progress i{display:block;height:100%;background:#f6c649;transform-origin:left}.fight-motion{height:220svh}.fight-motion .frisby-stage{position:sticky;top:147px}.frisby-scroll:not(.fight-motion)[data-fight-scene="1"] .fight-result{opacity:1}.frisby-scroll:not(.fight-motion)[data-fight-scene="1"] .frisby-layers{opacity:0}.frisby-workshop{padding:65px var(--gutter) 45px;background:#cfc9bd;color:#191715;scroll-margin-top:0}.fight-workshop-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}.fight-workshop-heading h3{font:400 clamp(36px,5vw,80px)/1.1 'Anton';margin-top:12px}.fighter-switch{display:flex;gap:20px;flex-shrink:0}.fighter-switch button{font-size:16px;padding:12px 0;border-bottom:2px solid transparent;color:#615b54}.fighter-switch [aria-pressed=true]{border-color:#191715;color:#191715}.fighter-pair{max-width:900px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:40px}.fighter-pair figure{margin:0;min-width:0}.fighter-portrait{position:relative;overflow:clip;aspect-ratio:400/730;max-height:64svh;background:#60615f}.fighter-portrait img{position:absolute;width:400%;height:123.288%;top:-13.6986%;max-width:none;object-fit:fill;transition:opacity .15s}.fighter-frisby img{left:0}.fighter-willy img{left:-200%}.fighter-pair[data-view=back] .fighter-frisby img{left:-100%}.fighter-pair[data-view=back] .fighter-willy img{left:-300%}.fighter-pair figcaption{display:flex;align-items:baseline;gap:16px;padding:18px 0;border-bottom:1px solid #19171540}.fighter-pair figcaption>span{font-size:12px;color:#625b52}.fighter-pair strong{font:400 clamp(22px,2.6vw,40px)/1.1 'Anton'}.fight-workshop-links{display:flex;justify-content:space-between;gap:24px;margin-top:35px}.fight-workshop-links button{font-size:14px;line-height:1.5;border-bottom:1px solid #19171570;padding:8px 0;text-align:left}
@media(max-width:760px){#frisby{margin-top:35px;margin-bottom:55px}.frisby-stage{height:calc(100svh - 122px);min-height:470px}.fight-motion{height:190svh}.fight-motion .frisby-stage{top:122px}.frisby-layers,.fight-result{bottom:92px}.fight-heading{top:8%;left:6vw}.fight-heading h3{font-size:25vw;margin-top:14px}.fight-heading p{font-size:14px}.fight-chicken,.fight-willy{inset:auto auto 8% -42.5%;width:185%;height:auto;max-width:none;object-fit:contain}.fight-arena{object-position:50% 50%}.fight-controls{min-height:92px;gap:18px;align-items:end}.fight-controls>div{gap:18px}.fight-controls button{font-size:14px;text-align:left;max-width:100px}.fight-controls button>span{display:block;margin:0 0 5px}.fight-controls a{max-width:95px;font-size:14px}.fight-result>span{right:16px;bottom:16px}.frisby-workshop{padding-top:42px}.fight-workshop-heading{display:block;margin-bottom:24px}.fight-workshop-heading h3{font-size:10vw}.fighter-switch{margin-top:18px;gap:25px}.fighter-pair{gap:14px}.fighter-pair figcaption{display:block;padding:14px 0}.fighter-pair figcaption>span{display:block;margin-bottom:7px}.fighter-pair strong{font-size:6vw}.fight-workshop-links{gap:30px;margin-top:24px}.fight-workshop-links button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.frisby-scroll{height:auto}.frisby-stage{position:relative!important;top:auto!important}.fight-arena,.fight-chicken,.fight-willy,.fight-heading,.fight-result,.frisby-layers{transform:none!important;will-change:auto}.fight-progress{display:none}}
/* The player occupies the settled last frame, preserving the complete clip. */
.fight-result .fight-player{width:100%;height:100%;max-height:none;aspect-ratio:auto;background:#080808}.fight-player video{width:100%;height:100%;object-fit:contain}.fight-result[inert]{pointer-events:none}.fighter-portrait{max-height:none}.fighter-pair{max-width:700px}
/* Compensate for the larger silhouettes in the extracted layers. */
.fight-chicken{width:78%;height:78%;inset:auto auto 0 0;object-position:bottom left}.fight-willy{width:92%;height:92%;inset:auto 0 0 auto;object-position:bottom right}
@media(max-width:760px){.fight-chicken{width:145%;height:auto;inset:auto auto 1% -21%}.fight-willy{width:160%;height:auto;inset:auto -26% 9% auto}}
/* Each window follows the actual bounds of that view in the original sheet. */
.fighter-pair{align-items:end}.fighter-portrait{aspect-ratio:var(--crop-width)/720}.fighter-frisby{--crop-width:380;--crop-left:0}.fighter-willy{--crop-width:425;--crop-left:747}.fighter-pair[data-view=back] .fighter-frisby{--crop-width:365;--crop-left:380}.fighter-pair[data-view=back] .fighter-willy{--crop-width:407;--crop-left:1190}.fighter-portrait img,.fighter-pair[data-view=back] .fighter-portrait img{width:calc(1600 / var(--crop-width) * 100%);height:125%;top:-15.2778%;left:calc(var(--crop-left) / var(--crop-width) * -100%)}
