.duncan-command-echo{position:absolute;width:42px;height:42px;transform:translate(-50%,-50%);border:2px solid #fff1a3;border-radius:50%;background:#173c30ed;color:#fff1a3;box-shadow:0 2px 8px #0005;z-index:4;pointer-events:none}.duncan-command-echo[hidden]{display:none}.duncan-command-echo svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}#whistles .touch-command{display:block;width:36px;height:36px;margin:0 auto 3px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.pressure-echo{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:hidden}.pressure-echo path{fill:none;stroke-linecap:round;stroke-linejoin:round}.pressure-echo .echo-shadow{stroke:#173c30;stroke-width:5;opacity:.8}.pressure-echo .echo-line{stroke:#fff1a3;stroke-width:2.5;stroke-dasharray:6 5}.pressure-echo marker path{stroke:#173c30;stroke-width:.8;fill:#fff1a3}.command-arrowhead{fill:currentColor;stroke-width:1}#dog-detail.recall-destination{border:1px solid #fff1a3;background:#173c3055}.sheep-trails .echo-line{stroke-dasharray:none;stroke-width:2}@media(max-width:650px){#whistles .command-key,#whistles small{display:none}#whistles button{min-height:72px;font-size:12px;overflow-wrap:normal}}#trial-call{display:none}#count.pen-arrival{color:#173c30;background:#ffedaa;outline:3px solid #d1b566;outline-offset:4px;border-radius:2px}body.trial-finished #dog-detail{border-color:#ffedaa;background:#173c302e}#results .card{animation:home-card .6s ease-out both}#results #stars{animation:home-stars .7s .2s ease-out both}@keyframes home-card{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes home-stars{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){#results .card,#results #stars{animation:none}}.versus-seats{display:flex;align-items:center;gap:12px;margin:12px 0}.versus-seats button{flex:1;min-width:0;padding:8px;background:#e9e1cc;color:#203b30;border:2px solid transparent}.versus-seats button[aria-pressed=true]{border-color:#385e49}.versus-seats img{width:100%;height:48px;object-fit:cover}.versus-seats strong,.versus-seats small{display:block;margin-top:4px}.versus-seats small{color:#31503f}#versus-controls{position:absolute;bottom:10px;right:12px;z-index:3;background:#f6f0dfed;color:#203b30;padding:8px 12px;font-size:12px;max-width:calc(100% - 140px);border-radius:8px}#versus-controls span{display:block}#versus-controls button{font-size:12px;margin-left:8px;color:#f4f1db}#versus-controls[hidden],#versus-select[hidden]{display:none}#intro .card{max-height:calc(100% - 20px);overflow-y:auto}body.versus #intro .score-guide,body.versus #level-description,body.versus #level-hint,body.versus #level-goal,body.versus #level-name{display:none}@media(max-width:600px){#versus-controls{font-size:10px;padding:4px 6px}}.versus #intro p:has(+.score-guide){display:none}.versus #intro .card>.eyebrow{display:none}.versus #intro h1{font-size:28px;margin:4px 0 8px}body.versus #goat-detail{left:16px;right:auto;top:112px}@media(max-width:650px){body.versus #goat-detail{left:10px;top:112px}}@media(max-height:500px){body.versus #goat-detail{left:136px;top:64px}}#goat-detail{position:absolute;right:16px;top:188px;width:160px;height:120px;border:2px solid #dab8eb;border-radius:8px;pointer-events:none;overflow:hidden}#goat-detail span{position:absolute;left:8px;top:4px;font:12px system-ui;color:#f8e5ff;text-shadow:0 1px 3px #000}.versus #dog-detail{border:2px solid #a8e9d0}.versus #dog-detail span{color:#c8ffe8}#roar-status{display:block;font:700 14px system-ui;padding:6px 0;color:#56236b}#versus-controls[data-roar=ready] #roar-status{color:#20573b}#versus-controls[data-roar=roaring]{outline:3px solid #86539b}#roar-meter{display:block;width:100%;height:12px;accent-color:#86539b}#gate-status{display:block;max-width:270px;padding-top:4px;font-size:12px}.versus #field-cues{bottom:142px}@media(max-width:650px){#goat-detail{right:10px;top:154px;width:120px;height:90px}#versus-controls{max-width:calc(100% - 124px)}#roar-status{font-size:12px}#gate-status{font-size:10px}.versus #field-cues{bottom:150px}}@media(max-height:500px){#goat-detail{top:124px;width:112px;height:76px}}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#18372b;color:#f4f1db;font-family:Georgia,serif}body{display:flex;flex-direction:column}button,a{touch-action:manipulation}button{font:inherit;color:inherit;background:#2d5340;border:1px solid #92a587;border-radius:6px;min-height:44px;padding:10px 16px;cursor:pointer}button:hover,button:focus-visible{background:#456b50;outline:2px solid #ead290}button:disabled{opacity:.6}a{color:#eee2b4}header,footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 20px}header{height:58px}header span{font-size:18px}footer{font:12px system-ui;height:30px}#game{position:relative;flex:1;min-height:280px;overflow:hidden}#viewport,#viewport canvas{width:100%;height:100%;display:block}#viewport{position:absolute;inset:0}#hud{position:absolute;top:14px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;gap:8px;pointer-events:none;text-shadow:0 2px 4px #000;font:15px system-ui}#count{font-size:22px}#message{position:absolute;bottom:16px;left:150px;right:20px;text-align:center;text-shadow:0 2px 4px #000;font:16px system-ui;pointer-events:none}#status{position:absolute;inset:20% 25%;text-align:center;background:#18372be8;padding:30px;z-index:5}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#122b2370;z-index:4;padding:18px}.overlay[hidden],[hidden]{display:none!important}.card{width:min(600px,100%);max-height:100%;overflow:auto;text-align:center;background:#173c30f5;border:1px solid #d6cda58a;border-radius:12px;padding:26px 36px;box-shadow:0 12px 70px #071c1d88}.card h1{font-weight:400;font-size:clamp(30px,4vw,49px);line-height:1.05;margin:12px 0 18px}.card h2{font-weight:400;font-size:21px}.card p{font-size:15px;line-height:1.45;margin:12px 0}.card .goal{font-size:23px;color:#f3d58b}.eyebrow{letter-spacing:.15em;text-transform:uppercase;font:12px system-ui!important}.hint{color:#c5d0b8}.actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}#stars{color:#f1d47c;font-size:48px;letter-spacing:6px}#badge{color:#f1d47c;font-size:20px}#whistles{display:flex;gap:8px;padding:10px 14px;justify-content:center;background:#17372c}#whistles button{min-width:130px}small{display:block;font:11px system-ui;color:#bbc8b4}#joystick{position:absolute;bottom:18px;left:20px;width:106px;height:106px;border:2px solid #eee3bd66;border-radius:50%;background:#163b2f66;touch-action:none;-webkit-user-select:none;user-select:none;z-index:2}#joystick span{position:absolute;width:42px;height:42px;border-radius:50%;background:#e6d9ab99;left:30px;top:30px;pointer-events:none}#joystick small{position:absolute;bottom:5px;width:100%;text-align:center;pointer-events:none}@media(max-width:650px){header{padding:6px 10px;height:52px}header span{font-size:13px;max-width:150px}header button{padding:6px 10px}footer{padding:4px 10px}footer span{display:none}#whistles{gap:4px;padding:7px 5px}#whistles button{font:12px system-ui;min-width:0;flex:1;padding:7px 3px;min-height:55px}#hud{font-size:12px;left:10px;right:10px}#count{font-size:17px}#purist{max-width:78px;text-align:right}.card{padding:16px 18px}.card h1{font-size:31px;margin:8px 0 14px}.card h2{font-size:18px}.card p{font-size:13px;margin:9px 0}.card .goal{font-size:21px}#message{font-size:13px;left:130px;right:12px}#joystick{width:96px;height:96px;left:14px}#joystick span{left:25px;top:25px}}#pause-notice{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,90%);z-index:7;background:#173c30f5;box-shadow:0 8px 30px #0008}#loop-recovery{z-index:7;align-items:flex-end}#loop-recovery .card{width:min(480px,100%);padding:18px}#loop-recovery h2{margin:0 0 8px}#field-cues{position:absolute;right:16px;bottom:18px;max-width:190px;color:#efe4c6;background:#173c3099;border-radius:6px;padding:8px 10px;font:12px/1.5 system-ui;pointer-events:none}#barn-cue{display:flex;align-items:center;gap:12px;opacity:.8}#barn-cue>i{display:block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:12px solid #efe4c6}#pressure-cue{margin-top:6px;color:#ccd6bc}#pressure-cue>div{height:3px;background:#e5dcc633;margin-top:3px}#pressure-cue i{display:block;height:100%;background:#c3cfac}#pressure-cue.rising{color:#ffdc9b}#pressure-cue.rising i{background:#e2ad65}@media(max-width:650px){#field-cues{right:10px;bottom:12px;font-size:11px;max-width:168px}}#camera-controls{position:absolute;left:16px;top:54px;display:flex;gap:6px;z-index:2}#camera-controls button{font:12px system-ui;padding:7px 10px;background:#173c30c9;min-height:36px}#camera-controls button[aria-pressed=true]{border-color:#efd494;color:#ffe4a3}@media(max-width:650px){#camera-controls{left:10px;top:48px;max-width:150px;flex-wrap:wrap}#camera-controls button{font-size:11px;min-height:32px;padding:5px 8px}}#audio-controls{position:relative;z-index:10;font:14px system-ui}#audio-controls summary{cursor:pointer;padding:10px;border:1px solid #92a587;border-radius:6px}#audio-controls>div{position:absolute;right:0;top:45px;width:270px;padding:14px;background:#173c30;border:1px solid #d6cda5;border-radius:8px;box-shadow:0 8px 30px #0008}#audio-controls label{display:block;margin:14px 0}#audio-controls input{width:100%}select{font:inherit;max-width:100%;padding:8px;background:#2d5340;color:#f4f1db;border:1px solid #92a587;border-radius:6px}.actions{margin-top:16px}#whistles button[aria-pressed=true]{background:#dccc8b;color:#17372c;border-color:#fff1b9;box-shadow:inset 0 -4px #9c853f}#whistles button[aria-pressed=true] small{color:#244732}#whistles button.suggested{border-color:#efd494}#message{position:static;flex:none;background:#173c30e6;border-top:1px solid #e0d9a555;padding:8px 14px;max-width:none;margin:0;min-height:40px;font:14px/1.3 system-ui}.score-guide,#score-breakdown,#next-star{font:14px/1.5 system-ui!important;color:#eee2b4}#intro .card{width:min(680px,100%);padding:16px 24px}#intro h1{font-size:32px;margin:6px 0 12px}#intro h2{margin:12px 0;font-size:20px}#intro .goal{font-size:22px}#intro p{font-size:14px;line-height:1.35;margin:8px 0}#intro .score-guide{font-size:13px!important;line-height:1.35!important}@media(max-width:650px){#intro .card{padding:14px 16px}#intro h1{font-size:27px}#intro p{font-size:12px}#intro h2{font-size:17px}#intro .goal{font-size:19px}}#dog-detail{position:absolute;right:16px;top:58px;width:160px;height:120px;border:1px solid #e0d9a588;border-radius:8px;pointer-events:none;overflow:hidden}#dog-detail span{position:absolute;left:8px;top:4px;font:12px system-ui;color:#ffe4a3;text-shadow:0 1px 3px #000}@media(max-width:650px){#dog-detail{right:10px;top:54px;width:120px;height:90px}}@media(max-height:500px){#game{min-height:170px}header{height:44px}footer{height:24px}#whistles{padding:5px;gap:4px}#whistles button{min-height:44px;padding:5px;font:12px system-ui;min-width:0;flex:1}#dog-detail{top:42px;width:112px;height:76px}#hud{top:6px}#message{bottom:8px;font-size:12px;padding:6px;left:110px}#joystick{width:80px;height:80px;left:14px;bottom:10px}#joystick span{left:17px;top:17px}}@font-face{font-family:Jost;font-style:normal;font-weight:500 800;font-display:swap;src:url(./jost-normal-ObQm3Zd1.woff2) format("woff2")}@font-face{font-family:Jost;font-style:italic;font-weight:800;font-display:swap;src:url(./jost-italic-BH5nCG5k.woff2) format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:800 900;font-display:swap;src:url(./archivo-normal-E0tuGl4L.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400 700;font-display:swap;src:url(./source-sans-3-normal-Bo_j9asI.woff2) format("woff2")}@font-face{font-family:Arimo;font-style:normal;font-weight:400;font-display:swap;src:url(./arimo-normal-Bqnq6eT5.woff2) format("woff2")}:root{--characters-black:#000000;--characters-charcoal:#252525;--characters-body:#b3b3b3;--characters-link:#8d8d8d;--characters-link-hi:#d1d1d1;--characters-tan:#aa9681;--characters-beige:#f5f5dc;--characters-ghost:#bcccc2;--characters-sage:#9ba8a0;--characters-green-deep:#006633;--characters-green-low:#007f33;--characters-green-mid:#009933;--characters-green-high:#00cc33;--characters-green-tab:#006600;--characters-sheep:#6699cc;--characters-dog:#66cccc;--characters-yolk:#ffcc00;--characters-focus:#e9b970;--characters-mist:225,230,226;--characters-body-font:"Source Sans 3",Myriad,Arial,sans-serif;--characters-house-font:Archivo,"Arial Black",Arial,sans-serif;--characters-title-font:Jost,Futura,sans-serif;--characters-lab-font:Arimo,Arial,sans-serif;--characters-brochure-font:"Inter Tight",Helvetica,Arial,sans-serif}html,body{background:var(--characters-black);color:var(--characters-beige);font-family:var(--characters-body-font)}button,select{font-family:var(--characters-body-font);border-radius:0}button{background:var(--characters-green-tab);color:var(--characters-beige);border:1px solid var(--characters-green-deep);font-weight:600}button:hover,button:focus-visible{background:var(--characters-green-low);outline:2px solid var(--characters-focus);outline-offset:2px}button:disabled{cursor:wait}a{color:inherit}small{font-family:var(--characters-body-font)}header,footer{background:var(--characters-charcoal);color:var(--characters-body);font-family:var(--characters-body-font)}header{height:48px;font-size:14px;border-bottom:1px solid #42483f}header span{font:800 15px var(--characters-title-font)}header>a{color:var(--characters-tan)}footer{height:28px}.overlay{padding:26px;background:#17241b66}.card{background:var(--characters-beige);color:#233d30;border:0;border-left:16px solid var(--characters-green-deep);border-radius:0;box-shadow:0 12px 55px #0006;text-align:left;padding:24px 30px}.card h1,#intro h1{font:800 clamp(40px,5vw,66px)/1 var(--characters-title-font);color:#214632;margin:12px 0 24px;letter-spacing:-.07em}.squeezed{width:188.68%;transform:scaleX(.53);transform-origin:left center}.card h2,#intro h2{font:500 20px/1.25 var(--characters-title-font);color:var(--characters-green-deep);border-bottom:3px solid var(--characters-green-tab);padding-bottom:7px;margin:18px 0 10px}.card p,#intro p{font:400 15px/1.45 var(--characters-body-font)}.eyebrow,#intro .eyebrow{font:600 11px var(--characters-body-font)!important;color:var(--characters-green-deep);letter-spacing:.11em}.card .goal,#intro .goal{font:600 20px/1.25 var(--characters-body-font);color:var(--characters-green-deep)}.hint,.score-guide,#score-breakdown,#next-star{color:#425d49;font-family:var(--characters-body-font)!important}.card label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;margin:12px 0}select{background:#ffffec;color:#233d30;border:1px solid var(--characters-sage);min-height:44px}.actions{justify-content:flex-start}.page-logo{width:180px;max-width:60%;display:block}#stars{color:var(--characters-green-deep);font-size:42px}#badge{color:var(--characters-green-deep);font-weight:600}#result-time{font-size:24px;font-weight:600}.menu-credits{display:inline-block;font-size:13px;margin:14px 0 0 16px;color:var(--characters-green-deep)}#intro{isolation:isolate;gap:6vw;justify-content:center;background:linear-gradient(110deg,#a4b5a9ad,#607b7480 35%,#18313960 80%)}#intro:before,#title-card:before{content:"";position:absolute;inset:-12%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 25% 70%,rgba(var(--characters-mist),.72),transparent 56%),radial-gradient(ellipse at 75% 35%,rgba(var(--characters-mist),.46),transparent 55%);animation:retrial-mist 24s ease-in-out infinite alternate}@keyframes retrial-mist{0%{transform:translate(-3%,2%)}to{transform:translate(4%,-2%)}}.title-lockup{width:min(480px,42%);color:var(--characters-green-deep);text-shadow:0 1px 20px #ecf0dfa0}.title-lockup img{width:100%;display:block}.title-lockup h1{font:800 clamp(52px,6vw,88px)/1 var(--characters-title-font);letter-spacing:-.075em;margin:24px 0;color:#436c55}#intro .title-lockup h1{color:#436c55}#intro .title-lockup p{font-size:19px;font-weight:600}#intro .title-provenance{font-size:12px;font-weight:400;margin-top:48px}#intro .card{width:min(470px,46%);padding:20px 24px;max-height:100%;overflow:hidden;display:flex;flex-direction:column}.menu-content{min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-color:#436c55 #e1e7cc;padding-right:10px}.menu-content:focus-visible{outline:2px solid var(--characters-green-deep);outline-offset:-2px}#intro[data-screen=title] .card{display:none}#intro[data-screen=title]{justify-content:flex-start;padding-left:7vw;background:linear-gradient(90deg,#c5d1c3b0,transparent 72%)}#intro[data-screen=title]>.title-lockup{width:min(440px,44%)}.title-choices{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:24px}.title-choices button{padding:8px 18px;min-width:250px;text-align:left;background:#143c2cce;border-color:#a7b9a077;color:var(--characters-beige)}.title-choices #title-help{background:transparent;color:#214632;border:0;text-decoration:underline;min-width:0;padding-left:0}.menu-tabs{display:flex;gap:4px;border-bottom:3px solid var(--characters-green-tab);margin:0 0 18px;padding-bottom:6px}.menu-tabs button{background:transparent;color:var(--characters-green-deep);border:0;font-size:13px;padding:8px 12px;min-height:44px}.menu-tabs button[aria-current=page]{background:var(--characters-green-tab);color:var(--characters-yolk)}#intro:not([data-screen=briefing]) .briefing-copy{display:none}#intro[data-screen=briefing]{background:#17241b88}#intro:not([data-screen=title])>.title-lockup{display:none}#intro:not([data-screen=title]) .card{width:min(690px,100%)}#start{margin-top:14px;min-width:190px;color:var(--characters-yolk)}.intro-actions{flex:none;background:var(--characters-beige);padding:8px 0 0;border-top:1px solid var(--characters-sage);margin-top:10px}.scroll-hint{color:#425d49;font-size:12px}#start{margin-top:8px}#title-card{isolation:isolate;background:linear-gradient(110deg,#c0cdc5a0,#29434266)}#title-card .title-lockup{width:min(580px,90%)}#hud{left:16px;right:16px;top:12px;min-height:42px;padding:8px 14px;background:#f5f5dce8;color:var(--characters-green-deep);border-left:6px solid var(--characters-green-deep);text-shadow:none;font:600 14px var(--characters-body-font)}#count{font:800 24px/1 var(--characters-title-font)}#timer{font-variant-numeric:tabular-nums}#purist{font-size:12px;color:#526957}#camera-controls{top:64px}#camera-controls button{background:#152c23c9;font-family:var(--characters-body-font);border-color:#a0b2a566;border-radius:2px}#camera-controls button[aria-pressed=true]{color:var(--characters-yolk);border-color:var(--characters-focus)}#dog-detail,#goat-detail{top:64px;border:1px solid #bcccc255;border-radius:2px;width:144px;height:108px}#dog-detail{background:#274b352e}#goat-detail{top:182px}#dog-detail span,#goat-detail span{font:600 12px var(--characters-body-font);color:var(--characters-beige)}#field-cues{background:#173c30cc;border-radius:2px;color:var(--characters-beige);font-family:var(--characters-body-font)}#message{background:#1c3029;color:#d8e2d1;border-top:1px solid #7a93816b;font:400 14px/1.3 var(--characters-body-font);text-shadow:none;min-height:32px;padding:6px 12px}#whistles{background:var(--characters-beige);border-left:8px solid var(--characters-green-deep);gap:6px;padding:8px 12px}#whistles button{font:500 15px var(--characters-title-font);padding:8px 12px;min-height:50px}#whistles small{font:400 11px var(--characters-body-font);color:#bbd0bd}#whistles button[aria-pressed=true]{background:var(--characters-green-mid);border-color:var(--characters-green-deep);color:var(--characters-yolk);box-shadow:inset 0 -3px var(--characters-green-deep)}#whistles button[aria-pressed=true] small{color:var(--characters-beige)}@media(max-width:650px){#whistles button{overflow-wrap:anywhere;min-height:70px}#whistles small{font-size:10px;line-height:1.2;margin-top:4px}}#joystick{border-color:#bcccc299;background:#173c3099}#joystick span{background:#bcccc2aa}#audio-controls{font-family:var(--characters-body-font)}#audio-controls summary{border:0;border-radius:0;padding:8px}#audio-controls>div{background:var(--characters-beige);color:var(--characters-green-deep);border-color:var(--characters-sage);border-radius:0}#audio-controls small{color:#526957}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #df9b27;outline-offset:3px}.versus #field-cues{position:static;margin:0;max-width:none}.versus-seats{gap:10px;align-items:stretch}.versus-seats>b{align-self:center;font:800 22px var(--characters-title-font);color:var(--characters-green-deep)}.versus-seats button{background:#ffffec;border:1px solid var(--characters-sage);color:var(--characters-green-deep);padding:10px}.versus-seats img{height:90px}.versus-seats strong{font:500 18px var(--characters-title-font)}.versus-seats small{font-size:13px}.versus #intro .card>.eyebrow{display:block}.versus #intro .card{width:min(720px,100%)}.versus #intro>.title-lockup{display:none}.versus #intro{background:#17241b88}.versus #intro h1{font-size:52px}#versus-controls{border-radius:2px;background:#f5f5dce8;font-family:var(--characters-body-font)}#versus-controls button{color:var(--characters-beige)}body:has(#intro:not([hidden])),body:has(#results:not([hidden])),body:has(#title-card:not([hidden])){--menu-open:1}body:has(#intro:not([hidden])) #hud,body:has(#intro:not([hidden])) #dog-detail,body:has(#intro:not([hidden])) #goat-detail,body:has(#intro:not([hidden])) #camera-controls,body:has(#intro:not([hidden])) #joystick{visibility:hidden}body:has(#intro:not([hidden])) #whistles,body:has(#intro:not([hidden])) #message{display:none}@media(prefers-reduced-motion:reduce){#intro:before,#title-card:before{animation:none}}@media(max-width:700px){header{height:44px;padding:5px 10px}header span{font-size:12px;max-width:none}footer{font-size:11px}.overlay{padding:14px}.card{padding:18px;border-left-width:10px}.card h1,#intro h1{font-size:48px;margin:10px 0 18px}#intro{flex-direction:column;gap:22px;justify-content:center;padding:24px 16px;background-position:57% center}#intro>.title-lockup{width:min(420px,100%)}.title-lockup h1{font-size:58px;margin:18px 0 10px}#intro .title-lockup p{font-size:16px}#intro .title-provenance{display:none}#intro[data-screen=title]{padding:24px;justify-content:center}#intro[data-screen=title]>.title-lockup{width:min(420px,100%)}#intro .card{width:100%;padding:16px 18px;border-left-width:10px;max-height:64%}#intro[data-screen=title] .card h1{font-size:38px;margin:8px 0 12px}#intro:not([data-screen=title]) .card,.versus #intro .card{max-height:100%;width:100%}.card label{font-size:13px;flex-wrap:wrap;margin:9px 0}select{font-size:13px;flex:1}#intro p{font-size:14px}#intro h2,#intro .goal{font-size:18px}.menu-tabs{margin-bottom:12px}.menu-tabs button{padding:6px 10px;font-size:12px}.menu-credits{font-size:12px;margin-left:8px}#start{min-width:160px}#hud{left:10px;right:10px;top:10px;padding:8px;font-size:12px}#count{font-size:20px}#purist{font-size:10px;max-width:70px}#camera-controls{left:10px;top:62px;max-width:150px}#dog-detail,#goat-detail{right:10px;top:62px;width:110px;height:82px}#goat-detail{top:154px}#whistles{padding:6px 4px;gap:3px;border-left-width:5px}#whistles button{font-size:12px;padding:6px 2px;min-width:0;min-height:52px}#whistles small{font-size:9px}#message{font-size:12px;min-height:30px}.versus-seats img{height:70px}.versus-seats strong{font-size:16px}}@media(max-height:500px){#intro{flex-direction:row;gap:20px;padding:12px}#intro>.title-lockup{width:40%}#intro .card{width:55%;max-height:100%}header{height:38px}footer{height:22px}#hud{top:6px;min-height:34px}#camera-controls,#dog-detail{top:48px}#goat-detail{top:134px}#whistles{padding:4px}#whistles button{min-height:44px}#message{min-height:26px}}#intro[data-screen=title] #play{font-size:30px;min-height:76px;min-width:260px;text-align:center;background:#214b36;color:#ffffdc;border:2px solid #e4d7a7;box-shadow:0 5px 22px #152d2355}#help-toggle{position:absolute;bottom:18px;right:14px;width:44px;height:44px;border-radius:50%;z-index:3;font-size:24px}#in-game-help{position:absolute;inset:12px;z-index:8;background:#ffffec;color:#214632;padding:20px;max-width:520px;max-height:calc(100% - 24px);overflow:auto;border-left:8px solid #214b36}#in-game-help p{line-height:1.5}#in-game-help button{min-height:44px;padding:8px 16px}body:has(#intro:not([hidden])) #help-toggle{visibility:hidden}body.opening #hud,body.opening #dog-detail,body.opening #goat-detail,body.opening #camera-controls,body.opening #joystick,body.opening #field-cues,body.opening #help-toggle{visibility:hidden}body.opening #whistles,body.opening #message{display:none}#opening-skip{position:absolute;right:14px;bottom:14px;z-index:5;font-size:12px;background:#173c3088;color:#ffffdc;padding:10px 14px;min-height:44px}#first-action{position:absolute;inset:0;pointer-events:none;z-index:2}#first-action p{position:absolute;left:50%;bottom:14px;transform:translate(-50%);margin:0;padding:6px 14px;background:#173c30d1;color:#fff1a3;font:600 17px var(--characters-title-font);border-radius:4px;white-space:nowrap;animation:your-whistle 2.4s steps(1,end) forwards}@keyframes your-whistle{to{visibility:hidden}}body.teach-first #whistles{animation:first-whistle 1.2s ease-in-out 1}@keyframes first-whistle{50%{box-shadow:0 0 16px #efbd4d;filter:brightness(1.25)}}body.teach-first #joystick{border-color:#fff1a3}body.teach-first #message,body.teach-first #trial-call{visibility:hidden}@media(prefers-reduced-motion:reduce){body.teach-first #whistles{animation:none}}@media(max-width:650px){#intro[data-screen=title] #play{width:100%;min-width:0}#help-toggle{bottom:132px;right:12px}#in-game-help{padding:16px}}.touch-command,#joystick{display:none}@media(pointer:coarse){#joystick{display:block}}@media(pointer:coarse){.command-key{display:none}}body[data-touch=true] .command-key{display:none}@media(pointer:coarse){body:not([data-controller-active=true]) .controller-key{display:none}}body[data-touch=true]:not([data-controller-active=true]) .controller-key{display:none}body[data-controller-active=true] #whistles small,body[data-touch=true] #joystick{display:block}#help-toggle{bottom:calc(var(--trial-hint-height,32px) + 10px);right:16px}#message{position:absolute;bottom:0;left:0;right:0;z-index:2;min-height:32px;pointer-events:none}body.teach-first #message{display:none}#field-cues{bottom:calc(var(--trial-hint-height,32px) + 10px);right:70px}#joystick{bottom:calc(var(--trial-hint-height,32px) + 10px)}header,footer,#whistles{flex-shrink:0}#game{min-height:0}@media(max-height:500px){footer{display:none}header{height:38px}footer{height:22px}#whistles .touch-command{width:26px;height:22px}#whistles button{min-height:44px;padding:4px;font-size:12px}#help-toggle{bottom:calc(var(--trial-hint-height,32px) + 10px);top:auto;right:16px}#dog-detail{width:100px;height:70px;top:48px}#hud{top:4px;min-height:34px;padding:5px 10px}#field-cues{font-size:10px;padding:4px 6px;max-width:155px}#camera-controls{top:48px}#joystick{width:72px;height:72px}#joystick span{left:13px;top:13px}}@media(max-height:450px){#dog-detail{top:48px;right:16px;width:100px;height:70px}.purist-caption{right:124px;top:0;max-width:250px;padding:6px 9px}#field-cues{right:70px;bottom:calc(var(--trial-hint-height,32px) + 10px)}}body.animatic-menu>header,body.animatic-menu>footer,body.animatic.opening>header,body.animatic.opening>footer{display:none}body.animatic-menu #intro{background:none;align-items:flex-end;padding-bottom:8vh}body.animatic-menu #intro .title-lockup{background:none;border:0;padding:0;width:auto;box-shadow:none}body.animatic-menu #intro .title-lockup>img,body.animatic-menu #intro .title-lockup>h1,body.animatic-menu #intro .card{display:none!important}body.animatic-menu #hud,body.animatic-menu #dog-detail,body.animatic-menu #camera-controls,body.animatic-menu #joystick,body.animatic-menu #whistles,body.animatic-menu #message,body.animatic-menu #field-cues,body.animatic-menu #help-toggle{display:none!important}body.animatic-menu #intro #play{width:180px;min-width:180px;font-size:26px;min-height:60px}body.animatic.opening.opening-first-viewing #opening-skip{display:none}body.animatic-menu #intro #play{position:fixed;left:50%;bottom:6vh;transform:translate(-50%);margin:0}@media(max-width:650px)and (pointer:coarse){#whistles .command-key,#whistles small{display:none}#whistles button{font-size:13px;min-height:62px;overflow-wrap:normal;line-height:1.2}#whistles .touch-command{display:block;width:32px;height:24px;margin:0 auto 3px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}}body[data-level="1"] label:has(#game-mode),body[data-level="1"] [data-trial-mode],body[data-level="1"] #versus-select{display:none!important}#results{background:transparent;pointer-events:none}#results .card{background:transparent;border:0;box-shadow:none;text-align:center;text-shadow:0 2px 5px #102c23,0 0 20px #102c23;width:min(340px,100%);padding:20px}#results #stars{font-size:50px;color:#ffdf7e;letter-spacing:4px}#results #result-time{font-size:28px;color:#fff5d1;margin:8px 0}#results #next-star{font-size:17px;color:#fff5d1;line-height:1.4}@media(max-width:600px){#results .card{translate:0 -190px}}body.round-summary #hud,body.round-summary #joystick,body.round-summary #camera-controls,body.round-summary #dog-detail,body.round-summary #goat-detail,body.round-summary #help-toggle,body.round-summary #trial-call,body.round-summary #field-cues,body.round-summary #message,body.round-summary #whistles{visibility:hidden}body.round-summary #whistles,body.round-summary #message,body.round-summary footer{display:none}body.round-summary header a,body.round-summary header details,body.round-summary footer{visibility:hidden}body.gate-recall #whistles button[data-command="5"]{outline:3px solid #ffdf7e;outline-offset:-3px;box-shadow:0 0 14px #ffdf7e80}#message{height:52px;min-height:52px;display:flex;align-items:center;justify-content:center}@media(max-width:600px){#message{height:45px;min-height:45px}}@media(max-width:359px){#message{height:62px;min-height:62px}}#results .card{position:absolute;top:8px;left:50%;translate:-50% 0;padding:8px 12px}#results #stars{font-size:34px;line-height:1.1}#results #result-time{font-size:22px;margin:4px 0}#results #next-star{font-size:14px;margin:4px 0}@media(min-aspect-ratio:9/5){body #results .card{display:grid;grid-template-columns:1fr auto auto;column-gap:10px;align-items:center}body #results #stars{grid-column:1;grid-row:1}body #results #result-time{grid-column:2;grid-row:1;margin:0}body #results #badge{grid-column:3;grid-row:1}body #results #next-star{grid-column:1/-1;grid-row:2;margin:2px 0}}body.bridge-active #hud,body.bridge-active #joystick,body.bridge-active #camera-controls,body.bridge-active #field-cues,body.bridge-active #dog-detail,body.bridge-active #help-toggle,body.bridge-active #trial-call,body.bridge-active #whistles,body.bridge-active #message,body.bridge-active .command-echo,body.bridge-active .pressure-echo{visibility:hidden!important}body.bridge-active #whistles,body.bridge-active #message{display:none!important}#bridge-overlay{position:absolute;inset:0;pointer-events:none;z-index:130;color:#fff4ca;font:600 18px Georgia;text-shadow:0 2px 4px #172c22}#bridge-result{position:absolute;text-align:center;font-size:24px;white-space:nowrap;color:#fff0a2;transform:translate(-50%,-100%)}#bridge-caption{position:absolute;bottom:76px;left:12px;right:12px;text-align:center;font:14px system-ui}#bridge-skip{position:absolute;right:14px;bottom:16px;min-width:78px;min-height:48px;pointer-events:auto;font:17px system-ui;background:#243f33;color:#fff4ca;border:1px solid #b3bd99;border-radius:8px}#bridge-destination{position:absolute;background:#20372de8;padding:5px 8px;border-radius:5px;font:600 13px system-ui;transform:translate(-50%,-100%);white-space:nowrap}body.cinema-lab{display:block;height:auto;min-height:100dvh;overflow:auto;background:#192e27}body.cinema-lab>header,body.cinema-lab>footer,body.cinema-lab>#whistles,body.cinema-lab>#message,body.cinema-lab>.purist-caption,body.cinema-lab:after{display:none!important}body.cinema-lab #game{height:min(70vh,720px);min-height:300px;width:100%;position:relative;margin:0}body.cinema-lab #game>:not(#viewport):not(#status){display:none!important}body.cinema-lab #bridge-skip{display:none!important}body.cinema-lab #retrial-boot{position:absolute;inset:0;pointer-events:none}body.cinema-lab #retrial-boot .eire-house a{visibility:hidden}body.cinema-lab #retrial-boot .eire-actions{display:none}body.cinema-lab #retrial-boot.cinema-reset *{transition:none!important;animation:none!important}body.cinema-lab #cinema-lab{max-width:1080px;margin:auto;padding:20px clamp(14px,3vw,32px) 36px;color:beige;font:15px/1.5 var(--characters-body-font)}.cinema-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:16px}.cinema-heading p{margin:0;color:#c9c8af;font-size:12px;letter-spacing:.08em}.cinema-heading h1{font:600 clamp(23px,4vw,34px)/1.1 var(--characters-title-font);margin:4px 0}.cinema-heading a{font-size:13px;min-height:48px;display:flex;align-items:center}.cinema-picker,.cinema-transport label{display:flex;align-items:center;gap:12px}.cinema-picker select{flex:1;max-width:440px}.cinema-transport{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}body.cinema-lab #cinema-lab button,body.cinema-lab #cinema-lab select{min-height:48px;font-size:14px;padding:10px 12px}.cinema-transport button:first-child{background:#e4d8a9;color:#244b36;min-width:150px}.cinema-scrub{display:block;margin:12px 0;font-size:14px}.cinema-scrub output{float:right;font-variant-numeric:tabular-nums}.cinema-scrub input{display:block;width:100%;height:48px;margin:0;accent-color:#ead290;touch-action:pan-y}.cinema-share{display:flex;flex-wrap:wrap;gap:12px;align-items:center}#cinema-message{font-size:13px;color:#dfd9bd}#cinema-link-wrap input{display:block;width:100%;min-height:48px;font:13px system-ui}.cinema-shots{margin-top:20px;border-top:1px solid #617262}.cinema-shots summary{cursor:pointer;padding:14px 0;min-height:48px}.cinema-shots ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;gap:8px;list-style:none;margin:0}body.cinema-lab .cinema-shots button{width:100%;text-align:left;background:#223f32;color:beige;border:1px solid #6d816d}.cinema-shots button span{display:block;font-size:14px}.cinema-shots button small{font-size:12px;color:#cec9aa;margin-top:3px}.cinema-shots button[aria-current=true]{border-color:#ead290;background:#3c5941}.cinema-note{font-size:12px;color:#c9c8af;max-width:680px}.cinema-boards-link{display:inline-flex;align-items:center;min-height:48px}.cinema-storyboards{border-top:1px solid #617262;margin-top:24px;padding-top:16px}.cinema-storyboards h2,.cinema-storyboards h3{font-family:var(--characters-title-font)}.cinema-storyboards article{margin-top:28px}.cinema-storyboards img{display:block;width:100%;height:auto;border:1px solid #617262}.cinema-storyboards ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;list-style:none}.cinema-storyboards li{min-width:0;background:#223f32;padding:8px 12px}.cinema-storyboards li a{display:flex;align-items:center;min-height:48px}.cinema-storyboards li span{display:block;color:#cec9aa;font-size:12px}@media(max-width:650px){.cinema-storyboards ol{grid-template-columns:1fr}body.cinema-lab:has(#storyboards:target) #game{position:relative}html:has(#storyboards:target){scroll-padding-top:12px}}@media(max-width:650px){body.cinema-lab #game{height:56vh;min-height:330px;max-height:600px}.cinema-heading{align-items:flex-start}.cinema-heading a{max-width:90px}.cinema-transport button{flex:1 0 42%}.cinema-transport label{width:100%;justify-content:space-between}.cinema-transport select{flex:1;max-width:200px}.cinema-shots ol{grid-template-columns:1fr}.cinema-picker select{min-width:0}.cinema-share button{width:100%}}@media(min-width:651px)and (max-width:1000px){.cinema-shots ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){body.cinema-lab #game{position:sticky;top:0;z-index:6}}@media(max-width:650px){html:has(body.cinema-lab){scroll-padding-top:calc(56vh + 12px)}}#purist{width:36px;min-width:36px;height:36px;color:#a67928;opacity:1;transition:opacity 1.1s ease;display:inline-flex;align-items:center;justify-content:center}#purist.purist-lost{opacity:0}.purist-clicker{display:block;width:36px;height:36px;filter:drop-shadow(0 1px 1px #173c3040)}#results .card{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:10px}#results #stars{order:1}#results #badge{order:2;display:inline-flex;color:#ffdf7e}#results #badge .purist-clicker{width:42px;height:42px}#results #result-time,#results #next-star{order:3;flex-basis:100%}@media(prefers-reduced-motion:reduce){#purist{transition:none}}body>header.retrial-header,#retrial-boot header.retrial-header{display:flex;align-items:center;gap:14px;flex-shrink:0;height:68px;padding:8px 26px;background:var(--characters-charcoal);border-bottom:1px solid #42483f;color:var(--characters-beige);font-family:var(--characters-body-font);letter-spacing:normal}.retrial-header .retrial-mast{flex:1;min-width:0}.retrial-header .mast-group{margin:0 0 3px;font:400 12px/1.2 var(--characters-body-font);color:var(--characters-body)}body .retrial-header .retrial-mast h1{margin:0;font:700 23px/1.2 var(--characters-title-font);letter-spacing:normal;color:var(--characters-beige);opacity:1;transform:none}body .retrial-header>a{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:60px;min-height:44px;color:var(--characters-tan);font:400 14px/1.2 var(--characters-body-font);text-decoration:underline;text-underline-offset:4px}body .retrial-header>a:hover{color:var(--characters-beige)}body .retrial-header>a:focus-visible{outline:2px solid var(--characters-focus);outline-offset:2px}.retrial-header #audio-controls{flex-shrink:0;font-size:12px}.retrial-header #audio-controls summary{display:flex;align-items:center;min-height:44px;padding:8px;border-color:#747c6d;touch-action:manipulation}body.animatic-menu>header.retrial-header,body.eire-island-menu>header.retrial-header{display:flex}body.animatic-menu>header.retrial-header #audio-controls,body.eire-island-menu>header.retrial-header #audio-controls{display:none}#retrial-boot{grid-template-rows:minmax(0,1fr) 20px}#retrial-boot header.retrial-header{display:none}#retrial-boot .eire-dawn{inset:0 0 20px}#retrial-boot .eire-foot{grid-row:2;min-height:0;margin:0}#retrial-boot .eire-foot span{display:inline}body.has-immersion .retrial-header{padding-right:max(60px,calc(env(safe-area-inset-right) + 56px))}@media(max-width:650px){body>header.retrial-header,#retrial-boot header.retrial-header{height:56px;padding:6px 10px;gap:8px}body .retrial-header .retrial-mast h1{font-size:17px;line-height:1.15;text-wrap:balance}.retrial-header .mast-group{display:none}body .retrial-header>a{min-width:52px;font-size:12px}body.has-immersion .retrial-header{padding-right:max(60px,calc(env(safe-area-inset-right) + 56px))}}@media(max-height:500px){body>header.retrial-header,#retrial-boot header.retrial-header{height:50px;padding-top:3px;padding-bottom:3px}.retrial-header .mast-group{display:none}body .retrial-header .retrial-mast h1{font-size:17px}}body.has-immersion #retrial-boot header.retrial-header{padding-right:max(60px,calc(env(safe-area-inset-right) + 56px))}body:not(.cinema-lab):has(>main#game){height:100dvh;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto}body:not(.cinema-lab):has(>main#game)>.site-header{grid-row:1}body:not(.cinema-lab):has(>main#game)>.site-header{padding-right:124px}body:not(.cinema-lab):has(>main#game)>.retrial-header{position:absolute;top:0;right:60px;z-index:10002;width:auto;height:45px;padding:0;background:transparent;border:0}body:not(.cinema-lab):has(>main#game) .retrial-header .retrial-mast{display:none}body:not(.cinema-lab):has(>main#game) #game{grid-row:3;grid-column:1;min-height:0}body:not(.cinema-lab):has(>main#game)>#whistles{grid-row:4}body:not(.cinema-lab):has(>main#game)>footer.site-footer{grid-row:5;margin:0;padding:3px 8px;gap:0;font:10px/1.3 var(--characters-body-font,system-ui,sans-serif)}body:not(.cinema-lab):has(>main#game)>footer.site-footer nav{display:none}body:not(.cinema-lab):has(>main#game)>footer.site-footer .site-footer-credit{display:flex;flex-wrap:wrap;justify-content:center;gap:0 10px}body:not(.cinema-lab):has(>main#game)>footer.site-footer [data-build-stamp]{margin:0;font:inherit}body:not(.cinema-lab):has(>main#game)>#whistles{padding:4px 12px}body:not(.cinema-lab):has(>main#game)>#whistles button{min-height:44px;padding:3px 12px}body:not(.cinema-lab):has(>main#game) #whistles .touch-command{width:28px;height:28px}body:not(.cinema-lab):has(>main#game) #message{height:auto;min-height:32px;padding:4px 12px}@media(max-width:650px){body:not(.cinema-lab):has(>main#game)>footer.site-footer [data-build-stamp]{display:none}body:not(.cinema-lab):has(>main#game)>#whistles{padding:4px}body:not(.cinema-lab):has(>main#game)>#whistles button{padding:4px 2px}}#purist{position:relative;opacity:1!important}#hud{z-index:4}#purist>.purist-clicker{color:#8c601b;opacity:1;transition:opacity 1.1s ease,transform 1.1s ease}#purist.purist-lost>.purist-clicker{opacity:0;transform:translateY(4px) rotate(8deg)}#purist.purist-arriving:not(.purist-lost)>.purist-clicker{transform-origin:50% 0;animation:clicker-settle .65s ease-out both}@keyframes clicker-settle{0%{transform:rotate(-9deg) translateY(-2px)}45%{transform:rotate(4deg)}75%{transform:rotate(-1.5deg)}to{transform:none}}.purist-caption{position:absolute;right:156px;top:44px;width:max-content;max-width:min(290px,calc(100vw - 36px));padding:9px 12px;border:1px solid #c6ae7266;border-radius:5px;background:#ffffe9f2;color:#244b36;text-shadow:none;text-align:left;font:13px/1.45 var(--characters-body-font,system-ui);box-shadow:0 3px 12px #173c3026;opacity:0;transform:translateY(-3px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.purist-caption.visible{opacity:1;transform:none}.purist-caption[data-kind=loss]{width:250px;color:#3f5745;border-color:#a9b8ad88}.purist-caption[data-treatment=cue]{position:fixed;top:112px;right:50%;transform:translate(50%,-3px);text-align:center;border-radius:20px}.purist-caption[data-treatment=cue].visible{transform:translate(50%)}.purist-caption[data-treatment=ribbon]{border-radius:0;border-left:3px solid #a67928}@media(max-width:650px){.purist-caption{font-size:12px;top:42px;padding:8px 10px}.purist-caption[data-treatment=cue]{top:118px}.purist-caption[data-kind=loss]{width:238px}}@media(max-width:700px)and (min-height:451px){#purist .purist-caption{position:absolute;top:136px;right:0;transform:translateY(-3px)}#purist .purist-caption.visible{transform:none}}@media(prefers-reduced-motion:reduce){.purist-caption,#purist>.purist-clicker{transition:none;transform:none;animation:none!important}}@media(max-height:450px){#purist .purist-caption{position:fixed;top:132px;right:136px;width:250px;max-width:calc(100vw - 148px);padding:6px 9px}}
