.plot-embed{--paper:#f5eee0;--ink:#211b12;--sage:#6f8b54;--sage-deep:#2f4b2b;--gold:#e7b94e;--clay:#a53f2c;--soil:#785133;--line:#dccca9}.plot-embed *{box-sizing:border-box}.plot-embed{margin:0;background:#182419;color:var(--paper);font-family:"Hanken Grotesk",system-ui,sans-serif;min-height:100vh}.plot-embed:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% 15%,#35482b 0,transparent 55%);pointer-events:none}.plot-embed .plot-inner{position:relative;width:min(1180px,100%);margin:auto;padding:30px 18px 50px}.plot-embed .intro{text-align:center;margin-bottom:20px}.plot-embed .kicker{margin:0;font:600 11px/1.2 ui-monospace,monospace;letter-spacing:.2em;text-transform:uppercase;color:#c5b68f}.plot-embed h1{margin:7px 0 4px;font:500 clamp(28px,5vw,48px)/1 Georgia,serif}.plot-embed .intro>p:last-child{margin:0;color:#d7ceb8}.plot-embed .game{position:relative}.plot-embed .board{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid #d9c895;box-shadow:0 18px 70px #050a05aa;outline:none;touch-action:manipulation;background:#263a25;isolation:isolate}.plot-embed .board:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.plot-embed .world, .plot-embed .shade, .plot-embed .ambience{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.plot-embed .world{object-fit:cover;user-select:none}.plot-embed .shade{background:linear-gradient(#8a3f1800 55%,#8a321855);opacity:calc(var(--sunset) * .8);mix-blend-mode:multiply;z-index:10}.plot-embed .ambience{z-index:2;overflow:hidden}.plot-embed /* Living map: pond life, .plot-embed canopy breathing, .plot-embed and wind-borne leaves. */
.pond-life{position:absolute;left:4%;top:58%;width:30%;height:29%;overflow:hidden;border-radius:44% 49% 43% 50%;clip-path:ellipse(48% 43% at 50% 50%)}.plot-embed .pond-life:before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(164deg,transparent 0 9%,#b7dbc833 10% 11%,transparent 12% 19%);animation:water-sheen 7s linear infinite}.plot-embed .ripple{position:absolute;width:18%;aspect-ratio:2;border:2px solid #d6e0ac99;border-radius:50%;opacity:0;animation:ripple 4.8s ease-out infinite}.plot-embed .ripple-a{left:20%;top:26%}.plot-embed .ripple-b{left:57%;top:58%;animation-delay:1.6s}.plot-embed .ripple-c{left:42%;top:39%;animation-delay:3.1s}.plot-embed .fish{position:absolute;width:10%;aspect-ratio:1.8;background:linear-gradient(90deg,#a95c27,#f0bf52 54%,#7d3a1f);border-radius:65% 42% 42% 65%;filter:drop-shadow(0 2px 1px #17352a99);animation:fish-swim 8s ease-in-out infinite alternate}.plot-embed .fish:after{content:"";position:absolute;right:-35%;top:18%;width:42%;height:65%;background:#b96d2d;clip-path:polygon(0 50%,100% 0,85% 100%)}.plot-embed .fish b{position:absolute;left:18%;top:24%;width:12%;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:inset 1px 0 #111}.plot-embed .fish-gold{left:12%;top:22%}.plot-embed .fish-silver{left:63%;top:58%;background:linear-gradient(90deg,#587b77,#d7d89c 55%,#48655d);animation-delay:-3s;animation-duration:10s}.plot-embed .fish-silver:after{background:#688681}.plot-embed .fish-small{left:43%;top:44%;width:7%;animation-delay:-6s;animation-duration:6.5s}.plot-embed .canopy{position:absolute;transform-origin:50% 100%;animation:canopy-sway 5.5s ease-in-out infinite alternate;opacity:.82}.plot-embed .canopy i{position:absolute;border-radius:38% 62% 43% 57%;background:radial-gradient(circle at 28% 26%,#9bb867 0 8%,transparent 9%),radial-gradient(circle at 64% 31%,#78994d 0 12%,transparent 13%),radial-gradient(circle at 42% 67%,#315931 0 18%,transparent 19%),#496f3b;clip-path:polygon(12% 8%,38% 1%,52% 12%,73% 5%,95% 29%,85% 51%,98% 70%,70% 93%,48% 84%,25% 98%,4% 70%,13% 47%,0 27%);box-shadow:inset -4px -5px #203f27aa,0 3px 4px #152b1d66}.plot-embed .canopy-west{left:-3%;top:19%;width:12%;height:18%}.plot-embed .canopy-east{right:-3%;top:15%;width:15%;height:22%;animation-delay:-2.5s}.plot-embed .canopy i:nth-child(1){left:2%;top:20%;width:45%;height:46%}.plot-embed .canopy i:nth-child(2){left:31%;top:3%;width:48%;height:52%}.plot-embed .canopy i:nth-child(3){left:50%;top:33%;width:47%;height:46%}.plot-embed .canopy i:nth-child(4){left:14%;top:49%;width:42%;height:40%}.plot-embed .wind-leaves i{position:absolute;left:-6%;top:var(--y);width:1.1%;aspect-ratio:1.7;border-radius:100% 0 100% 0;background:var(--leaf,#d5a54b);filter:drop-shadow(1px 2px #17341f88);animation:leaf-drift var(--speed) linear infinite;animation-delay:var(--delay)}.plot-embed .wind-leaves i:nth-child(1){--y:17%;--speed:10s;--delay:-1s}.plot-embed .wind-leaves i:nth-child(2){--y:29%;--speed:14s;--delay:-8s;--leaf:#78924b}.plot-embed .wind-leaves i:nth-child(3){--y:39%;--speed:12s;--delay:-4s;--leaf:#b66d35}.plot-embed .wind-leaves i:nth-child(4){--y:53%;--speed:16s;--delay:-12s;--leaf:#d4b052}.plot-embed .wind-leaves i:nth-child(5){--y:67%;--speed:11s;--delay:-6s;--leaf:#5d7c42}.plot-embed .wind-leaves i:nth-child(6){--y:76%;--speed:17s;--delay:-3s}.plot-embed .wind-leaves i:nth-child(7){--y:46%;--speed:13s;--delay:-10s;--leaf:#a85531}.plot-embed .wind-leaves i:nth-child(8){--y:23%;--speed:18s;--delay:-15s;--leaf:#6e914d}.plot-embed /* Articulated top-down gardener. */
.player{position:absolute;width:4.5%;aspect-ratio:.72;transform:translate(-50%,-72%);z-index:7;filter:drop-shadow(2px 3px 1px #27190faa);pointer-events:none;transform-origin:50% 80%}.plot-embed .player span, .plot-embed .player i{position:absolute;display:block}.plot-embed .player-shadow{left:7%;bottom:-3%;width:88%;height:24%;border-radius:50%;background:#19150d77;filter:blur(1px);z-index:-1}.plot-embed .leg{top:72%;width:27%;height:27%;background:#56442e;border:2px solid #30261d;transform-origin:50% 0}.plot-embed .leg i{left:-5%;bottom:-7%;width:125%;height:35%;border-radius:25%;background:#2b241c}.plot-embed .leg-left{left:20%}.plot-embed .leg-right{right:20%}.plot-embed .torso{left:14%;top:39%;width:72%;height:42%;border-radius:28% 28% 18% 18%;background:linear-gradient(90deg,#315e62,#4c8585 44%,#2c595c);border:2px solid #1d3a3c;box-shadow:inset 0 5px #78a09355}.plot-embed .shirt-detail{left:45%;top:12%;width:9%;height:55%;background:#d6b57488}.plot-embed .belt{left:0;bottom:8%;width:100%;height:10%;background:#4d3324;box-shadow:0 2px #241912}.plot-embed .arm{top:43%;width:20%;height:38%;border:2px solid #3f2820;background:linear-gradient(#3f7477 0 50%,#d59562 51%);transform-origin:50% 10%;border-radius:30%}.plot-embed .arm-left{left:0;transform:rotate(8deg)}.plot-embed .arm-right{right:0;transform:rotate(-8deg)}.plot-embed .head{left:20%;top:16%;width:60%;height:32%;border-radius:45%;background:#d99b68;border:2px solid #39251c}.plot-embed .hair{inset:-4% -3% 45%;border-radius:50% 50% 20% 20%;background:#5c3523}.plot-embed .ear{right:-14%;top:38%;width:22%;height:31%;border-radius:50%;background:#c98355;border:1px solid #6d3d2a}.plot-embed .face{left:28%;bottom:13%;width:43%;height:10%;border-bottom:2px solid #7c402d}.plot-embed .hat{left:2%;top:0;width:96%;height:27%;border-radius:48% 48% 18% 18%;background:#9b662d;border:2px solid #4b2d1d;box-shadow:inset 0 5px #d5a352}.plot-embed .hat:after{content:"";position:absolute;left:-10%;bottom:-14%;width:120%;height:28%;background:#7e4e27;border:2px solid #40281b;border-radius:45%}.plot-embed .hat i{right:13%;top:8%;width:17%;height:30%;background:#d4b452;border-radius:50%}.plot-embed .player.moving{animation:walk-bob .34s steps(2,end) infinite}.plot-embed .player.moving .leg-left, .plot-embed .player.moving .arm-right{animation:limb .34s ease-in-out infinite alternate}.plot-embed .player.moving .leg-right, .plot-embed .player.moving .arm-left{animation:limb .34s ease-in-out infinite alternate-reverse}.plot-embed .player.acting .arm-right{animation:act-arm .4s ease-out}.plot-embed .player[data-facing="left"]{transform:translate(-50%,-72%) rotate(-3deg)}.plot-embed .player[data-facing="right"]{transform:translate(-50%,-72%) rotate(3deg)}.plot-embed .player[data-facing="up"] .face, .plot-embed .player[data-facing="up"] .ear{opacity:0}.plot-embed .player[data-facing="up"] .hair{inset:0 -3% 23%}.plot-embed .player[data-facing="up"] .torso{filter:brightness(.88)}.plot-embed /* Crops have separate soil shadow, .plot-embed leaf crown, .plot-embed stem, .plot-embed fruit, .plot-embed and glint. */
.pickup{position:absolute;z-index:5;transform:translate(-50%,-55%);width:5.4%;aspect-ratio:1;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 3px 2px #25180caa);touch-action:manipulation}.plot-embed .pickup span, .plot-embed .pickup i{position:absolute;display:block}.plot-embed .pickup:focus-visible{outline:3px solid var(--paper);border-radius:50%}.plot-embed .plant-shadow{left:12%;bottom:3%;width:76%;height:20%;background:#241b1277;border-radius:50%}.plot-embed .crop{animation:crop-breathe 2.8s ease-in-out infinite;transform-origin:50% 88%}.plot-embed .crop:nth-child(2n){animation-delay:-1.3s}.plot-embed .leaves{inset:0 5% 42%;z-index:3}.plot-embed .leaves i{left:38%;bottom:0;width:28%;height:77%;border-radius:100% 0 100% 0;background:linear-gradient(135deg,#a2bd61,#477436);border:1px solid #35572d;transform-origin:50% 100%}.plot-embed .leaves i:nth-child(1){transform:rotate(-64deg)}.plot-embed .leaves i:nth-child(2){transform:rotate(-24deg);height:90%}.plot-embed .leaves i:nth-child(3){transform:rotate(24deg);height:92%}.plot-embed .leaves i:nth-child(4){transform:rotate(64deg)}.plot-embed .stem{left:46%;top:27%;width:11%;height:45%;background:#476b32;border:1px solid #294923}.plot-embed .fruit{z-index:2;border:2px solid #5c3d1b;box-shadow:inset 3px 3px #fff3a755}.plot-embed .carrot .fruit-1{left:29%;top:45%;width:44%;height:47%;border-radius:45% 45% 75% 75%;background:linear-gradient(135deg,#ffca57,#d57c24 65%,#904416);clip-path:polygon(8% 0,92% 0,70% 100%,39% 82%)}.plot-embed .turnip .fruit-1{left:24%;top:43%;width:54%;height:50%;border-radius:45% 45% 65% 65%;background:radial-gradient(circle at 34% 28%,#fff4b0,#d9a631 58%,#92601d)}.plot-embed .tomato .fruit{width:39%;height:38%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff9a65,#c8452e 57%,#73221d)}.plot-embed .tomato .fruit-1{left:12%;top:47%}.plot-embed .tomato .fruit-2{right:12%;top:45%}.plot-embed .tomato .fruit-3{left:31%;top:58%}.plot-embed .sparkle{right:7%;top:23%;width:13%;aspect-ratio:1;background:#fff5b8;clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%);animation:sparkle 1.7s ease-in-out infinite}.plot-embed /* Revealed roots branch visibly; golden roots stay round and readable. */
.root{width:6%;animation:root-pulse 2.5s ease-in-out infinite}.plot-embed .root:not(.hidden-root):not(.spent){z-index:8;transform:translate(-50%,-88%)}.plot-embed .soil-crack{inset:44% 2%}.plot-embed .soil-crack:before, .plot-embed .soil-crack:after, .plot-embed .soil-crack i{content:"";position:absolute;height:3px;background:#40291d;transform-origin:0 50%}.plot-embed .soil-crack:before{left:10%;top:0;width:43%;transform:rotate(14deg)}.plot-embed .soil-crack:after{left:48%;top:4px;width:43%;transform:rotate(-17deg)}.plot-embed .soil-crack i:first-child{left:28%;top:4px;width:26%;transform:rotate(58deg)}.plot-embed .soil-crack i:last-child{left:58%;top:3px;width:22%;transform:rotate(-55deg)}.plot-embed .root-crown, .plot-embed .root-body, .plot-embed .root-glint{opacity:1;transition:opacity .25s,transform .35s}.plot-embed .hidden-root .root-crown, .plot-embed .hidden-root .root-body, .plot-embed .hidden-root .root-glint{opacity:0;transform:scale(.4)}.plot-embed .root-crown{inset:0 18% 58%;z-index:2}.plot-embed .root-crown i{left:35%;bottom:0;width:32%;height:75%;border-radius:100% 0;background:#5f7d40;border:1px solid #36502e;transform-origin:50% 100%}.plot-embed .root-crown i:first-child{transform:rotate(-48deg)}.plot-embed .root-crown i:nth-child(2){transform:rotate(2deg);height:100%}.plot-embed .root-crown i:last-child{transform:rotate(50deg)}.plot-embed .root-body{left:38%;top:30%;width:27%;height:66%;background:linear-gradient(90deg,#7f2d24,#c04b35 50%,#68251f);border:2px solid #4d211c;border-radius:36% 38% 70% 48%;transform:rotate(8deg)}.plot-embed .root-body i{width:75%;height:11%;background:#a63f2f;border:1px solid #4d211c;transform-origin:0 50%;border-radius:60%}.plot-embed .root-body i:nth-child(1){left:-52%;top:25%;transform:rotate(155deg)}.plot-embed .root-body i:nth-child(2){left:76%;top:39%;transform:rotate(22deg)}.plot-embed .root-body i:nth-child(3){left:-45%;top:57%;transform:rotate(143deg)}.plot-embed .root-body i:nth-child(4){left:69%;top:73%;transform:rotate(35deg)}.plot-embed .deep{width:7.5%}.plot-embed .deep .root-body{width:34%;height:72%;left:33%}.plot-embed .gold .root-body{left:24%;top:35%;width:54%;height:54%;border-radius:48% 48% 68% 68%;background:radial-gradient(circle at 34% 28%,#fff2a3,#dda82d 60%,#855717);border-color:#513718;transform:none}.plot-embed .gold .root-body i{display:none}.plot-embed .root-glint{right:11%;top:27%;width:14%;aspect-ratio:1;background:#ffe59c;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}.plot-embed .debt .root-glint, .plot-embed .deep .root-glint{background:#ef8b64}.plot-embed .spent{opacity:0;pointer-events:none;transform:translate(-50%,-55%) scale(.35)}.plot-embed .cottage-upgrade{position:absolute;left:10.5%;top:6%;width:33%;height:36%;pointer-events:none;z-index:3}.plot-embed .cottage-upgrade:before{content:"";position:absolute;inset:0;opacity:0;border:3px solid var(--gold);box-shadow:0 0 26px var(--gold);transition:opacity .4s}.plot-embed .cottage-upgrade[data-stage="1"]:before, .plot-embed .cottage-upgrade[data-stage="2"]:before, .plot-embed .cottage-upgrade[data-stage="3"]:before{opacity:.38}.plot-embed .cottage-upgrade[data-stage="2"]:after, .plot-embed .cottage-upgrade[data-stage="3"]:after{content:"✦";position:absolute;right:18%;top:12%;color:#ffe79a;font-size:clamp(18px,4vw,45px);text-shadow:0 0 12px #fff}.plot-embed .hud{position:absolute;z-index:12;top:2.2%;background:#171914e8;border:2px solid #aa7d39;padding:7px 12px;box-shadow:3px 3px #1118;line-height:1;color:var(--paper)}.plot-embed .hud span{display:block;font:600 8px ui-monospace,monospace;letter-spacing:.17em;color:#c7b991;margin-bottom:4px}.plot-embed .hud strong{font:600 clamp(17px,3vw,30px) Georgia,serif}.plot-embed .hud .negative, .plot-embed #net.negative{color:#f07c62}.plot-embed .net{left:2%}.plot-embed .season{left:18%}.plot-embed .chart{position:absolute;z-index:12;right:2%;top:2.2%;width:22%;height:auto;background:#171914e8;border:2px solid #aa7d39}.plot-embed .chart line{stroke:#a8956c;stroke-width:1}.plot-embed .chart path{fill:none;stroke:#d8b347;stroke-width:3;vector-effect:non-scaling-stroke}.plot-embed .end-now{position:absolute;z-index:12;right:2%;top:13%;min-height:34px;border:1px solid #c5b68f;background:#182019d9;color:var(--paper);font:600 10px ui-monospace,monospace;text-transform:uppercase;cursor:pointer}.plot-embed .toast{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%) translateY(10px);z-index:14;margin:0;padding:8px 13px;background:#171914e8;border:1px solid #c49a45;color:#fff1c8;font:italic 600 clamp(13px,2vw,22px) Georgia,serif;opacity:0;transition:.2s;pointer-events:none}.plot-embed .toast.show{opacity:1;transform:translate(-50%,-50%)}.plot-embed .controls{display:flex;justify-content:space-between;align-items:center;margin:14px auto 0;max-width:620px}.plot-embed .dpad{display:grid;grid-template-columns:repeat(3,46px);gap:4px}.plot-embed .dpad button:nth-child(1){grid-column:2}.plot-embed .dpad button:nth-child(2){grid-column:1}.plot-embed .dpad button:nth-child(3){grid-column:2}.plot-embed .dpad button:nth-child(4){grid-column:3}.plot-embed .controls button{min-width:46px;min-height:46px;border:1px solid #c5b68f;background:#263326;color:var(--paper);font-weight:700;cursor:pointer}.plot-embed .action{padding:0 24px;background:#b88634!important;color:#171914!important}.plot-embed .instructions{text-align:center;color:#bdb49f;font:11px ui-monospace,monospace}.plot-embed .end-card{position:absolute;inset:8% 10%;z-index:20;background:#f5eee0f4;color:var(--ink);border:1px solid var(--ink);padding:clamp(25px,6vw,70px);text-align:center;box-shadow:12px 12px #17191488}.plot-embed .end-card[hidden]{display:none}.plot-embed .end-card h2{font:600 clamp(52px,10vw,100px)/1 Georgia,serif;margin:18px}.plot-embed .end-card p{font:18px/1.5 Georgia,serif}.plot-embed .end-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}.plot-embed .end-actions button, .plot-embed .end-actions a{min-height:46px;padding:13px 20px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:700;text-decoration:none}.plot-embed .end-actions a{background:transparent;color:var(--ink)}
@keyframes water-sheen{to{transform:translate(14%,8%)}}@keyframes ripple{0%{transform:scale(.25);opacity:0}18%{opacity:.8}100%{transform:scale(2.5);opacity:0}}@keyframes fish-swim{0%{transform:translate(-15%,12%) rotate(-7deg)}45%{transform:translate(110%,50%) rotate(8deg)}55%{transform:translate(110%,50%) rotate(8deg) scaleX(-1)}100%{transform:translate(-5%,115%) rotate(-12deg) scaleX(-1)}}@keyframes canopy-sway{to{transform:rotate(2deg) translateX(1%)}}@keyframes leaf-drift{0%{transform:translate(-5vw,-2vh) rotate(0);opacity:0}8%{opacity:.85}55%{transform:translate(58vw,5vh) rotate(420deg)}100%{transform:translate(112vw,13vh) rotate(820deg);opacity:0}}@keyframes walk-bob{50%{margin-top:-.55%}}@keyframes limb{from{transform:rotate(-13deg)}to{transform:rotate(14deg)}}@keyframes act-arm{40%{transform:rotate(-75deg) translateY(12%)}}@keyframes crop-breathe{50%{transform:translate(-50%,-57%) rotate(.8deg)}}@keyframes sparkle{50%{transform:scale(.45) rotate(45deg);opacity:.35}}@keyframes root-pulse{50%{filter:drop-shadow(0 4px 3px #2c170dcc) brightness(1.08)}}
@media(max-width:650px){.plot-embed .plot-inner{padding:16px 8px}.plot-embed .intro{margin-bottom:12px}.plot-embed .board{width:calc(100% + 16px);margin-left:-8px;border-left:0;border-right:0}.plot-embed .hud{padding:5px 8px}.plot-embed .season{left:24%}.plot-embed .end-now{display:none}.plot-embed .pickup{width:7.4%}.plot-embed .player{width:6.2%}.plot-embed .end-card{inset:3%}.plot-embed .instructions{font-size:9px}.plot-embed .chart{width:27%}.plot-embed .wind-leaves i{width:1.8%}}
@media(prefers-reduced-motion:reduce){.plot-embed *, .plot-embed *:before, .plot-embed *:after{animation:none!important;transition:none!important}.plot-embed .shade{display:none}.plot-embed .wind-leaves{display:none}.plot-embed .fish{opacity:.75}.plot-embed .ripple{opacity:.3}}
