@font-face{font-family:ui-rounded;src:local('Arial Rounded MT Bold')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif;color:#193e3b;background:#163b38;overscroll-behavior:none}button,select,input{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #0b837d;outline-offset:3px}button{border:none}button[hidden],[hidden]{display:none!important}#game{position:relative;isolation:isolate;max-width:510px;height:100dvh;margin:auto;display:flex;flex-direction:column;background:#fcf0d0;box-shadow:0 0 100px #051f2066;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);overflow:hidden}.hud{height:68px;min-height:68px;padding:8px 12px;display:flex;gap:10px;align-items:center;background:#fff8e5;border-bottom:2px solid #183e3b}.icon-button{border:2px solid #254b45;border-radius:13px;background:#fff9e8;width:43px;height:43px;min-width:43px;display:inline-flex;align-items:center;justify-content:center;font-size:28px;line-height:1}.icon-button svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.shift-heading{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.shift-heading>span{font-size:10px;letter-spacing:1.4px;font-weight:800}.shift-heading>strong{font-size:20px;line-height:1.05;white-space:nowrap;letter-spacing:-.8px}.coins{display:flex;align-items:center;gap:6px;font-size:18px}.coin{display:flex;width:24px;height:24px;justify-content:center;align-items:center;background:#ffce5c;border:2px solid #775226;border-radius:50%;font-style:italic;font-size:17px}.objective{position:relative;height:47px;min-height:47px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 17px 12px;background:#fff8e5;font-size:13px}.objective>div:first-child{display:flex;align-items:center;gap:7px}.objective strong{font-size:17px}.basket-symbol{font-size:29px;line-height:20px}.objective>span{font-size:11px;letter-spacing:.7px;font-weight:bold}.progress{position:absolute;height:5px;background:#e3ddc3;bottom:0;left:0;right:0}.progress>div{height:100%;width:0;background:#ed7356;transition:width .25s}.world{position:relative;flex:1;min-height:0;background:#5dbdad;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.world-badge{position:absolute;pointer-events:none;top:8px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;font-weight:900;letter-spacing:1.6px;color:#254b45;background:#fff7dfde;border-radius:20px;padding:5px 10px;border:1px solid #254b4533}.world-hint{position:absolute;pointer-events:none;bottom:12px;left:50%;transform:translateX(-50%);background:#fff9e8ee;border:2px solid #254b45;border-radius:12px;padding:7px 10px;max-width:calc(100% - 28px);width:max-content;text-align:center;font-size:13px;line-height:1.3;box-shadow:0 3px 0 #254b4522}.why-button{position:absolute;bottom:53px;right:12px;min-height:36px!important;padding:5px 11px!important}.small-button{border:2px solid #254b45;border-radius:10px;background:#fff9e8;min-height:40px;padding:8px 11px;font-weight:700}.start-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;padding:24px 25px 35px;background:linear-gradient(0deg,#153c39e8 0%,#153c39b8 25%,transparent 73%);color:#fff9e7;text-align:center}.logo{transform:rotate(-5deg);text-shadow:0 3px 0 #163b38}.logo>span{font-size:20px;font-weight:900;letter-spacing:9px;margin-left:9px;display:block}.logo>strong{display:block;font-family:Georgia,serif;font-size:82px;line-height:.95;letter-spacing:-6px;color:#ffda72}.logo-flower{font-size:47px;color:#fb8566;vertical-align:top;letter-spacing:-3px}.start-screen p{font-size:17px;line-height:1.4;margin:16px 0 19px}.primary{border:2px solid #254b45;border-radius:13px;background:#ffcf62;padding:12px 16px;font-weight:900;font-size:16px;box-shadow:0 3px 0 #254b45;min-height:47px}.primary:active,.secondary:active{transform:translateY(2px);box-shadow:0 1px 0 #254b45}.primary.play-button{width:min(240px,90%);font-size:21px;min-height:56px;background:#ffcd62}.secondary{border:2px solid #254b45;border-radius:12px;background:#fff8e5;padding:10px 12px;font-size:14px;font-weight:800;min-height:44px;box-shadow:0 2px 0 #254b4522}.text-button{background:transparent;text-decoration:underline;text-underline-offset:4px;color:inherit;padding:13px 8px;font-size:14px;min-height:44px}.start-screen .secondary{margin-top:9px}.bottom{padding:8px 12px 11px;background:#fff8e5;border-top:2px solid #254b45;z-index:2}.bottom-actions{display:flex;gap:8px;align-items:center}.bottom-actions>.primary{flex:1}.context-bar{font-size:14px;line-height:1.3;min-height:0}.context-bar:not(:empty){padding:2px 0 9px}.context-row{display:flex;align-items:center;gap:7px}.context-row>span{flex:1}.context-row button{min-height:38px;padding:6px 9px;font-size:13px}.tray{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin:0 -2px}.tray:not(:empty){padding:2px 2px 9px}.tray button{display:flex;flex-direction:column;align-items:flex-start;min-width:93px;gap:4px;min-height:58px;background:#f1edcc;border:2px solid #bcbda2;border-radius:12px;padding:8px 10px;font-size:12px}.tray button strong{font-size:14px}.tray button.selected{border-color:#173e3b;background:#ffdc7b}.tray button span{color:#546960}.toast{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:max-content;max-width:calc(100% - 30px);padding:12px 16px;border:2px solid #254b45;border-radius:13px;background:#fff8e5;box-shadow:0 5px 0 #173e3b44;font-size:14px;font-weight:700;text-align:center;opacity:0;transition:opacity .18s;pointer-events:none;z-index:7}.toast.show{opacity:1}dialog{border:2px solid #173e3b;border-radius:24px;padding:26px 22px 23px;background:#fff8e5;color:#193e3b;max-width:450px;width:calc(100% - 24px);max-height:85dvh;overflow:auto;box-shadow:0 8px 0 #173e3b44}dialog::backdrop{background:#082d2aca;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:12px;top:12px;background:#f3e6be;width:44px;height:44px;min-width:44px;font-size:26px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase;color:#7c6650;margin:0 40px 8px 0}h1,h2,h3,p{margin-top:0}h2{font-family:Georgia,serif;letter-spacing:-1px;font-size:34px;line-height:1.05;margin-bottom:12px;padding-right:20px}h3{font-size:17px;margin-bottom:7px}dialog p{font-size:14px;line-height:1.5;margin-bottom:16px}.menu-grid{display:grid;gap:9px}.menu-grid>.primary,.menu-grid>.secondary{width:100%}.choice{display:block;text-align:left;border:2px solid #c0c3a9;border-radius:15px;background:#fffdf1;padding:14px;margin:9px 0;width:100%}.choice:hover,.choice:focus-visible{border-color:#117f71;background:#eff7dd}.choice strong{display:block;font-size:18px}.choice .benefit{display:block;font-size:14px;line-height:1.4;margin-top:5px}.choice .tradeoff{display:block;color:#756249;font-size:12px;line-height:1.4;margin-top:5px}.choice-index{float:right;font-size:26px;font-family:Georgia,serif;color:#c68456}.event-note{border-left:4px solid #ef795a;background:#f6eac9;padding:10px 12px;border-radius:0 10px 10px 0;font-size:14px;line-height:1.4;margin:14px 0}.result-number{font-size:65px;color:#da633f;line-height:1;font-weight:900;letter-spacing:-3px}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.result-stats>div{border:1px solid #c5c5a5;padding:12px;border-radius:12px}.result-stats strong{display:block;font-size:24px}.result-stats span{font-size:12px}label.field{display:block;font-size:14px;font-weight:800;margin:15px 0 6px}select,input[type=text]{width:100%;border:2px solid #adb8a0;border-radius:11px;background:#fffdf2;padding:12px;color:inherit;min-height:47px;font-size:16px}.toggle-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;font-size:14px}.toggle-row input{width:23px;height:23px;accent-color:#167e70}.muted{color:#637465;font-size:12px!important}.row{display:flex;gap:8px}.row>*{flex:1}.divider{height:1px;background:#d7d5b5;margin:18px 0}.kbd{font-size:12px;background:#eee7cc;padding:3px 5px;border-radius:4px}.map-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.map-list button{font-size:13px;text-align:left}.legend{display:flex;gap:12px;margin:12px 0;font-size:12px}.legend span::before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;background:#148a83;margin-right:4px}.legend span:last-child::before{background:#ed8056}.unlock{background:#d9ecbb;border-radius:11px;padding:10px 13px;font-size:14px;font-weight:800;margin:12px 0}.danger{color:#a7422d}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-height:700px){.hud{height:59px;min-height:59px}.objective{height:41px;min-height:41px}.bottom{padding:6px 10px 8px}.primary{min-height:43px;padding:9px 12px}.logo>strong{font-size:65px}.start-screen{padding-bottom:20px}.start-screen p{margin:10px 0 13px}.world-hint{font-size:12px;bottom:8px}.world-badge{font-size:9px}}@media(min-width:700px){#game{height:min(960px,100dvh);border-left:3px solid #092c2b;border-right:3px solid #092c2b}.world-hint{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Comfortable named controls; canvas also has a row/column placement alternative. */
.icon-button{min-width:44px;width:44px;min-height:44px;height:44px}.context-row button{min-height:44px}.why-button{min-height:44px!important}.dialog-close{width:44px;height:44px;min-width:44px}.context-row .secondary{flex-shrink:0} @media(max-height:700px){.primary{min-height:44px}}
