*{box-sizing:border-box}body{margin:0;background:#d8e5eb;color:#233d4c;font-family:"Trebuchet MS",sans-serif;font-size:15px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #a76463;outline-offset:4px}button:disabled{opacity:.45;cursor:default}.page{max-width:1100px;padding:0 40px;margin:auto}.masthead{height:86px;border-bottom:1px solid #b6ccd6;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:11px;font-weight:bold;letter-spacing:1.8px;color:#355466}.brand-mark{font-family:Georgia,serif;font-size:28px;background:#31556b;color:#f0f6f9;border-radius:50%;width:32px;height:32px;text-align:center;line-height:31px}.brand-divider{opacity:.35;margin:0 5px}.top-actions{display:flex;gap:22px}.quiet{background:none;border:0;font-size:12px;color:#49697c;padding:8px 0}.quiet span{display:inline-grid;place-items:center;width:17px;height:17px;border:1px solid #7896a8;border-radius:50%;font-size:11px;margin-left:5px}.intro{display:flex;align-items:center;justify-content:space-between;padding:36px 0 30px}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:2px;color:#526e80;margin:0 0 11px}h1{font-family:Georgia,"Times New Roman",serif;font-weight:normal;letter-spacing:-3px;font-size:66px;margin:0;line-height:1.1}h1 span{color:#b56158}.subtitle{font-size:14px;color:#4d6b7b;margin:14px 0 0}.subtitle em{font-style:normal;color:#294e64}.stamp{margin:5px 20px 0 0;padding:16px 12px;border:2px solid #94acbb;outline:1px solid #94acbb;outline-offset:4px;border-radius:50%;width:112px;height:112px;text-align:center;display:flex;flex-direction:column;justify-content:center;font-size:9px;line-height:1.7;letter-spacing:1.4px;color:#607c90;transform:rotate(11deg)}.stamp span{font-size:10px;letter-spacing:4px;margin-top:5px}.game-shell{background:#f0f5f7;border:1px solid #a9c1cd;border-radius:15px;overflow:hidden;box-shadow:0 9px 0 -5px #adc5d0,0 20px 40px #3e4d3310}.dashboard{display:flex;align-items:center;gap:27px;padding:21px 26px 19px;background:#edf4f7;border-bottom:1px solid #b6cdd8}.willingness{flex:1;max-width:450px;margin-right:auto}.meter-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1px;margin-bottom:10px;color:#466779;gap:10px}.meter-label strong{font-weight:normal;letter-spacing:0;font-size:11px;color:#516f81}.meter-track{position:relative;height:10px;border-radius:4px;background:#cbdde6;box-shadow:inset 0 1px 2px #20352012}#meter-fill{height:100%;width:0;background:#638da5;border-radius:4px;transition:width .15s}#meter-target{position:absolute;top:-3px;height:16px;width:2px;background:#315b74;left:24%}#meter-target span{position:absolute;top:16px;left:-5px;font-size:7px;letter-spacing:.4px;color:#496b80}.stat{min-width:44px}.stat>span{display:block;font-size:8px;letter-spacing:1.3px;color:#577486;margin-bottom:5px}.stat strong{font-size:24px;font-weight:normal;font-family:Georgia,serif;white-space:nowrap}.stat small{font-family:"Trebuchet MS",sans-serif;font-size:11px;color:#58778b}.pause{font-family:Georgia,serif;border:1px solid #b8cdd9;background:transparent;border-radius:7px;width:32px;height:32px;color:#3a6078;font-size:18px;padding:0}.stage-wrap{position:relative;aspect-ratio:960/700;background:#b9c9a0}canvas{display:block;width:100%;height:100%;touch-action:none}.crate-buttons{position:absolute;inset:0;pointer-events:none}.crate-button{position:absolute;pointer-events:auto;background:transparent;border:0;color:transparent;transform:translate(-50%,-50%);width:6.5%;height:9%;border-radius:7px}.crate-button:focus-visible{outline:3px dashed #fff8ce;outline-offset:2px}.overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#33442c52;backdrop-filter:blur(3px);z-index:3;padding:20px}.overlay[hidden]{display:none}.card{position:relative;text-align:center;background:#f0f5f7;max-width:535px;width:100%;border:1px solid #adc6d2;border-radius:10px;padding:30px 38px;box-shadow:0 18px 65px #1a405138}.mini-chicken{font-size:32px;color:#b5625d;margin-bottom:12px}.card h2,dialog h2{font-family:Georgia,serif;font-weight:normal;font-size:40px;line-height:1.1;letter-spacing:-1px;margin:10px 0 18px}.card>p:not(.eyebrow):not(.fine-print){font-size:13px;line-height:1.75;color:#4b6c80;max-width:345px;margin:0 auto 22px}.instruction-row{display:flex;justify-content:center;gap:18px;font-size:10px;color:#4a6c81;margin:22px -10px}.instruction-row b{display:block;color:#65879d;font-size:10px;font-weight:normal;margin-bottom:7px}.primary{display:flex;justify-content:center;gap:40px;align-items:center;margin:0 auto;padding:15px 25px;background:#315a74;color:#f5f9fc;border:0;border-radius:5px;font-size:13px}.primary:hover{background:#426f8a}.primary span{color:#b9c9a0;font-size:18px}.fine-print{font-size:9px;line-height:1.7;color:#5b778a;margin:17px 0 0}.toast{position:absolute;left:50%;bottom:17%;transform:translateX(-50%);border:1px solid #a5bfcd;background:#f0f6faf5;padding:11px 19px;text-align:center;border-radius:6px;font-size:12px;max-width:90%;width:max-content;opacity:0;transition:opacity .2s;pointer-events:none;color:#355a70;box-shadow:0 4px 15px #2b43251a;z-index:2}.toast.visible{opacity:1}.tray-bar{padding:17px 24px 20px;min-height:128px;background:#eaf2f6;border-top:1px solid #adc6d2}.tray-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.tray-heading .eyebrow{margin:0;font-size:9px;letter-spacing:1.5px}#tray-hint{font-size:10px;color:#567589}.tray{display:flex;gap:10px;min-height:56px;align-items:stretch;flex-wrap:wrap}.empty-tray{border:1px dashed #b2cbd9;border-radius:5px;width:100%;display:flex;align-items:center;justify-content:center;color:#5f7f94;font-size:11px;min-height:56px}.item{border:1px solid #b7cedc;background:#dce9f0;color:#355b72;border-radius:6px;display:flex;align-items:center;gap:8px;padding:8px 11px;font-size:11px;position:relative;min-height:56px;touch-action:none}.item.selected{border-color:#4b7896;background:#cbdfeb;box-shadow:0 0 0 1px #4b7896}.item:hover{background:#d1e3ed}.item svg{width:30px;height:30px}.item small{display:block;font-size:8px;margin-top:3px;color:#55788f}.item .count{position:absolute;right:-5px;top:-6px;background:#386580;color:#f4f9fc;font-size:8px;padding:2px 4px;border-radius:4px}.below-game{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:17px 3px 0}.below-game p{font-size:11px;color:#4d7086;margin:0;display:flex;gap:9px;align-items:baseline;line-height:1.6}.live-dot{width:5px;height:5px;border-radius:50%;background:#688ea4;flex-shrink:0}.text-button{font-size:10px;background:transparent;border:0;color:#53778e;white-space:nowrap;padding:0}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #b8cdd7;padding:22px 0 30px;margin-top:34px;font-size:10px;color:#57778a}footer a{color:#426a82;text-decoration:none}dialog{background:#f0f5f7;color:#355a70;border:1px solid #adc6d2;border-radius:10px;padding:38px;max-width:540px;width:calc(100% - 32px)}dialog::backdrop{background:#203c5790;backdrop-filter:blur(3px)}dialog p,dialog li{font-size:13px;line-height:1.8}dialog ol{padding-left:20px}dialog li{padding-left:5px;margin:12px 0}.close{position:absolute;right:12px;top:10px;background:none;border:0;color:#496e85;font-size:28px}.drag-ghost{position:fixed;pointer-events:none;width:50px;height:50px;z-index:10;opacity:.85;transform:translate(-50%,-50%)}
@media(max-width:720px){.page{padding:0 16px}.masthead{height:65px}.brand{font-size:9px;gap:7px;letter-spacing:1px}.brand-divider{margin:0}.top-actions{gap:13px}.quiet{font-size:10px}.intro{padding:26px 0 22px}h1{font-size:49px;letter-spacing:-2px}.eyebrow{font-size:8px;letter-spacing:1.3px}.subtitle{font-size:12px;max-width:265px;line-height:1.6;margin-top:9px}.stamp{display:none}.dashboard{gap:15px;padding:16px 14px 18px}.record{display:none}.stat strong{font-size:20px}.stat>span{font-size:7px;letter-spacing:.7px}.stat{min-width:30px}.meter-label{display:block;font-size:7px;margin-bottom:8px}.meter-label strong{display:none}.willingness{max-width:none}.card{padding:23px 18px;max-width:390px}.mini-chicken{display:none}.card h2{font-size:29px;margin:8px 0 12px}.card>p:not(.eyebrow):not(.fine-print){font-size:11px;margin-bottom:14px}.instruction-row{margin:14px -3px;gap:16px;font-size:8px}.primary{padding:12px 19px;font-size:12px}.card .eyebrow{font-size:7px}.fine-print{font-size:8px;margin-top:12px}.tray-bar{padding:14px;min-height:115px}#tray-hint{font-size:9px;max-width:180px;text-align:right}.item{padding:6px 9px;min-height:48px;font-size:10px}.item svg{width:25px;height:25px}.tray{gap:7px}.toast{font-size:10px;padding:8px 12px;bottom:15%;max-width:94%;white-space:normal}footer{font-size:9px;line-height:1.7;flex-direction:column;gap:4px;margin-top:24px}.below-game{gap:12px}.below-game p{font-size:10px}.stage-wrap{min-height:0}dialog{padding:30px 24px}dialog h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* During play the entire board and item tray fit together on a laptop display. */
body.is-playing .page{max-width:min(1100px,calc((100svh - 264px)*1.3714 + 48px));padding:0 24px}
body.is-playing .masthead{height:42px;border:0}body.is-playing .intro,body.is-playing footer{display:none}
body.is-playing .dashboard{padding:14px 18px 16px;gap:20px}
body.is-playing .tray-bar{min-height:106px;padding:12px 18px}
body.is-playing .tray{flex-wrap:nowrap;overflow-x:auto;padding:3px 5px 7px;margin:0 -5px}
body.is-playing .item{flex-shrink:0}body.is-playing .empty-tray{min-width:100%}
body.is-playing .below-game{padding-top:10px}body.is-playing .meter-label strong{font-size:9px}
@media(max-width:720px){body.is-playing .page{max-width:650px;padding:0 12px}body.is-playing .dashboard{gap:14px;padding:13px}body.is-playing .tray-bar{padding:12px}.record{display:none}}
@media(max-height:550px) and (min-width:721px){body.is-playing .page{max-width:700px}.stage-wrap{max-height:none}}
@media(max-width:720px){.crate-button{min-width:44px;min-height:44px}}
.toast{bottom:8px}

.hen-portrait{display:block;width:72px;height:56px;margin:0 auto 12px}.result-share{display:block;margin:16px auto 0;color:#315a74;font-size:12px}.below-actions{display:flex;gap:16px;flex-shrink:0}.share-dialog{text-align:center;max-width:560px}.share-dialog h2{font-size:31px}.share-dialog canvas{width:100%;height:auto;border-radius:8px;display:block;margin:18px 0;border:1px solid #aec7d5}.share-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.share-actions button,.share-actions a{font:inherit;font-size:12px;padding:11px 14px;border:1px solid #aac3d2;border-radius:5px;color:#315a74;text-decoration:none;background:#e2edf3}.share-actions .share-primary{background:#315a74;color:#f4f9fc}.share-dialog .fine-print{font-size:11px}.share-note{min-height:20px;font-size:12px;color:#4c7189}.share-actions button:disabled{opacity:.5}.record{min-width:83px}.record strong small{font-size:9px}#share-best{color:#355e78}.toast{font-size:12px}.stat strong{font-variant-numeric:tabular-nums}@media(max-width:720px){.hen-portrait{width:48px;height:37px;margin-bottom:6px}.card{padding:16px 14px}.card h2{font-size:25px}.card>p:not(.eyebrow):not(.fine-print){line-height:1.5}.card .fine-print{margin-top:9px}.result-share{font-size:10px;margin-top:12px}.share-dialog{padding:30px 18px 22px}.share-dialog h2{font-size:26px}.share-dialog canvas{margin:12px 0}.share-actions{gap:7px}.below-actions{gap:12px}.toast{font-size:10px}.stat.record{display:none}}

.manual-copy{width:100%;height:100px;background:#e8f2f7;border:1px solid #a8c4d5;border-radius:5px;padding:10px;color:#315a74;font:12px/1.6 "Trebuchet MS",sans-serif}

/* Readable controls and captions at laptop and phone sizes. */
.brand{font-size:12px;letter-spacing:1px}.quiet{font-size:14px}.eyebrow{font-size:12px;letter-spacing:1.4px}.subtitle{font-size:16px}
.meter-label{font-size:11px;letter-spacing:.5px}.meter-label strong,body.is-playing .meter-label strong{font-size:12px}.stat>span{font-size:11px;letter-spacing:.7px}.stat small,.record strong small{font-size:12px}.stat strong{font-size:25px}
#meter-target span{font-size:10px;top:17px;left:-7px}.dashboard,body.is-playing .dashboard{padding-bottom:22px}
.tray-heading .eyebrow{font-size:12px;letter-spacing:.8px}#tray-hint{font-size:12px;color:#43667d}.item{font-size:14px;gap:9px;padding:9px 12px}.item small{font-size:12px;color:#456c84}.item .count{font-size:11px}.empty-tray{font-size:13px;color:#4b7089}
.below-game p{font-size:13px;color:#42657c}.text-button{font-size:13px}.below-actions{gap:18px}.fine-print{font-size:12px;color:#506f84}footer{font-size:12px;color:#466b83}
.card>p:not(.eyebrow):not(.fine-print){font-size:15px;line-height:1.65}.instruction-row{font-size:12px}.instruction-row b{font-size:12px}.primary{font-size:15px}.toast{font-size:14px}.card .eyebrow{font-size:11px}.card .fine-print{font-size:12px}
body.is-playing .page{max-width:min(1100px,calc((100svh - 310px)*1.3714 + 48px))}body.is-playing .tray-bar{min-height:119px}.result-share{font-size:13px}.share-actions button,.share-actions a{font-size:14px}.share-dialog .fine-print{font-size:12px}.share-note{font-size:13px}
@media(max-width:720px){.brand{font-size:10px;letter-spacing:.5px;gap:5px}.top-actions{gap:12px}.quiet{font-size:12px}.eyebrow{font-size:11px;letter-spacing:.8px}.subtitle{font-size:14px}.meter-label{font-size:10px;letter-spacing:0}.stat>span{font-size:10px;letter-spacing:.3px}.stat strong{font-size:23px}.stat small{font-size:12px}.dashboard,body.is-playing .dashboard{gap:12px;padding:14px 12px 22px}.tray-heading .eyebrow{font-size:11px}#tray-hint{font-size:11px;max-width:200px}.item{font-size:13px;padding:8px 10px}.item small{font-size:11px}.empty-tray{font-size:12px}.below-game p{font-size:12px}.below-actions{gap:12px}.text-button{font-size:12px}.card .eyebrow{font-size:10px}.card h2{font-size:26px}.card>p:not(.eyebrow):not(.fine-print){font-size:13px;line-height:1.55}.card .fine-print{font-size:11px}.instruction-row,.instruction-row b{font-size:11px}.primary{font-size:14px}.card{padding:17px 15px}.card .hen-portrait{width:45px;height:35px}.toast{font-size:12px}.result-share{font-size:12px}.share-actions button,.share-actions a{font-size:13px}body.is-playing .page{max-width:650px;padding:0 12px}.below-game{flex-wrap:wrap;gap:10px}.below-actions{margin-left:auto}.share-dialog p{font-size:13px}}

/* Reactions belong to the hen: follow her, with room below the home meadow. */
.hen-reaction-lane{height:56px;background:#eaf2f6;border-top:1px solid #b5cbd6;position:relative;z-index:0}
.hen-reaction{position:absolute;z-index:2;pointer-events:none;transform:translateX(-50%);width:max-content;max-width:min(560px,calc(100% - 20px));padding:8px 14px;border:1px solid #a8c2d2;border-radius:8px;background:#f0f6fa;color:#31576f;text-align:center;font-size:14px;line-height:1.45;box-shadow:0 3px 12px #294f6612}.hen-reaction[hidden]{display:none}
body.is-playing .page{max-width:min(1100px,calc((100svh - 366px)*1.3714 + 48px))}.item{min-height:54px}.item span{white-space:nowrap}
@media(max-height:800px) and (min-width:721px){.meter-label strong,body.is-playing .meter-label strong{display:none}}
@media(max-height:550px) and (min-width:721px){body.is-playing .page{max-width:780px}}
@media(max-width:720px){.hen-reaction{font-size:13px;padding:7px 11px}.hen-reaction-lane{height:56px}body.is-playing .page{max-width:650px;padding:0 12px}.record>span{font-size:10px}}

.below-actions{flex-wrap:wrap;justify-content:flex-end}.reset-actions{display:flex;flex-wrap:wrap;gap:12px}.reset-actions button{border:1px solid #aac3d2;border-radius:5px;background:#e2edf3;color:#315a74;padding:12px 16px;min-height:44px}.reset-actions #confirm-reset{background:#315a74;color:#f4f9fc}#reset-error{color:#8a4545}

/* The decision stays home; traffic remarks travel with the hen. */
.hen-reaction-lane{height:80px}.crossing-note{position:absolute;bottom:8px;left:10px;right:10px;margin:0;color:#31576f;font-size:14px;line-height:1.4;text-align:center}.crossing-note[hidden]{display:none}
body.is-playing .page{max-width:min(1100px,calc((100svh - 390px)*1.3714 + 48px))}
@media(max-width:720px){.crossing-note{font-size:13px}body.is-playing .page{max-width:650px;padding:0 12px}}
@media(max-height:550px) and (min-width:721px){body.is-playing .page{max-width:780px}}

/* A short first-run guide points to controls without choosing objects for the player. */
.guide-panel{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#e2f0f5;color:#244c64}.guide-panel[hidden],.meadow-guide[hidden]{display:none}.guide-step{font-size:11px;font-weight:bold;letter-spacing:.8px;margin:0 0 4px;color:#476f87}.guide-text{font-size:14px;line-height:1.4;margin:0}.guide-panel button{min-width:44px;min-height:44px;color:#315a74}
.guide-target{outline:3px solid #f4f9ff!important;box-shadow:0 0 0 6px #315f83,0 0 0 10px #d7efff9c!important;animation:guide-glow 1.6s ease-in-out infinite;z-index:2}.guide-target::before{content:attr(data-guide);position:absolute;top:-14px;left:-12px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#315f83;border:2px solid #f4f9ff;color:white;font:bold 14px "Trebuchet MS",sans-serif}.tray .guide-target{margin:8px 8px 3px 12px}.tray:has(.guide-target){padding-top:6px}
.meadow-guide{position:absolute;left:9.375%;top:9.286%;width:81.25%;height:20.857%;border:3px dashed #f4f9ff;border-radius:12px;background:#bde5ff22;box-shadow:0 0 0 4px #315f8388,inset 0 0 24px #dff4ff88;pointer-events:none;z-index:1;animation:guide-glow 1.6s ease-in-out infinite}.meadow-guide span{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);padding:5px 10px;border-radius:6px;background:#315f83;color:#fff;font-size:13px;font-weight:bold;white-space:nowrap}.guide-replay{font:inherit;padding:11px 15px;background:#315a74;color:#f4f9fc;border:0;border-radius:5px;min-height:44px}
@keyframes guide-glow{50%{filter:brightness(1.12)}}
@media(max-width:720px){.guide-panel{padding:8px 12px;gap:8px}.guide-step{font-size:10px}.guide-text{font-size:13px}.meadow-guide{border-width:2px}.meadow-guide span{font-size:12px;bottom:3px;padding:4px 8px}}
@media(prefers-reduced-motion:reduce){.guide-target,.meadow-guide{animation:none}}
