:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#253a2c;background:#eeeee5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{width:min(940px,100%);margin:auto;padding:22px 38px 30px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #cbd0c0;padding-bottom:17px}.mark{text-decoration:none;color:inherit;font-size:17px;font-weight:700;letter-spacing:2px}.mark span{font-size:9px;letter-spacing:2px;margin-left:12px;opacity:.6}.edition{font-size:11px;letter-spacing:1px;opacity:.65}.intro{display:flex;align-items:flex-end;justify-content:space-between;padding:21px 0 19px}.eyebrow{font-size:10px;letter-spacing:3px;color:#73806c;margin:0 0 10px}h1{font-family:"Songti SC","Noto Serif SC",serif;font-weight:500;font-size:32px;line-height:1.4;margin:0;letter-spacing:2px}.lede{font-size:11px;line-height:2;color:#71806d;margin:0 0 3px 20px;white-space:nowrap}.play{position:relative;border:1px solid #cbd2bf;border-radius:20px;overflow:hidden;background:#e0e7d3;box-shadow:0 15px 40px #34412d08}.scene-top{position:absolute;top:17px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none;font-size:11px;color:#53644b;z-index:1}.scene-top #phase{background:#f6f4e8e8;padding:7px 11px;border-radius:30px;box-shadow:0 3px 12px #39472f08}#mode{padding:7px 0;font-size:9px;letter-spacing:1px}.harvest{position:absolute;right:20px;top:62px;display:flex;flex-direction:column;gap:7px;z-index:1;pointer-events:none}.harvest>div{display:flex;gap:7px;align-items:center;justify-content:flex-end;color:#5f6d52}.harvest b{font-size:19px;font-weight:500;font-variant-numeric:tabular-nums}.harvest span:not(.tiny-fruit){font-size:9px;letter-spacing:1px}.harvest>div+div{opacity:.65}.harvest>div+div b{font-size:14px}.tiny-fruit{color:#8d9c53;font-size:17px}canvas{display:block;width:100%;height:480px;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}.hint{position:absolute;bottom:119px;text-align:center;width:100%;font-size:11px;color:#526248;pointer-events:none;text-shadow:0 1px 6px #f4f3e5}.window-cue{position:absolute;left:50%;top:28%;transform:translate(-50%,-50%);border:1px solid #d8e4b6;background:#f6f5e9eb;border-radius:30px;padding:11px 20px;font-size:16px;font-weight:600;letter-spacing:2px;color:#3d5638;box-shadow:0 6px 30px #3d563817;pointer-events:none;white-space:nowrap}.window-cue span{font-size:11px;font-weight:400;letter-spacing:1px;margin-left:10px;color:#82906b}.controls{display:flex;gap:9px;padding:15px 20px 12px;background:#f5f4e9;border-top:1px solid #d2dac4}button{border:1px solid #c5ceba;background:transparent;border-radius:9px;padding:12px 16px;font:inherit;font-size:12px;color:#435440;cursor:pointer;transition:background .15s}button:hover{background:#e5e9dc}button:focus-visible{outline:2px solid #6b8254;outline-offset:3px}button.primary{background:#314b37;color:#fff;border-color:#314b37;flex:1;text-align:left}button.primary span{float:right}button[aria-pressed=true]{background:#dce4ce}#eat{background:#ede3b7;border-color:#d6c897;color:#756031}.steps{background:#f5f4e9;display:flex;justify-content:center;gap:26px;padding:4px 20px 17px;font-size:10px;color:#73806a}.steps b{font-size:9px;margin-right:6px;color:#a3ad93}.steps i{font-style:normal;color:#b5bca9}footer{display:flex;justify-content:space-between;gap:30px;padding-top:14px;color:#78836e;font-size:11px}footer>p{white-space:nowrap;letter-spacing:2px}details{max-width:500px;text-align:right}details p{text-align:left;line-height:1.9}summary{cursor:pointer;padding:9px 0}a{color:inherit}label{cursor:pointer}.diagnostics{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding-top:6px}.diagnostics button{font-size:10px;padding:7px 10px}[hidden]{display:none!important}@media(max-width:600px){main{padding:17px 14px}.mark span{display:none}.intro{padding:21px 3px 18px;display:block}h1{font-size:25px}.lede{font-size:10px;margin:8px 0 0;line-height:1.7}.lede br{display:none}.scene-top{left:12px;right:12px;top:12px;font-size:10px}.scene-top #mode{font-size:8px}.harvest{right:14px;top:55px}.harvest b{font-size:16px}.harvest span:not(.tiny-fruit){font-size:8px}canvas{height:470px}.controls{gap:6px;padding:12px 11px 10px}button{font-size:10px;padding:12px 9px}.hint{bottom:110px;font-size:10px;padding:0 12px}.steps{gap:12px;padding-bottom:15px;font-size:9px}footer{display:block;padding-top:8px}footer>p{text-align:center;font-size:10px}details{max-width:none;text-align:center}.window-cue{font-size:14px;padding:10px 14px;top:27%}.window-cue span{font-size:10px}.controls:has(#eat:not([hidden])) #slow{display:none}.diagnostics{justify-content:center}}@media(min-width:760px) and (max-height:820px){canvas{height:410px}.intro{padding:16px 0}h1{font-size:29px}main{padding-top:17px}}



.load-meter{position:absolute;top:62px;left:20px;display:flex;align-items:center;gap:8px;pointer-events:none;color:#687450;font-size:9px;letter-spacing:1px}.load-meter i{display:block;width:66px;height:5px;overflow:hidden;border-radius:5px;background:#bcc8a880}.load-meter b{display:block;height:100%;background:#8b9560;border-radius:5px;transition:width .06s linear}@media(max-width:600px){.load-meter{top:57px;left:14px;font-size:8px}.load-meter i{width:48px}}
/* R4 — carved tropical print: paper, four inks, hard registration edges. */
:root{color:#173e3a;background:#f1dfb5}body{background-color:#f1dfb5;background-image:repeating-linear-gradient(3deg,transparent 0 9px,#173e3a06 9px 10px),repeating-linear-gradient(91deg,transparent 0 27px,#9a633508 27px 28px)}header{border-bottom:3px solid #173e3a;padding-bottom:14px}.mark{font-family:"Songti SC",serif;font-size:22px;font-weight:900;letter-spacing:3px}.mark span{font-family:Arial,sans-serif;font-size:9px;opacity:1;color:#cb472a;letter-spacing:2px}.edition{font-size:10px;opacity:1;color:#f1dfb5;background:#cb472a;border:1px solid #173e3a;padding:7px 9px;transform:rotate(-2deg);font-weight:700}.eyebrow{color:#a73722;font-size:9px;font-weight:700;letter-spacing:2px}h1{font-family:"Songti SC","Noto Serif SC",serif;font-weight:900;font-size:39px;letter-spacing:5px;line-height:1.2}.lede{color:#36584a;font-weight:600}.play{border:3px solid #173e3a;border-radius:2px;background:#f1dfb5;box-shadow:6px 7px 0 #173e3a}.scene-top{color:#173e3a}.scene-top #phase{background:#f1dfb5;border:1.5px solid #173e3a;border-radius:0;box-shadow:2px 2px 0 #173e3a;font-weight:700;padding:7px 10px}#mode{color:#173e3a;background:#d8a033;border:1px solid #173e3a;padding:6px 7px;height:fit-content;font-weight:700;font-size:8px}.harvest{background:#f1dfb5ed;border:1.5px solid #173e3a;box-shadow:2px 2px 0 #173e3a;padding:9px 10px;gap:5px}.harvest>div{color:#173e3a}.harvest b{font-family:Georgia,serif;font-weight:700;font-size:22px}.harvest>div+div{opacity:1;color:#8c4d2f}.tiny-fruit{color:#cb472a}.hint{left:14px;right:14px;width:auto;background:#f1dfb5e8;padding:5px 8px;font-size:10px;font-weight:600;color:#173e3a;text-shadow:none;border-top:1px solid #173e3a45}.window-cue{border:2px solid #173e3a;background:#cb472a;color:#fff0c7;border-radius:0;box-shadow:4px 4px 0 #173e3a;padding:12px 19px;transform:translate(-50%,-50%) rotate(-2deg);font-size:17px;font-weight:800}.controls{background:#f1dfb5;border-top:3px solid #173e3a;padding-top:13px}button{border:1.5px solid #173e3a;border-radius:1px;background:#f1dfb5;color:#173e3a;font-weight:700;box-shadow:2px 2px 0 #173e3a;transition:background .12s,transform .12s}button:hover{background:#d8a033;transform:translate(-1px,-1px)}button:active{transform:translate(1px,1px);box-shadow:none}button:focus-visible{outline:3px solid #cb472a;outline-offset:4px}button.primary{background:#173e3a;border-color:#173e3a;color:#f1dfb5}button.primary:hover{background:#216356}button[aria-pressed=true]{background:#d8a033}#eat{background:#d8a033;border-color:#173e3a;color:#173e3a}.steps{background:#f1dfb5;color:#173e3a;font-weight:600}.steps b{color:#cb472a;font-weight:800}.steps i{color:#173e3a}footer{color:#355548;padding-top:18px}footer>p{font-family:"Songti SC",serif;font-weight:700}summary{color:#173e3a;font-weight:700}.load-meter{color:#173e3a;background:#f1dfb5df;padding:5px 7px;border-left:3px solid #cb472a;top:64px}.load-meter i{border:1px solid #173e3a;border-radius:0;background:#d8a03355;height:7px}.load-meter b{border-radius:0;background:#cb472a}.diagnostics button{box-shadow:1px 1px 0 #173e3a}@media(max-width:600px){main{padding:14px 13px 25px}.mark{font-size:21px}.edition{font-size:8px;padding:6px}.intro{padding:19px 3px 17px}h1{font-size:32px}.eyebrow{font-size:8px;letter-spacing:1.5px}.lede{font-size:10px;margin-top:10px}.play{box-shadow:4px 5px 0 #173e3a}.scene-top #phase{font-size:9px;padding:6px 8px}#mode{font-size:7px;padding:5px}.harvest{right:12px;top:57px;padding:6px 8px}.harvest b{font-size:18px}.window-cue{font-size:15px;padding:10px 15px}.hint{font-size:9px;left:10px;right:10px;bottom:110px}.load-meter{top:57px;left:12px;padding:4px;font-size:7px}.load-meter i{width:37px}.controls{padding:12px 10px 10px}button{font-size:10px;padding:11px 8px}.steps{font-size:9px}.mark span{display:none}}@media(min-width:760px) and (max-height:820px){h1{font-size:34px}}

.harvest .pulp-total{color:#8c4d2f;opacity:1}.harvest .pulp-total b{font-size:16px}.harvest .pulp-total+div b{font-size:14px}@media(max-width:600px){.harvest .pulp-total b{font-size:15px}.harvest .pulp-total+div b{font-size:13px}}

/* R5 authorized readability exception; original woodcut art styles above remain unchanged. */
@media(min-width:760px){.hint{font-size:15px;line-height:1.6}.window-cue{font-size:19px}.scene-top #phase{font-size:14px}.scene-top #mode{font-size:11px}}
/* R5b: keep the readable hint below the canvas so floor impacts stay visible. */
.hint{position:static;width:auto;transform:none;margin:0 14px;padding:6px 8px;left:auto;right:auto;bottom:auto}
